Curso 5007437 Conceptos y estándares de arquitecturas orientadas a servicios Web Curso 2006/2007 Capítulo 4: Arquitectura Orientada a Servicios Pedro Álvarez alvaper@unizar.es José Ángel Bañares banares@unizar.es http://diis.unizar.es/postweb/ Departamento de Informática e Ingeniería de Sistemas
Índice - Capítulo 3 Arquitectura t Software Middleware ( Ejecutable) Web Services (Infraestuctura soportada por estándares) Arquitecturas Orientadas a Servicios Productos que tienen una arquitectura orientada a servicios. 2
Arquitectura ra Orientada a Servicios 3
Conceptos de partida Arquitectura ra software La arquitectura software define, de manera abstracta, los componentes que llevan a cabo alguna tarea de computación, sus interfaces y la comunicación ente ellos. (WIKIPEDIA) http://es.wikipedia.org/wiki/arquitectura_de_software Una arquitectura software es la descripción de un sistema en términos de componentes, conectores y reglas que determinan como se conectan No se trata de un software operativo, sino de un instrumento de reutilización de experiencias a nivel de diseño que dictan la construcción de nuevos sistemas software Evolucionan con el lti tiempo (experiencias i más maduras) Introducción a las arquitecturas software: http://www.microsoft.com/spanish/msdn/arquitectura/roadmap_arq/intro.asp#3 Definiciones http://www.sei.cmu.edu/architecture/published_definitions.html#modern 4
Conceptos de partida Arquitectura ra Orientada a Sevicios (SOA) Cliente de Servicios Proveedor de Servicio Invocación "A service Objetos oriented Aplicaciónarchitecture is an approach Objetos to Aplicación design and (cliente) (servicio) integrate software in a modular method where each module is precisely a 'loosely coupled service' that is accessible over a network and has the capability of being dynamically integrated Búsqueda Publicación with other services at run time. A service must present a standard Interface (be it WSDL today) for its functionality and Núcleo del Registro UDDI invocation methods while the real implementation of the service is not a concern of an SOA." Rajesh Dawar Descripciones de Servicios Registro de Servicios 5
Conceptos de partida En el desarrollo de software, un framework es una estructura t de soporte definida en la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente, un framework puede incluir soporte de programas, librerías y un lenguaje de scripting entre otros softwares para ayudar a desarrollar y unir los diferentes componentes de un proyecto. Un framework representa una arquitectura de software que modela las relaciones generales de las entidades del dominio. Provee una estructura y una metodología de trabajo la cual extiende o utiliza las aplicaciones del dominio. (WIKIPEDIA) http://es.wikipedia.org/wiki/ framework = infraestructura 6
Conceptos de partida Un framework se dfi define como una colección de componentes software que se organizan y colaboran según el modelo descrito por una arquitectura Proporciona el más alto nivel de reutilización i en el desarrollo de sistemas complejos destacar que los frameworks y los componentes representan diferentes niveles de abstracción en el proceso de descomposición de un sistema software Aplicación Monolítica Aplicación Aplicación Middleware Interfaz Interfaz Interfaz Interfaz 7
Conceptos de partida Middleware Un middleware proporciona un conjunto de primitivas iti de comunicación ió de alto nivel que son requeridas para el desarrollo de aplicaciones distribuidas en red El programador es liberado de detalles relacionados con la comunicación i en red, control de concurrencia y/o gestión de transacciones, y puede focalizar todo su atención en el nivel de aplicación Aplicación Aplicación Middleware Interfaz Interfaz Interfaz Interfaz 8
Web Services Today, the principal use of the World Wide Web is for interactive access to documents and applications. In almost all cases, such access is by human users, typically working through Web browsers, audio players, or other interactive front-end systems. The Web can grow significantly in power and scope if it is extended to support communication between applications, from one program to another. IBM Web Services for W3C Workshop on Web Services 11-12 April 2001 http://www.w3.org/2001/03/wsws-popa/paper51 Web Service framework = Una infraestructura que soporta la comunicación entre aplicaciones 9
Qué tipo de...?... our primary goal is to connect applications onaworldwide basis. Such applications will necessarily be built in a variety of programming languages, using a range of operating systems, database, and middleware technologies. The interoperability we seek can only be achieved when based on standard data formats and protocols, not APIs. Web Service framework = Una infraestructura que soporta la comunicación entre aplicaciones NO ES UNA INFRAESTRUCTURA CON APIs definidas!!! SE BASA EN FORMATOS DE DATOS Y PROTOCOLOS ESTÁNDAR = INFRAESTRUCTURA MINIMA DE COMUNICACIÓN 10
Arquitecturas ras Orientadas a Servicio BPEL4WS Lógica de Integración Protocolos Horizontales Negocio WSCI, WS-CDL Service provider Web Services Middleware Process logic gestión transacciones gestión mensajes Process logic Ejecutor Procesos Ejecutor Protocolos gestión procesos... gestión objetos gestión datos Process logic Broker de Mensajes Mediador-Middleware conv (.NET, J2EE,...) Routing logic Mediador SW WS Interface WS Interface... WS Interface Web ser rvice Middlew ware External Clients Internet INFRAESTRUCTURA COMÚN Middleware Servicios Web -XML -Protocolos Internet -Estándares -SOAP, WSDL, UDDI -Protocolos Horizontales -Orquestación, composición WS-Coordination, WS-Transaction INFRAESTRUCTURA COMÚN Middleware Tradicional 11
Productos/Especificaciones SOA TIBCO: Enterprise Server Bus 12
Productos/Especificaciones SOA TIBCO: Enterprise Server Bus 13
Productos/Especificaciones SOA IBM: Enterprise Server Bus 14
Productos/Especificaciones SOA IBM: Enterprise Server Bus 15
Productos/Especificaciones SOA SUN: Java Business Integration (JBI) 1.0 16
Productos/Especificaciones SOA Service-Oriented Computing: A Research Roadmap http://drops.dagstuhl.de/opus/volltexte/2006/524/ d hl d / / ll /2006/524/ 17
RESUMEN Computación Orientada a Servicios i (abstracción, Requisitos it de las Arquitecturas Orientadas a Servicio) Interoperabilidad a través de intercambio de documentos La infraestructura viene dada por la definición de formatos de datos y protocolos, NO APIS (de frameworks concretos). Servicios Web: Infraestructura que se fundamenta en la definición de interfaces y datos representados en XML y protocolos definidos. 18