¿Que son?Un web
service es un conjunto de estándar y protocolo que sirve para intercambiar información entre distintos sistemas. Un sistema desarrollado con cierta tecnología, por ejemplo Java, puede comunicarse con un sistema en PHP a través de un Web
Services, esta es la funcionalidad principal, pero no necesariamente tienen que ser de diferentes plataformas, los sistemas pueden estar realizados en un mismo lenguaje, por Ejemplo comunicar dos sistemas realizados en PHP a través de un web
service.
Esto se consigue gracias al uso de estándar abiertos que son regulados por la W3C y OASIS encargados de dicha tarea.
Los estándar que se manejan en un web
Service, son Web
Services Protocol Stack,
XML,
SOAP,
XML-
RCP, HTTP, FTP, SMTP,
WSDL,
UDDI, y
WS-
Security
Un ejemplo de
utilizacion de un web
Service.
La cadena de Hoteles
OneTravel, se asocia con la agencia de viajes
EcoSpace.
Cada empresa tiene un sistema particular para cada empresa, pero surge la necesidad de reservar una habitación desde el sistema de
EcoSpace que repercuta en
OneTravel, para saber si tiene disponibilidad para cierta fecha, durante ciertos días. Esta
comunicacion la podemos hacer a través de un Web
Service.
OneTravel, tiene un
WebService (desde ahora
WS), en el cual nosotros podemos conseguir.
- El listado de los hoteles asociados a
OneTravel.
- Interfaz para reservar una habitación
- Interfaz para liberar una reserva
- Interfaz para saber los detalles de los servicios.
EcoSpace al poder interactuar con
OneTravel de forma remota y en linea, se puede reservar una habitación desde el sistema de
EcoSpace de forma automatizada y que impacte en el sistema de
OneTravel, sin la necesidad de correos electrónicos, o llamadas por teléfono para confirmar, de esta forma nosotros impactamos directamente sobre el sistema de
OneTravel.
Los Web
Service no solo nos sirven para hacer reservas en un hotel desde una agencia de viajes, sino para cualquier tipo de
comunicacion a través de sistemas diferentes. A nuestros
WS le podemos dar la cantidad de funcionalidades que necesitemos.
Ventajas de un web ServicesLos
WS tienen muchas ventajas.
Son puentes de
comunicacion a través de aplicaciones desarrolladas en diferentes plataformas independientemente de sus propiedades o plataforma en la que se instale. Una aplicacion desarrollada en Linux, se puede comunicar tranquilamente con una aplicacion desarrollada para Windows.
Se puede dar que una aplicacion solo englobe a un conjunto de
WS. Por ejemplo un
home Banking. Nosotros autenticamos nuestros datos a un servidor especial que Corre una aplicacion en C que corre sobre un Debian, también tenemos la conexión, con las diferentes empresas de tarjeta de créditos (
American Express, Visa,
Master, Cabal, etc), esta
comunicacion se hace a través de un
WS que es administrado por cada empresa.
Ademas tenemos el
WS de
pagomiscuentas.
com, que a su vez se conecta con los
WS de otras empresas y a su vez con mas
WS, permitiendo al usuario pagar la cuenta de teléfono de su casa, a través de su
Home Banking, sin la necesidad de ir a los cajeros de esta empresas.
DesventajasEl problema principal que tiene un
WS es el rendimiento, al ser un estándar basado en texto, resulta ser mas pesado que con otros estándar de
comunicacion.
Al ser procesado por el puerto de HTTP, algunas reglas de los
firewall pueden ser violadas.
¿Por que crear un WS?Los
WS son fácil de implementar, tanto para la creación de un
WS, como para la implementación y uso de este. A medida que pasa el tiempo mas aplicaciones usan los
WS para comunicarse, y esto hace que se genere mas información, y sea mas común hablar de
WS. Es
comun encontrar en grandes organizaciones uno o mas sistemas internos desarrollados en algún lenguaje para crear aplicaciones de escritorio, y con el crecimiento y auge de Internet, el uso de aplicaciones vía web crece
dia a
dia. Lenguajes como PHP pueden comunicarse muy
facilmente con estos sistemas para brindar
informacion o interactuar con un usuario
via web.
ReferenciasOASIS http://www.oasis-open.org
W3C http://www.w3c.es/Consorcio/