TALLER DE ARQUITECTURA ORIENTADA A SERVICIOS CON TECNOLOGA ORACLE
INTRODUCCIN A SERVICIOS WEB
24/11/2014 Autor: Joel Moreno Agenda Interoperabilidad Estndar WSDL Parte abstracta Parte concreta
Estndar SOAP
Copyright 2014, CROSSNET
Los servicios son bloques en construccin Los servicios son bloques bsicos de construccin de una arquitectura orientada a servicios
Copyright 2014, CROSSNET
Los servicios tienen que ser interoperables Los servicios tienen que ser interoperables para que puedan combinarse y reutilizarse rpidamente Interoperabilidad Capacidad de los sistemas de tecnologas de la informacin y las comunicaciones (TIC), y de los procesos empresariales a los que apoyan, de: Intercambiar datos Compartir informacin y conocimiento La solucin a la interoperabilidad es el uso de estndares
Copyright 2014, CROSSNET
Los estndares Los estndares son normas: Adoptadas y utilizadas ampliamente. Creadas para permitir un alto grado de interoperabilidad entre los sistemas. Definidas como acuerdos oficiales entre los diferentes actores de implementaciones especficas. Son requeridas por SOA y son aplicados a las diferentes capas de aplicacin, tales como: Protocolos de transporte. Formatos de mensaje. Descubrimiento de servicios. Descripcin del servicio.
Copyright 2014, CROSSNET
Estndares requeridos por SOA
Copyright 2014, CROSSNET
Servicios Web Es un conjunto de estndares que permiten una comunicacin interoperable a travs de la Internet. Los principales estndares son: WSDL SOAP
Copyright 2014, CROSSNET
Servicios Web
Copyright 2014, CROSSNET
Estndar WSDL Son las siglas de Web Service Descripcin Language Un documento WSDL proporciona los metadatos bsicos sobre un servicio web. WSDL es un lenguaje basado en XML Es una recomendacin de la W3C
Copyright 2014, CROSSNET
Estructura de un documento WSDL Un documento WSDL describe un Servicio Web usando los siguientes elementos: <types> especifica los tipos de datos usados por el Servicio Web. <message> especifica los parmetros (mensajes) de entrada y los valores (mensajes) que retornan las operaciones <portType> describe el servicio y sus operaciones <binding> indica cul es el protocolo de comunicacin que debemos usar para invocar al servicio <service> la ubicacin del servicio
Copyright 2014, CROSSNET
Estructura de un documento WSDL
Abstracta
Concreta
Copyright 2014, CROSSNET
WSDL Types El elemento <Types> define los tipos de datos que sern usados en las partes de un mensaje. Los tipos de datos que podemos utilizar son los definidos en el estndar WSDL Schema namespace (Diccionario de Datos Estndar) Alternativas: 1. No crear nuevos tipos, utilizar los tipos bsicos 2. Importar tipos de datos definidos en otros esquemas(recomendable) 3. Crear nuevos tipos de datos en un esquema en el mismo documento
Copyright 2014, CROSSNET
Ejemplo de esquema: Biblioteca.xsd
Copyright 2014, CROSSNET
Ejemplo con los tipos de datos definidos en un esquema independiente
Copyright 2014, CROSSNET
WSDL Messages Cada mensaje puede consistir de una o ms partes. Las partes pueden ser comparadas a los parmetros de una funcin en un lenguaje de programacin tradicional.
Copyright 2014, CROSSNET
WSDL Messages
Copyright 2014, CROSSNET
WSDL Ports El <portType> es el elemento ms importante del WSDL por los mensajes que usa. Una operacin que describe un Servicio Web, las operaciones que realiza y recibe opcionalmente un mensaje de entrada y devuelve opcionalmente un mensaje de salida. En un lenguaje de programacin tradicional, el PortType puede ser comparado con una Clase en el enfoque OO.
Copyright 2014, CROSSNET
Estructura de un documento WSDL
Copyright 2014, CROSSNET
Definicin de la parte concreta Conformada por las secciones <binding> y <service> Resumidamente indican al consumidor del servicio: El protocolo de mensajera a utilizar El protocolo de transporte a utilizar El nombre del servicio La ubicacin del servicio (endpoint)
Copyright 2014, CROSSNET
Estndar SOAP Son las siglas de Simple Object Access Protocol SOAP es un estndar basado en XML para el intercambio de mensajes El propsito de SOAP es el intercambio de informacin estructurada sobre la red: Intercambio de documentos Invocar operaciones entre aplicaciones HTTP es el protocolo de transporte ms utilizado para el intercambio de mensajes SOAP
Copyright 2014, CROSSNET
Comunicacin con SOAP Una comunicacin con SOAP incluye: Un mensaje de solicitud al servicio invocado Un mensaje de respuesta del servicio invocado
Copyright 2014, CROSSNET
Estructura bsica de un mensaje SOAP Un mensaje SOAP se divide: cabecera <header> y cuerpo <body> La cabecera que contiene la informacin crtica acerca de hacia donde va el mensaje y de quien viene. El cuerpo del mensaje incluye la data
Copyright 2014, CROSSNET
SOAP Messages: Example
Copyright 2014, CROSSNET
Nodo SOAP Un nodo SOAP representa el procesamiento lgico que es responsable de transmitir, recibir y ejecutar una serie de procesamiento de tareas sobre mensajes SOAP. Es conocido como un Servidor SOAP
Copyright 2014, CROSSNET
Prximas actividades Semana 8 Control de lectura 1 (Captulo 4 al Captulo 6) del libro: Web Service Contract Design and Versioning for SOA. Asesora. Semana 9 Control de lectura 2 (Captulo 7 al Captulo 8) del libro: Web Service Contract Design and Versioning for SOA. Asesora. Semana 10 Entrega y exposicin del proyecto de curso (entregables 1 y 2) Nota del segundo entregable = 0.20 * Nota de CL1 + 0.20 * Nota de CL2 + 0.60 * Nota del Trabajo Copyright 2014, CROSSNET Ejemplos de serviciosLecturas http://www.cyberteams.com/DHL-Customer-Web-Service-Developer-Guide-V1-0d.pdf http://www.fedex.com/us/developer/product/WebServices/MyWebHelp/Preface/c_Docum entOverview-DeveloperGuide.html https://www.ventanillaunica.gob.mx/vucem/SobreVU/Descargas/index.htm http://www.canadapost.ca/cpo/mc/business/productsservices/developers/soap/wsdlfiles.jsf http://graphical.weather.gov/xml/ http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_WsdlLocati onArticle.html http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl
Copyright 2014, CROSSNET
TALLER DE ARQUITECTURA ORIENTADA A SERVICIOS CON TECNOLOGA ORACLE INTRODUCCIN A SERVICIOS WEB