Fundación Universitaria Tecnológico Comfenalco Web Services Por: Juan José Pomares Luis Joya Alex Galeano Materia: Electiva 1 Servicios web – Web services. Introducción Cuando hablamos de servicios web podemos imaginar un conjunto de servicios ofrecidos mediante internet los cuales pueden ser aplicados en diferentes páginas, estos funcionan en base de llamadas remotas a métodos a través de HTTP mediante el uso de protocolos y lenguajes basados en XML. Los Servicios Web brindan una sencilla forma de ampliar la funcionalidad de las aplicaciones empresariales. Se puede decir que el objetico de los servicios web es la cooperación entre las aplicaciones existentes a través de la red de redes (internet). Concepto Un servicio web es una tecnología que emplea una agrupación de protocolos y estándares que sirven para intercambiar información entre aplicaciones desarrolladas en distintos lenguajes de programación, que podrían ser ejecutadas en cualquier plataforma. Una de las aplicaciones de los servicios web puede ser la de intercambiar datos en redes de ordenadores como lo es el internet. Se puede decir que la interoperabilidad de las aplicaciones se rige por estándares abiertos como lo son la OASIS y W3C que son las organizaciones responsables de la reglamentación y arquitectura de los servicios web. La eficiencia de la interoperabilidad entre varias aplicaciones de servicios web se ha creado por el organismo WS-I, encargado de ampliar los diversos perfiles que permiten la ejecución de servicios Web desarrollado en múltiples plataformas de software y arquitecturas de hardware Arquitectura SOAP (siglas de Simple Object Access Protocol) es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. Este protocolo deriva de un protocolo creado por Dave Winer en 1998, llamado XML-RPC. SOAP fue creado por Microsoft, IBM y otros. Está actualmente bajo el auspicio de la W3C. Es uno de los protocolos utilizados en los servicios Web. WSDL son las siglas de Web Services Description Language, un formato XML que se utiliza para describir servicios Web . La versión 1.0 fue la primera recomendación por parte del W3C y la versión 1.1 no alcanzó nunca tal estatus. La versión 2.0 se convirtió en la recomendación actual por parte de dicha entidad. WSDL describe la interfaz pública a los servicios Web. Está basado en XML y describe la forma de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo. Las operaciones y mensajes que soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje. Así, WSDL se usa a menudo en combinación con SOAP y XML Schema. Un programa cliente que se conecta a un servicio web puede leer el WSDL para determinar qué funciones están disponibles en el servidor. Los tipos de datos especiales se incluyen en el archivo WSDL en forma de XML Schema. El cliente puede usar SOAP para hacer la llamada a una de las funciones listadas en el WSDL. Según el ejemplo del gráfico, un usuario (que juega el papel de cliente dentro de los Servicios Web), a través de una aplicación, solicita información sobre un viaje que desea realizar haciendo una petición a una agencia de viajes que ofrece sus servicios a través de Internet. La agencia de viajes ofrecerá a su cliente (usuario) la información requerida. Para proporcionar al cliente la información que necesita, esta agencia de viajes solicita a su vez información a otros recursos (otros Servicios Web) en relación con el hotel y la compañía aérea. La agencia de viajes obtendrá información de estos recursos, lo que la convierte a su vez en cliente de esos otros Servicios Web que le van a proporcionar la información solicitada sobre el hotel y la línea aérea. Por último, el usuario realizará el pago del viaje a través de la agencia de viajes que servirá de intermediario entre el usuario y el servicio Web que gestionará el pago. Tecnologías usadas 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 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 Aplicaciones Servicio simple. El escenario típico es el de un servicio Web que facilita algún tipo de funcionalidad a los clientes que lo utilizan. Integración de aplicaciones. Los servicios Web pueden ser empleados para integrar aplicaciones existentes, lo que puede ser de gran utilidad en aquellos casos en los que se tiene una serie de aplicaciones a medida que se usan, pero que permanecen aisladas. Conclusión El éxito de los Servicios Web reside en que se basa en estándares conocidos en los que ya se tiene confianza, como el XML. Además, el uso de los Servicios Web aporta ventajas significativas a las empresas. El principal objetivo que se logra, es la interoperabilidad y la integración. Mediante los Servicios Web, las empresas pueden compartir servicios software con sus clientes y sus socios de negocio. Esto ayudará a las compañías a escalar sus negocios, reduciendo el coste en desarrollo y mantenimiento de software, y sacando los productos al mercado con mayor rapidez. La integración de aplicaciones hará posible obtener la información demandada en tiempo real, acelerando el proceso de toma de decisiones. La evolución de Internet hacia 15 los Servicios Web, mejorará los resultados globales de las empresas, reduciendo sus gastos y guiándolas hacia una mejora progresiva de la calidad. Proveedores líderes promocionan los Web Services como un modelo de programación para la comunicación entre aplicaciones. Estas compañías piensan que la conexión de aplicaciones a través de Internet mejorará la capacidad de las empresas para trabajar conjuntamente con sus socios de negocio, proveedores y clientes. Como hemos visto los servicios Web son una alternativa para integrar soluciones y aplicaciones actuales entre empresas. Esta integración es necesaria para brindar mejores soluciones a clientes y tener una ventaja altamente competitiva en el mercado. Ya se ha incursionado en este ámbito de desarrollo de servicios Web con buenos resultados en muchos casos, sin embargo aun quedan pendiente el establecimiento de estándares para hacer este proceso de integración mas fluido, sencillo y seguro, ya que las empresas están apostando a mover sus aplicaciones a aplicaciones bajo tecnología Web. Es recomendable que las políticas de seguridad se firmen para evitar alteraciones en ellas. En caso de no estar firmadas o no se pueda confirmar el emisor, es mejor no aceptarlas. Como se dijo anteriormente, hay que ser precavido en el uso de herramientas que facilitan la creación de servicios Web, puesto que su uso implica que el desarrollador no tenga conocimientos sobre los mecanismos de seguridad que no proporciona.