xumarhu.net biblioteca
Principal > Biblioteca > Manuales > Calculadora con Web Services
línea

Calculadora con Web Services

El objetivo es crear una calculadora de tipo Web Service, el cual será accesado por un cliente, para ello se requiere crear 2 aplicaciones:

1) Crear el Web Service en un servidor.
2) Crear código en un cliente para accesar al Web Service.



Parte 1) Creación del Web Service en un servidor

Se arranca el NetBeans (se requiere una versión actual que tenga integrado JAX) y se crea un proyecto, seleccionando en los menús superiores:

Archivo > Proyecto Nuevo

Aparece un pantalla donde nos pregunta la categoría y tipo de proyecto:

Categorías: Java Web
Proyectos: Web Application

y se hace click en "Siguiente". Después nos pregunta el nombre del proyecto:

Project Name: ServidorCalculadora

y hacemos click en "Siguiente".

Ahora nos pregunta el servidor web a utilizar, se dejan las opciones por default, y se hace click en "Siguiente".

Luego nos pregunta el Framework a utilizar, se dejan las opciones por default y se hace click en "Terminar".

NetBeans crea el proyecto y a continuación colocamos el cursor encima del proyecto "ServidorCalculadora" (parte izquierda de NetBeans) y ahí se hace click derecho encima del proyecto, aparece un conjunto de opciones y se selecciona:

Nuevo > Web Service

Aparece un pantalla donde nos pregunta la categoría y tipo de proyecto:

Nombre de Clase: Calculadora
Proyecto: ServidorCalculadora
Paquete: proyecto_calculadora

Las demás opciones las dejamos por default y hacemos click en "Terminar".

Aparece en la pantallan de NetBeans una nueva clase:

Calculadora.java

el cual genera el siguiente esqueleto:



/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyecto_calculadora;

import javax.jws.WebService;

/**
*
* @author rogelio
*/
@WebService()
public class Calculadora {

}



A continuación se le agregan los métodos que realizarán los servicios web, en este ejemplo, los métodos "suma", "resta", "multiplicacion" y "division". El programa queda de la siguiente manera:


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyecto_calculadora;

import javax.jws.WebService;

/**
*
* @author rogelio
*/
@WebService()
public class Calculadora {
public int suma(int a, int b) {
return (a+b);
}

public int resta(int a, int b) {
return (a-b);
}

public int multiplicacion(int a, int b) {
return (a*b);
}

public int division(int a, int b) {
return (a/b);
}
}



A continuación se compila el proyecto haciendo click en el ícono del martillo y escoba que se llama:

Limpiar y generar Main Project

Después colocamos el cursor encima del proyecto "ServidorCalculadora" (parte izquierda de NetBeans) y ahí se hace click derecho encima del proyecto, aparece un conjunto de opciones y se selecciona:

Deploy

Esto se hace para que pueda arrancar nuestro web service, y a partir de este momento ya puede ser invocado por cualquier programa.

Para verificar el funcionamiento de nuestro web service hacemos lo siguiente: Dentro del proyecto de "ServidorCalculadora" existe una carpeta que se llama "Web Services", hacemos click en esta sección y aparecen los web services de este proyecto:

Calculadora

Se selecciona con el cursor el web service "Calculadora" y se pone el cursor encima, se hace click derecho y despliega varias opciones de las cuales se selecciona:

Test Web Service

y arranca el navegador que tenemos por default con una página web que tiene la dirección en la parte superior:

http://localhost:8080/ServidorCalculadora/CalculadoraService?Tester

Que es la localización del web service y en la página web ser observa lo siguiente:

CalculadoraService Web Service Tester
This form will allow you to test your web service implementation (WSDL File)
To invoke an operation, fill the method parameter(s) input boxes and click on the button labeled with the method name.
Methods :
public abstract int proyecto_calculadora.Calculadora.suma(int,int)
suma ( , )
public abstract int proyecto_calculadora.Calculadora.resta(int,int)
resta ( , )
public abstract int proyecto_calculadora.Calculadora.multiplicacion(int,int)
multiplicacion ( , )
public abstract int proyecto_calculadora.Calculadora.division(int,int)
division ( , )

En esta página se pueden enviar datos al web service para probar su funcionamiento, por ejemplo tecleamos 4 y 7 como parámetros del método suma:

suma ( 4, 7 )

y al hacer click en "suma" se envían los datos al web service, apareciendo en pantalla los datos que se envían, los datos que se regresan y las tramas del protocolo SOAP para el envío y recepción de los datos comprobando de esta manera el funcionamiento del web service.


Parte 2) Crear código en un cliente para accesar al Web Service

Se crea un proyecto nuevo:
Java -> Java Application

Hacer click en:
Siguiente

Nos pregunta el nombre del proyecto y tecleamos:
ClienteCalculadora

Y luego hacemos click en:
Terminar

Nos genera el programa ClienteCalculadora.java que contiene el siguiente codigo:


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package clientecalculadora;

/**
*
* @author rogelio
*/
public class ClienteCalculadora {

/**
* @param args the command line arguments
*/

public static void main(String[] args) {
// TODO code application logic here
}
}


Hacemos click derecho encima del proyecto (ClienteCalculadora) y seleccionamos:
Nuevo -> Web Service Client

Ahora escribimos la direccion de donde se encuentra nuestro Web Service (Servidor):
WSDL URL: http://localhost:8080/ServidorCalculadora/Calculadora?WSDL

Y hacemos click en:
Terminar

Dentro de nuestro proyecto (ClienteCalculadora) aparecerá una nueva carpeta:
Web Services Referencias

Y dentro de ella aparecerá nuestra clase que hace referencia al Web Service:
Calculadora

Ahora posicionamos nuestro cursor dentro de nuestro programa java (ClienteCalculadora.java) antes del programa principal (main). En esa posición hacemos click derecho y seleccionamos:
Insertar código..
Aparece una ventana con opciones y seleccionamos:
Call web service operation

Aparece otra ventana con nuestros Web Services disponibles y hacemos click en:
Calculadora
Y se despliegan las clases disponibles, y hacemos click en:
Calculadora Port

Y se despliegan los métodos disponibles, y hacemos click en:
suma

Y luego hacemos click en:
Aceptar

Y nos inserta el siguiente método que implementa la llamada a nuestro Web Service:


private static int suma(int arg0, int arg1) {
proyecto_calculadora.Calculadora_Service service = new proyecto_calculadora.Calculadora_Service();
proyecto_calculadora.Calculadora port = service.getCalculadoraPort();
return port.suma(arg0, arg1);
}


Por último, agregamos al main una llamada al método que se acaba de agregar, enviándole 2 números para que sean procesados por el Web Service y que nos imprima lo que nos regresa, en este caso la suma de los 2 números. La línea que se agrega dentro de nuestro main es:


System.out.println("La suma es: "+suma(3,4));

Nuestro código final queda de la siguiente manera (ya sólo queda compilar y ejecutar nuestro ClienteCalculadora).


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package clientecalculadora;

/**
*
* @author rogelio
*/
public class ClienteCalculadora {

/**
* @param args the command line arguments
*/

private static int suma(int arg0, int arg1) {
proyecto_calculadora.Calculadora_Service service = new proyecto_calculadora.Calculadora_Service();
proyecto_calculadora.Calculadora port = service.getCalculadoraPort();
return port.suma(arg0, arg1);
}

public static void main(String[] args) {
// TODO code application logic here

System.out.println("La suma es: "+suma(3,4));
}

línea
Usted se encuentra Aquí > Principal > Biblioteca > Manuales > Calculadora con Web Services
Portal de Tecnología desarrollado por: Rogelio Ferreira Escutia
Valid CSS Valid XHTML 5