Вы находитесь на странице: 1из 11

http://www.w3c.es/divulgacion/guiasbreves/ServiciosWeb Qu son los Servicios Web?

Existen mltiples definiciones sobre lo que son los Servicios Web, lo que muestra su complejidad a la hora de dar una adecuada definicin que englobe todo lo que son e implican. Una posible sera hablar de ellos como un conjunto de aplicaciones o de tecnologas con capacidad para interoperar en la Web. Estas aplicaciones o tecnologas intercambian datos entre s con el objetivo de ofrecer unos servicios. Los proveedores ofrecen sus servicios como procedimientos remotos y los usuarios solicitan un servicio llamando a estos procedimientos a travs de la Web. Para qu sirven?

Estos servicios proporcionan mecanismos de comunicacin estndares entre diferentes aplicaciones, que interactan entre s para presentar informacin dinmica al usuario. Para proporcionar interoperabilidad y extensibilidad entre estas aplicaciones, y que al mismo tiempo sea posible su combinacin para realizar operaciones complejas, es necesaria una arquitectura de referencia estndar. Cmo funcionan?

El siguiente grfico muestra cmo interacta un conjunto de Servicios Web:

Funcionamiento de los Servicios Web

Figura 1 - Los servicios Web en Funcionamiento

Segn el ejemplo del grfico, un usuario (que juega el papel de cliente dentro de los Servicios Web), a travs de una aplicacin, solicita informacin sobre un viaje que desea realizar haciendo una peticin a una agencia de viajes que ofrece sus servicios a travs de Internet. La agencia de viajes ofrecer a su cliente (usuario) la informacin requerida. Para proporcionar al cliente la informacin que necesita, esta agencia de viajes solicita a su vez informacin a otros recursos (otros Servicios Web) en relacin con el hotel y la compaa area. La agencia de viajes obtendr informacin de estos recursos, lo que la convierte a su vez en cliente de esos otros Servicios Web que le van a proporcionar la informacin solicitada sobre el hotel y la lnea area. Por ltimo, el usuario realizar el pago del viaje a travs de la agencia de viajes que servir de intermediario entre el usuario y el servicio Web que gestionar el pago.

En todo este proceso intervienen una serie de tecnologas que hacen posible esta circulacin de informacin. Por un lado, estara SOAP (Protocolo Simple de Acceso a Objetos). Se trata de un protocolo basado en XML, que permite la interaccin entre varios dispositivos y que tiene la capacidad de transmitir informacin compleja. Los datos pueden ser transmitidos a travs de HTTP , SMTP , etc. SOAP especifica el formato de los mensajes. El mensaje SOAP est compuesto por un envelope (sobre), cuya estructura est formada por los siguientes elementos: header (cabecera) y body (cuerpo).

Estructura de un mensaje SOAP

Figura 2 - Estructura de los mensajes

Para optimizar el rendimiento de las aplicaciones basadas en Servicios Web, se han desarrollado tecnologas complementarias a SOAP, que agilizan el envo de los mensajes (MTOM) y los recursos que se transmiten en esos mensajes (SOAP-RRSHB).

Por otro lado, WSDL (Lenguaje de Descripcin de Servicios Web), permite que un servicio y un cliente establezcan un acuerdo en lo que se refiere a los detalles de transporte de mensajes y su contenido, a travs de un documento procesable por dispositivos. WSDL representa una especie de contrato entre el proveedor y el que solicita. WSDL especifica la sintaxis y los mecanismos de intercambio de mensajes.

Durante la evolucin de las necesidades de las aplicaciones basadas en Servicios Web de las grandes organizaciones, se han desarrollado mecanismos que permiten enriquecer las descripciones de las operaciones que realizan sus servicios mediante anotaciones semnticas y con directivas que definen el comportamiento. Esto permitira encontrar los Servicios Web que mejor se adapten a los objetivos deseados. Adems, ante la complejidad de los procesos de las grandes aplicaciones empresariales, existe una tecnologa que permite una definicin de estos procesos mediante la composicin de varios Servicios Web individuales, lo que se conoce como coreografa. Los Servicios Web surgieron ante una necesidad de estandarizar la comunicacin entre distintas plataformas (PC, Mainframe, Mac, etc.) y lenguajes de programacin (PHP, C#, Java, etc.). Anteriormente se haban realizado intentos de crear estndares pero fracasaron o no tuvieron el suficiente xito, algunos de ellos son DCOM y CORBA, por ser dependientes de la implementacin del vendedor DCOM - Microsoft, y CORBA - ORB (a pesar que CORBA de mltiples vendedores pueden operar entre si, hay ciertas limitaciones para aplicaciones de niveles ms altos en los cuales se necesite seguridad o administracin de transacciones). Otro gran problema es que se haca uso de RPC (Remote Procedure Call) para realizar la comunicacin entre diferentes nodos. Esto, adems de presentar ciertos problemas de seguridad, tiene la desventaja de que su implementacin en un ambiente como es Internet, es casi imposible (muchos firewalls bloquean este tipo de mensajes, lo que hace prcticamente imposible a dos computadoras conectadas por Internet comunicarse).

Los Web Services surgieron para finalmente poder lograr la tan esperada comunicacin entre diferentes plataformas. En la actualidad muchos sistemas legacy estn pasando a ser web services. Es por esto que en 1999 se comenz a plantear un nuevo estndar, el cual terminara utilizando XML, SOAP, WSDL, y UDDI.

El rea de contenido de servicios web en developerWorks contiene literalmente centenares de artculos, tutoriales y recomendaciones para ayudar al desarrollador a aprovechar al mximo las aplicaciones relacionadas con servicios web; sin embargo, para los usuarios que estn intentando estudiar un nuevo tema, esa gran cantidad de informaciones puede ser abrumadora. Esa pgina proporciona una visin general para los lectores que desean aprender acerca de los servicios web pero no saben dnde comenzar. La pgina coloca todos los fundamentos de la tecnologa de servicios web en el contexto adecuado y rene artculos, tutoriales y recomendaciones de developerWorks, formacin de los servicios de aprendizaje de IBM, Webcasts, talleres y productos IBM para ms investigaciones. El trmino "servicios web" designa una tecnologa que permite que las aplicaciones se comuniquen en una forma que no depende de la plataforma ni del lenguaje de programacin. Un servicio web es una interfaz de software que describe un conjunto de operaciones a las cuales se puede acceder por la red a travs de mensajera XML estandarizada. Usa protocolos basados en el lenguaje XML con el objetivo de describir una operacin para ejecutar o datos para intercambiar con otro servicio web. Un grupo de servicios web que interacta de esa forma define la aplicacin de un servicio web especfico en una arquitectura orientada a servicios (SOA). La industria de software finalmente se est dando cuenta de que integrar aplicaciones de software en varios sistemas operativos, lenguajes de programacin y plataformas de hardware no es algo que puede ser resuelto por un entorno patentado especfico. Tradicionalmente, el problema viene siendo el acoplamiento fuerte, en el cual una aplicacin que llama una red remota est fuertemente vinculada a ella por la llamada de funcin que hace y por los parmetros que solicita. En la mayora de los sistemas antes de los servicios web, se trata de una interfaz fija con poca flexibilidad y adaptabilidad a entornos o necesidades cambiantes. Los servicios web usan XML, que puede describir cualquier tipo de datos en una forma realmente independiente de plataforma para el intercambio entre sistemas, lo que permite el movimiento hacia aplicaciones flojamente acopladas. Adems, los servicios web pueden funcionar a un nivel ms abstracto que puede reevaluar, modificar o manejar tipos de datos dinmicamente on demand (mediante solicitud). Por tanto, en trminos tcnicos, los servicios web pueden manejar datos con mucho ms facilidad y permiten una comunicacin ms libre entre los softwares. En trminos conceptuales ms elevados, es posible ver los servicios web como unidades de trabajo, donde cada una maneja una tarea funcional especfica. Un paso arriba de eso, las tareas se pueden combinar en tareas orientadas a negocios para manejar tareas

operacionales empresariales especficas y eso, por su turno, permite que el personal que no es tcnico piense en aplicaciones que pueden manejar temas empresariales en conjunto en un flujo de trabajo de aplicaciones de servicios web. As, una vez que el personal tcnico haya diseado y construido los servicios web, los arquitectos de procesos empresariales pueden agregarlos para resolver problemas en el mbito empresarial. En una analoga con el motor de un auto, un arquitecto de procesos empresariales puede pensar en montar un motor de auto completo, con el chasis, la carrocera, la transmisin y otros sistemas, en lugar de analizar las diferentes partes dentro de cada motor. Adems, la plataforma dinmica significa que el motor puede funcionar en conjunto con la transmisin o con componentes de otros fabricantes. Lo que se concluye con ese ltimo aspecto es que los servicios web ayudan a conectar el personal de negocios al personal tecnolgico de una organizacin. Los servicios web facilitan la comprensin de las operaciones tcnicas por parte del personal de negocios. El personal de negocios puede describir eventos y actividades y el personal tecnolgico puede asociarlos a los servicios adecuados. Con interfaces definidas universalmente y tareas bien diseadas, tambin resulta ms fcil reutilizar esas tareas y, consecuentemente, las aplicaciones que representan. La reusabilidad de softwares de aplicacin implica un mejor retorno de la inversin en software, pues puede producir ms con los mismos recursos. Tambin permite que el personal de negocios considere la posibilidad de usar una aplicacin ya existente en una forma nueva u ofrecerla a un socio en una forma nueva, aumentando as las transacciones empresariales entre socios. Por tanto, los principales problemas que los servicios web tratan de resolver son los temas de integracin de datos y aplicaciones y de la transformacin de funciones tcnicas en tareas informticas orientadas a negocios. Esos dos aspectos permiten que las empresas se comuniquen con sus socios en el mbito de los procesos o aplicaciones y que, al mismo tiempo, dejen un espacio dinmico para adaptarse a nuevas situaciones o trabajar con otros socios mediante solicitud.

Cules son las tecnologas de componentes de servicios web?


Los servicios web involucran una familia de protocolos relacionados para describir y suministrar servicios web e interactuar con ellos. Se puede subdividir esa familia en grupos basados en funciones y usos comunes. El primer grupo maneja los temas de mensajera y direccin, suministro y descripcin de interfaces. El protocolo ms conocido es el protocolo de mensajera conocido como protocolo simple de acceso a objetos (SOAP). Ese protocolo codifica mensajes para que puedan ser entregados en la red a travs de un protocolo de transporte como HTTP, IIOP, SMTP u otros.

El lenguaje de descripcin de servicios web (WSDL) es representado como una serie de sentencias XML que constituyen la definicin de las interfaces de cada servicio. Otra especificacin que est en progreso actualmente es WS-Addressing, que define cmo dar direcciones exclusivas e identificar en forma exclusiva los servicios web en una arquitectura distribuida. Otra especificacin popular es Web Services Invocation Framework, en la cual se pueden definir interfaces WSDL para todos los tipos de componentes, incluso los que no usan los mismos protocolos de mensajera. El siguiente grupo de protocolos y especificaciones define cmo los servicios se anuncian y encuentran otros servicios en la red. Para que un servicio encuentre otro, el protocolo de descripcin, descubierta e integracin universal (UDDI) define un registro y protocolos asociados para ubicar servicios y acceder a ellos. El lenguaje Web Services Inspection Language es un mecanismo alternativo al UDDI que funciona sin el uso de un registro. Los protocolos de seguridad para servicios web comienzan por la especificacin WSSecurity que define una arquitectura basada en seales para comunicaciones seguras. Existen seis principales especificaciones de componentes construidas sobre esa base:

WS-Policy y sus especificaciones relacionadas, que definen las reglas de polticas sobre la interaccin de servicios. WS-Trust, que define el modelo confiable para el intercambio seguro. WS-Privacy, que define cmo se mantiene la privacidad de las informaciones. WS-Secure Conversation, que define cmo establecer una sesin protegida entre servicios para intercambiar datos usando las reglas definidas en WS-Policy, WSTrust, y WS-Privacy. WS-Federation, que define las reglas de identidad distribuida y de la gestin de esa identidad. WS-Authorization, que maneja el procesamiento de autorizacin para acceder a los datos e intercambiarlos.

Adems del modelo de seguridad, existen las especificaciones especficas de las aplicaciones, incluyendo el lenguaje de ejecucin de procesos empresariales para servicios web (BPEL4WS), que define las operaciones de flujos de trabajo, y WS-Transaction y WSCoordination, que funcionan en conjunto para manejar el procesamiento distribuido de transacciones. Actualmente est en desarrollo una especificacin para la gestin distribuida de servicios web que trata de la gestin administrativa de software de todos los servicios y de la arquitectura orientada a servicios. Por fin, existen especificaciones para interfaces de usuario (WS-InteractiveApplications) y acceso remoto a servicios web (WSRemotePortals). Las especificaciones y protocolos para servicios web an estn siendo definidas y slo estn comenzando a explicar cmo los servicios deben interactuar. Sin embargo, no pueden abarcar todas las situaciones y combinaciones posibles. As, el Web Services Interoperability Group (WS-I), constituido por prcticamente todos los grandes y pequeos proveedores involucrados en el desarrollo de los servicios web, se encarg de la tarea de

desarrollar estudios de caso, ejemplos de aplicaciones, casos de ejemplo de implementacin y herramientas de prueba para asegurar que esos estndares y especificaciones realmente funcionarn los unos con los otros, independientemente de las implementaciones de productos de los proveedores. WS-I ha definido su primer Basic Profile 1.0 para servicios web y tambin ha lanzado sus casos de ejemplo, ejemplos de aplicaciones y herramientas de prueba para evaluar y comparar resultados de varias implementaciones de acuerdo con los casos de ejemplo. Adems de WS-I, una buena parte del trabajo de los estndares est siendo realizado por la Organizacin para el Avance de Estndares de Informaciones Estructuradas (OASIS), el World Wide Web Consortium (W3C) y el Grupo de Trabajo de Ingeniera de Internet (IETF).
La Pila de protocolos para Servicios Web es una coleccin de protocolos y estandares para redes de Computadores que son utilizados para definir, localizar, implementar y hacer que un Servicio Web interacte con otro. La Pila de Protocolos para servicios esta comprendida principalmente por cuatro reas:

Servicio de Transporte: responsable del transporte de mensajes entre las Aplicaciones de red y los protocolos en los cuales se incluyen protocolos tales como HTTP, SMTP, FTP, as como tambin el ms reciente Blocks Extensible Exchange Protocol (BEEP).

Mensajeria XML: responsable por la codificacin de mensajes en un formato comn XML as que ellos puedan ser entendidos en cualquier extremo de una conexin de red. Actualmente, esta rea incluye protocolos tales como XML-RPC, SOAP y REST. Descripcin del Servicio: usado para describir la interfaz pblica de un Servicio Web especifico. El formato de interfaz Web Services Description Language - WSDL es tpicamente usado para este propsito. Descubrimiento de servicios: centraliza servicios en un registro comn tal que los servicios Web de la red puedan publicar su localizacin y descripcin, y hace que sea fcil descubrir que servicios estn disponibles en la red. Actualmente, la API Universal Description Discovery and Integration UDDI se utiliza normalmente para el descubrimiento de servicios.

Servicio web
(Redirigido desde Servicio Web)

Un servicio web (en ingls, Web service) es una pieza de software que utiliza un conjunto de protocolos y estndares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programacin 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 adopcin de estndares abiertos. Las organizaciones OASIS y W3C son los comits responsables de la arquitectura y reglamentacin 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 ms exhaustiva estos estndares.

Contenido
[ocultar]

1 Estndares empleados 2 Ventajas de los servicios web 3 Inconvenientes de los servicios Web 4 Razones para crear servicios Web 5 Plataformas 6 Temas relacionados 7 Enlaces externos

[editar] Estndares 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 estndar 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 tambin pueden enviarse de una aplicacin 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 pblica para los servicios Web. Es una descripcin basada en XML de los requisitos funcionales necesarios para establecer una comunicacin con los servicios Web. UDDI (Universal Description, Discovery and Integration): Protocolo para publicar la informacin de los servicios Web. Permite comprobar qu servicios web estn disponibles. WS-Security (Web Service Security): Protocolo de seguridad aceptado como estndar por OASIS (Organization for the Advancement of Structured Information Standards). Garantiza la autenticacin de los actores y la confidencialidad de los mensajes enviados.

[editar] 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 estndares y protocolos basados en texto, que hacen ms fcil acceder a su contenido y entender su funcionamiento. Permiten que servicios y software de diferentes compaas ubicadas en diferentes lugares geogrficos puedan ser combinados fcilmente para proveer servicios integrados.

[editar] Inconvenientes de los servicios Web

Para realizar transacciones no pueden compararse en su grado de desarrollo con los estndares abiertos de computacin distribuida como CORBA (Common Object Request Broker Architecture). Su rendimiento es bajo si se compara con otros modelos de computacin 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 concisin 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 comunicacin entre programas a ambos lados de la barrera.

[editar] Razones para crear servicios Web


La principal razn 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 trfico 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 razn de que no resultan bloqueados. Es importante sealar que los servicios web se pueden utilizar sobre cualquier protocolo, sin embargo, TCP es el mas comun. Otra razn es que, antes de que existiera SOAP, no haba buenas interfaces para acceder a las funcionalidades de otros ordenadores en red. Las que haba eran ad hoc y poco conocidas, tales como EDI (Electronic Data Interchange), RPC (Remote Procedure Call), u otras APIs. Una tercera razn por la que los servicios Web son muy prcticos es que pueden aportar gran independencia entre la aplicacin 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 ms importante, dado que la tendencia a construir grandes aplicaciones a partir de componentes distribuidos ms pequeos es cada da ms utilizada. Se espera que para los prximos aos mejoren la calidad y cantidad de servicios ofrecidos basados en los nuevos estndares.

[editar] 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 versin 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 cdigo 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 programacin Python VERASTREAM de AttachmateWRQ para modernizar o integrar aplicaciones host IBM y VT PHP

http://es.wikipedia.org/wiki/Servicio_Web

Un servicio web es un servicio, con un interfaz definido y conocido, al que se puede acceder a travs de internet. Igual que una pgina web est definida por un URL (Uniform Resource Locator), un servicio web est definido por un URI (Uniform Resource Identification) y por su interfaz, a travs del cual se puede acceder a l. Igual que una pgina web puede ofrecer cotizaciones de la bolsa, un servicio web que haga lo mismo presentar un interfaz para que se pueda acceder fcilmente, una vez que se conozca el interfaz, a la aplicacin. De esta forma, las aplicaciones se convierten en clientes que integran servicios web procedentes de diferentes proveedores, y adems, se abre la posibilidad de que se cobre por uso del servicio, no por cada copia de la aplicacin vendida. Este es uno de los aspectos que ms gusta a Microsoft: la posibilidad de acabar de una vez por todas con la piratera, a base de alojar partes importantes de las aplicaciones en sus propios servidores, no en el ordenador del cliente. Los servicios web se dividen en servicios de transporte (los protocolos del nivel ms bajo, que codifican la informacin independientemente de su formato, y que pueden ser comunes a otros servicios), de mensajera, de descripcin y de descubrimiento. En la parte ms baja se encuentran los servicios de transporte, que establecen la conexin y el puerto usado. Generalmente se usa HTTP, el mismo protocolo que la WWW, pero en se puede usar tambin SMTP (el mismo protocolo que el correo electrnico), FTP (File Transfer Protocol), o BEEP (blocks extensible exchange protocol), un protocolo especfico para servicios web, que, a diferencia de los anteriores, no es cliente-servidor, sino "entre pares"; los dos ordenadores entre los que se establece la comunicacin actan como clientes y

servidores a la vez. Es adems extensible, y est especificado en XML; por eso se est haciendo mucho ms popular para aplicaciones web. Un ejemplo de uso de Beep sera el siguiente:

Вам также может понравиться