Son Programas informáticos que permiten la comunicación y el intercambio de datos entre aplicaciones y sistemas heterogéneos en entornos distribuidos. Los servicios web son por ende un conjunto de funcionalidad expuesta en una intranet o a través de Internet, por y para aplicaciones y computadoras sin la intervención humana.
Tipos de Servicios
El concepto ha sido perfilado en varios trabajos del comité Web Service Activity perteneciente al W3C, particularmente con la popuesta del protocolo SOAP. Ha sido utilizado desde su concepción para automatizar el interncambio empresarial. No obstante el concepto se ha enriquecido con la profundización de las nociones de recurso y de estado, dentro del comité de modelación REST y en la profundización de la noción de servicio dentro con el advenimiento de SOA.
tecnologías detrás del término Servicio Web
- Los servicios Web SOAP, que exponen la funcionalidad como procedimientos y ejecutables remotos. Las especificaciones están dictadas por los estándares SOAP y WSDL y tienen el objetivo de solucionar los problemas de integración heredados las tecnologías anteriores y lograr su interoperatividad.
- Los servicios web de tipo REST(del inglés Representational State Transfer) que exponen completamente su funcionalidad como un conjunto coordinado de [URI]s identificables y accesibles a través de la sintáxis y la semántica del protocolo HTTP. Los servicios Web de tipo REST están basados en la arquitectura web y en su estándar de base: HTTP.
Aspectos tecnológicos
Los servicios Web implementan su lógica mediante la utilización de estándares. Para el transporte suele utilizarse TCP/IP, URI/URN/URL, MIME, HTTP/SMTP, SSL/TLS, entre otros. Para el contenido suele utilizarse XML y SOAP. La utilización de estándares permite que cualquier tecnología que utilice esos estándares pueda hacer uso de estos servicios web, facilitando así la interoperatividad de las aplicaciones.
Ventajas de los servicios web
- Aportan interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las plataformas sobre las que se instalen.
- Los servicios Web fomentan los estándares y protocolos basados en texto, que hacen más fácil acceder a su contenido y entender su funcionamiento.
- Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados.
Inconvenientes de los servicios Web
- Para realizar transacciones no pueden compararse en su grado de desarrollo con los estándares abiertos de computación distribuida como CORBA (Common Object Request Broker Architecture).
- Su rendimiento es bajo si se compara con otros modelos de computación distribuida, tales como RMI (Remote Method Invocation), CORBA o DCOM (Distributed Component Object Model). Es uno de los inconvenientes derivados de adoptar un formato basado en texto. Y es que entre los objetivos de XML no se encuentra la concisión ni la eficacia de procesamiento.
- Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewall cuyas reglas tratan de bloquear o auditar la comunicación entre programas a ambos lados de la barrera.
Razones para crear servicios Web
La principal razón para usar servicios Web es que se basan en HTTP sobre TCP (Transmission Control Protocol) en el puerto 80. Dado que las organizaciones protegen sus redes mediante Firewalls -que filtran y bloquean gran parte del tráfico de Internet, cierran casi todos los [[puertos TCP[[ salvo el 80, que es, precisamente, el que usan los navegadores. Los servicios Web utilizan este puerto, por la simple razón de que no resultan bloqueados.
Comentarios