sábado, septiembre 25, 2010

Java - Web Services en Java - Comunicar Java con VB.Net parte I


"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"


Entorno

  • JDK 6 Update 21
  • Netbeans 6.9.1
  • Apache Tomcat
  • MySQL 5.0.

1. Introducción


Un servicio web (en inglés Web service) es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Logran la interoperabilidad dado que se adopta estándares abiertos. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares.

2. WSDL


Un formato XML que se utiliza para describir servicios Web (algunas personas lo leen como wisdel). Se usa a menudo en combinación con SOAP y XML. Un programa cliente que se conecta a un servicio web puede leer el WSDL para determinar que funciones están disponibles en el servidor. Los tipos de datos especiales se incluyen en el archivo WSDL en forma de XML Schema. El cliente puede usar SOAP para hacer la llamada a una de las funciones listadas en el WSDL.

3. SOAP (Simple Object Access Protocol)


El protocolo base que se utiliza para enviar la información, es SOAP. Este define el formato del “envelope” que se intercambia entre cliente y servicio, así como las convenciones para representar invocaciones y respuestas Estos mensajes son transmitidos en formato XML, montado sobre HTTP.

4. JAX - WS


Java API for XML Web Services. Es una tecnología que permite construir web services y clientes, que se comunican en base a XMLque permite escribir servicios que operen en modalidad message-oriented o RPC-oriented.
El protocolo SOAP es complejo, sin embargo, JAXWS esconde parte de esa complejidad al desarrollador
En el servidor
  • Se deben escribir una interfaz que defina las operaciones que el servicio expondrá
  • Se deben escribir una o mas clases, que implementen esas interfaces
En el cliente
  • Se crea un proxy, un objeto local que representa el servicio, sobre el se hacen las invocaciones
  • El parseo y análisis del XML subyacente, corre por cuenta de JAX-WS.

5. Ejemplo Web Service con Java


Lo que se va a desarrollar a continuación es como hacer los procesos basicos de mantenimiento a una tabla de una base de datos, estando toda la logica en un web service.


5.1. Base de Datos

5.1.1. Crear la siguiente tabla en la Base de datos.

5.2. Servidor en Java

Abrimos el Netbeans, la versión que se este usando, luego vamos a FILE -> NEW PROYECT -> WEB -> WEB APPLICATION y presionamos NEXT.
Como nombre al proyecto le ponemos: “WebServicaEnJava” y luego presionamos NEXT y luego FINISH.



Luego creamos un PACKAGE y le pones como nombre “PaqueteService”.

















Luego creamos una nueva clase, haciendo clic derecho en el PACKAGE que creamos y le ponemos como nombre “WebServiceJava”.


















En la clase que hemos creado, debemos de poner las siguientes importaciones y la siguiente declaración.










Declaramos las variables que vamos a usar, para manejar el proceso de inserción de datos en la tabla “Persona” de MySQL y creamos los métodos get y set que van hacer referencia a nuestras variables de la clase.














Luego creamos un nuevo método que se va a llamar “insertarPersona”, que se va a encargar de insertar un nueva fila a la tabla “Asistente” de MySQL, este metodo se debe de trabajar al igual como si ustedes estuvieran insertando datos a una tabla de una base de datos desde java desde una aplicación de escritorio o web, pudiendo usar Statement, PreparedStatement y CallableStatement, y  antes de la declaración del método ponemos la instrucción:  @WebMethod.


Luego creamos un nuevo método que se va a llamar “actualizarPersona”, que se va a encargar de actualizar un fila de la tabla “Asistente” de MySQL y  antes de la declaración del método ponemos la instrucción:  @WebMethod.



Luego creamos un nuevo método que se va a llamar “eliminarPersona”, que se va a encargar de eliminar una fila de la tabla “Asistente” de MySQL y  antes de la declaración del método ponemos la instrucción:  @WebMethod.



Luego creamos un nuevo método que se va a llamar “buscarPersonaCodigo”, que se va a encargar de buscar una fila de la tabla “Asistente” de MySQL y  antes de la declaración del método ponemos la instrucción:  @WebMethod.

También debemos de crear los métodos GET y SET de las variables y las convertimos a WebMethod.
Luego compilamos nuestro PACKAGE con la tecla F9 y veremos que en nuestro proyecto se creo una nueva carpeta llamada WEB SERVICE.

Ahora debemos desplegar la aplicación, haciendo clic derecho en el proyecto y luego CLEAN AND BUILD y después UNDEPLOY AND DEPLOY.




















Luego debemos testear el Web Service, para eso vamos a la carpeta que se creo automáticamente y seleccionamos el elemento que esta ahí y damos clic derecho en el y presionamos la opción TEST WEB SERVICE.



Y nos debe de salir una ventana como la que sigue:


Para ver la segunda parte hacer clic AQUI

6 comentarios:

Esta excelente el tutorial, soy nuevo en java y aun no hayo como convertir el Get y Set a WebMethod, no se si me puedas ayudar con eso, gracias y saludos

Solo tienes que declarar encima del metodo get o set la palabra @Webmethod ... Saludos

Bastante bueno. Yo trabajo con Eclipse, pero asumo que es análogo al NetBeans. Muchas gracias!

Muy bueno el tutorial. Yo trabajo con Eclipse, pero me imagino que es análogo al Netbeans. Muchas gracias!

Felicitaciones por el Tutorial. Muy Bueno. Yo uso Eclipse, pero me imagin que es análogo al NetBeans. Muchas Gracias!

Gracias por los saludos,que bueno que te sirva