fundamentos de soa y computación orientada a servicios

131
IR Consultores Capacitación en SOA Fundamentos de SOA y Computación Orientada a Servicios 2010

Upload: eddyrodriguezulloa

Post on 21-Dec-2015

24 views

Category:

Documents


0 download

DESCRIPTION

SOa fundamentals

TRANSCRIPT

IR Consultores Capacitación en SOA

Fundamentos de SOA y Computación Orientada a Servicios

2010

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

Objetivos y Beneficios Estratégicos

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

Los Siete Objetivos Estratégicos de la Computación Orientada a

Servicios

IR Consultores 5

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 Interoperabilidad Intrínseca

IR Consultores 9

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 de la Opción de Diversificación de Vendors

IR Consultores 13

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 Alineamiento del Negocio y

la Tecnología

IR Consultores 16

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 del ROI

IR Consultores 18

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

Incremento de la Agilidad de la Organización

IR Consultores 20

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

Reducción de la Carga de TI

IR Consultores 22

Terminologíay Conceptos Fundamentales

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

IR Consultores 32

Centrada en la Empresa

IR Consultores 33

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

IR Consultores 35

Centrada en la Composición

IR Consultores 36

Tipos de Arquitectura Orientada a Servicios

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

IR Consultores 40

Orientación a Servicios

IR Consultores 41

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

Terminología Orientada a Servicios

IR Consultores 70

Ciclo de Vida del Delivery de 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.

Requerimientos e Impactos de Adopción

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

IR Consultores 92

Roles Comunes en Proyectos

SOA

• 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

IR Consultores 94

Impactos Culturales

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

• Gráfico de pag 115 del manual

IR Consultores 105

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

IR Consultores 107

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