Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Protocolos de Servicios
Protocolos de Servicios
WED
PROTOCOLOS DE SERVICIOS WED
Capa Descripción
1.4 Seguridad
1.4.1 Confidencialidad
1.4.2 Autentificación
Tenemos una serie de tecnologías, todas ellas basadas en XML, que son
fundamentales para el desarrollo de Servicios Web. Estas tecnologías
son independientes tanto del SO como del lenguaje de programación
utilizado para implementar dichos servicios. Por lo tanto, serán utilizadas
para cualquier Servicio Web, independientemente de la plataforma sobre
la que construyamos dichos servicios (como puede ser J2EE o .NET).
1.5.1 SOAP
Hemos visto como los mensajes SOAP nos sirven para intercambiar
cualquier documento XML entre aplicaciones. Pero puede ocurrir que
necesitemos enviar en el mensaje datos que no son XML, como puede
ser una imagen. En ese caso tendremos que recurrir a la especificación
de mensajes SOAP con anexos.
1.5.2 WSDL
El fichero WSDL describirá la interfaz del Servicio Web, con los métodos
a los que podemos invocar, los parámetros que debemos proporcionarles
y los tipos de datos de dichos parámetros.
Si desarrollamos un Servicio Web, y queremos que otras personas sean
capaces de utilizar nuestro servicio para sus aplicaciones, podremos
proporcionar un documento WSDL describiendo nuestro servicio. De esta
forma, a partir de este documento otros usuarios podrán generar
aplicaciones clientes en cualquier plataforma (ya que WSDL se define
como un estándar) que se ajusten a nuestro servicio.
xmlns:partns="http://www.w3.org/2001/XMLSchema"
type="partns:string" />
</message>
<message name="getTempResponse">
<part name="double_1"
xmlns:partns="http://www.w3.org/2001/XMLSchema"
type="partns:double" />
</message>
<portType name="TempPortType">
<operation name="getTemp">
<input message="tns:getTempRequest" />
<output message="tns:getTempResponse" />
</operation>
</portType>
<binding name="TempPortSoapBinding" type="tns:TempPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="getTemp">
<soap:operation soapAction="" style="rpc" />
<input>
<soap:body use="encoded"
namespace="http://rvg.ua.es/wsdl"
encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body use="encoded"
namespace="http://rvg.ua.es/wsdl"
encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
<service name="Temp">
<documentation>Documentacion</documentation>
<port name="TempPort" binding="tns:TempPortSoapBinding">
<soap:address
location="http://localhost:7001/sw_temp/Temp" />
</port>
</service>
</definitions>
1.5.3 UDDI
Además, UDDI define una API para trabajar con dicho registro, que nos
permitirá buscar datos almacenados en él, y publicar datos nuevos.
Hemos visto las tecnologías en las que se basan los Servicios Web, y
que los hacen independientes de la plataforma y del lenguaje de
programación utilizado. Sin embargo, escribir manualmente los mensajes
SOAP desde nuestras aplicaciones puede ser una tarea tediosa. Por ello,
las distintas plataformas existentes incorporan librerías y utilidades que
se encargan de realizar esta tarea por nosotros.
1.6.1 JAXP
1.6.2 JAXM
SAAJ (SOAP with Attachmets API for Java) es la API que se utiliza
para construir mensajes SOAP y para extraer la información que
contienen. Esta API es independiente, y suficiente para enviar
mensajes de tipo petición-respuesta (síncronos).
JAXM proporciona un proveedor de mensajería XML, con el que
podremos enviar y recibir mensajes de forma asíncrona, sin
necesidad de esperar una respuesta de la otra parte. Esta API
dependerá de SAAJ para funcionar, ya que SAAJ es la que se
encargará de crear y manipular los mensajes.
1.6.3 JAX-RPC
Esta API nos permitirá, de forma sencilla, invocar Servicios Web de tipo
RPC, así como crear nuestros propios Servicios Web RPC a partir de
clases Java que tengamos implementadas. Cuando hablamos de
Servicios Web, normalmente nos referimos a este tipo de Servicios Web.
1.6.4 JAXR
La API JAXR nos permitirá acceder a registros XML a través de una API
estándar Java. Esta API pretende proporcionar una interfaz única para
acceder a distintos tipos de registros, cada uno de los cuales tiene un
protocolo distinto.
1.6.5 JAXB
La API de JAXB (Java API for Binding) nos permite asociar esquemas
XML y código Java. A partir de un esquema XML, podremos generar una
clase Java que represente dicho esquema.