Publicado el 7 de Septiembre del 2017
1.212 visualizaciones desde el 7 de Septiembre del 2017
45,1 KB
19 paginas
Creado hace 20a (01/06/2004)
1.264 Tema 14
SOAP, WSDL, UDDI
Servicios web
Demostración de FrontPage
• Archivo-> Nueva web (creada en servidor CEE).
• Elegir tipo de web.
• Agregar n avegación con Formato->Bordes compartidos
(marcos).
– Usar a rriba e izquierda, incluir botones de navegación.
–
Ir a la vista Navegación, arrastrar páginas al espacio.
• Guardar las páginas antes de visualizarlas.
• Crear estructura y diseño del sitio web:
– Ventana Navegación.
• Organizar archivos y carpetas:
– Ventana Carpetas.
Importar y exportar archivos:
– Archivo->Importar, no copia r.
• Probar y reparar hip ervínculos:
•
– Hipervínculos , Herramientas->Actualizar hipervínculos.
Protocolo de acceso a objetos simple
SOAP
• Microsoft pro puesto la norma SOAP tras descartar
ActiveX/COM para las aplicaciones de Internet
• SOAP es, en esencia, XML y HTTP:
– Pensado para introducir nueva tecnología en
informática distribuida más allá de lo actualmente
utilizado.
– SOAP aña de encabez ados al HTTP; no hay más cambios.
– Otras soluciones de middleware son incorporar SOAP (sobre
todo CORBA; COM (MS) ti ende directa men te a SOAP).
• Elemento clave de SOAP:
– Nuevo tipo M IME: texto/xm l.
– Definiciones acordadas de tipos de datos, valores obligatorios,
etc.
• SOAP implementa todas las funcion es clave del middleware
heredado (COM y CORBA) con muchísima menor complejidad.
SOAP
• Los URL reemplazan los depósitos y registros de COM y
CORBA.
• Un motor de búsqueda puede utilizarse para ubicar
dinámicamente objetos remotos que la aplicación cliente
desconocía cuando se diseñaron.
• HTTP POST y las respuestas sustituyen a la programación
de la aplicación (en CORBA e COM IDL heredados).
• SOAP (HTTP y XML) se presenta en texto y no en formato
binario, por lo que es mucho más sencillo interactuar en
las distintas máquinas y depurar sus fallos.
• SOAP es suficientemente eficaz en la mayoría de las
comunicaciones entre máqui nas.
– No utilizarlo en una única máquina: utilizar mecanismos
COM nativos o mecan ismos Java.
UDDI
• Descripción universal, Descubrimiento e
Integración.
– El registro de empresas UDDI (UBR) es un directorio
públi co glob al de empresas y servicios.
– Los usuarios plantean consultas en UBR para descubrir
servicios web y obtener información sobre ell os.
– Páginas blancas, páginas amarillas, páginas verdes
(servicios).
– Se utiliza SOAP para publ icar, editar y navegar po r el UBR.
– WSDL (lenguaje de descripción de servicios web) se
utili za para describir estos servicios.
•
Información en Microsoft e IBM (ver ejercicio 5).
– Breve demostración.
WSDL
• Contiene:
– Descripción y formato de mensajes que
pueden estar entre etiquetas <types> y
<message>
– Dirección de transmisión de mensajes en
<portType>:
• Sólo p etición, petición-respuesta, sólo respuesta.
– Codificación del mensaje en elementos
<binding>
(literal, etc.)
– Ubicación del servicio en elemento <service>
<definitions name="StockQuote"
targetNamespace="http://example.com/stockquote.wsdl"
xmlns:tns="http://example.com/stockquote.wsdl"
xmlns:xsd1="http://example.com/stockquote.xsd"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
Ejemplo WSDL
<types>
<schema targetNamespace=http://example.com/stockquote.xsd
xmlns="http://www.w3.org/2000/10/XMLSchema">
<element name="TradePriceRequest">
<complexType>
<all>
<element name="tickerSymbol" type="string"/>
</all>
</complexType>
</element>
<element name="TradePrice">
<complexType>
<all>
<element name="price" type="float"/>
</all>
</complexType>
</element>
</schema>
WSDL, p.2
<message name="GetLastTradePriceInput">
<part name="body" element="xsd1:TradePriceRequest"/>
</message>
<message name="GetLastTradePriceOutput">
<part name="body" element="xsd1:TradePrice"/>
</message>
<portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceInput"/>
<output message="tns:GetLastTradePriceOutput"/>
</operation>
</portType>
<binding name="StockQuoteSoapBinding“ type="tns:StockQuotePortType">
<soap:binding style="document“ transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastTradePrice">
<soap:operation soapAction="http://example.com/GetLastTradePrice"/>
<input>
<soap:body use="literal"/>
<soap:body use="literal"/>
</input>
<output>
</output>
</operation>
</binding>
<service name="StockQuoteService"> (etc. - define el URL para el servicio)
SOAP, UDDI y WSDL
POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"
De UDDI
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Header>
<t:Transaction xmlns:t="some-URI" SOAP-ENV:mustUnderstand="1">
WSDL
5
</t:Transaction>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-URI">
<symbol>SUNW</symbol>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Resumen de XML, SOAP, UDDI, WSDL
• XML se incorpora en aplicaciones importantes de Internet de los
últi mos 12-24 meses.
• Se espera que el XML sea el protocolo imperante en el comercio
en Internet, cadenas de suministro, col aboración de ingeniería
y otras actividades interempresariales.
• Las definiciones de tipo de do cumento de XML (DTD, XSchema)
son complicadas de normaliz ar, pero hay muchos esfuerzos en
esta dir ección.
– RosettaNet, otros sistemas de intercambio.
– SOAP p ara la interoperabilidad más general.
• XML reemplazará al middleware heredado (COM y CORBA) con el
tiempo y, prob ablemente, estará muy presente en la red.
– Ver http://www.theserverside.com/resources/
article.jsp ?l=WebServices-Dev-Guide
• SOAP se utiliza mucho ahora; WSDL se empieza a usar.
• UDDI está en su fase inicial.
Servicios web
• XML permite que e ntornos heterogéneos puedan
compartir información en la w eb.
• Ahora cuenta con medios para dicho proceso.
• Las claves son el XML y el HTTP/SOAP, cada uno
de ellos cuenta c on gran ace ptación.
• Una forma de crear servicios web:
– Crear y desarrol lar un servicio web mediante
lenguaje de programación y un servidor web a
elección.
– Definir el servicio web en WSDL.
– Registrarlo en UDDI.
– El usuario b usca en UDDI los servicios y los parámetros.
Invoca el servicio con SOAP, que cuenta con for mato de
–
representación de parámetros y valores HTTP.
Servicios web (cont.)
• Este método es válido para servicios sencillos.
• Los má s amplios necesitan normas para
transacciones comunes (pedidos, catálogos,
documentos de diseño de ingeniería, etc.).
– ebXML (eBusiness XML) es un conju nto de
especificacion es XML.
• Java y .NET admiten SOAP, W DSL y UDDI.
– ebXML está evolucion ando y será compatible con Java
y .NET.
• Java (J2EE) y .NET admiten servicios web con
herramientas para la implementación de alto
rendimiento fiable y adaptable:
– Los detalles de implementación cambian; las normas no.
– J2EE es una nor ma; muchos proveedores ya la apli can.
–
.NET es un pr oducto de Microsoft.
Servicios web J2EE
Navegador web
Socio empresarial
u otro sistema
Aplicaciones(Java)
W
SOAP,UDDI,WSDL,ebXML
CORBA IIOP
HTTP
Firewall
Serv
web
Aplic.
Servlets
Server Pages de Java
Java empresarial
SQL
Propio
SOAP,UDDI,WSDL,ebXML
B. datos
Aplic. heredadas
Socio empresarial
u otro sistema
Servicios web .NET Navegador web
Socio empresarial
u otro sistema
Aplicaciones (VB)
W
SOAP,UDDI,WSDL,BizTalk
ActiveX/COM
HTTP
Firewall
Serv
web
Aplic
ASP.NET (Páginas Active Server)
Componentes .NET (ADO.NET – objetos de datos ActiveX, COM+)
SQL
Propio SOAP,UDDI,WSDL,BizTalk
B. datos
Aplic. heredadas
Socio empresarial
u otro sistema
.NET y J2EE
Propiedad
Implementación
Proveed. producto
Páginas web
Comp. servidor
Acceso b. datos
Middleware
Lenguaje principal
Portabilidad
J2EE
Norma
Varios (Sun, IBM, etc)
Server Pages de Java
JavaBeans de empresa
JDBC y SQL/J
SOAP, UDDI, WSDL
Java
Muchos proveedores
.NET
Producto
Microsoft
Págs. Active Server
Componentes .NET
ADO.NET (en ODBC)
SOAP, UDDI, WSDL
C++, C#, VB
Sólo Microsoft
.NET y J2EE
• Sus diferencias son relativamente pequeñas.
• Algunas diferencias secundarias:
– ASP.NET es independiente del dispositivo cliente y
las interfaces de usuario pueden funcionar en PC,
dispositivos por tátiles, etc., sin modificaciones.
JSP sí las requiere.
– Los componentes .NET son más simples que los EJB. Si
no se necesitan funciones adicionales, .NET es más
sencillo. De lo contrario, se deben crear las funciones
adicionales a mano y es más complicado (p.ej.,
transaccion es anidadas, máquinas de estados).
– Las herramientas de J2EE provienen de varios
proveedores y no interactúan tan bien como las de
.NET, q ue son todas de Microsoft.
– J2EE está más asentado; .NET es nuevo y supone un
gran cambio.
Compatibilidad de J2EE para XML, UDDI,
SOAP, WSDL
• JAXP: API de Java para analizador XML:
– Compatible con SOAP, UD DI, WSDL y ebXML.
• JAX/RPC: API de Java para llamadas a procedimientos
remotos de XML:
– Compatible con comunicación de pro gramas mediante SOAP.
• JAXM: API de Java para mensajería XML:
– Compatible con gestión automatizada de mensajería XML con
reglas ebXML. Admite encabezados, error es, etc.
• ebXML: espe cifica ciones XML, componentes ce ntrales:
– P.ej., fechas, impuestos, cuentas, contratos. Ver ebxml.org
• JAXB: API de J ava para vinculación XML:
– Convierte XML desde y hacia objetos Java.
• XSLT: Transform. de lenguaje de hoja de e stilos X ML:
– Convierte de un do cumento XML a otro.
• JCA: Arquitectura de conectores de Java:
–
Inclu ye adaptadores para sistemas heredados de Java, XML.
Compatibilidad de .NET para XML, UDDI,
SOAP, WSDL
• ASP.NET y ADO.NET ofrecen prácticamente las
mismas funciones que J 2EE para documen
Comentarios de: Tema 14 SOAP, WSDL, UDDI Servicios web (0)
No hay comentarios