Anda di halaman 1dari 24

TALLER DE PROCESAMIENTO

DISTRIBUIDO

Web Services
Ing. Juan Jose Arambulo Aquijes

2018-I
Que son los Web Services?
• Los “Web Services” son aplicaciones distribuidas que se
basan en una serie de protocolos y estándares para
intercambiar información.

• Distintas aplicaciones de software desarrolladas en lenguajes


de programación diferentes y ejecutadas sobre cualquier
plataforma pueden utilizar los “Web Services” para
intercambiar datos en redes de computadoras.

Ciclo 2018-I
Esquema de comunicación de un Web
Services:

Ciclo 2018-I
Esquema de Seguridad de Web Services:
• Wire-Level Security – HTTP + SSL = HTTPS
(HyperText transport protocol over Secure Socket Layer).
• Autenticación de Pares
• Confidencialidad
• Integridad

Ciclo 2018-I
SOAP-based Web Services: Arquitectura

Ciclo 2018-I
SOAP-based Web Services: Definiciones
• XML: Formato estándar para intercambio de datos.
• SOAP (Simple Object Access Protocol):Protocolo sobre el cual se establece el
intercambio de datos.
• WSDL (Web Services Description Language): Descripción basada en XML de los
requisitos funcionales necesarios para establecer comunicación con los servicios
Web.
• UDDI (Universal Description Discovery and Integration): Registro público para
almacenar de forma estructurada información sobre empresas y servicios que
estas ofrecen.
• WS-Security (Web Service Security): Familia de especificaciones diseñadas para
proveer seguridad a los SOAP-based web services en sus diversas capas de
comunicación.

Ciclo 2018-I
SOAP-based Web Services: Definiciones

• SOAP (Simple Object Access Protocol):


• Se trata de un protocolo de comunicación basado en XML.
• Permite establecer la forma de comunicación entre las aplicaciones que
publican o consumen “Web Services”.
• SOAP especifica el formato de los mensajes.
• Es independiente de la plataforma y lenguaje de programación.
• El mensaje SOAP está compuesto por un Envelope (sobre), cuya
estructura está formada por los siguientes elementos: Header (cabecera) y
Body (cuerpo).

Ciclo 2018-I
SOAP-based Web Services: SOAP Request
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope">
<soap:Body>
<ns2:getTimeAsString xmlns:ns2="http://jaxws/">
</ns2:getTimeAsString>
</soap:Body>
</soap:Envelope>

Ciclo 2018-I
SOAP-based Web Services: SOAP Response

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope">
<soap:Body>
<ns2:getTimeAsStringResponse xmlns:ns2="http://jaxws/">
<return>Sun Mar 31 06:53:19 PET 2013</return>
</ns2:getTimeAsStringResponse>
</soap:Body>
</soap:Envelope>

Ciclo 2018-I
SOAP-based Web Services: WSDL
• WSDL (Web Services Description Language)
• Permite que un servicio y un cliente establezcan un acuerdo en lo que
se refiere a los detalles de transporte de mensajes y su contenido, a
través de un documento procesable por dispositivos.
• WSDL representa una especie de contrato entre el proveedor del
servicio y el que lo solicita.
• WSDL especifica la sintaxis y los mecanismos de intercambio de
mensajes.
• WSDL es un documento XML que describe un conjunto de mensajes
SOAP y cómo se realiza el intercambio de mensajes.

Ciclo 2018-I
SOAP-based Web Services: WSDL
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
targetNamespace="http://jaxws/"
name="TimeServiceImplService">
<types>
<xsd:schema>
<xsd:import namespace="http://jaxws/"
schemaLocation="http://localhost:9876/timeService?xsd=1" />
</xsd:schema>
</types>
<portType name="TimeService"> ... </portType>
<binding name="TimeServiceImplPortBinding" type="tns:TimeService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document">
</soap:binding>
</binding>
<service name="TimeServiceImplService">
<port name="TimeServiceImplPort"
binding="tns:TimeServiceImplPortBinding">
<soap:address location="http://localhost:9876/timeService" />
</port>
</service>
</definitions>

Ciclo 2018-I
SOAP-based Web Services: UDDI
• UDDI (Universal Description
Discovery and Integration)
• El objetivo del registro UDDI es
hacer que los servicios web
publicados por las empresas
proveedoras sean accesibles para
las empresas que requieren hacer
uso de ellos mediante una
estructura y protocolo estándar.

Ciclo 2018-I
SOAP-based Web Services: Seguridad

• WS-Security (Web Services


Security)
• WSS o WS-Security es una
colección de protocolos que
especifican el manejo de los
niveles de seguridad para los Web
Services basados en SOAP.

Ciclo 2018-I
REST-style Web Services: Arquitectura

Ciclo 2018-I
REST-style Web Services : Definiciones

• REST (REpresentation State Transfer)


• Es un estilo de arquitectura de software para la transferencia de
hypermedia en sistemas distribuidos. Es decir, sistemas que permitan
exponer recursos como texto, gráficos, audio entre otros mediante el uso
de hyperlinks
• REST ofrece un estilo simple, interoperable y flexible de construir “Web
Services” sin adherirse a una tecnología en particular
• El término REST es muchas veces empleado para describir un estilo de
transmisión de datos basado en HTTP sin agregar capas semánticas ni
manejo de sesiones

Ciclo 2018-I
REST-style Web Services: Esquema de
Comunicación

Ciclo 2018-I
REST-style Web Services: Esquema de
Comunicación
• HTTP (HyperText Transfer Protocol): Protocolo de comunicación utilizado
para intercambiar información en la Web.
• Method: REST utiliza los métodos existentes dentro del protocolo HTTP
para manipular recursos entre aplicaciones.
• Resources: Se considera recurso a cualquier elemento en la Web que
puede ser referenciado mediante una URI y sobre el cual se pueden realizar
operaciones para obtener representaciones del mismo.
• Representations: Una representación es la información acerca del estado
actual de un recurso en un formato especificado que puede ser HTML, XML,
JSON, Texto entre otros.

Ciclo 2018-I
SOAP-based vs REST-style Web Services :

Ciclo 2018-I
SOAP-based vs REST-style Web Services :

Ciclo 2018-I
SOAP-based vs REST-style Web Services :

Ciclo 2018-I
SOAP-based vs REST-style Web Services :

Ciclo 2018-I
SOAP-based vs REST-style Web Services :

Ciclo 2018-I
SOAP-based vs REST-style Web Services :
• Es la primera decisión en la construcción de un servicio web,
por lo que es importante comprender las características,
ventajas y desventajas de cada arquitectura.
• Se puede afirmar que los SOAP-based “web services” son
con un caso especial de REST-style web services con la
diferencia que están basados únicamente en HTTP y
SOAP+XML.
• En conclusión, las ventajas y desventajas de cada una de las
arquitecturas pueden ser favorables para algunos sistemas,
pero no para otros, por lo tanto, la decisión dependerá
estrictamente de los requerimientos y limitaciones de las
aplicaciones.

Ciclo 2018-I
Lecturas:

• https://www.soapui.org/learn/api/soap-vs-rest-api.html.
• https://stackoverflow.com/questions/19884295/soap-vs-rest-differences.
• https://developer.ibm.com/apiconnect/documentation/api-101/api-
technologies/architecture-rest-soap/

Ciclo 2018-I

Anda mungkin juga menyukai