La Enciclopedia Libre Universal en Español dispone de una lista de distribución pública, enciclo@listas.us.es
Servicio Web
Artículo de la Enciclopedia Libre Universal en Español.
Un servicio Web es una colección de protocolos y estándares que sirve para intercambiar datos entre aplicaciones. Como definición "oficial", se puede recurrir a la del W3C:
"Un Servicio Web es una aplicación software, identificada por una URI, cuyas interfaces y vínculos pueden definirse mediante XML, que soporta interacciones con otras aplicaciones software a través de mensajes basados en XML sobre protocolos de Internet".
Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes y ejecutadas sobre cualquier plataforma pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares.
Índice |
[escribe] Estándares empleados
- Web Services Protocol Stack: Así se denomina al conjunto de servicios y protocolos de los servicios Web.
- XML: Es el formato estándar para los datos que se vayan a intercambiar.
- SOAP o XML-RPC: Protocolos sobre los que se establece el intercambio.
- Otros protocolos: los datos en XML también pueden enviarse de una aplicación a otra mediante protocolos normales como HTTP, FTP, o SMTP.
- WSDL: Es el lenguaje de la interfaz pública para los servicios Web. Es una descripción basada en XML de cómo debe establecerse la comunicación de los servicios Web.
- UDDI: Protocolo para publicar la información de los servicios Web. Permite a las aplicaciones comprobar qué servicios web están disponibles.
- WS-Security: Protocolo de seguridad aceptado como estándar por OASIS. Garantiza la autenticación de los actores y la confidencialidad de los mensajes enviados.
[escribe] 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.
- Al apoyarse en HTTP, los servicios Web pueden aprovecharse de los sistemas de seguridad firewall sin necesidad de cambiar las reglas de filtrado.
- Permiten que servicios y software de diferentes compañías ubicadas en diferentes lugares geográficos puedan ser combinados fácilmente para proveer servicios integrados.
- Permiten la interoperabilidad entre plataformas de distintos fabricantes por medio de protocolos estándar.
[escribe] 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.
- Su rendimiento es bajo si se compara con otros modelos de computación distribuida, tales como RMI, CORBA, o DCOM. 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.
- Existe poca información de sevicios web para algunos lenguajes de programación.
[escribe] Razones para crear servicios Web
La principal razón para usar servicios Web es que se basan en HTTP sobre TCP en el puerto 80. Muchas empresas se protegen mediante firewalls que filtran y bloquean gran parte del tráfico de Internet. Por ello se cierran casi todos los puertos salvo el 80, porque es el que usan los navegadores. Los servicios Web se realizan por este puerto y ello los hace muy convenientes.
Otra razón es que antes de que existiera SOAP no había buenas interfaces para acceder a las funcionalidades de otros ordenadores en red. Las que había eran ad hoc y poco conocidas: EDI, RPC, u otras APIs.
Una tercera razón por la que los servicios Web son muy prácticos es que pueden aportar un débil acoplamiento entre una aplicación que usa el servicio Web y el propio servicio. De esta forma los cambios que cada uno realice con el tiempo no deben afectar al otro. Esta flexibilidad será cada vez más importante, dado que la tendencia a construir las aplicaciones grandes a partir de componentes distribuidos más pequeños es cada día mayor.
[escribe] Plataformas
Servidores de aplicaciones para servicios Web:
- Axis y el servidor Tomcat (de Apache).
- ColdFusion MX de Macromedia.
- Java Web Services Development Pack (JWSDP) de Sun Microsystems (basado en Tomcat).
- JOnAS (parte de ObjectWeb una iniciativa de código abierto).
- Microsoft .NET.
- Novell exteNd (basado en la plataforma J2EE).
- WebLogic.
- WebSphere.
- Zope es un servidor de aplicaciones Web orientado a objetos desarrollado en el lenguaje de programación Python.
- VERASTREAM de AttachmateWRQ para modernizar o integrar aplicaciones host IBM y VT.
[escribe] Referencias
| | |
|---|---|
Otras fuentes de información
- Apache Axis
- Article, "Stop the hype about webservices!"
- Listing of publicly available Web services
- List of Proposals by Microsoft
- Organization for the Advancement of Structured Information Standards
- Some case studies about the impact of WS in actual production environments
- Web Services Activity at World Wide Web Consortium
- XML Protocol Working Group (SOAP)
- An introduction article
- IBM developerWorks SOA and Web services
- Oracle Web Services Technology Center
- Informes varios.
- IEEE International Conference on Web Services
- IEEE International Conference on Services Computing
- International Journal of Web Services Research (JWSR)
- Web de ATTACHMATEWRQ
Notas