Está en la página 1de 21

WebServices

¿Qué es?
(https://www.w3.org/2002/ws/Activity)

• Según la W3C los webservices definen un conjunto de


estándares que permiten la interoperabilidad entre
aplicaciones, plataformas y frameworks.
• Se caracterizan por extensibilidad y sus definiciones
procesables definidas mediante el uso de XML.
• La intención es combinar las funcionalidad de diversas
tecnologías para ofrecer servicios complejos de valor
agregado.

2 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Aclaración y Ventajas
• Este tipo de tecnologías podría ser tomada como un sistema
distribuido tradicional (llámese de procesamiento, almacenamiento,
etc) pero la forma en la que trabaja es distinta.
• Esto significa que es posible usar infraestructuras heterogéneas para
ser usadas en los WebService diferente a un stack por ejemplo de
servidores que deberían tener determinadas características de
hardware.
• Además, los estándares definidos para este tipo de tecnologías
igualmente son independientes de hardware, por lo que son mas
fáciles de implementar.
• De lo anterior también se obtiene que distintos tipos de software
puedan trabajar, solo teniendo en cuenta la definición del estándar.

3 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Aclaración y Ventajas
• A pesar de que se puede concluir fácilmente del anterior, no
esta demás decir que es independiente del lenguaje de
programación utilizado, permitiendo que mas personas se
adhieran a la adopción de este tipo de estándares.
• Y no menos importante, los WebServices son capaces de
trabajar sobre diversos protocolos, por ejemplo SOAP es
capaz de trabajar sobre BEEP, HTTP, IIOP, SMTO, FTP, etc.
• Hay que tener en mente que lo que se busca es el intercambio
de información entre diversos tipos de software y hardware.

4 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Arquitectura

5 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Descripción de la Imagen

1) Cada una de las entidades se vuelve visible para la otra, o por


lo menos una de ellas se vuelve visible (servidor → cliente).
2) De alguna manera las partes se ponen de acuerdo para
determinar la semántica (protocolo por ejemplo) que se usará
para llevar a cabo la comunicación.
3) Determinada la semántica se establece ésta como medio de
interpretación predeterminado.
4) Hecho lo anterior, entre el cliente y el proveedor se empiezan a
intercambiar mensajes que incluyen datos u otros elementos
útiles para las partes o para una de ellas. (Para conocer mas
detalles acerca de esta comunicación referirse a este vínculo -
https://www.w3.org/TR/ws-arch/#wsdisc)

6 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Entidades que Formulan Estándares de
WebService

W3C World Wide Web Consostium => http://www.w3.org


OASIS Organization of Advancement Structured Information
Standards => http://www.oasis-open.org


IETF Internet Engineering Task Force => http://www.ietf.org


ISO International Organization of Standarization =>
http://www.iso.org

7 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Estándares Involucrados WebService
(https://www.ecured.cu/Servicio_Web)


WebServices Protocol Stack (https://www.oreilly.com/library/view/web-services-
essentials/0596002246/ch01s02s02.html) Considera las capas involucradas en el
funcionamiento de un WebService. Dichas capas son:

Servicio de transporte. Define el protocolo usado para la
comunicación entre las partes. (HTTP, SMTP, FTP, BEEP)

Mensajería XML. Es la encargada de codificar los mensajes usando
XML para que el cliente pueda entender su contenido. (XML-RPC y
SOAP).

Descripción del Servicio. Es la empleada para describir el servicio
disponible en el servidor. (WSDL).

Descubrimiento de Servicio. Es el encargado de conjugar diversos
servicios en un registro además de publicar funciones fáciles de
publicación / encuentro. (UDDI)

8 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Estándares Involucrados WebService
(https://www.ecured.cu/Servicio_Web)


XML (https://www.ecured.cu/XML) eXtensible Markup Language
consiste en un conjunto de reglas para presentar información
de forma fácil y procesable por computador. La intención es
manifestar estas propiedades en la comunicación en Internet.

Originalmente fue usado para la publicación de información
electrónica además de ser definido como la base de
comunicación entre tecnologías que usan como medio de
comunicación a Internet.

Fácil de usar e implementar, requiere de un parser para
interpretar su contenido.

9 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Estándares Involucrados WebService
(https://www.ecured.cu/Servicio_Web)


SOAP (https://www.ecured.cu/XML) Simple Object Access Protocol En
principio este medio de comunicación permitía enviar ordenes
a un servidor RPC mediante protocolo HTTP. Los mensajes eran
codificados usando XML .

La intención es ofrecer un mecanismo para empaquetar
mensajes y facilitar la forma en la que se llevan a cabo las
comunicaciones cliente-servidor.

Es uno de los protocolos mas rápidamente adaptado por las
grandes compañías de tecnología. (Sun, IBM, SAP, etc).

10 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Estándares Involucrados WebService
(https://www.ibm.com/support/knowledgecenter/es/SSMKHH_9.0.0/com.ibm.etools.
mft.doc/ac34640_.htm)


WSDL (Web Services Description Language) es una notación
usada para describir un servicio web. La intención es indicar al
cliente la forma en la que debe llevar a cabo una petición a un
WebService de manera apropiada, además de describir la
descripción de la interfaz utilizada.

Permite separar la descripción de la funcionalidad con el
objetivo de permitir obtener la información administrada por
el servidor, sin tener que saber realmente como lo hace.

11 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Estándares Involucrados WebService
(https://www.ibm.com/support/knowledgecenter/es/SS4JE2_7.5.5/org.eclipse.jst.ws.c
onsumption.ui.doc.user/concepts/cuddi.html)


UDDI (Universal Description, Discovery and Integration)es una
forma de encontrar y publicar servicios disponibles en un
Webservice.

Es una especificación creada con el propósito de ofrecer
información sobre empresas y servicios en un directorio API y
una forma para replicar en diversos directorios de este tipo
esta misma información.

Los registros UDDI son una forma de distribuir esta información
mediante formatos XML a modo de consulta sobre la
información de las empresas registradas en ellos.

12 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Estándares Involucrados WebService
(http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/217)


WS-Security Es un conjunto de mejoras que se pueden implementar
en una infraestructura SOAP para implementar seguridad en la
transmisión de los mensajes gestionados por este tipo de servicios.

Usa dos mecanismos.

Integridad y confidencialidad de los mensajes.

Autenticación de un mensaje individual.

La intención es usar tokens en cada uno de los intercambios de
información.

Esta especificación soporta diversos tipos de generación de claves,
pero no define un esquema completo de seguridad en si mismo. Es
necesario implementar otros elementos en conjunto para este
propósito.

13 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
REST
(https://bbvaopen4u.com/es/actualidad/api-rest-que-es-y-cuales-son-sus-ventajas-en-
el-desarrollo-de-proyectos)


Es un enfoque de desarrollo introducido en la década de los 2000 por el
padre de las especificaciones HTTP, Roy Fielding.

REST – Representational State Transfer, es un tipo de arquitectura que
se apoya principalmente en el protocolo HTTP y define un conjunto de
arquitecturas para la construcción de un API.

Muchas plataformas conocidas como las redes sociales, Facebook,
twitter o plataformas de contenido multimedia como Youtube,
disponen de este tipo de servicios para ofrecer a desarrolladores en la
web la posibilidad de desplegar recursos como contenido a otras
plataformas, ayudando así a que su consumo pueda realizarse en otros
sitios web u otros tipos de plataformas.

Es una alternativa a la implementación de servicios diferente a SOAP, e
igualmente soporta lenguajes como XML y JSON.

14 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Características REST
(https://bbvaopen4u.com/es/actualidad/api-rest-que-es-y-cuales-son-sus-ventajas-en-
el-desarrollo-de-proyectos)


Comunicaciones cliente/servidor sin estado. No
necesariamente deben guardar estados para llevarse a cabo.
Este tipo de controles, se puede llevar a cabo internamente y
es independiente de técnicas de seguridad.

Debido al uso de HTTP, se especifican las acciones PUT, DELETE,
POST, GET para especificar una acción en concreto.

Los elementos son siempre manipulados a través de una URI
(Unified Resource Identifier) para facilitar el acceso a la
información.

Gracias al uso de las acciones HTTP, se hace uso de una interfaz
uniforme para llevar a cabo las comunicaciones.

15 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
ACLARACION REST no es un PROTOCOLO
(https://es.stackoverflow.com/questions/76615/qu%C3%A9-diferencia-hay-entre-
soap-y-rest)

16 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
HTTP
(https://developer.mozilla.org/es/docs/Web/HTTP/Overview)


Es el protocolo base de intercambio de información utilizado en
Internet, basado en comunicaciones cliente / servidor.

Es un protocolo de capa de aplicación y se usa sobre los
protocolos de TCP o TLS (en capa de transporte).

Es un protocolo pensado para ser implementado e interpretado
fácilmente, haciendo mas fácil la depuración de errores y
reduciendo las dificultades de aprendizaje.

Por su facilidad de implementación, es fácil ampliar la
funcionalidad que con este se puede lograr.

Es un protocolo pensado para manejo de sesiones, pero no de
estados, por lo que en ninguna de las dos partes se mantiene este
tipo de datos.
17 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017
20
Flujo HTTP
(https://developer.mozilla.org/es/docs/Web/HTTP/Overview)


Para llevar a cabo la comunicación mediante este protocolo
deberían seguirse los siguientes pasos.
1) Apertura de conexión TCP. Establecimiento de una o varias
conexiones con el servidor y rechazar de conexiones.
2) Petición HTTP.

18 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Flujo HTTP
(https://developer.mozilla.org/es/docs/Web/HTTP/Overview)

3) Lectura de respuesta del servidor

4) Cierre o reuso de la conexión para sucesivas peticiones.

19 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Peticiones HTTP
(https://developer.mozilla.org/es/docs/Web/HTTP/Overview)


Una petición es conformada por los siguientes campos.

Un método HTTP, que puede ser GET, POST, PUT, DELETE, o
un nombre como HEAD, OPTIONS, que define la operación
que el cliente desea realizar.

La dirección del recurso en una URL.

La versión del protocolo a usar.

Cabeceras opcionales.

Cuerpo de mensaje.

20 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20
Respuestas HTTP
(https://developer.mozilla.org/es/docs/Web/HTTP/Overview)


Una respuesta esta conformada por los siguientes campos.

Versión de protocolo utilizada.

Código de estado.

(https://developer.mozilla.org/es/docs/Web/HTTP/Status)

Breve descripción de código de estado.

Cabecera HTTP.

Opcional, recurso solicitado.

21 09/13/20 Propiedad intelectual de la UNIVERSIDAD PILOTO DE COLOMBIA® - Año 2017


20

También podría gustarte