Servicios WEB con Java
Crear archivo XML
esquema xml
nos permite seguir un estándar, de esta manera :
- nos obliga a seguir pautas para la creación de nuestro XML
- nos valida valida los datos ingresados según el tipo de formato
existen muchos esqumas,pero los mas utlizados son: D (Document Type Definition) y XSD (XML Schema Definition)
Servicio WEB
interoperable nos permite la comunicacion entre diferentes plataformas
los clientes o consumidores se conectan de forma remota, a la aplicacion que se encuentra desplegada en un servidor de aplicaciones, que es parte de la capa de servicio. esta aplicacion web puede ser uno que exponga metodos o un EJB que entrege mayor robustez, por ejemplo puede incorporar manejo de transacciones en DB o seguridad.
cuando el clienteo consumidor se comunica con el servicio, este envia datos, estos se conocen como mensaje este viene envuelto en XML, en el caso de SOAP (Jax ws) o JSON (Jax RS) el protocolo de comunicacion es HTTP/HTTPS
Caracteristicas:
- interoperabilidad
- standares
- reutilizables
- alta disponibilidad
a diferencia de un EJB, los web services pueden trabajar con diferentes tecnologias, en cambio los EJB solo pueden interactuar con aplicaciones JAVA.
Especificacioens SOAP
En java se utiliza JAX WS para crear servicios WEB.
- WSDL= archivo que especifica la estructura y definicion de los datos utilizados en el swwevicio WEB
- mensaje= parametros de entrada y salida
- XSD= valida los datos
- portype= operaciones o metodos que utilizan los mensajes como input o output
- binding= protocolo de transporte
REST API
tiene los metodos HTTP para realizar diferentes acciones: GET,POST,PUT,DELETE
SOAP
protocolo sobre el que se realiza el intercambio de mensaje,estandar que define como se comunica cliente servidor a traves de mensajes en XML sobre el protocolo HTTP
funcionamiento:
- cliente servicio: solicita
- proveedor del servicio: exponer la interfaz publica, servidor de aplicaciones,por ejemplo wifly
- registro de servicio:UDDI repositorio donde se guarda el archivo WSDL
- el proveedor del servicio implementa y registra el servicio web en el registro UDD
- el cliente solicita el servicio web y el registro le devuelve el WSDL
- de esta forma el cliente puede invocar los metodos remotros a traves del envio de mensajes SOAP con parametros de entrada y salida
- el proveedor del servicio recibe la peticion SOAP y este devuelve el resultado SOAP , conocido como parametros de salida
componentes JAXB
- Descubrimiento UDDI
- Descripcion WSDL
- Mensaje SOAP XML
- protocolo HTTP
Estructura WSDL
- Types: tipo de datos utilizados en los mensajes, con el esquema XSD
- messages: elementos de los mensajes una definicion abstracta de los datos enviados y recibidos, cada mensaje puede consistir en parametros de entrada y salida de un metodo del servicio. Tambien maneja excepciones.
- PortType=operaciones permitidas en el webservice, y los mensajes de intercambio en el servici,que son los elementos vistos anteriormente (message). Es el metodo del WS que esta conformado por messages de entradas y salida.
- Binding: protocolos de comunicacion, hace referencia al elemento anterior(porttype)
- service: Puertos adminitos por el servicio web, la direccion o enlace y hace referencia al elemento anterior, binding.
WSDL espone como usar el WS
De esta forma no sabemos como se implementan estos metodos, pero si como se usan, una especie de interfaz de java. De esta forma de manera automatica podemos generar las clases para trabajar con este web service, podemos utilizar un comando del JDK ws-mport o un plugin de maven.
marshall/unmarshall JAVA a web service
cuando se desea enviar un mensaje o parametro de entrasa al metodo del servicio web, se envia un objeto Java (request) y por detras de scena se convierte en XML, con la libreria jaxb (de java) este proceso se llama marshalling y cuando el WebService responde devuelve un XML que por detras de scena se mapea a un objeto java, este proceso se llama unmarshalling (proceso inverso).
.

Comentarios
Publicar un comentario