Componentes de los servicos web

14
COMPONENTES DE LOS SERVICIOS WEB Universidad Autónoma de Querétaro Maestría en Sistemas de Información : Gestión y Tecnología Raúl Deanda Quintero Julio 2014

Transcript of Componentes de los servicos web

COMPONENTES DE LOS SERVICIOS WEB

Universidad Autónoma de Querétaro

Maestría en Sistemas de Información : Gestión y Tecnología

Raúl Deanda Quintero

Julio 2014

DEFINICIÓN, PROTOCOLO , ARQUITECTURA DE XML

(Extensible Markup Language): Es el formato estándar para los datos que se vayan a intercambiar.

El XML es una adaptación del SGML (Standard Generalized Markup Language), un lenguaje que permite la organización y el etiquetado de documentos.

XML no es un lenguaje en sí mismo, sino un sistema que permite definir lenguajes de acuerdo a las necesidades. El XHTML, el MathML y el SVG son algunos de los lenguajes que el XML tiene la capacidad de definir.

Las bases de datos, los documentos de texto, las hojas de cálculo y las páginas web son algunos de los campos de aplicación del XML.

El metalenguaje aparece como un estándar que estructura el intercambio de información entre las diferentes plataformas; permite comunicarse con otras aplicaciones, de diferentes plataformas y sin que importe el origen de la información en común. Se pueden tener, por ejemplo, un programa corriendo en Windows con una base de datos de SQL Server, y otro en Linux con Oracle.

Ventajas de la utilización del XML, como por ejemplo que: es extensible (se pueden añadir nuevas etiquetas tras el diseño del documento); su analizador es estándar (no requiere de cambios para cada versión del metalenguaje); facilita el análisis y el procesamiento de los documentos XML creados por terceros.

DEFINICIÓN, PROTOCOLO , ARQUITECTURA DE XML

<?xml version="1.0"?> <!DOCTYPE MENSAJE SYSTEM "mensaje.dtd"> <mensaje> <remite> <nombre>Alfredo Reino</nombre> <email>[email protected]</email> </remite> <destinatario> <nombre>Bill Clinton</nombre> <email>[email protected]</email> </destinatario> <asunto>Hola Bill</asunto> <texto> <parrafo>¿Hola qué tal? Hace <enfasis>mucho</enfasis> que no escribes. A ver si llamas y quedamos para tomar algo.</parrafo> </texto> </mensaje>

DEFINICIÓN, PROTOCOLO , ARQUITECTURA DE SOAP

SOAP (Simple Object Access Protocol)

Este protocolo básicamente representa una forma de intercambiar mensajes utilizando los fundamentos del XML

Para poder permitir que los servicios web se comuniquen fácilmente, necesitamos de un protocolo de mensajes uniforme que sea independiente de la plataforma

SOAP representa tal protocolo de mensajes basado en XML, Sin embargo no intenta ser la solución a todos los problemas.

Los datos transmitidos por SOAP, normalmente son:

Información como datos XML.

Información Binaria (Como archivos de imagenes)

Fig. 3 – Estructura básica de un mensaje SOAP

Especificación de SOAP

DEFINICIÓN, PROTOCOLO , ARQUITECTURA DE SOAP

• SOAP Envelope: Especifica que datos son incluidos en un

mensaje (SOAP Body), que datos son adicionados de forma

opcional (SOAP Header) y como deberían ser procesados.

• SOAP Encoding Rules: Estas reglas especifican, por

ejemplo, como deberían ser serializados los datos de un

usuario específico.

DEFINICIÓN, PROTOCOLO , ARQUITECTURA DE SOAP

DEFINICIÓN, PROTOCOLO , ARQUITECTURA DE WSDL

WSDL Son las siglas de Web Service Description Language.

Se trata de un dialecto basado en XML que se utiliza para describir servicios web.

Describe la Interfaz pública a los servicios Web.

Describe la forma de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo.

Proporciona la información necesaria al cliente para interactuar con el servicio web.

Es extensible y se puede utilizar para describir cualquier servicio de red , incluyendo SOAP sobre HTTP, e incluso protocolos que no se basan en XML como DCOM sobre UDP.

ESQUEMA WSDL

ESTRUCTURA DEL MENSAJE WSDL

EJEMPLO MENSAJE WSDL

DEFINICIÓN, PROTOCOLO , ARQUITECTURA DE UDDI

UDDI - Universal Discovery Description and Integration. UDDI (www.uddi.org) es un proyecto inicialmente propuesto por Ariba, Microsoft e IBM; es un estándar para registrar y descubrir Web Services. La idea es que las distintas empresas registran su información acerca de los Web Services que proveen para que puedan ser descubiertas y utilizadas por potenciales usuarios. La información es ingresada al registro de empresas UDDI, un servicio lógicamente centralizado, y físicamente distribuido a través de múltiples nodos los cuales replican su información en forma regular. Una vez que una empresa se registra en un determinado nodo del registro de empresas UDDI la información es replicada a los otros nodos y queda disponible para ser descubierta por otras empresas. Es un modelo de directorios para Web Services.

Es una especificación para mantener directorios estandarizados de información acerca de los

Web Services, sus capacidades, ubicación, y requerimientos en un formato reconocido universalmente.

UDDI utiliza WSDL para describir las interfaces de los Web Services. Es un lugar en el cual podemos buscar cuales son los Servicios web disponibles, una especie de

directorio en el cual podemos encontrar los Web Services publicados y publicar los Web Services que desarrollemos.

Un ejemplo Las formas en que se puede realizar negocios utilizando WEB SERVICES es muy variada. El consumidor podría pagar por utilizar los servicios brindados por un proveedor, o el proveedor podría pagar para que aparezcan los servicios que él ofrece en un determinado consumidor, o incluso existen casos en los cuales ni el consumidor ni el proveedor pagan por consumir o proveer los servicios en forma respectiva. Este es el caso que se presenta a continuación. El ejemplo es tomado de la vida real y es sobre la compañía aérea Southwest. En su portal http://www.southwest.com/ , esta compañía aérea permite hacer reservas de boletos, pero además como valor agregado a los clientes permite hacer reservas de hoteles y reservas de alquileres de autos. Los datos para poder realizar estas reservas están tomados de WEB SERVICES que brindan los distintos hoteles y rentadoras de autos. Este es un ejemplo de uso de WEB SERVICES en el cual ni el consumidor ni los proveedores pagan; a ambos le sirve este intercambio ya que la compañía de aviones le brinda un valor agregado a sus clientes, y los hoteles y rentadoras de autos están expuestos a ser contratos por potenciales clientes. Es más, estas empresas no publicaron sus servicios para que fueran exclusivamente utilizados por la compañía aérea, sino que los mismos pueden ser descubiertos y utilizados por cualquier empresa que los necesite. Claramente se muestra en este ejemplo el gran poder de los WEB SERVICES, y la ventaja que tendrán las empresas que los sepan utilizar en forma adecuada con respecto a las otras. Imagínese en este caso si usted fuera a reservar boletos de avión y pudiera elegir por una compañía que además de reservar los boletos le permitiera hacer la reserva de hotel, y otra que no; ¿por cual haría la reserva? Por otro lado imagine que usted es dueño de una rentadora de autos y sabe que su competencia esta brindando sus servicios en un portal de una compañía aérea y usted no, ¿qué haría?. http://uddi.xml.org/ http://www.uddi.org/ http://www.w3.org/

Otros ejemplos: Si Usted ha despachado un material vía Federal Express y quiere conocer el estado de su despacho, esta empresa pone a su disposición un Web Service. Un programa escrito en Java puede conversar con otro escrito en Pearl; Aplicaciones Windows puede conversar con aplicaciones Unix. Por otra parte los Web Services no necesitan usar browsers (Explorer) ni el lenguaje de especificación HTML. La aplicación que procesa las órdenes de compra se puede comunicar con el sistema de inventarios, tal que este último le puede informar a la aplicación de compras cuales ítems deben comprarse por estar bajo su nivel mínimo

La magia de los Web Services está en que el programador de X puede crear un Web Service para transferir datos sin necesidad de conocer al programador Y, ni a los programas que éste tiene a cargo. De modo que quien quiera recibir los datos solo necesita usar el Web Service y punto. Esto significa que pueden existir transferencias de datos entre distintas aplicaciones –programas- que funcionan en varios computadores, con distintos sistemas operativos, y que pertenezcan a diferentes empresas o instituciones. El término Web Services describe una forma estandarizada de integrar aplicaciones WEB mediante el uso de XML, SOAP, WSDL y UDDI sobre los protocolos de la Internet. XML es usado para describir los datos. SOAP se ocupa para la transferencia de los datos. WSDL se emplea para describir los servicios disponibles. UDDI se ocupa para conocer cuales son los servicios disponibles.

A diferencia de los modelos Cliente/Servidor, tales como un servidor de paginas Web, los Web Services no proveen al usuario una interfaz gráfica (GUI). En vez de ello, los Web Services comparten la lógica del negocio, los datos y los procesos, por medio de una interfaz de programas a través de la red. Es decir conectan programas, por tanto son programas que no interactúan directamente con los usuarios. Los desarrolladores pueden por consiguiente agregar a los Web Services la interfaz para usuarios, por ejemplo mediante una pagina Web o un programa ejecutable, tal de entregarle a los usuarios una funcionalidad específica que provee un determinado Web Service.

Conclusiones WEB SERVICES