Máster Universitario en Ingeniería Informática. Introducción. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA

Documentos relacionados
Máster Universitario en Ingeniería Informá3ca. Introducción. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA

Ingeniería de Software en SOA

Objetos Distribuidos - Componentes. Middleware

Máster Universitario en Ingeniería Informática. Servicios. Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA

Descripción de Servicios

Tema 1: Patrones Arquitectónicos

Siscotel. Corporativa Parte II

Sistemas de Información

Los números. 0 cero 1 uno / un 2 dos 3 tres 4 cuatro. 6 seis 7 siete 8 ocho 9 nueve 10 diez 5 cinco

PROGRAMACION DISTRIBUIDA

El Modelo de Integración basado en Servicios

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA

TEMA 1. Introducción a las arquitecturas distribuidas

Fecha de elaboración: 25/05/2010 Fecha de última actualización: 17/06/2010. F1182 Aplicaciones distribuidas 1/8

Introducción al ESB. Definición e historia

Diseño de Sistemas Distribuidos Máster en Ciencia y Tecnología Informática Curso Presentación e introducción

Curso Capítulo 4: Arquitectura Orientada a Servicios. Conceptos y estándares de arquitecturas orientadas a servicios Web Curso 2006/2007

Fecha de elaboración: 28 de mayo de 2010 Fecha de última actualización: 17 de Junio de 2010

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA

Introducción a los Servicios Web

TECNOLOGIAS PARA LA INTEGRACION DE SOLUCIONES. Facultad de Estadística e Informática

Diseño Basado en Componentes. 2008/2009

octubre de 2007 Arquitectura de Software

PIZARRA VIRTUAL BASADA EN REALIDAD AUMENTADA

Service Oriented Architecture

Qué ofrece Autentia Real Business Solutions S.L?

Desarrollo de WebServices- GEL XML

ARQUITECTURAS. Carlos Reveco D. IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI.

Grupo de Ingeniería del Software Universidad de Málaga

Tema 1: Patrones Arquitectónicos

Cambios en Ingeniería de Software

Sistemas Distribuidos Orientados a Objetos

SOA: Panorama WEB-SERVICES

Tema 2. Gestión por Procesos. Soporte de Tecnología

Programación Web Tema 1: Arquitectura C / S

Sistemas Operativos Distribuidos. Sistemas Operativos Una visión aplicada

Tema 1: Introducción a los Sistemas Distribuidos. Sistemas Distribuidos Marcos López Sanz [Curso ]

Introducción a los sistemas distribuidos. Jorge Iván Meza Martínez

SISTEMAS EN TIEMPO REAL

SISTEMA INTEGRAL DE GESTIÓN DE UN MUNDO VIRTUAL EN INTERNET.

MEMORIA INGENIERO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

Hora 1 1. Introducción 2. Web semántica 2.1 Ontologías 2.2 Lenguajes 2.3 Ejemplos 2.4 Estado actual Microformatos 2.4.

APLICACIONES DE INTERNET: SOAP

Sistemas Legados WEB-SERVICES

Implementación de Servicios Web Semánticos para Arquitecturas SOA

Agustiniano Ciudad Salitre School Computer Science Support Guide Second grade First term

Propuesta de Políticas de Gobernabilidad SOA

TC y RM. Diagnostico por imagen del cuerpo humano (Spanish Edition)

FACULTAD DE INGENIERÍA

Unidad de Competencia I Elementos de Competencia Requerimientos de información

Introducción a Web Services

Diseño: Arquitectura de Software. IF 7100 Ingeniería del Software

CARTA DESCRIPTIVA (FORMATO MODELO EDUCATIVO UACJ VISIÓN 2020)

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

A ser feliz tambien se aprende (Spanish Edition)

1. ARQUITECTURA SOA 1.1. FUNDAMENTOS DE SOA. Encapsulación de la lógica en servicios. Relación entre servicios ARQUITECTURA SOA

Sistemas Distribuidos Introducción. Rodrigo Santamaría

microservicios Introducción y conceptos generales

TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos

Benemérita Universidad Autónoma de Puebla Vicerrectoría de Docencia Dirección General de Educación Superior Facultad de Ciencias de la Computación

Los Cuatro Jinetes del Apocalipsis: Cuál es el Verdadero Origen del mal y del Sufrimiento y cómo Podemos Lograr un Mundo Mejor (Spanish Edition)

Pregunta 1 Suponga que una muestra de 35 observaciones es obtenida de una población con media y varianza. Entonces la se calcula como.

Adjectives; Demonstrative

PA JOSÉ MANUEL BURBANO CARVAJAL

MANUAL DE FARMACIA CLINICA Y ATENCION FARMACEUTICA. EL PRECIO ES EN DOLARES

Aprender español jugando : juegos y actividades para la enseñanza y aprendizaje del español. Click here if your download doesn"t start automatically

Física nuclear y de partículas, 3a ed. (Spanish Edition)

PROCESAMIENTO DISTRIBUIDO

Sistemas Distribuidos

Elementos de Gestion Ambiental (Spanish Edition)

ADAPTACIÓN DE REAL TIME WORKSHOP AL SISTEMA OPERATIVO LINUX

Operaciones y procesos en los servicios de bar y cafeteria (Spanish Edition)

Título del Proyecto: Sistema Web de gestión de facturas electrónicas.

FORMAT B2 SPEAKING EXAM

comunicación 28 Lección 2 Comunicación 2014 Vista Higher Learning, Inc. All rights reserved.

Implementación de Componentes

ESTÁNDARES PARA LA INTEROPERABILIDAD ESTANDARIZACIÓN INDUSTRIA CONECTADA 4.0

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Software architecture. CURSO ACADÉMICO - SEMESTRE Segundo semestre

Android Studio Curso Basico: Aprenda paso a paso (Spanish Edition)

Alena Markertz. Click here if your download doesn"t start automatically

PROPUESTA DE IMPLEMENTACIÓN DE UN PLAN DE MANTENIMIENTO BASADO EN LA CONFIABILIDAD (RCM) EN UNA EMPRESA TEXTIL

Cómo Enamorar a Alguien: Basado en la Psicología del Amor (Colección de Psicología del Amor de 2KnowMySelf y AdoroLeer) (Spanish Edition)

SPANSIH WITH PAUL MINI COURSE 6

Plataforma ESB Adaptativa para Sistemas Basados en Servicios

7 Secretos para ser millonario (Spanish Edition)

El Jardín de la Memoria (El adepto de la Reina nº 2) (Spanish Edition)

Introducción a la Virtualización de Infraestructuras

ESB. Norberto Fernández Departamento de Ingeniería Telemática Tecnologías de Distribución de Contenidos - UC3M 1

Behavior Driven Development

GECI Y EL MEDIO AMBIENTE

CARTA DESCRIPTIVA (FORMATO MODELO EDUCATIVO UACJ VISIÓN 2020)

Transcripción:

Máster Universitario en Ingeniería Informática Introducción Sistemas de Información Orientados a Servicios RODRIGO SANTAMARÍA

2 Organización distribuida SD a gran escala Un poco de historia Introducción Definiciones

Organización distribuida 3 n sistemas individuales à 1 sistema distribuido Flexibilidad Mantenimiento Escala Los sistemas centralizados no escalan con garantías de mantenimiento, flexibilidad, etc. Nos movemos hacia sistemas descentralizados

Organización distribuida 4 Evolución del concepto de organización En computación En neurología En economía En política

Cerebro como concepto distribuido 5 There is no central processing unit in the brain; rather the whole functions as a kind of distributed computer. Also, there is no central conductor coordinating all of the distributed parts. Each component coordinates interactions with the other components to which it is connected Colin Ware. Visual thinking for design

Economía como concepto distribuido 6 Blablacar (transporte P2P) Airbnb (alojamiento P2P) Comunitae, Zopa (préstamos P2P) Crowdfunding (financiación P2P) Conoces algún otro ejemplo?

Política como concepto distribuido Evolución de sistemas centralizados (absolutismo, dictadura) a sistemas cada vez más descentralizados (democracias representativa, participativa, directa) Nuevos Movimientos: 15M, Democracia 2.0, asambleas Modelos: Voto preferencial 1 Herramientas: Doodle, Kuorum, Appgree 2 7 1 http://www.resilience.org/stories/2014-01-08/majority-voting-is-inadequate 2 http://vimeo.com/80561797

Computación como concepto distribuido Evolución de los sistemas distribuidos (SD) Soluciones para sincronización y coordinación. Tiempos lógicos Algoritmos distribuidos Soluciones técnicas a problemas de heterogeneidad y comunicación Middleware Servicios web 8

Service-Oriented Architecture (SOA) 9 Aproximación distribuida que mantiene el sistema construido sobre ella escalable y flexible Tres conceptos principales Servicios que representan funcionalidades independientes, combinables e implementables por cualquier tecnología sobre cualquier plataforma Enterprise Service Bus (ESB): Infraestructura para la combinación y distribución de servicios. Acoplamiento bajo (loose coupling): dependencias reducidas dentro del sistema

SOA vs Servicio Web Un servicio web no es SOA Sería simplemente la infraestructura sobre la que se puede apoyar la arquitectura SOA 10 Gartner, 2003. Service-Oriented Architecture Scenario. https://www.gartner.com/doc/391595/serviceoriented-architecture-scenario

SOA vs SD Un sistema distribuido no es SOA 11 SOA es un paradigma aplicable para la construcción de un SD Especialmente recomendado para un SD a gran escala Qué SD conoces que no sea SOA?

Características de un SD a gran escala Legado: ciclo de vida prolongado Mantenimiento como característica importante Heterogeneidad en distintos aspectos: Objetivos Tiempos de implementación Lenguajes/paradigmas de programación Plataformas/middleware Complejidad: no vale un arreglo rápido Cualquier cambio en un componente puede afectar a otros componentes 12

Características de un SD a gran escala (II) Propiedad: distintos propietarios Lo que implica distintos equipos, presupuestos, agendas, etc. Imperfección: el perfeccionismo es demasiado caro perfeccionismo=parálisis la mayoría de los sistemas tienen un 99% de corrección pero un 100% requeriría demasiado esfuerzo/coste Redundancia: accidental o controlada 13 En la práctica, tener todos los datos normalizados es difícil y puede penalizar el rendimiento considerablemente.

Historia A. Pasik, ingeniero en la consultora Gartner, acuñó el término SOA en 1994 Antes de que se inventara XML o los servicios web Razón: cliente/servidor había perdido su sentido 14 El cliente estaba ejecutando la representación y la mayoría de la lógica de negocio El servidor ejecutaba el manejo de la base de datos y parte de la lógica de negocio, y almacenaba los datos Es decir, cliente y servidor sólo definían el hardware, pues el software estaba repartido entre ambos. Para evitar la confusión con el viejo concepto de cliente/servidor, Pasik llama al nuevo modelo orientado a servicios.

Historia (II) SOA toma masa crítica con los Servicios Web (2000) Un servicio web no necesariamente cumple con SOA No todo SOA está basado en servicios web Pero ambos se influyen mutuamente Los servicios web llevan el concepto de SOA a más usuarios SOA ayuda a realizar servicios web más exitosos 15

Historia (III) Para 2005, SOA se ha convertido de alguna manera en un icono poco cuestionado There is way too much hype about it. The idea of services is not a means of abstraction. It is simply a mechanism for reaching into systems. You see organizations rushing to [implement] services, but they are really missing the fundamental engineering principles. In about 18 months, they will complain SOA doesn't work. They'll be blaming the wrong thing. They should be blaming their architectures and best practices. Se te ocurren otras críticas al modelo? 16 Grady Booch, 2006 1 1 http://gcn.com/articles/2006/07/12/grady-booch--avoid-the-stupid-soa-approach.aspx?page=1

Definición SOA es un paradigma (o concepto/filosofía) que busca mejorar la flexibilidad de un sistema Las definiciones varían pero estos dos aspectos (paradigma/flexibilidad) siempre están presentes 17 Esta definición es muy vaga, se complementa con los distintos actores a los que va dirigida, los roles que toman y los conceptos técnicos asociados

Actores Actuamos en sistemas distribuidos complejos Localización y uso de recursos distribuidos 18 Con distintos propietarios Dichos SD pueden estar bajo distintos dominios de propiedad Este es un punto importante que suele ignorarse y que es una de las razones por las que SOA no es sólo un concepto técnico Y heterogéneos La heterogeneidad es intrínseca a todo SD complejo moderno En vez de luchar contra ella (estándares), SOA la acepta como algo inherente e inevitable

19 https://xkcd.com/927/

Roles Proveedor: sistema que implementa un servicio Consumidor: sistema que invoca un servicio Participante: un proveedor o consumidor 20 A veces también se identifica un registro como el participante que publica el servicio [Purer10] [Purer10]

Conceptos técnicos Hay tres conceptos técnicos con los que trabaja SOA Servicio à funcionalidades Interoperabilidad à con buena conectividad Acoplamiento à pero baja dependencia 21

Servicios Representación informática de una funcionalidad Suficientemente abstracta para ser comprendida por el cliente y para ignorar detalles técnicos como la plataforma Más allá de esta definición, hay poco consenso, aunque cualquier funcionalidad independiente de un negocio puede considerarse un servicio Crear un cliente Transferir dinero Encender la radio 22 Calcular la mejor ruta para un viaje

Interoperabilidad y acoplamiento Alta interoperabilidad Capacidad para conectar sistemas fácilmente Bajo acoplamiento* Capacidad para minimizar dependencias entre sistemas Ayuda a mejorar la tolerancia a fallos y la flexibilidad Nos dirige hacia la escalabilidad Un modo de bajar el acoplamiento es la descentralización 23 * En inglés loose coupling. Loose literalmente significa flojo, suelto

Ingredientes Los conceptos anteriores no se pueden comprar o implementar directamente Es necesario hacer el trabajo duro de ocuparse de Infraestructura Arquitectura Procesos Gobierno (metaprocesos) 24

Infraestructura Parte técnica de SOA que permite la alta interoperabilidad Se conoce como Enterprise Service Bus (ESB) Responsabilidades Representación de datos Enrutamiento Seguridad y fiabilidad 25 Monitorización y autenticación

Arquitectura La A en SOA debe ser definida de manera específica para cada sistema Tipos de servicios Grado de desacoplamiento Interfaces de servicios Tecnología para la infraestructura Estándares utilizados 26

Procesos Business process modeling (BPM) Proceso de división las tareas de negocio en actividades independientes/atómicas, que serán los servicios Ciclos de vida de los servicios Proceso de definición de los distintos pasos que llevan a la implementación de un servicio Model-driven software development (MDSD) Proceso de generación de código para implementar servicios Gobierno: metaproceso de control de procesos y estrategia SOA Buscar el grupo de personas que reúna los ingredientes SOA A este equipo se le conoce como SOA competence center 27

SOA sólo es un paradigma alta interoperabilidad capacidad para conectar sistemas fácilmente bajo acoplamiento minimiza la dependencia entre sistemas servicios que se ofertan procesos, arquitectura e infraestructura de implantación mediante distintas tecnologías ESB técnica para garantizar la interoperabilidad 28

El grado de complejidad que introduce SOA sólo se recomienda en sistemas: distribuidos de gran escala con distintos propietarios En estos casos, SOA garantizará la escala, así como la flexibilidad y mantenimiento del sistema 29

SOA no es 30 No es una solución para todo Su importancia se ha sobreestimado y está de moda Implantarlo requiere esfuerzo Sólo está indicado en circunstancias muy especiales: sistemas distribuidos heterogéneos a gran escala con distintos propietarios No es un modelo de objetos distribuidos (e.g. CORBA) No ofrece acceso remoto a objetos en sistemas externos No requieren un modelo de objetos general en todo el sistema Lo cual no escala demasiado bien No es una tecnología específica No es un servicio web, sino un paradigma Los servicios web se están convirtiendo en el estándar de facto para implementar SOA, pero no es el único modo

SOA y Servicios Web 31 SOA no es un servicio web, pero los servicios web son un modo común de implementar SOA En particular SOAP (+WSDL y UDDI) [Purer10]

SOA y Servicios Web Servicios web clásicos basados en el paquete de protocolos WS* (1) Servicios web RESTful modernos 32 Hasta un 74% de los servicios web públicos (2011) [Mason11] Centrados en recursos (datos abstractos) con representaciones (instancias) en un determinado estado (valor) El servicio no se define como una invocación/respuesta tipo RPC (WS*) si no como el intercambio del estado de un recurso SOA à ROA (Resource Oriented Arquitecture) (1) Se conoce como WS* pues muchos de estos protocolos comienzan con WS (WS-Addressing, WS-Security, etc.)

The SOA Holy Grail Anyone working on enterprise systems in the last 10 years will remember the initial tenets of Service Orientated Architecture were to decouple applications and to provide a well defined service interface, which can be reused by applications and composed into business processes. The idea of reuse and composition made SOA an attractive proposition that sent thousands of organizations on a very challenging treasure hunt. We have since read SOA's obituary and its resurrection with many stories of woe peppered with some success, but with very few achieving the holy grail of SOA. Meanwhile, the web has essentially become a service oriented platform, where information and functionality is a available through an API; the Web succeeded where the enterprise largely failed. This success can be attributed to the fact that the web has been decentralized in its approach and has adopted less stringent technologies to become service oriented. 33 [Mason11]

Resumen 34 SOA es un paradigma para tratar con sistemas distribuidos a gran escala y bajo el control de distintos propietarios Los conceptos o principios clave son: servicios, alta interoperabilidad, bajo acoplamiento Los ingredientes clave son: infraestructura, arquitectura y procesos (incluyendo gobierno) Los factores clave para el éxito de una implantación SOA son: comprensión, gobierno, apoyo a la gestión y trabajo SOA no es una tecnología específica ni un comodín, no siempre es apropiada Los servicios web son un modo de implantar SOA, no el único pero sí uno que se está convirtiendo en estándar de facto.

Referencias 35 [Josuttis07] Nicolai M. Josuttis. SOA in practice. The Art of Distributed System Design. O Reilly, 2007. Ch 1/2. [Purer10] Klaus Purer. Web service composition in Drupal. Universidad de Viena, 2010 http://klau.si/sites/default/files/thesis-klausi.pdf [Booch06] Grady Booch. Avoid the stupid SOA aproach. GCN, 2006. http://gcn.com/articles/2006/07/12/grady-booch--avoid-the-stupid-soa-approach.aspx?page=1 [OASIS07] OASIS. Reference model for service oriented architectures. Commitee Draft 1.0, 2007 http://xml.coverpages.org/soa-rm-referencemodel200602-cd.pdf [Mason11] Ross Mason. How REST replaced SOAP on the web: what it means to you. InfoQ, 2011 http://www.infoq.com/articles/rest-soap

36