Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com
Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad. SOA es el siguiente estado de la efectividad empresarial. SOA permite la modelización de problemas empresariales en términos de servicios. Luego este modelo se convertirá en un modelo de servicios web. Elementos de una arquitectura SOA incluyen servicios, modularidad, interfaces y esto se aprovecha con la tecnología de servicios web. Servicios Web es una herramienta clave de la visión de SOA
SOA Un conductor de negocios Una explosión de Puntos de Acceso: Un billón de dispositivos conectados Un pueblo mil millones conectados Un millón de conectar el e-business Una Explosión de transacciones: "Los volúmenes de transacciones crecerá un factor de 50 en los próximos cinco años. Repensar la IT: Mundial trastornos amplias diferencias económicas y la globalización está causando a muchas empresas a repensar sus presupuestos de TI.
El nuevo modelo: Servicios Web Hasta ahora en la web hemos encontrado: Enlaces hacia documentos Descargas de Archivos Transacciones en línea, etc. Todo esto es manual, por medio de un navegador. Servicios Web es un nuevo modelo para el uso de la Web Automáticamente inicia la operación de un programa, no necesariamente mediante un navegador. Puede ser descrito, publicado, descubierto, e invocado de forma dinámica en un entorno de computación distribuida. Permite nuevas formas de utilización de la Web: agentes inteligentes, integracion de mercados, etc.todos construidos en base a XML!
Definición de Servicio Web en la Industria Un servicio Web es un sistema de software identificado por una dirección URL, cuyas interfaces públicas y enlaces se definen y describen por medio de XML. Su definición puede ser descubierta por otros sistemas de software.estos sistemas se puede interactuar con los servicios Web en una forma prescrita por su definición, por medio de mensajes basado en XML transmitidos por protocolos de Internet. W3C
Otra Definición Un servicio Web es un sistema de software diseñado para apoyar la interacción de máquina a máquina sobre una red.tiene una interfaz descrita en un formato procesable por máquina (específicamente WSDL).Otros sistemas interactúan con el servicio Web en una forma prescrita por su descripción usando mensajes SOAP, típicamente transmitido usando HTTP con una serialización XML en conjunción con otras normas relacionadas con la Web.
Servicios Web y SOA Servicios Web Un ejemplo de la arquitectura SOA se realiza a través de tecnologías de Servicios Web. Se compone de un conjunto de tecnologías que son la opción principal para la aplicación de arquitectura SOA. Implementación de Servicios Web Un mecanismo para realizar una Arquitectura Orientada a Servicios Basado en estándares Multiplataforma. Orientado a los mensajes. SOA Framework Incluye un conjunto de elementos funcionales y sus capacidades para realizar una Arquitectura Orientada a Servicios. Incluye los aspectos de la gobernanza, la seguridad y de administración también. SOA Un estilo arquitectónico en el que las unidades de la funcionalidad que se prestan y consumen como los servicios que están habilitados por servicios Web.
Servicios Web y su relación con SOA Se puede implementar SOA sin utilizar servicios web Por Ejemplo tenemos las basadas en CORBA Algunas implementaciones de servicios web no son soa Ejemplo: conexión de dos sistemas heterogéneos directamente entre sí. Podría ser el punto de partida o la primera iteración de mudarse a SOA.
Descripción de los Servicios Web Un sistema de software identificado por una dirección URL en la que las interfaces públicas y enlaces se definen y describen utilizando extensible Markup Language (XML). Su definición puede ser descubierta por otros sistemas de software. Estos sistemas pueden interactuar con el servicio Web en la forma prevista por su propia definición, por medio de mensajes basado en XML transportados por protocolos de Internet. Locate (UDDI) Web Services Directory (UDDI) Publish (WSDL) Web Services Web Services Consumer Manage Access (SOAP/HTTP) Secure Web Services Provider
Características de los Servicios Web Un conjunto de protocolos basados en el lenguaje extensible de marcado (XML) que permiten la implantación de servicios en tiempo de ejecución e implementar una arquitectura SOA. Exponen la capacidad de las aplicaciones diseñadas para ofrecer servicios a las empresas basándose en un nombre de proveedor de servicios. La creación de instancias más prometedoras de la arquitectura SOA debido al uso de estándares abiertos, la ejecución asincrónica de los sistemas de ayudas disociadas, y un fuerte impulso hacia la interoperabilidad. Es bien sabido que los servicios Web por sí tiene limitaciones tanto en el alcance y la eficacia de uso, y por lo tanto no son sólo la creación de instancias de SOAs.
Componentes de los Servicios Web Service Requestor Find Service Registry (UDDI) Bind (SOAP) Publish (WSDL) Service Provider Proveedor de servicios Proporciona servicios de comercio electrónico Publica disponibilidad de estos servicios a través de un registro Service Registry Proporciona soporte para la publicación y la localización de servicios, como páginas amarillas Servicio Solicitante Localiza los servicios requeridos a través del Servicio de Registro Se comunica a los servicios a través de un proveedor de servicios
Arquitectura de los Servicios Web Tecnología de servicios Web Proporciona un método estándar para la separación entre la interfaz y de los detalles de implementación. Desarrolla sistemas que se puede componer y reconfigurar dinámicamente en tiempo de ejecución Service Interface Service Component 1 Component 2 Operations Operations Application and Other Services Component 3 Service Operations
Consideraciones de implementación para los servicios web A nivel conceptual, los servicios web son vistos como unidades de trabajo, cada uno manejando una tarea funcional específica. En un nivel superior, las tareas se combinan con tareas orientadas a la empresa para un manejo o conducción particular de las tareas operativas. un servicio Web es una capacidad en la que el comportamiento se describe utilizando protocolos de Servicio web, y donde la interacción con ella se lleva a cabo utilizando los mismos protocolos. Cuando los Servicios Web son diseñados e implementados, los arquitectos de procesos de negocio pueden agregar sus servicios Web y ofrecer soluciones a los problemas desde una perspectiva empresarial. Los detalles de implementación de un Servicio Web no son relevantes para el Servicio del Consumidor.Tampoco es necesario para el servicio del consumidor a comprender los detalles de implementación para utilizar el servicio.
Beneficios de los servicios Web Son una herramienta basada en estándares de la integración de diferentes aplicaciones de software, que se ejecutan en una variedad de plataformas y / o marcos. Proporciona un marco sistemático y extensible para la interacción de aplicación a aplicación construida en la parte superior de los actuales protocolos Web y basadas en estándares abiertos XML. Ofrece un mecanismo sencillo y estandarizado para describir, localizar y establecer comunicación entre las aplicaciones en línea. Permite a las organizaciones comunicarse en un proceso o aplicación a nivel con sus socios, evolucionando a un modelo bajo demanda
Beneficios, continuación Aproveche de una infraestructura probada (Internet) para ofrecer funcionalidad empresarial a un grupo más amplio de socios y clientes Adaptación de las aplicaciones existentes a las cambiantes condiciones del negocio y las necesidades del cliente
Valor de negocio para los Servicios Web Proporciona retorno directo e indirecto de la inversión (ROI) a través de: Servicios de TI de contención de costos funcionalidad de la aplicación para ofrecer servicios a las empresas, a los usuarios internos y externos a través de múltiples canales.