jueves, 19 de junio de 2008

ws: Mecanismo de invocacion de un Web Service

Invocacion en el servidor
  1. El mensaje SOAP es recibido desde el transporte (HTTP, JMS).
  2. Los manejadores de mensajes que se encargan del preprocesamiento de los mismos son invocados (persistir mensajes, analizar el encabezado, etc.).
  3. Determinar el servicio del mensaje (que operacion del WSDL invoca el mensaje).
  4. Para la operacion del WSDL, determinar el metodo a invocar en la clase Java apropiada. A esta clase se la llama Java target y a este proceso se lo conoce como dispatching.
  5. Entregar el mensaje SOAP al sub-sistema encargado de la serializacion para que lo deserialice en objetos Java que seran pasados como parametros al Java target.
  6. Invocar el Java target usando los parametros generados por el sub-sistema de serializacion y obtener el objecto Java retornado.
  7. Entregar el objeto Java retornado al sub-sistema de serializacion para ser serializado en XML segun lo especificado por el WSDL para el mensaje de retorno.
  8. Encapsular en un mensaje SOAP el XML generado a partir del objeto Java retornado, segun lo especificado por el WSDL para el mensaje de retorno.
  9. Entregar el mensaje SOAP al transporte para ser enviado al cliente.
Nota: Si ocurre una excepcion durante este proceso, la misma debe ser encapsulada en un mensaje SOAP del tipo fault y enviada al cliente.

Invocacion en el Cliente
  1. Se crea una instancia de la clase que implementa la interfaz Java para el endpoint del Web Service (SEI). El sub-sistema de invocacion emplea algun factory para crear instancias de SEI (Service Endpoint Interface). Las instancias se crean en el momento de ejecucion o se obtienen mediante JNDI. Las instancias SEI son implementadas usando proxies Java y manejadores de invocacion (invocation handler).

No hay comentarios.: