210 likes | 481 Views
Lenguajes Servicios Web. Maestría en Tecnologías Web Juan Carlos Gallegos López. Introducción a los servicios web. 1.1 El concepto de servicio web 1.2 El origen de los servcios web 1.3 La arquitectura de los servicios web
E N D
Lenguajes Servicios Web Maestría en Tecnologías Web Juan Carlos Gallegos López
Introducción a los servicios web • 1.1 El concepto de servicio web • 1.2 El origen de los servcios web • 1.3 La arquitectura de los servicios web • 1.4 Los mensajes de solicitud y respuesta (Request and Reply) • 1.5 Protocolo Simple de Acceso a Objetos (SOAP) • 1.6 La estructura de un mensaje en el protocolo simple de acceso a objetos (SOAP) • 1.7 Ventajas y desventajas del protocolo simple de acceso a objetos (SOAP) • 1.8 El atributo del servicio y los métodos Web • 1.9 La construccion de servicios Web desde tecnología .NET • 1.10 La exposicion de servicios Web usando el protocolo Web Service DescriptionLayer (WSDL)
El Concepto • Un servicio web es un conjunto de protocolos y estándares abiertos que sirven para intercambiar datos entre aplicaciones desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma. • Las organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios web.
El Origen • Objetos distribuidos para aplicaciones complejas • Alternativas principales • DCOM /COM+ (Microsoft) • CORBA (OMG) • JAVA RMI (Sun) • Problemas principales de estas tecnologías • Interoperabilidad • Requieren apertura de Firewall • Complejidad • Tecnología propietaria
Protocolo de comunicaciones 1 Formato de mensaje 2 Lenguaje de descripción 3 Mecanismo de localización 4 ArquitecturaDistribuida DCOM 3 IDL Máquina A Máquina B 2 petición NDR IDLproxy IDLstub respuesta RPC Windows Registry Windows Registry 1 4 Inspecciónmáquina B
Protocolo de comunicaciones 1 Formato de mensaje 2 Lenguaje de descripción 3 Mecanismo de localización 4 ArquitecturaDistribuida CORBA 3 OMG IDL Máquina A Máquina B 2 petición CDR IDLStub IDLSkeleton respuesta IIOP (TCP) Naming Service Naming Service 1 4 Inspecciónmáquina B
Protocolo de comunicaciones 1 Formato de mensaje 2 Lenguaje de descripción 3 Mecanismo de localización 4 ArquitecturaDistribuida JAVA (RMI) 3 Java Interfaces Máquina A Máquina B 2 petición Java Ser. Format stub Skeleton respuesta IIOP || JRMP Registry Service Registry Service 1 4 Inspección máquina B
ArquitecturaDistribuida SOA Servicios publicados Servicio 1 Publicación mediante UDDI Servicio 1 Descubrimiento mediante UDDI Servicio Servicio Web Aplicación Cliente Registro UDDI Descripción mediante WSDL XML Schema WSDL Invocación y acceso mediante SOAP Transporte mediante HTTP / Otros… Mensaje SOAP
La Arquitectura • Un servicio web simple tiene dos roles o participantes: • Proveedor del servicio (provider) • Consumidor del servicio (requester). • El proveedorcontiene la interface y la implementación del servicio, y el consumidoresquienusa el servicio.
La Arquitectura • Un servicio web massofisticado: • Registro. Contiene un directorio con la ubicación de los serviciospublicados. • Proveedor. Publica el servicio en el registro. • Consumidor. Descubre los serviciospublicados en el registro.
Mensajes request y reply • Mensaje Request. Llamada a los métodos web (Ej. 3 + 4). • Mensaje Reply o Response. Contiene la respuesta a la invocación de los métodos web (Ej. 7).
Estandares en los servicios web • XML. (eXtensible Markup Language)Representaciónuniforme de datos, para el intercambio de información. • SOAP.(Simple Object Access Protocol)Estandar de comunicación. • WSDL. (Web Service Description Language)Estandarque describe el servicio web. • UDDI. (Universal Description, Discovery and Integration specification)Mecanismo de registro y localización de servicios web
XML (eXtensible Markup Language) <?XML version=“1.0” encoding=“UTF-8” standalone=“no”?> <!–- this is an XML comment --> <books xmlns=“somename" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=“somenameM:\XML\Schemas\docbook.xsd"> <bookyear=“2000”book-title=“XML in Depth”> <author> <title>Mr.</title> <name>John Doe</name> </author> <publisher>&pub</publisher> </book> </books> XML instance schema commentroot attributeselement
XML (eXtensible Markup Language) <?xml version="1.0"?> <xs:schematargetNamespace="http://tempuri.org/messagein" xmlns="http://tempuri.org/messagein" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" > <xs:element name="Pedido"> <xs:complexType> <xs:sequence> <xs:element name="idarticulo" type="xs:string" minOccurs="1" maxOccurs="1"/> <xs:element name="nombre" type="xs:string" minOccurs="1" maxOccurs="1"/> </xs:sequence> <xs:attribute name="descuento" type="xs:string" /> </xs:complexType> </xs:element> </xs:schema> <?xmlversion="1.0"?> <Pedido descuento="no" xmlns="http://tempuri.org/messagein"> <idarticulo>12345</idarticulo> <nombre>Bolsa</nombre> </Pedido>
SOAP (Simple Object Access Protocol) Envelope Header (optional) Body (required) Message Fault (Optional) Attachment (Optional)
UDDI (Universal Description, Discovery and Integration specification) • Modelo de Directoriospara web services • Directorioquealmacenainformación de los web services (SecciónAmarilla). • Utiliza WSDL paradescribirlas interfaces de los web services
It’s Time to Hands on Labs… • PRACTICA 1 Servicio Web Calculadora • PRACTICA 2 Publicación en IIS • PRACTICA 3 ConsumoServicio Web Calculadora