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.
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
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
Ciclo 2018-I
REST-style Web Services: Arquitectura
Ciclo 2018-I
REST-style Web Services : Definiciones
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