Servicio web

Servicio web

Un servicio web (en inglés, Web service) es una pieza de software que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. 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.

Contenido

Estándares empleados

  • Web Services Protocol Stack: Así se denomina al conjunto de servicios y protocolos de los servicios Web.
  • XML (Extensible Markup Language): Es el formato estándar para los datos que se vayan a intercambiar.
  • SOAP (Simple Object Access Protocol) o XML-RPC (XML Remote Procedure Call): 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 (Hypertext Transfer Protocol), FTP (File Transfer Protocol), o SMTP (Simple Mail Transfer Protocol).
  • WSDL (Web Services Description Language): Es el lenguaje de la interfaz pública para los servicios Web. Es una descripción basada en XML de los requisitos funcionales necesarios para establecer una comunicación con los servicios Web.
  • UDDI (Universal Description, Discovery and Integration): Protocolo para publicar la información de los servicios Web. Permite comprobar qué servicios web están disponibles.
  • WS-Security (Web Service Security): Protocolo de seguridad aceptado como estándar por OASIS (Organization for the Advancement of Structured Information Standards). Garantiza la autenticación de los actores y la confidencialidad de los mensajes enviados.

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 pueden utilizar con 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. Es importante señalar que los servicios web se pueden utilizar sobre cualquier protocolo, sin embargo, TCP es el más común.

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, tales como EDI (Electronic Data Interchange), RPC (Remote Procedure Call), u otras APIs.

Una tercera razón por la que los servicios Web son muy prácticos es que pueden aportar gran independencia entre la aplicación que usa el servicio Web y el propio servicio. De esta forma, los cambios a lo largo del tiempo en uno no deben afectar al otro. Esta flexibilidad será cada vez más importante, dado que la tendencia a construir grandes aplicaciones a partir de componentes distribuidos más pequeños es cada día más utilizada.

Se espera que para los próximos años mejoren la calidad y cantidad de servicios ofrecidos basados en los nuevos estándares.

Plataformas

Servidores de aplicaciones para servicios Web:

  • JBoss servidor de aplicaciones J2EE Open Source de Red Hat inc.
  • Oracle Fusion Middleware
  • IBM Lotus Domino a partir de la versión 7.0
  • Axis y el servidor Jakarta Tomcat (de Apache)
  • ColdFusion MX de [[Macromedia]httpd ]
  • Java Web Services Development Pack (JWSDP) de Sun Microsystems (basado en Jakarta Tomcat)
  • JOnAS (parte de ObjectWeb una iniciativa de código abierto)
  • Microsoft .NET
  • Novell exteNd (basado en la plataforma J2EE)
  • WebLogic
  • WebSphere
  • JAX-WS con GlassFish
  • 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
  • PHP

Temas relacionados

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • Servicio Web — Un servicio Web es una colección de protocolos y estándares que sirve para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes y ejecutadas sobre cualquier plataforma… …   Enciclopedia Universal

  • Coreografía de Servicio Web — Saltar a navegación, búsqueda La Coreografía de Servicios Web (WS Choreography) es una especificación establecida por el W3C que define procesos de modelo de negocio basados en XML, los cuales describen protocolos de colaboración entre… …   Wikipedia Español

  • Web Service Resource Framework — (WSRF) forma parte de la família de especificaciones relativas a servicios web publicadas por OASIS. Los principales impulsores de esta especificación son IBM y la Globus Alliance. Un servicio web no tiene estado, es decir, no mantiene ninguna… …   Wikipedia Español

  • Servicio de música online — Un servicio de distribución o venta de música online es aquel que nos permite adquirir productos musicales remotamente, mediante el acceso a internet. Es la evolución natural de las clásicas tiendas de discos ante una gran demanda de usuarios… …   Wikipedia Español

  • Web Services Protocol Stack — La Pila de protocolos para Servicios Web es una colección de protocolos y estandares para redes de Computadores que son utilizados para definir, localizar, implementar y hacer que un Servicio Web interactúe con otro. La Pila de Protocolos para… …   Wikipedia Español

  • Web Map Service — El servicio Web Map Service (WMS) definido por el OGC (Open Geospatial Consortium) produce mapas de datos referenciados espacialmente, de forma dinámica a partir de información geográfica. Este estándar internacional define un mapa como una… …   Wikipedia Español

  • Servicio Madrileño de Salud — Coordenadas: 40°27′2.85″N 3°41′34.93″O / 40.4507917, 3.6930361 …   Wikipedia Español

  • Servicio de lavandería — / Laundry Service Álbum de estudio de Shakira Publicación 13 de noviembre de 2001/2002 (Servicio De Lavandería) Edición Limitada (Washed Dried) Grabación 2001 Género(s) …   Wikipedia Español

  • Servicio de Impuestos Internos — Acrónimo SII Fundación 1902 Sede Teatinos 120, piso 6, Santiago Ámbito nacional …   Wikipedia Español

  • Servicio Marítimo de la Guardia Civil — Activa 1991 actualidad. País …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”