370 likes | 385 Views
Rodrigo Baráibar IBM Uruguay rbaraiba@uy.ibm.com. Arquitecturas Orientadas a Servicios Implicancias y caminos para adoptarlas. Agenda. Introducción Conceptos y Definiciones Detalle de nuevos conceptos que introducen las SOA – ESB y Coreografía de Servicios Vista de conjunto
E N D
Rodrigo Baráibar IBM Uruguay rbaraiba@uy.ibm.com Arquitecturas Orientadas a ServiciosImplicancias y caminos para adoptarlas
Agenda • Introducción • Conceptos y Definiciones • Detalle de nuevos conceptos que introducen las SOA – ESB y Coreografía de Servicios • Vista de conjunto • Recomendaciones para la adopción • Herramienta para analizar situación actual y definir Roadmap • SOAD – SOMA • Gobernabilidad SOA • Referencias • Preguntas
Necesidad de flexibilidad Flexibilidad del Negocio Procesos de Negocio Rentabilidad, Procesos de negocio, Tercerización, Regulaciones, Requiere IT Flexible Ambiente operacional On Demand Servicios SOA Arquitectura orientada a servicio (SOA) Desarrollo Infraestructura Gestión Desarrollo de software Gestión de la infraestructura Integración Fuente: IBM Business Value Institute 2005
Se busca flexibilidad... • Arquitectura de Aplicación de una compañía eléctrica
Definición - Servicio • Un servicio es una funcionalidad construida como un componente reusable para ser utilizado en uno o varios procesos de negocio • La forma de implementar un servicio no es importante, siempre y cuando: • responda al requerimiento • ofrezca la calidad de servicio deseada • Disponibilidad • Tiempo de respuesta • Seguridad • Gestión de excepciones • Desde la perspectiva de quien lo utiliza, es visto como una funcionalidad autocontenida
Definición - SOA Una Arquitectura Orientada a Servicios (SOA) es un marco para la construcción de aplicaciones, que toma procesos de negocio y los divide en funciones y procesos de negocio individuales, llamados servicios. Una SOA permite construir, implantar e integrar estos sercicios independientes de las aplicaciones y de las plataformas en donde éstos ejecutan.
JService Portlet WSRP B2B Otros Consumidor de Servicios Consumidores Procesos de Negocio Coreografía de Procesos Servicios Atómicos y Compuestos Calidad de servicio, Seguridad, Gestión, y Monitoreo e infraestructura Integración (Enterprise Service Bus) Gobernabilidad Arquitectura de Datos e Inteligencia de negocios Proveedor de Servicios Componentes de Servicios Paquetes Aplicaciones a medida Aplicación OO Sistemas Operacionales Servicio Compuesto Servicio Atómico Registro Modelo de referencia SOA – Vista de Solución
SOA y Web services - Confusión? SOA = Componentización = Flexibilidad = Bueno Web services = Estandarización = Interoperabilidad = Bueno Ambos = Optimo
Enterprise Service Bus Servicios de mediación Ruteo, Transformación, Búsqueda, Codificación, Validaciones, Mapeos, … Servicios de eventos Publish and Subscribe, … Servicios de transporte Sincrónico/Asincrónico, Persistencia, Protocolos y estándares, .. Servicios de seguridad Autenticación, Autorización, Confidencialidad, … Calidad de servicio Transacciones, Prioridades, Garantía de entrega, … Niveles de servicio Performance, Disponibilidad, … Servicios de administración Logueo, Billing, Monitoreo, … • Es un patrón de arquitectura • Infraestructura común para invocaciones, mensajes y eventos • Intermediario de los requerimientos y respuestas de los servicios
Permite automatizar la ejecución de un proceso de negocio La ejecución de cada tarea individual se realiza invocando a servicios externos al motor de procesos Se separa la lógica del proceso de la lógica del servicio Motor de procesos – Coreografía de servicios
BPEL – A alto nivel • Documento XML que describe cómo se combinan los servicios para brindar un servicio de mayor nivel de abstracción • Desacoplamiento entre • Creación • Ejecución
Servicios de Desarrollo Servicio de Optimización & Innovación del Negocio Servicios de Interacción Servicios de Procesos Servicios de Información Portal Consultas federadas Enterprise Service Bus Acceso DB Administrador de Comunidades Aplicaciones Adaptador Adaptador Acceso DB Servicios de Terceros Servicios de aplicaciones Recursos de Apl. & Info Administración de servicios IT Una arquitectura de referencia para integración de negocios Business Dashboard Innovacion del Negocio & Optimizacion mejoran las aplicacionnes compuestas Impacto IT en los procesos
Recomendaciones para la Adopción • Formar un grupo responsable de la integración de aplicaciones y de procesos • Encarar un proyecto de adopción de SOA en forma conjunta entre la línea de negocio e IT • Hacer un relevamiento de la situación actual y situación deseada desde el punto de vista de SOA • Tener un entendimiento de la problemática de integración de la organización (Negocio y Tecnología) • Identificar y produndizar en las técnicas y tecnologías disponibles • Definir los principios, guías y estándares tecnológicos • Construir y acordar un roadmap • Realizar una implementación gradual • Evitar el “Big Bang” • Implementar pilotos • Evitar o minimizar las comunicaciones punto a punto • SOA no es una solución para todo
Recomendaciones para la Adopción (cont.) • Evaluar nuevas metodologías de análisis, diseño, modelado • Definir procesos y organización de Gobierno de SOA • Partir de los procesos de negocio para la definición de los servicios • Administrar un catálogo de servicios • Seguir estándares • Definir un plan de transición claro • Invertir en capacitación
Identificar la situación actual y el camino a seguirSIMM – Service Integration Maturity Model
SIMM consiste en 3 elementos principales • Modelo de madurez y las descripciones correspondientes para asistir en el asesoramiento de un subset de la organización. Este subset puede ser una aplicación, un conjunto de aplicaciones en una misma línea de negocio o la organización entera. • El proceso de SIMM provee una guía de cómo utilizar SIMM y cómo migrar a niveles superires de madurez de integración Roadmap • Framework de criterios que consiste en un conjunto de dominios, criterios y atributos que permitan ayudar a crear las matrices que se usarán en la recolección de datos
Modelo de Madurez de Integración de Servicios (SIMM) Silo Monolítica Integrada Componentizada Servicios Servicios Compuestos Servicios Virtualizados Servicios Reconfigurados Dinámicamente Orientada a Servicios Orientada a la funcionalidad Orientada a la funcionalidad Orientada a Servicios Orientada a Servicios Orientada a Servicios Visión de Negocio de IT Orientada a la funcionalidad Modelo orientado a objetos Modelado orientado a Servicios Análisis y diseño estructurado Modelado orientado a Servicios Modelado orientado a Gramáticas Metodología Desarrollo orientado a componentes Modelado orientado a Servicios Objetos Procesos Módulos Servicios Integración de Dinpamica de Aplicaciones Componentes Procesos Aplicaciones En capas SOA Emergente Dinámicamente Reconfigurable Componentes SOA Arquitectura Monolítica SOA basado en Grid Computing Específica de la plataforma Específica de la plataforma Específica de la plataforma Específica de la plataforma Detección y respuesta dinámica Infraestructura Específica de la plataforma Tecnológicamente Neutro Nivel 1 Nivel 4 Nivel 5 Nivel 2 Nivel 3 Nivel 6 Nivel 7
Análisis y Diseño Orientado a Servicios (SOAD)SOMA – Service Oriented Modeling and Architecture
Flexibilidad e implementación Flexibilidad del Negocio Procesos de Negocio Rentabilidad, Procesos de negocio, Tercerización, Regulaciones, Requiere SOAD IT Flexible Ambiente operacional On Demand Servicios SOA Arquitectura orientada a servicio (SOA) Desarrollo Infraestructura Gestión Desarrollo de software Gestión de la infraestructura Integración Fuente: IBM Business Value Institute 2005
SOMA es una metodología de IBM para SOADLas actividades de SOMA se agrupan en 3 pasos principales Consumidor de Servicios << Se alimenta del análisis de Requerimientos de negocio >> JService Portlet WSRP B2B Otros Consumidores Identificación De Servicios y Flujos Candidatos Procesos de Negocio Coreografía de Procesos Proveedor de Servicios Especificación de Servicios, Componentes, y Flujos Integración (Enterprise Service Bus Approach) Servicios Atómicos y compuestos QoS, Seguridad, Gestión, y Servicios de Monitoreo de Infraestructura Arquitectura de Datos e Inteligencia de Negocios Realización Decisiones Componentes de Servicios Aplicaciones a medida Aplicaciones OO Sistemas Operacionales Paquetes << Salida a: Implementación SOA >> Servicio Compuesto Servicios Atómicos Registro
Elementos de modelado en SOA Procesos de negocio (Flujos) Servicios Atómicos y Compuestos Componentes de Servicios SOMA fué creado para específicamente modelar estos tres elementos (análisis, identificación y especificación).
Cada paso en SOMA es llevado a cabo por una o más técnicas complementarias Qué hacemos? Identificación De Servicios y Flujos Candidatos Cómo lo hacemos? Especificación de Servicios, Componentes, y Flujos Descomposición de Dominio Goal-Service Modeling Análisis de Activos Existentes Decisiones de Realización Especificación de flujos de componentes • El primer paso de SOMA identifica servicios y flujos candidatos. • El segundo paso de SOMA selecciona y especifica los servicios que se expondrán y los componentes de servicios que los realicen. • El tercer paso de SOMA captura las decisiones de realización (concurrentemente con los pasos anteriores). Especificación de flujos de servicios Análisis de subsistemas Especificación de servicios Especificación de Componentes Especificación de mensajes y eventos Especificación de Información Decisiones de realización Alocación de servicios a componentes Exploración de factibilidad técnica component layering
Sin un proceso de gobernabilidad SOA adecuado Esto se puede convertir … en esto Un desorden de servicios La promesa de SOA … perdiendo los beneficios prometidos de SOA
¿Qué es el gobierno de IT? Establecer los derechos de toma de decisión asociados con IT Establecer los mecanismos y políticas utilizados para medir y controlar la manera como se toman e implementan las decisiones ¿Qué es la gobernabilidad SOA? Extensión del gobierno de IT enfocado en el ciclo de vida de los servicios para garantizar el valor de negocio de SOA Las estructuras de gobierno SOA extienden los conceptos tradicionales de gobierno de IT ¿Qué es gobernabilidad? Establecer las cadenas de responsabilidad, autoridad y comunicación para dar poder a las personas (derechos de decisión) Establecer políticas, medidas y mecanismos de control para habilitar a las personas para que puedan cumplir con sus responsabilidades
Los beneficios de utilizar una gobernabilidad SOA para el proyecto incluyen mejoras en comunicación, alinear negocio con IT y control de la operación • Ciclo de vida del servicio • Definición de servicios, incluyendo el alcance, interfaz y fronteras funcionales • Identificación, homologación y gerencia de las etapas del ciclo de vida • Migración de servicios, incluyendo descontinuación y salida de servicio • Comunicar e interdependencias de servicios • Versiones de servicios, incluyendo compatibilidad • Registros y repositorios de servicios, incluyendo dependencias • Modelo de mensajes de servicios, incluyendo modelos canónicos de datos • Propiedad y responsabilidad del servicio, incluyendo la organización corporativa • Control del ambiente de ejecución • Monitoreo de servicios, incluyendo determinación de problemas • Pruebas de servicios, incluyendo pruebas de duplicidad • Seguridad de servicios, incluyendo rangos aceptables de protección
Ciclo de vida de la gobernabilidad SOA permite implementar un mecanismo de mejora continua para el desarrollo del proyecto Definir el enfoque de gobernabilidad • Definir/modificar los procesos de gobernabilidad • Diseñar políticas y mecanismos de control • Identificar factores de éxito, métricas • Identificar dueños y modelo de costos • Planear/refinar el Centro de Excelencia de SOA • Diseñar la infraestructura de gobernabilidad IT Establecer la necesidad de gobernabilidad • Documentar y validar la estrategia de negocio que será apoyada por SOA e IT • Evaluar las capacidades SOA e IT • Definir/Refinar la visión y estrategia SOA • Validar las capacidades y acuerdos de gobernabilidad • Detallar el plan de gobernabilidad Habilitar el proceso incrementalmente • Desplegar los mecanismos de gobierno • Desplegar la infraestructura de gobierno IT • Educar y desplegar en comportamientos y prácticas esperadas • Implementar las políticas Monitorear y controlar el proceso • Monitorear el seguimiento de políticas • Monitorear la adhesión a los acuerdos de gobernabilidad • Monitorear las métricas de efectividad de IT
Más información • http://www.ibm.com/soa • http://www.redbooks.ibm.com • Developer Works • http://www-128.ibm.com/developerworks • SOA y WebServices en Developer Works • http://www-128.ibm.com/developerworks/webservices
¿Preguntas? Recuerden completar la encuesta, muchas gracias Rodrigo Baráibar rbaraiba@uy.ibm.com