WEB SERVICES
Publicado por yovanypulido en Septiembre 30, 2008
Contenido
1.1. WSDL(Web Services Description Language) 1
SOA (Service Oriented Architecture)
Es la arquitectura orientada a servicios y la define la OASIS como: “Paradigma para organizar y utilizar capacidades distribuidas que pueden estar bajo el control de varios propietarios (dominios). Provee medios uniformes para ofrecer, descubrir, interactuar y utilizar capacidades para producir los efectos deseados consistentes con precondiciones y expectativas medibles” [1]
1. WEB SERVICES
Un servicio Web es una aplicación Web identificada por un URI, cuyos interfaces y enlaces pueden ser definidos, descritos y descubiertos mediante artefactos XML y que soporta la interacción directa con otras aplicaciones Web que interfaz que define una colección de operaciones que son accesibles de forma remota usando mensajes XML mediante protocolos estándar de Internet. [2]
Las tecnologías que emplea son:
- XML: Describe la información a ser usada.
- SOAP: Empaqueta la información y la transporta entre cliente y el proveedor del servicio.
- WSDL: Describe un servicio.
- UDDI: Proporciona una lista de servicios disponibles.
1.1. WSDL(Web Services Description Language)
1.1.1. ¿Qué es?
Es un lenguaje basado en XML y que permite la descripción de los servicios web. WSDL se utiliza también para la localización y ubicación de estos servicios en Internet. [3]
1.1.2. Tags
- wsdl:types: Elemento contenedor para definiciones de tipos de datos formados mediante esquemas XML (XSD) u otros sistemas similares para tipos de datos.
- wsdl:message: Definición de los datos del mensaje que se van a comunicar. El mensaje puede estar compuesto por varias partes y cada una de ellas puede ser de un tipo diferente.
- wsdl:portType: Conjunto abstracto de operaciones compatibles con uno o más extremos.
- wsdl:binding: Protocolo concreto y especificación del formato de datos para un tipo de puerto determinado.
- wsdl:service: Colección de extremos relacionados. [4]
1.1.3. Interpretación de tags
- <types> El elemento Types contiene información de esquema referenciado en el documento WSDL. El sistema de tipos predeterminado que admite WSDL es de esquema de XML. Si se usa esquema de XML para definir los tipos que contiene el elemento Types el elemento schema aparecerá inmediatamente como elemento hijo. Es decir con este elemento se especificará el tipo de esquema utilizado.[5]
Se pueden utilizar otros sistemas de tipo tipos por extensión. Si desea, utilizar otro sistema de tipo pude aparecer un elemento de extensibilidad bajo el elemento Types. El nombre de este elemento debería identificar el sistema de tipos utilizados. [5]
- <message > El elemento Message proporciona una abstracción común para el paso de mensajes entre el cliente y el servidor. Como puede utilizar múltiples formatos de de definición de esquema en documento WSDL es necesario disponer de un mecanismo común para identificar los mensajes. El elemento Message proporciona este nivel común de abstracción.
Pude Aparecer, y normalmente aparecerán, múltiples elementos Message en un documento WSDL, uno para cada mensaje que se comunica entre el cliente y el servidor. Cada mensaje contiene uno o más elementos “Part” que describen las piezas del contenido del mensaje. Un ejemplo de una parte es el cuerpo de un mensaje de SOAP o un parámetro que forma parte de una cadena de petición, un parámetro codificado en el cuerpo del mensaje de SOAP o todo el cuerpo de un mensaje de SOAP. [5]
- <portType> El elemento porType contiene un conjunto de operaciones abstractas que representan los tipos de correspondencia que pueden producirse entre el cliente y el servidor.
Un tipo puerto se compone de un conjunto denominado operation que define una determinada acción. Los operation se componen de mensajes definidos en el documento WSDL. WSDL define cuatro tipos de operaciones denominadas tipo operaciones:
- Request-response(petición-respuesta) comunicación del tipo RPC en la que le cliente realiza una petición y el servidor envía la correspondiente respuesta.
- One-way (un-sentido) Comunicación del estilo documento en la que el cliente envía un mensaje pero no recibe una respuesta del servidor indicando el resultado del mensaje procesado.
- Solicit-response(solicitud-respuesta) La contraria a la operación petición-respuesta. El servidor envía una petición y el cliente le envía de vuelta una respuesta.
- Notification (Notificación) La contraria a la operación un-sentido el servidor envía una comunicación del estilo documento al cliente. [5]
- <binding > El elemento binding contiene las definiciones de la asociación de un protocolo como SOAP a un determinado bindingType. Las definiciones binding especifican detalles de formatos del mensaje y el protocolo. Por ejemplo, la información de asociación especifica si se puede acceder a una instancia de un portType de forma RPC.
Las definiciones binding también indican el número de comunicaciones de re red que se requieren para realizar una determinada acción. Por ejemplo, una llamada RPC de SOAP sobre HTTP podría involucrar un intercambio de comunicación HTTP, pero esa misma llamada sobre SMTP podría involucrar dos intercambios de comunicaciones de SMTP discretas.
La asociación se logra utilizando elementos de extensión. Cada protocolo tiene su propio conjunto de elementos de extensión para especificar los detalles del protocolo y el formato de los mensajes. Para un determinado protocolo los elementos de extensión se suelen utilizar para decorar las acciones individuales de una operación y la propia operación con la información de asociación del protocolo. A veces los elementos de extensión se utilizan en el propio nivel portType. [5]
- <service > Un servicio es un grupo de puertos relacionados y se definen en el elemento service. Un puerto es un extremo concreto de un Servicio Web al que se hace referencia por una dirección única. Los puertos que se definen en determinado servicio son independientes. Por ejemplo, la salida de un puerto que no puede utilizarse como una entrada de otro. [5]
1.2. SOAP
SOAP es un protocolo basado en XML para el intercambio de informacion de una forma descentralizada sobre entornos distribuidos. Define un mecanismo para el paso de instrucciones (comandos) y parametros entre clientes y servidores. Es totalmente independiente de la plataforma, el modelo de datos y el lenguaje de programación usado. []http://triana.escet.urjc.es/apliweb/SOAP-WSDL-UDDI.pdf
1.3. UDDI
Registro independiente de la plataforma basado en XML para registrar servicios web y permitir el descubrimiento de los mismos. Se compone de:
- Páginas Blancas: Dirección, contacto e identificadores conocidos.
- Páginas Amarillas: Categorización industrial basada en taxonomías estándar.
- Páginas Verdes: Información técnica sobre servicios proporcionados por empresas. []http://www.di.uniovi.es/~labra/cursos/Web20/ServiciosWeb.pdf
REFERENCIAS
[1]http://www.esi.uem.es/jccortizo/temasConcu/soa.pdf
[2]http://internetng.dit.upm.es/ponencias-jing/2004/Web2.pdf
[3]http://www.cibernetia.com/manuales/servicios_web/4_wsdl.php