You are on page 1of 20

Tipos de Servicios Web

Servicio Web

El consorcio W3C define los Servicios Web como sistemas software diseados para soportar una interaccin interoperable maquina a maquina sobre una red. Los Servicios Web suelen ser APIs Web que pueden ser accedidas dentro de una red (principalmente Internet) y son ejecutados en el sistema que los aloja

Tipos de Servicios Web

Remote Procedure Calls (RPC, Llamadas a Procedimientos Remotos) Arquitectura Orientada a Servicios (Service-oriented Architecture, SOA)

REST (REpresentation State Transfer).

Remote Procedure Call (RPC)


Es un protocolo que permite a un programa ejecutar cdigo en otra mquina remota sin tener que preocuparse por las comunicaciones entre ambos. De esta manera el programador no tena que estar pendiente de las comunicaciones, estando stas encapsuladas dentro de las RPC.

Llamadas a procedimientos Remotos

Los Servicios Web basados en RPC presentan una interfaz de llamada a procedimientos y funciones distribuidas, lo cual es familiar a muchos desarrolladores.

Llamadas a procedimientos Remotos

Tpicamente, la unidad bsica de este tipo de servicios es la operacin WSDL (WSDL es un descriptor del Servicio Web, es decir, el homologo del IDL para COM)

Llamada a procedimiento remoto (Remote Procedure Call)

Birrell y Nelson (1984)


Intentar que los programas puedan llamar a procedimientos localizados en otras mquinas

Cuando un proceso en una mquina A llama a un procedimiento en la mquina B:


De manera similar a como se hace una llamada a procedimiento local Proporciona transparencia de distribucin

El proceso que realiza la llamada desde A se suspende La ejecucin del procedimiento se realiza en B La informacin se puede pasar de un proceso a otro como parmetros, y regresar como resultado del procedimiento
El programador no se preocupa de la transferencia de mensajes

Llamadas a procedimientos Remotos


Las primeras herramientas para Servicios Web estaban centradas en esta visin. Algunos lo llaman la primera generacin de Servicios Web. Esta es la razn por la que este estilo est muy extendido. Sin embargo, ha sido algunas veces criticado por no ser dbilmente acoplado, ya que suele ser implementado por medio del mapeo de servicios directamente a funciones especficas del lenguaje o llamadas a mtodos. Muchos creen que este estilo debe desaparecer.

Problemas que resuelve

Ambos procesos estn en espacios de direcciones distintos Transferencia de parmetros y resultados Heterogeneidad
Qu pasa si las dos mquinas tienen arquitecturas distintas

Fiabilidad
Qu pasa si hay fallos en alguna de las mquinas Qu pasa si hay fallos en el canal de comunicaciones

Localizacin y seleccin de servicios Seguridad

Arquitectura Orientada a Servicios


Los Servicios Web pueden tambin ser implementados siguiendo los conceptos de la arquitectura SOA, donde la unidad bsica de comunicacin es el mensaje, ms que la operacin. Esto es tpicamente referenciado como servicios orientados a mensajes.

Arquitectura Orientada a Servicios

Los Servicios Web basados en SOA son soportados por la mayor parte de desarrolladores de software y analistas. Al contrario que los Servicios Web basados en RPC, este estilo es dbilmente acoplado, lo cual es preferible ya que se centra en el contrato proporcionado por el documento WSDL, ms que en los detalles de implementacin subyacentes.

Arquitectura Orientada a Servicios

SOA proporciona una metodologa y un marco de trabajo para documentar las capacidades de negocio y puede dar soporte a las actividades de integracin y consolidacin.

Arquitectura Orientada a Servicios

En un ambiente SOA, los nodos de la red hacen disponibles sus recursos a otros participantes en la red como servicios independientes a los que tienen acceso de un modo estandarizado.

Arquitectura Orientada a Servicios


La metodologa de modelado y diseo para aplicaciones SOA se conoce como anlisis y diseo orientado a servicios. La arquitectura orientada a servicios es tanto un marco de trabajo para el desarrollo de software como un marco de trabajo de implantacin.

Representational State Transfer

Es una tcnica de arquitectura software para sistemas hipermedia distribuidos como la World Wide Web.

Representational State Transfer

En la actualidad se usa en el sentido ms amplio para describir cualquier interfaz web simple que utiliza XML y HTTP, sin las abstracciones adicionales de los protocolos basados en patrones de intercambio de mensajes como el protocolo de servicios web SOAP.

REST (REpresentation State Transfer)

Los Servicios Web basados en REST intentan emular al protocolo HTTP o protocolos similares mediante la restriccin de establecer la interfaz a un conjunto conocido de operaciones estndar (por ejemplo GET, PUT,). Por tanto, este estilo se centra ms en interactuar con recursos con estado, que con mensajes y operaciones.

REST (REpresentation State Transfer)


REST (Representational State Transfer) es un estilo de arquitectura de software para sistemas hipermedias distribuidos tales como la Web. El trmino fue introducido en la tesis doctoral de Roy Fielding en 2000, quien es uno de los principales autores de la especificacin de HTTP.

Cabe destacar que REST no es un estndar, ya que es tan solo un estilo de arquitectura. Aunque REST no es un estndar, est basado en estndares:
HTTP URL Representacin de los recursos: XML/HTML/GIF/JPEG/ Tipos MIME: text/xml, text/html,

REST vs SOAP

You might also like