Introducción a Servicios Web
Introduccin a Servicios Web
Objetivos
Describir que son los servicios web
Describir la funcin de SOAP, WSDL y UDDI en los servicios Web
Comparacin basada en SOAP y servicios Web
Describir cmo los servicios web permiten el desarrollo de aplicaciones SOA
Servicios Web
Proporcionar un marco de mensajera sencilla e interoperable
Son de fcil acceso desde entornos heterogneos
Los servicios deben ser:
ligeramente acoplado
Modular
Auto-descripcin
En base a los protocolos estndar de Internet y XML
Lenguaje y plataforma neutral
Servicios Web
Servicios Web son una tecnologa que especifica un enfoque interoperable comn para la comunicacin a travs de Internet.
Estas normas incluyen tpicamente: XML: Los documentos que contienen la informacin que se
intercambia entre las partes SOAP: Un formato estndar para la mensajera a travs de
una red Web Service Description Language (WSDL): El lenguaje que
proporciona una descripcin de los servicios Web Universal Description, Discovery y la Integracin (UDDI): un
directorio distribuido basado en Web para publicar y buscar informacin acerca de los servicios Web
SOAP
SOAP es un formato de mensajes basado en XML basado en el World Wide Web Consortium (W3C).
El propsito de SOAP es intercambiar informacin estructurada travs de la red.
El intercambio de documentos.
Invocar operaciones entre aplicaciones.
HTTP es la forma ms comn de intercambio de mensajes SOAP.
WSDL
WSDL es un lenguaje basado en XML para los servicios Web de modelado.
Las definiciones WSDL proporcionan metadatos bsicos sobre los servicios Web, incluyendo: Descripcin de la interfaz
Informacin de tipos de dato: Formato del mensaje
Informacin de Binding: Protocolo de red
Informacin de direccin: la ubicacin de servicios
WSDL utiliza un esquema XML para describir un servicio Web en forma de un documento WSDL.
UDDI
Proporciona un modelo de datos estndar para el almacenamiento de informacin de la organizacin y sus servicios web
Utiliza la API de SOAP para publicar y localizar servicios Web en su registro
Se describe en un conjunto de especificaciones que cubren por separado API de programacin, estructuras de datos comunes, cuestiones administrativas, y otros temas relacionados
Interaccin de Servicios Web
Publish the service via UDDI.
Connect via SOAP.
Look up the service via UDDI.
Retrieve the service description via WSDL.
Service registrar (UDDI)
Service provider Service requester
1 3 2
4
Servicios Web y SOA
Los servicios Web son una plataforma ideal para SOA porque:
Los servicios Web estn diseados para lograr la interoperabilidad
Las Interfaces de servicios web son buenos para permitir el desarrollo de los servicios que encapsulan funciones de la empresa
Las especificaciones bsicas y avanzadas de servicios Web contribuyen significativamente a la capacidad de implementar soluciones habilitadas para SOA
SOAP y WSDL
Objetivos
Describir la estructura de un mensaje SOAP y la funcin de cada elemento de SOAP
Describir los modelos de mensajera disponibles al crear servicios web basados en SOAP
Describir el papel que juega WSDL en el modelo de servicios Web y los elementos primarios contenidos en un archivo WSDL
Comparar el uso de WSDL en el estilo de documentos y servicios de tipo RPC
Crear un archivo WSDL simple usando JDeveloper
XML Namespace and XML Schema
En el desarrollo de Servicios Web con XML, es importante: Usar espacios de nombres para interpretar la etiqueta
en el contexto adecuado Sintaxis: namespace: atributo = URI
Emplear esquemas XML (XSD) para validar la integridad de los documentos XML Un esquema XML define la sintaxis de un documento XML. Un esquema XML contiene un elemento raz denominado schema y una secuencia de definiciones de tipos de datos globales.
Un tipo de datos global puede ser primitivo o complejo.
SOAP: Mensajes XML para Servicios Web
SOAP es el corazn del marco de mensajera interoperable de los Servicios Web: SOAP se basa en XML
El formato de mensaje SOAP est definido por un esquema XML, que utiliza espacios de nombres XML para hacer SOAP extensible.
SOAP usa el protocolo HTTP Mensajes SOAP pueden pasar a travs de firewalls.
SOAP soporta la transferencia de llamadas a procedimiento remoto (RPC) y la informacin de estilo del documento a travs de Internet
Comunicacin con SOAP
Comunicacin con SOAP incluye:
Un mensaje de solicitud
Un mensaje de respuesta
SOAP sobre HTTP
HTTP POST se utiliza para manejar el intercambio de mensajes SOAP request/response.
HTTP GET se usa para recuperar las definiciones de interfaz WSDL de los servicios
Estructura Bsica de SOAP
Un mensaje SOAP es un documento XML que consiste de :
Una seccin obligatoria envelope como un elemento al top
Seccin Header opcional Seccin Fault obligatoria.
Ejemplo de mensajes SOAP
1
1.1f
2.1
Req
ues
t R
esp
on
se
SOAP
namespace
Application
namespace
SOAP
Operation
(RPC style)
Examinando mensajes SOAP usando HTTP Analyzer
Request Response
WSDL
Un documento WSDL describe:
Qu hace el servicio? Cmo se accede al
servicio? Dnde se encuentra el
servicio? En l se definen los
mensajes y Las operaciones de un servicio en XML.
Types
Messages
Port types
Bindings
Services
WSDL document
Un documento WSDL bsico
2
7
8
9
10
11
12
13
14
15
Un documento WSDL bsico 16
17
18
19
20
21 ...
22
23
24
25
26
27
28
30
31
32
33
Definir la estructura de los contenidos en el Cuerpo de SOAP
La estructura del contenido del cuerpo SOAP se define por las definiciones de tipo de esquema XML: Declarado explcitamente en WSDL Importada desde una definicin de esquema XML
(XSD)
WSDL Binding
El elemento de Binding mapea un portType como un conjunto de :
Los protocolos de red, tales como SOAP, MIME
Estilos Mensajera: RPC o documento
Estilos de codificacin: Literal o SOAP Encoding
Pasos para crear un archivo WSDL usando JDeveloper
Los principales pasos para crear un archivo WSDL utilizando WSDL Editor de JDeveloper:
1. Cree o importe un XSD. 2. Crear un tipo de documento WSDL del servicio Web
en su proyecto con la opcin Crear portType seleccionado.
3. Se crea una operacin de portType por defecto para agregar elementos de entrada y salida.
4. Crear un enlace SOAP mediante el componente de binding en la paleta de componentes.
5. Creacin de un servicio mediante el componente de servicio en la paleta de componentes.
Crear un archivo WSDL usando JDev
Component
Palette
Property Editor
Crear un archivo WSDL usando JDev
Mapeo de un mtodo en Java al WSDL
public String add(int param1, float param2);
...
...
...
...
1
2
a
b
Java method:
WSDL:
Mapeo de un mtodo en Java al WSDL
WSDL:
...
...
...
3
Creando un Servicio Web desde un WSDL
Los pasos para la creacin de servicios web desde un archivo WSDL son:
Generar los artefactos de un archivo WSDL existente utilizando JDeveloper
Agregar lgica de negocios para el archivo de implementacin JWS.
Compilar y generar el servicio Web de despliegue.
Un ejemplo de un archivo Java generado desde un WSDL
Un ejemplo de un archivo Java generado desde un WSDL
EJERCICIO 4-1
30 minutos
EJERCICIO 4-2
30 minutos