Post on 21-Dec-2015
description
Syllabus
• Objetivos y Beneficios Estratégicos
• Términos y Conceptos Fundamentales
• Ciclo de Vida del Delivery de Servicios
• Requerimientos e Impacto para la Adopción
• Introducción a Tecnologías y Plataformas Relacionadas
IR Consultores 2
Los Siete Objetivos Estratégicos de la Computación Orientada a
Servicios
• Incremento de la Interoperabilidad Intrínseca
• Incremento de la Federación
• Incremento de la Opción de Diversificación de Vendors
• Incremento del Alineamiento del Negocio y Tecnología
• Incremento del Retorno de la Inversión
• Incremento de la Agilidad de la Organización
• Reducción de la Carga de TI
IR Consultores 4
Objetivos Estratégicos y Objetivos Tácticos
• Todos los objetivos son estratégicos en naturaleza debido a que proveen beneficios a largo plazo para la TI de la empresa.
• De otro lado, los objetivos tácticos están enfocadas en cumplir requerimientos inmediatos en el corto plazo.
• La naturaleza estratégica de la computación orientada a servicios es una de sus características distintivas.
• Esto contrasta con la naturaleza más táctica del desarrollo de aplicaciones tradicional basado en silos
IR Consultores 6
Incremento de la Interoperabilidad Intrínseca
• La interoperabilidad representa la habilidad que tienen los programas de software para interactuar e intercambiar datos.
• La integración representa el esfuerzo necesario para conseguir interoperabilidad entre programas de software.
• Un esfuerzo de integración es usualmente necesario cuando los programas de software no son compatibles y por lo tanto no son interoperables.
IR Consultores 7
Incremento de la Interoperabilidad Intrínseca
• Un objetivo de la orientación a servicios es establecer interoperabilidad nativa o intrínseca entre servicios para reducir la necesidad de integración.
• Esto significa que los servicios son diseñados para ser compatibles e interoperables, independientemente de cuando y por quien fueron desarrollados.
• Como resultado, la integración como un concepto empieza a debilitarse cuando la orientación a servicios es ampliamente aplicada porque la interoperabilidad intrínseca entre servicios viene a ser una norma.
IR Consultores 8
Incremento de la Federación
• Federación es la unificación de entornos diferentes permitiendo que estos entornos sean gobernados independientemente.
• SOA conduce al establecimiento de una perspectiva federada en una organización a través del despliegue de servicios estandarizados y ensamblables.
• Cada servicio establece una interface técnica estandarizada o endpoint que representa un segmento de la empresa expresada de una manera consistente.
IR Consultores 10
Incremento de la Federación
IR Consultores 11
Tres contratos deservicio expresanuna capa deservicios federaday estandarizada
Individualmentecada servicioencapsula undiferente sistema
Incremento de la Opción de Diversificación de Vendors
• La diversificación de vendors representa la opción de remplazar o extender partes de una empresa con nuevas tecnologías y productos de vendors.
• Esto puede conseguirse por diseñar SOA de manera alineada pero también neutral a plataformas de vendors y por posicionar los servicios como endpoints estandarizados de forma que los detalles de la implementación propietaria puedan ser abstraídos.
• La diversificación de vendors no es siempre deseable pero es importante tener la opción de diversificarse cuando sea necesario.
IR Consultores 12
Incremento del Alineamiento del Negocio y
la Tecnología
• El alineamiento de los negocios y la tecnología representa la medida de exactitud en la que los sistemas automatizados y la TI de la empresa puedan reflejar el negocio y evolucionar con el.
• El incremento de el alineamiento de los negocios y la tecnología puede ser conseguido mediante la colaboración de los expertos del negocio y la tecnología durante las fases de análisis y modelado.
• La computación orientada a servicios introduce un paradigma de diseño que promueve la abstracción y el encapsulamiento y expresión precisa de la lógica de negocios.
IR Consultores 14
Incremento del Alineamiento del Negocio y
la Tecnología
• Uno de los medios fundamentales de posibilitar el alineamiento de negocios y tecnología es a través de la definición y creación de servicios de negocio.
• Al aplicar las prácticas de análisis y diseño orientado a servicios, la lógica de negocios puede ser dividida en servicios de negocio flexibles que pueden ser repetidamente mejorados y combinados para responder continuamente a los cambios de negocio.
• Este objetivo estratégico es también conocido como Incremento del Alineamiento del Dominio de Negocios y Tecnología.
IR Consultores 15
Incremento del ROI
• El retorno de la inversión representa el valor tangible y el ahorro en costos que alguna cosa genera cuando se compara con el costo de producirla y gobernarla.
• La computación orientada a servicios fomenta la creación de lógica de solución agnóstica, esto significa que es agnóstica a un solo propósito particular y por lo tanto es multipropósito.
• Técnicas de diseño que se originaron con diseños de productos comerciales son aplicados para convertir lógica agnóstica en lógica altamente reusable capaz de aprovechar la interoperabilidad intrínseca para proveer un incremento del ROI
IR Consultores 17
Incremento de la Agilidad de la Organización
• La agilidad es comparable a una rápida respuesta.
• Cuando se tiene la capacidad de respuesta rápida se puede reaccionar y adaptar para cambiar más eficientemente y efectivamente
• Los servicios agnósticos vienen a ser activos reusables de TI que pueden ser repetidamente compuestos en diferentes configuraciones
• Una vez que una colección de servicios agnósticos maduros está disponible, el tiempo y esfuerzo requerido para realizar cambios o cumplir nuevos requerimientos de negocio es grandemente reducido.
IR Consultores 19
Reducción de la Carga de TI
La aplicación consistente de la orientación a servicios resulta en una TI con:
• Reducido desperdicio y redundancia
• Menor tamaño y costo operacional
• Reducido overhead asociado con su gobierno y evolución
Una TI con estas características puede beneficiar a una organización a través del incremento en la rapidez de respuesta y efectividad en costos
IR Consultores 21
Arquitectura Orientada a Servicios
• La arquitectura orientada a servicios representa un modelo arquitectural que tiene como objetivo mejorar la agilidad y efectividad en costos de una empresa mientras reduce la carga de TI.
• Esto se cumple mediante el posicionamiento de los servicios como el medio principal a través del que la lógica es representada.
• SOA soporta orientación a servicios en la realización de los objetivos estratégicos asociados con la computación orientada a servicios.
IR Consultores 24
Arquitectura Orientada a Servicios
Otra definición:SOA es un modelo de arquitectura tecnológica distribuida con diversas características que soportan la realización de orientación a servicios.
Las características fundamentales de SOA son:
• Es conducida por el negocio
• Es neutral a los vendors
• Es centrada en la empresa
• Es centrada en la composición
IR Consultores 25
Conducida por el Negocio
• Las arquitecturas tecnológicas tradicionales son frecuentemente desarrolladas en alineamiento con el estado actual de un negocio, pero no son capaces de mantenerse alineados con la forma como los negocios se desarrollan.
• Cuanto más fuera de sincronía están el negocio y la tecnología, el cumplimiento de los requerimientos de negocio más disminuye.
• A veces esto sucede hasta el punto en que una nueva arquitectura tecnológica completa es requerida.
IR Consultores 26
Con el tiempo el alcance y contexto de una arquitectura tecnológica resultan incapaces de albergar el desarrollo de los negocios en las direcciones en que son necesarias.
Esto eventualmente resulta en la necesidad de remplazar la arquitecturaIR Consultores 27
Conducida por el Negocio
Con la aplicación de una estrategia conducida por el negocio, la arquitectura tecnológica puede mantenerse en constante sincronía con la forma en la que los negocios se desarrollan a lo largo del tiempo.
IR Consultores 28
Conducida por el Negocio
Arquitecturas tecnológicas centradas en vendors están generalmente limitadas al roadmap de su plataforma
Esto reduce las opciones de aprovechar las nuevas tecnologías provistas por plataformas de otros vendors y pueden llevar a la necesidad de remplazar la implementaciónIR Consultores 29
Neutral a los Vendors
Si el modelo de arquitectura es diseñado para ser neutral a cualquier plataforma de vendors, se tiene la libertad de diversificar su implementación y aprovechar las múltiples innovaciones tecnológicas que otros vendors ofrecen.
Esto aumenta la longevidad de la arquitectura y su posibilidad de desarrollarse en respuesta a los cambios de requerimientos del negocio.IR Consultores 30
Neutral a los Vendors
• Una arquitectura tecnológica orientada a servicios debe ser centrada en la empresa en soporte de servicios agnósticos que son reusados participando en la automatización de diferentes tareas y procesos de negocios por lo tanto debe cumplir con requerimientos de arquitectura específicos.
IR Consultores 31
Centrada en la Empresa
• Una arquitectura tecnológica orientada a servicios debe ser centrada en la composición en soporte de servicios que puedan ser usados en una variedad de diferentes composiciones.
• A diferencia de paradigmas previos de computación distribuida, SOA enfatiza el diseño de programas de software no sólo como recursos reusables sino como recursos flexibles que formen parte de diferentes estructuras de soluciones orientadas a servicios
IR Consultores 34
Centrada en la Composición
Consideraciones para la arquitectura de un inventario de servicios
IR Consultores 37
Arquitectura Orientada a Servicios
La orientación a servicios es un paradigma de diseño que conduce a la creación de unidades de lógica de solución que son individualmente formados de manera que puedan ser colectivamente y repetidamente utilizadas en apoyo del cumplimiento de un conjunto específico de objetivos estratégicos y beneficios asociados con SOA y computación orientada a servicios.
La lógica de solución diseñada en conformidad con orientación a servicios puede ser calificado como orientada a servicios y las unidades de lógica de solución orientada a servicios son conocidos como servicios.
IR Consultores 38
Orientación a Servicios
• La orientación a servicios es la propuesta de diseño (o paradigma de diseño) usado para construir soluciones orientadas a servicios.
• La aplicación de orientación a servicios resulta en la creación de características de diseño específicas, todas las cuales favorecen el logro de los objetivos asociados con la computación orientada a servicios.
• La orientación a servicios consta de una serie de principios de diseño que colectivamente establecen estas características de diseño.
• Entender la orientación a servicios es necesario para construir soluciones orientadas a servicios.
IR Consultores 39
Orientación a Servicios
La aplicación de orientación a servicios es fundamental para conseguir los objetivos y beneficios estratégicos asociados con la computación orientada a servicios
La aplicación de orientación a servicios impacta los cuatro tipos de arquitectura orientada a servicios.
IR Consultores 42
Orientación a Servicios
• Un servicio es la unidad fundamental de lógica orientada a servicios.
• Una unidad de lógica de solución es clasificada como un servicio cuando la orientación a servicios ha sido aplicada en una medida significativa.
• Las soluciones orientadas a servicios son generalmente comprendidas de múltiples servicios que forman una composición de servicios.
IR Consultores 43
Servicios
• Los servicios son los bloques de construcción básicos de una plataforma de computación orientada a servicios.
• Los servicios son diseñados de una manera muy específica, según el enfoque de diseño de orientación a servicios.
• Los servicios son entregados de acuerdo a un ciclo de vida específico llamado Service Delivery Lifecycle.
• Debido a la naturaleza centrada en la empresa de la orientación a servicios y SOA, los servicios pueden ser clasificados como recursos de la empresa.
IR Consultores 44
Servicios
Entre los puntos comunes de diseño de servicios tenemos:
• Granularidad
• Diseño de contratos
• Diseño agnóstico vs. diseño no agnóstico
• Encapsulamiento de sistemas heredados
• Seguridad
• Gobierno
IR Consultores 45
Servicios
Un objetivo primordial de la orientación a servicios es el de producir la mayoría de servicios con un contexto funcional agnóstico
IR Consultores 46
Servicios Agnósticos
• Un contrato de servicio expresa meta información acerca de un servicio y establece los términos del contrato (los requerimientos para la invocación e interacción con el servicio) .
• Para que un consumidor de servicios pueda acceder e interactuar con un servicio, este debe cumplir con los requerimientos del contrato de servicio.
• La parte fundamental de un contrato de servicio es su interface técnica, la que constituye el technical service contract.
IR Consultores 47
Contratos de Servicio
• Un contrato de servicio puede ser además constituido por documentos legibles por humanos, tal como un Service Level Agreement (SLA o Acuerdos de Niveles de Servicio) que describen características adicionales de calidad del servicio, comportamiento y limitaciones.
• La manera en que los servicios son diseñados y como existen físicamente depende de la tecnología de implementación usada para construir el servicio.
IR Consultores 48
Contratos de Servicio
• Dentro de la orientación a servicios, el diseño y estandarización del contrato de servicio es de suma importancia, al punto que existe un principio de diseño dedicado a la definición estandarizada de contratos llamado Estandarización de Contratos de Servicio.
• La creación de contratos de servicio estandarizados es un requerimiento clave para lograr las metas estratégicas de incremento de la federación e incremento de la interoperabilidad intrínseca.
IR Consultores 49
Contratos de Servicio
• Cuando un programa invoca e interactúa con un servicio es calificado como consumidor de servicio.
• Este termino se refiere al rol temporal en tiempo de ejecución asumido por un programa en el momento en que este está participando en un intercambio de datos con un servicio.
• Un consumidor de servicio puede o no ser otro servicio.
• La habilidad de un servicio de invocar (consumir) a otro servicio forma la base de la composición de servicios.
IR Consultores 50
Consumidores de Servicio
Cualquier programa de software capaz de invocar e interactuar con un servicio puede ser considerado un consumidor de servicio.
IR Consultores 51
Consumidores de Servicio
• Estas funciones son conocidas como capacidades de servicio hasta que son posteriormente construidas
• Por ejemplo una capacidad de servicio puede ser referida como una operación una vez que el servicio ha sido construido como un servicio web
IR Consultores 52
Capacidades de Servicio
• Cada servicio es asignado a su propio y diferente contexto funcional y esta compuesto de un conjunto de funciones relacionadas a este contexto.
• Un servicio puede tener una o más capacidades.
• Las capacidades de un servicio pueden ser expresadas en un contrato de servicio.
• Un consumidor de servicio frecuentemente invocará una capacidad específica, lo que significa que el consumidor sólo invocará un subconjunto de la funcionalidad que un servicio ofrece
• El término capacidad de servicio es comúnmente usado en la etapa de modelado de servicios.
• La funcionalidad asociada con una capacidad determinada puede variar en su alcance.
IR Consultores 53
Capacidades de Servicio
• Una composición de servicios es un conjunto de servicios colectivamente integrados para automatizar una particular tarea o proceso de negocios.
• Para ser considerada una composición, es necesario contar al menos con dos servicios participantes más un iniciador de la composición. De no ser así la interacción de los servicios sólo representa un intercambio punto a punto.
IR Consultores 54
Composición de Servicios
• La composición de servicios es muy importante para el éxito de una iniciativa SOA porque los beneficios estratégicos de incremento del ROI e incremento de la agilidad de la organización dependen de la habilidad para componer y recomponer servicios.
• Para lograr estos objetivos se requiere que los servicios sean diseñados con la habilidad inherente de ser miembros efectivos de composición. Mucha de la orientación a servicios es dirigida hacia lograr este objetivo de diseño.
IR Consultores 55
Composición de Servicios
• La composición depende de la habilidad de los servicios para consumir a otros
• En esta figura el servicio A esta actuando como un consumidor de los servicios B, C y D
IR Consultores 56
Composición de Servicios
Entre los puntos comunes de diseño de composición de servicios tenemos:
• Manejo de estado de actividad en tiempo de ejecución
• Transacciones cross-servicios
• Intercambio confiable de datos
• Requerimientos de seguridad
• Evitar la transformación
• Demandas de performance
IR Consultores 57
Composición de Servicios
Cualquier pieza de lógica de solución a la que se ha aplicado orientación a servicios en una medida significativa es considerada orientada a servicios.
Un servicio representa la unidad fundamental de lógica de solución orientada a servicios.
IR Consultores 58
Lógica de Solución Orientada a Servicios
• Existen dos tipos básicos de lógica de solución orientada a servicios: servicios y composición de servicios.
• Una solución orientada a servicios abarca una o más composiciones de servicios porque esta solución representa una pieza de lógica capaz de llevar a cabo una o más tareas o procesos de negocio relacionados.
• De otro lado, la solución más simple orientada a servicios puede consistir de sólo un servicio.
IR Consultores 59
Lógica de Solución Orientada a Servicios
• Un inventario de servicios es una colección de servicios complementarios independientemente estandarizados y gobernados dentro de un límite que representa una empresa en su totalidad o bien un segmento significativo de una empresa.
• Cuando una organización tiene múltiples inventarios de servicios, cada inventario recibe el nombre de inventario de servicios de dominio.
IR Consultores 60
Inventario de Servicios
• Idealmente todos los servicios son creados como parte del mismo inventario de servicios de la empresa.
• En grandes organizaciones, la estandarización a lo largo de toda la empresa puede ser muy difícil de obtener. En este caso puede ser necesario construir inventarios de servicios de dominio.
• Modelos de inventarios de servicio son generalmente definidos anticipadamente al inicio de la fase de análisis
• Parte de esta fase de análisis es enfocada en evitar la redundancia de lógica entre servicios de un inventario en un esfuerzo por obtener la normalización de servicios.IR Consultores 61
Inventario de Servicios
Múltiples inventarios de servicios pueden ser creados para una empresa.
El alcance de cada uno representa un bien definido dominio de la empresa frecuentemente asociado a un dominio de negocio.
Dentro de cada dominio, los inventarios de servicios se estandarizan y gobiernan independientemente.IR Consultores 62
Inventario de Servicios de Dominio
Un inventario de servicios conteniendo servicios con límites funcionales superpuestos introduce desnormalización.Los servicios pueden ser modelados colectivamente de forma que cada límite de servicio es planificado para asegurar que no se superpone con otros servicios.El resultado es un inventario de servicios con un alto grado de normalización funcional.
IR Consultores 63
Inventarios de Servicios Normalizados
En un inventario los servicios son clasificados usando modelos de servicio y organizados en capas lógicas de servicios.
IR Consultores 64
Modelos de Servicios y Capas de Servicios
El diseño de un inventario de servicios comúnmente
incluye:
• Ambito y límites
• Estandarización de servicios
• Escalabilidad
• Plataformas de ejecución
• Infraestructura
• Gobierno
IR Consultores 65
Inventario de Servicios
• Los objetivos estratégicos y beneficios de la computación orientada a servicios son realizados dentro de los límites de un inventario de servicios.
• La dinámica fundamental que un inventario de servicios debe soportar es la composición y recomposición de servicios.
• Para conseguir esto el inventario mismo debe ser soportado por tecnologías, plataformas e infraestructuras adecuadas.
IR Consultores 66
Inventario de Servicios
• Los servicios agnósticos en un inventario de servicios están constantemente disponibles para repetidas composiciones.
IR Consultores 67
La Recomposición Dinámica
• La computación orientada a servicios es un término general usado para representar una plataforma de computación distribuida basada en la orientación a servicios. Esencialmente se trata de un tipo especializado de computación distribuida.
• Como tal, esta comprende muchas cosas, incluyendo su propio paradigma de diseño y principios de diseño, catálogos de patrones de diseño, lenguajes de patrones, un modelo arquitectural diferente y conceptos, tecnologías y frameworks relacionados.
• También incluye lo relevante a productos de vendors, tecnologías open source, estándares, etc.
IR Consultores 68
Computación Orientada a Servicios
La computación orientada a servicios esencialmente representa un tipo especializado de computación distribuida.
Los elementos individuales de la computación orientada a servicios son aplicados colectivamente en la consecución de objetivos y beneficios estratégicos
IR Consultores 69
Computación Orientada a Servicios
Previo al comienzo de una iniciativa SOA, un enfoque de delivery del proyecto necesita ser elegido para organizar mejor todo el ciclo de vida del delivery .
Existen tres enfoques comunes:• Top-down• Bottom-up• Agile (o meet-in-the-middle)
En estos, alguna medida de enfoque top-down es usualmente requerido para poder incorporar niveles significativos de análisis de servicios y de inventarios de servicios.
IR Consultores 72
Delivery de Proyectos SOA
• Análisis Orientado a Servicios
• Modelado de Servicios
• Diseño Orientado a Servicios
• Desarrollo de Servicios
• Implementación de Servicios
Posteriormente a estas fases continúan las propias al gobierno de servicios.
IR Consultores 73
Fases Principales del Ciclo de Vida de Delivery de Servicios
El análisis del inventario de servicios como parte del enfoque top-down consiste de un ciclo iterativo durante el cual el modelo de inventario de servicio es incrementalmente definido como resultado de sucesivas iteraciones de pasos que incluyen el análisis orientado a servicios.
IR Consultores 74
Ciclo de Análisis de Inventario de Servicios
• SOA hace énfasis en una relación directa entre el análisis de inteligencia de negocios y los servicios que finalmente representan e implementan la lógica de negocios.
• Esto resulta en el requerimiento de una única forma de análisis que necesita ser completada antes del diseño de servicios individuales.
• El análisis orientado a servicios establece un proceso a través del cual la orientación a servicios es aplicada a la lógica de la automatización de negocios y a los requerimientos.
IR Consultores 75
Análisis Orientado a Servicios
El modelado de servicios es la parte de la fase de análisis en la que los servicios y sus capacidades son conceptualizados previamente a su definición y desarrollo físico real.
Los servicios conceptualizados son llamados servicios candidatos
IR Consultores 76
Modelado de Servicios
• Gran parte del modelado de servicio está enfocado en la encapsulación y abstracción de lógica de negocios.
• El concepto de servicio de negocios necesita ser entendido y requiere de colaboración cercana entre los profesionales de tecnología y negocios.
• La naturaleza iterativa del análisis orientado a servicios permite que los servicios de negocio candidatos sean continuamente refinados antes de la fase de diseño.
• Quienes participan en el modelado de servicios con frecuencia terminan involucrados en el eventual gobierno de servicios.IR Consultores 77
Enfoque Centrado en el Negocio
El diseño orientado a servicios continúa desde el punto donde el análisis orientado a servicios termina.
Existe un proceso de diseño orientado a servicios para cada modelo de servicios.
Los servicios candidatos son el punto de entrada para estos procesos.
IR Consultores 78
Proceso de Diseño Orientado a Servicios
La orientación a servicios pone énfasis en estandarizar y desacoplar el contrato técnico de cada servicio.
El diseño por lo tanto es basado en un enfoque de primero el contrato evitando los desarrolladores el uso herramientas de auto generación
IR Consultores 79
Diseño – Primero el Contrato
Uno de los objetivos principales del diseño orientado a servicios. Es el evitar el uso de tecnologías de transformación en soporte del fomento de la interoperabilidad intrínseca.
Esto se apoya fuertemente en la estandarización de los contratos de servicio.
IR Consultores 80
Evitamiento de Transformación
El gobierno puede incluir muchas cosas, sin embargo desde una perspectiva de delivery, la eventual carga que requiere la fase de gobierno de servicios es una consideración primaria.
Como una regla general, aplica lo siguiente:
• El análisis inicial como parte de un esfuerzo top-down, está enfocado en la creación de un inventario de servicios estandarizados, resultando en una reducción de la carga en la fase de gobierno.
• El enfoque bottom-up resulta en menos impacto inicial, pues no se realiza un análisis de inventario, en cambio posterga la carga e impacto a la fase de gobierno.
IR Consultores 81
Gobierno del Inventario de Servicios
IR Consultores 82
Gobierno del Inventario de Servicios
Cada estrategia tiene sus ventajas y desventajas.
La clave es siempre tomar en cuenta la carga de gobierno cuando se elige un enfoque.
Principales requerimientos e impactos:
• Consideraciones de Estandarización• Consideraciones Organizacionales• Consideraciones de Gobierno• Consideraciones de Infraestructura• Consideraciones de Madurez• Consideraciones de Migración
Varias de estas consideraciones están interrelacionadas
IR Consultores 84
Requerimientos e Impactos de Adopción
• Los estándares de la industria son generalmente representados por especificaciones de tecnología que son producidas por organizaciones de estándares y desarrolladas por comités técnicos.
• WSDL, SOAP, WS-Addresing y WS-Policy son ejemplos de estándares de la industria relacionados con la construcción de servicios como Servicios Web.
• XML y XML Schema son ejemplos de estándares de la industria usados para representar y expresar la data intercambiada por los servicios.
IR Consultores 85
Consideraciones de
Estandarización
• Los estándares de la industria ayudan a las tecnologías estandarizadas para hacer posible modelos de arquitectura orientados a servicios neutrales a las de los proveedores.
• Sin embargo, el sólo uso de los estándares de la industria no resulta en cabales implementaciones de SOA estandarizadas.
• Es necesaria la aplicación de estándares de diseño (o estándares de diseño personalizados) para conseguir el nivel de estandarización requerido para alcanzar los objetivos de la computación orientada a servicios.
IR Consultores 86
Consideraciones de
Estandarización
• Los estándares de diseño proporcionan convenciones específicas de diseño personalizadas para una empresa o un dominio o segmento de una empresa .
• Por ejemplo, los estándares de diseño determinarán cuales estándares de la industria (y que versiones de estos estándares) serán usados.
• Los estándares de diseño son producidos por un departamento de TI (en cambio los estándares de la industria son producidos por comités técnicos).
IR Consultores 87
Consideraciones de
Estandarización
La estandari -zación de modelos de datos dentro de los límites de un inventario de servicios es una parte primordial del esfuerzo general de estandariza - ción.IR Consultores 88
Consideraciones de
Estandarización
• La estandarización del diseño de contratos de servicio resulta en el evitamiento o reducción de los requerimientos de transformación.
• Los retos para lograr la estandarización del diseño son frecuentemente más culturales que técnicos.
• El cumplimiento de los estándares de diseño es frecuentemente un punto de conflicto.
• Algunas veces son necesarias algunas medidas tales como hacer del cumplimiento de estándares parte de las normas obligatorias.
IR Consultores 89
Consideraciones de
Estandarización
Las iniciativas de SOA pueden introducir muchas nuevas consideraciones que pueden impactar la conformación de una organización en una variedad de formas tales como:
• Nuevos roles y procesos• Nuevos requerimientos de skills y recursos• Cambios en la estructura de los equipos de proyectos
y del ciclo de vida de delivery• Cambios en los enfoques de análisis de negocio y
modelado de negocios• El uso y cumplimiento de estándares de diseño
internos
IR Consultores 90
Consideraciones
Organizacionales
• Uno de los mayores impactos es originado por el énfasis en la creación de servicios altamente agnósticos.
• Una vez que una colección de servicios agnósticos existe, estándares, procesos y custodios también necesitan estar listos para administrar y gobernar apropiadamente su uso.
• Dependiendo del ámbito de la iniciativa de SOA, esto puede conducir a un cambio en como el departamento de TI en si mismo es estructurado.
• Frecuentemente la necesidad de staff más centrados en la empresa aumenta, mientras decrece la demanda por staff centrados en proyectos.
IR Consultores 91
Consideraciones
Organizacionales
• Los cambios organizacionales requeridos por una adopción de SOA son frecuentemente subestimados quedando las organizaciones sin la preparación necesaria para afrontar los impactos.
• Por lo tanto, hay generalmente una resistencia de algunas partes de la organización hacia estos cambios.
• Los factores claves para lidiar con esto son la planificación, comunicación y educación.
• Los equipos de proyecto necesitan entender porque los beneficios (muchas veces de largo plazo) son mucho más valiosos que los mayores impactos .
IR Consultores 93
Consideraciones
Organizacionales
El gobierno implica la responsabilidad de administrar, mantener y desarrollar lo que se tiene y lo que se quiere construir.
Por ejemplo, el gobierno puede aplicarse a:
• Servicios• Composición de servicios• Soluciones orientadas a servicios• Arquitecturas orientadas a servicios• Infraestructura de soporte• Especificaciones y modelos de negocio
IR Consultores 95
Consideraciones de Gobierno
Los requerimientos de gobierno de SOA pueden imponer retos organizacionales que afectan a:
• Asignación de personal
• Creación de nuevos procesos
• Estándares internos de diseño
• Propiedad del servicio
etc…
IR Consultores 96
Consideraciones de Gobierno
• Como ejemplo de una consideración de gobierno especialmente enfatizada por iniciativas SOA es la introducción de un descubrimiento de procesos.
• Un registro de servicios es establecido para hacer posible que la metadata publica de los servicios sea registrada y mantenida centralmente y descubierta por potenciales diseñadores de programas consumidores.
• Uno de los ocho principios de diseño de orientación a servicios (Descubribilidad de Servicios) es dedicado a facilitar este proceso.
IR Consultores 97
Consideraciones de Gobierno
Un proceso común de descubrimiento de servicios en torno a la introducción de un registro central de servicios.
IR Consultores 98
Consideraciones de Gobierno
• El gobierno es frecuentemente el aspecto menos entendido y menos planeado de SOA.
• La ausencia de un plan de gobierno (y ausencia de presupuesto) puede erosionar el éxito de iniciativas de SOA debido a que los beneficios brindados por SOA son estratégicos de largo plazo.
• Los impactos del gobierno de SOA están cercanamente relacionadas con los impactos organizacionales y de infraestructura.
IR Consultores 99
Consideraciones de Gobierno
Las consideraciones acerca de la performance son un tema primario de diseño cuando se construyen soluciones orientadas a servicios complejas debido a los siguientes factores:
• Dependencia de procesamiento XML
• Elevado reuso de servicios agnósticos y demandas relacionadas con la escalabilidad
• La necesidad de más grandes y más complejas composiciones de servicios
Otros más…
IR Consultores 100
Consideraciones de Performance
• Debido a que las soluciones orientadas a servicios modernas son creadas sobre capas de procesamiento de documentos XML, ellos están sujetos al overhead de performance asociado impuesto por estas capas.
• Las soluciones orientadas a servicios construidas con servicios web profundizan la dependencia con la representación de la data en XML, lo cual puede aumentar las demandas relacionadas con la performance del procesamiento de XML.
• Muchas tecnologías avanzadas afrontan este tema incluyendo procesadores de XML, aceleradores de hardware e incluso incrementan las capacidades de parseo de XML en los microprocesadores.
IR Consultores 101
Consideraciones de Performance
• Los servicios agnósticos bien diseñados son reusables y por lo tanto sujetos al incremento de uso concurrente.
• El reuso aplica tanto para múltiples instancias del mismo servicio por la misma tarea padre así como para el reuso de los servicios por múltiples procesos padre.
• Por lo tanto, los servicios agnósticos contienen lógica de procesamiento genérica que puede normalmente consumir más ciclos de ejecución.
• Clustering, tecnologías grid e implementaciones redundantes son usadas para resolver estas demandas así como para garantizar la performance esperada durante períodos de alta concurrencia.IR Consultores 102
Consideraciones de Performance
• Cada intercambio de datos entre servicios introduce un nivel de overhead de procesamiento.
• Cuando combinamos múltiples servicios en una composición el overhead individual es acumulado, aún este necesita ser de un nivel razonable a fin de no introducir latencia.
• La creación de servicios agnósticos tiende a resultar en servicios de grano más fino lo que incrementa el tamaño de la composición.
• Son necesarios modernos entornos de ejecución que resuelvan estas demandas para permitir que los servicios sean continuamente compuestos y recompuestos.
IR Consultores 103
Consideraciones de Performance
• Cada entorno tendrá límites de procesamiento finito que determinarán límites de performance que establecen restricciones a los proyectos SOA.
• Un objetivo clave en cualquier plan de transición SOA es identificar estas limitaciones de performance por adelantado y entonces incluirlas en el plan.
• Estas restricciones incluso pueden ser tomadas en cuenta cuando se define un blueprint del inventario de servicios. Ellas ayudarán a determinar el apropiado nivel de granularidad de los servicios debido a que las composiciones son modeladas considerando las capacidades de procesamiento.
IR Consultores 104
Consideraciones de Performance
• Una vez que los servicios empiezan a tomar mayores responsabilidades de procesamiento, empieza a aparecer la necesidad de medidas de seguridad en las capas de mensajes así como controles de seguridad aplicados a los servicios compartidos.
• El framework WS-Security (y las extensiones relacionadas) establece seguridad a nivel de mensajes para los servicios construidos como servicios web.
• Otros temas de seguridad incluyen inicio único de sesión (single sign-on) y la administración federada de la identidad.
IR Consultores 106
Consideraciones de Seguridad
Todas las consideraciones discutidas hasta aquí afectan la infraestructura requerida para implementaciones de arquitectura orientada a servicios.
Otras áreas de impacto son:
• Encapsulamiento de sistemas heredados
• Orquestación
• Confiabilidad
• Tolerancia a fallos
• Disponibilidad
IR Consultores 108
Otras Consideraciones de Infraestructura
Cuando estudia mos la arquitectu ra de implementa ción de la composición de servicios, el impacto relacio nado con la infraestructura se hace más eviden te, sobre todo si se tienen sistemas heredados encapsulados.
IR Consultores 109
Modelado de Servicios
• SOA a nivel de la industria no está definido por un solo proveedor. En soporte de la diversificación de la opción de proveedores y la agilidad de la organización es importante mantener una clara separación del modelo de arquitectura, paradigmas de diseño y opciones de implementación tecnológica.
• Cualquier planificación de esfuerzos de SOA en la actualidad necesita tomar en cuenta el estado y tendencias del mercado.
• Entre las áreas que continúan madurando se encuentran plataformas de gobierno, seguridad y alto volumen de procesamiento.
IR Consultores 110
Consideraciones de Madurez
• Las campañas de marketing de los proveedores han generado alguna confusión en varios conceptos.
• El marketeo de los productos y tecnologías como “SOA support“ es frecuentemente cuestionable
• Para evaluar mejor la conveniencia y madurez de los productos y tecnologías disponibles, la etiqueta “SOA“ de los productos debe ser ignorada.
• La orientación a servicios y los requerimientos de la empresa son los criterios fundamentales.
IR Consultores 111
Consideraciones de Madurez
• Un plan de transición SOA le permite coordinar una controlada introducción progresiva de orientación a servicios de modo que la migración pueda ser planeada en un nivel tecnológico, arquitectural y organizacional.
• Cada plan es único y se ajusta a los requerimientos, restricciones y metas de la organización.
• Es necesario establecer un repositorio central para todos los documentos relacionados.
• Los planes de transición intentan balancear los requerimientos tácticos con la meta principal de los beneficios estratégicos de la computación orientada a servicios.
IR Consultores 112
Consideraciones de Migración
Un plan de transición SOA típico incluirá:
• Una visión de negocios de la organización
• Análisis de impacto
• Arquitecturas dinámicas de transición e hitos relacionados
• Estrategias de ejecución de las fases
• Ambito del inventario estimado
Otros…
IR Consultores 113
Consideraciones de Migración
• Una iniciativa SOA no necesariamente debe aplicarse a toda la empresa para obtener beneficios y tampoco requiere la creación de un modelo de datos global.
• La mayoría de los beneficios de SOA y del ROI son a largo plazo, de otro lado la mayoría de la inversión y el impacto se da por adelantado.
• Cuanto más esfuerzo se pone en cada servicio al inicio, menos carga resultará en la gobernabilidad del servicio.
• Enfocarse en conceptos, principios y requerimientos hace posible ver la industria de SOA con mayor claridad.
IR Consultores 114
Resumen
Introducción a Tecnologías Modernas y Plataformas Relacionadas a la Computación Orientada a Servicios
• SOA y XML• SOA y XML Schema• Servicios como Componentes• Servicios como Web Services• Servicios como REST Services *• Web 2.0 y Mashups *• Enterprise Service Bus *• Service Grids *• Virtualización de Servicios *• Computación en nube *
* Tópicos no cubiertos en el examen
IR Consultores 116
Overview
• XML constituye una plataforma tecnológica base para casi todas las modernas implementaciones de arquitectura orientada a servicios.
• XML y XML Schema establecen el formato y estructura de los mensajes que viajan a través de los servicios y composición de servicios.
• Como resultado, XML Schema puede ser una parte fundamental del diseño de contratos de servicio.
• La capa de representación de datos se basa en la creación de esquemas XML estandarizados.
IR Consultores 117
SOA y XML
• Una capa de servicios se construye generalmente sobre una capa separada de representación de datos.
• La capa de servicios establece una serie de endpoints federados (contratos de servicios).
• La capa de representación de datos establece una serie de modelos
IR Consultores 118
SOA y XML Schema
de datos estandarizados que los servicios comparten y por lo general existen como esquemas XML.
• SOA como un modelo de arquitectura es neutral a cualquier plataforma de tecnología.
• Esencialmente cualquier implementación tecnológica que puede ser usada para crear sistemas distribuidos puede ser apropiada para orientación a servicios.
• Entre las tecnologías actuales para construir servicios están:o Componenteso Servicios Web (o Servicios Web basados en SOAP)o REST Services
IR Consultores 119
Medios de Implementación de Servicios
• Un componente es un programa de software diseñado para ser parte de un sistema distribuido.
• Un componente expone una interface técnica con capacidades llamadas métodos, las cuales pueden ser explícitamente invocadas por otros programas.
• Los componentes generalmente pertenecen a una plataforma específica (como Java o .NET).
• La orientación a servicios puede ser aplicada sobre componentes con la finalidad de diseñarlos como servicios.
IR Consultores 120
Servicios como Componentes
• La plataforma tecnológica de Web services esta basada en un conjunto de estándares establecidos por la industria.
• La tecnología core que las soporta esta compuesta por WSDL, SOAP y UDDI, la segunda generación de tecnologías son conocidas en conjunto como WS-*.
• Los Web services son también llamados Web services basados en SOAP para distinguirlos de otros tipos de servicios que usan tecnologías Web.
• La orientación a servicios puede ser aplicada sobre Web services basados en SOAP con la finalidad de diseñarlos como servicios.
• La diferencia entre un servicio y un servicio web puede no ser muy clara porque ambos son servicios.IR Consultores 121
Servicios como Web Services
• Probablemente el principal obstáculo que las organizaciones enfrentan cuando llevan a cabo proyectos SOA es intentar construir soluciones distribuidas tradicionales con la pretensión de que están realmente construyendo soluciones orientadas a servicios.
• Esto frecuentemente viene de la incorrecta presunción que el sólo uso de Web services constituye una solución orientada a servicios.
• Esta tendencia ha llevado a muchos proyectos fallidos y también a muchos informes de análisis sesgados sobre SOA en general.
IR Consultores 122
Servicios como Web Services
• Los servicios REST (Representational State Transfer) no tienen un contrato de servicio individual, sino que comparten un contrato uniforme vía el estándar HTTP.
• Los servicios REST se comunican entre ellos usando métodos HTTP, tal como GET y PUT.
• La orientación a servicios puede ser aplicada a REST services con la finalidad de diseñar servicios.
• Como con los servicios web basados en SOAP la diferencia entre un servicio y un REST service puede no estar clara al ser ambos "servicios".
IR Consultores 123
Servicios como REST Services
• Web 2.0 representa a las tecnologías emergentes que han hecho accesible al World Wide Web a programas de software a través de APIs.
• Por ejemplo: Google Maps API, Flicker API, Yahoo Pipes.
• Web 2.0 creció en popularidad con las redes sociales, lo que representa participación y contenido web generado por el usuario.
• Por ejemplo: YouTube, Facebook, Wikipedia.
IR Consultores 124
Web 2.0 y Mashups
• El concepto de mashup es combinar datos o contenido desde múltiples fuentes en una sola locación.
• Con Web 2.0, mashup aprovecha la programabilidad de las aplicaciones basadas en Web (y Rich Internet Applications o RIA) para crear nuevas aplicaciones
• Orientación a servicios pude ser aplicada a los servicios que están basados en web y RIA con la finalidad de diseñarlos como soluciones orientadas a servicios.
• Las arquitecturas orientadas a servicios pueden además ser establecidas para soportar plataformas y herramientas basadas en web que a su vez proveen capacidades mashup.IR Consultores 125
Web 2.0 y Mashups
• Un enterprise service bus (ESB) es un middleware que provee sofisticadas características de mensajería y transformación.
• Los productos ESB generalmente ofrecen funcionalidad de ruteo complejo de mensajes y colas que permiten robustos intercambios de mensajes en modo asíncrono.
• También ofrecen funcionalidad de transformación en tiempo de ejecución que posibilita la interoperabilidad entre aplicaciones y servicios dispares.
• Las soluciones orientadas a servicios aprovechan las capacidades de los ESB para mejorar la escalabilidad y funcionalidad, sobre todo en relación a la mensajería.IR Consultores 126
Enterprise Service Bus
• La plataforma de Service Grid puede ser vista como una extensión de la infraestructura que proporciona escalamientos horizontal de procesamiento y caching.
• Un service grid puede abarcar muchos servidores, lo que resulta en una plataforma de computación que puede brindar soporte para balanceo de carga y tolerancia a fallas de manera intrínseca
• Los service grids pueden incrementar en gran manera la escalabilidad y confiabilidad de soluciones orientadas a servicios.
• Esto puede ser valioso para requerimientos de alta concurrencia o complejas composiciones de servicios.
IR Consultores 127
Service Grids
• La virtualización de servicios separa la lógica core del servicio de los detalles de su invocación como un servicio.
• La virtualización es realizada mediante la provisión de un entorno hosting para la lógica del servicio basándose en la idea de un contenedor, el cual permite el despliegue controlado de la lógica de servicio con diferentes protocolos de transportes y mensajes.
• Un contenedor aísla la lógica de servicio del framework de despliegue, permitiendo el desacoplamiento de la lógica de servicio del código necesario para soportar la "plomería" de la infraestructura.
IR Consultores 128
Virtualización de Servicios
• Cloud computing intenta brindar las ventajas de un data center hosting, sin tener que invertir en el hardware que normalmente sería requerido.
• El término "cloud" se origino del símbolo de la nube usado para representar el internet.
• El concepto de cloud computing consiste en el uso de recursos en la nube (internet), tales como servidores, redes, programas, pero sin conocer o necesitar conocer donde estos recursos están localizados.
IR Consultores 129
Cloud Computing
• En lugar de correr una máquina virtual usando el propio hardware, este es alojado en una nube de hardware remoto usualmente provisto por un tercero sobre la web.
• Cloud computing fue popularizado por Amazon’s EC2 (Elastic Cloud Computing) services.
• Cloud Computing está asociado con los conceptos de "Infraestructure as a Service" y " Platform as a Service".
IR Consultores 130
Cloud Computing
• Detrás de la escena un proveedor de cloud computing puede usar para implementación service grids y virtualización de servicios.
• Para brindar interacción externa con una plataforma de cloud computing, los proveedores generalmente publican contratos de Web services o REST services.
• Las soluciones orientadas a servicios pueden ser hosteadas en nubes o pueden componer servicios hosteados en nubes.
IR Consultores 131
Cloud Computing