Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenidos
1. Introduccin 2. Beneficios de una Arquitectura Orientada a Servicios (SOA) 3. Estrategias de adopcin de SOA 5 11 15 4. Lecciones aprendidas y recomendaciones 21
1. Introduccin
El enorme inters que est despertando la Arquitectura Orientada a Servicios (SOA) se debe a que ofrece la oportunidad real de conseguir un salto hacia delante en agilidad y eficiencia y situar a las Tecnologas de la Informacin en un nuevo nivel, convirtindolas en autnticas habilitadoras del negocio.
Los sistemas informticos tradicionales se han organizado en grandes bloques monolticos que contienen tanto los procesos de negocio como sus funciones automatizadas. As por ejemplo, el proceso de contratacin de una pliza de seguro, y las funciones del clculo de la prima y la emisin de los recibos, forman parte del mismo bloque. Estos sistemas han conseguido una gran mejora de productividad en las empresas, automatizando procesos de negocio, pero su concepcin monoltica hace que los cambios y adaptaciones a las nuevas necesidades tiendan a ser ms lentos y costosos de lo deseable. En bastantes organizaciones esto provoca que los sistemas marchen por detrs de las necesidades de negocio. Para conseguir un mayor nivel de agilidad es necesario poder combinar rpidamente los distintos componentes del sistema, algo a lo que la concepcin monoltica tradicional plantea muchas restricciones. La arquitectura SOA separa los procesos de negocio de las funciones automatizadas y organiza
estas ltimas en mdulos individuales catalogados en un diccionario de servicios que permiten su utilizacin por parte de toda la organizacin. Pocos avances tecnolgicos han despertado tanto inters como la arquitectura SOA, y es muy importante comprender exactamente el papel que sta puede desempear a la hora de ayudar a las empresas a alcanzar el alto rendimiento. A menudo se suele caer en la tentacin de considerar los nuevos y esperados avances (como la arquitectura SOA) como la varita mgica para mejorar el funcionamiento de la empresa. Las nuevas tecnologas tienden a ser el objeto de este tipo de planteamientos, pero frecuentemente el resultado es decepcionante. Sin embargo, SOA no es solamente una tecnologa, sino una arquitectura que trata de estructurar las aplicaciones de negocio y la tecnologa para responder de forma gil y flexible a las demandas del mercado. No se trata de algo radicalmente nuevo, sino que se debera ver como la ltima fase (aunque muy importante) del proceso de evolucin de la arquitectura
tecnolgica y de negocio de toda la empresa. La importancia de la arquitectura SOA, y probablemente la razn por la que despierta tanto inters entre los directores de los departamentos de tecnologa y entre los responsables de desarrollo, es que ofrece una oportunidad real de situar las tecnologas de la informacin en un nuevo nivel, convirtindolas en autnticos habilitadores del negocio. La arquitectura SOA constituye la base que garantiza la agilidad del negocio, un prerrequisito fundamental para alcanzar el xito en el actual mercado mundial, siempre tan competitivo. Esta agilidad es la capacidad de aadir, modificar y optimizar fcilmente los procesos de negocio mediante el aprovechamiento de las sinergias de servicios o procesos. Este aprovechamiento tiene el fin de crear una nueva gama de capacidades o productos, mediante la combinacin de algunos elementos de los procesos de negocio actuales, y dando soporte as a nuevos segmentos de clientes, canales o mercados.
Figura 1: Valor aportado por SOA. Mediante la arquitectura SOA las empresas pueden alcanzar el alto rendimiento a travs de tres palancas: diferenciacin en el mercado, simplificacin interna en la operacin, y flexibilidad y rapidez de adaptacin al cambio.
Negocio Oportunidades de crecimiento sostenido, basadas en una estructura de costes estable Mayor facilidad de crecimiento por integracin de nuevas empresas Flexibilidad y personalizacin de los procesos a las necesidades de la organizacin, diferencindose respecto a sus competidores Tecnologa
Diferenciacin exterior
Simplificacin interior
Maestra en la ejecucin
Independencia de la plataforma tecnolgica Mayor facilidad para la adaptacin de los sistemas a los procesos de negocio Acercamiento entre el lenguaje de negocio y el lenguaje de sistemas Organizacin Consistencia en los procesos Rapidez de adaptacin al cambio Mejora en la cultura de servicio Explotacin de sinergias y economas de escala
Este aspecto es de vital importancia porque consigue materializar el papel de las tecnologas de la informacin como ingrediente fundamental de los nuevos modelos de negocio que dan forma a una empresa gil y con capacidad de adaptacin. Estos procesos deben responder a la exigencia de mayor rapidez y a la reduccin del time to market. En este sentido, la arquitectura SOA posee el potencial para mejorar la eficiencia, la adaptabilidad y la agilidad operativas tanto a nivel de negocio como a nivel del departamento de tecnologa (ver figura 1). La clave de la arquitectura SOA es la abstraccin de los procesos, por la que los procesos de negocio se externalizan de las aplicaciones o soluciones y se exponen directamente al negocio. Esto permite que la ejecucin, gestin, monitorizacin y modificacin de dichos procesos puedan ser manejados directamente a nivel de negocio y de forma verstil, en vez de estar embebidos o imbricados en las aplicaciones. Adicionalmente los procesos no se desarrollan en base a la programacin tradicional en
6
lenguajes como Cobol o Java, sino que se soportan en base a herramientas especializadas que permiten un nivel de flexibilidad mucho mayor para realizar adaptaciones rpidas de las mismas. De esta manera, la arquitectura SOA exige que los responsables de desarrollo se concentren en los procesos de negocio en lugar de centrarse en sus aplicaciones. Para conseguir este objetivo, los procesos de negocio deben expresarse en trminos de las capacidades que exigen, y es entonces cuando hay que evaluar tales capacidades para identificar los servicios que las soportan. Como consecuencia, la arquitectura SOA exige que los sistemas tecnolgicos formen parte de toda la arquitectura corporativa o del negocio de forma que los servicios informticos reflejen los procesos de negocio. Por todo ello, la arquitectura SOA no es slo una tecnologa, y termina de una vez por todas con la persistente y errnea idea de que la tecnologa es algo de lo que slo el director del departamento de tecnologa puede (o debe) hacerse responsable. De
hecho, es muy probable que el papel del director de tecnologa se vincule ms al negocio, a medida que se vaya adoptando la arquitectura SOA. Es imprescindible la colaboracin de los responsables de tecnologa y del negocio para redisear la arquitectura corporativa bsica y poder estructurar la organizacin y aumentar su capacidad para cumplir sus objetivos actuales y futuros. Es necesario que exista un fuerte compromiso por parte de los patrocinadores del negocio, que debern replantearse su modelo operativo y tener el valor de romper con las fronteras funcionales de los procesos tanto dentro de la organizacin como en el ecosistema donde sta opera. Una vez definida dicha arquitectura corporativa, el director de tecnologa se responsabilizar de la creacin de las arquitecturas habilitadoras del negocio, las aplicaciones, la tecnologa y la informacin, y de desempear una funcin de gestin y administracin de los sistemas para garantizar el cumplimiento de los resultados deseados.
Los procesos son creados mediante la presentacin y orquestacin de servicios, proveniente de desarrollos a medida, paquetes y proveedores
Presentacin
Solicitud de una tarjeta de crdito Solicitud de un prstamo hipotecario
Procesos
Servicios de negocio
Verificacin del Verificacin de la situacin domicilio del cliente crediticia del cliente Verificacin de conductas fraudulentas Suscripcin del producto Alta cuenta
Servicio Orquestacin
CORBA RMI, COM, ...
Orquestacin
Web 2.0
Arquitecturas monolticas
Arquitecturas net-centric
Arquitecturas SOA
Interoperabilidad / estandarizacin
10
3. La arquitectura SOA permite la simplificacin del desarrollo de soluciones mediante la utilizacin de estndares de la industria y capacidades comunes de industrializacin
La arquitectura SOA desacopla los tres componentes de una aplicacin: presentacin, orquestacin de procesos y lgica de negocio, a la vez que estandariza la comunicacin entre cada una de las capas. Todo
11
ello favorece a que el proceso de construccin se pueda dividir y por lo tanto industrializar ms facilmente. Adems, las empresas se pueden focalizar en los componentes de mayor valor como los procesos y externalizar o comprar el resto de componentes. Por ejemplo, una gran entidad bancaria ha decidido concentrarse en la definicin de los procesos de la entidad, delegando la construccin (o compra) de los componentes, presentacin y servicios, a factoras de software.
travs de la creacin de un modelo flexible que pueda reconfigurarse en funcin de las necesidades del negocio, la arquitectura SOA reutiliza, de un modo efectivo, los distintos sistemas tecnolgicos actuales, por ejemplo, identificando la funcionalidad bajo los sistemas tecnolgicos actuales y encapsulndolos en servicios que pueden ser utilizados por diferentes aplicaciones y procesos. Al respecto, las principales compaas que ofrecen herramientas de discovery estn reorientando sus productos para ofrecer la identificacin de reglas de negocio y servicios de los sistemas actuales, para facilitar su evolucin hacia SOA.
4. La arquitectura SOA permite aislar los sistemas frente a cambios generados por otras partes de la organizacin (proteccin de las inversiones realizadas)
Al organizar los sistemas en mdulos ms pequeos (servicios) se reduce notablemente el impacto de los cambios. Por otra parte, durante las ltimas dcadas, las organizaciones han realizado fuertes inversiones en sus infraestructuras tecnolgicas. A
Top-down
Visin de negocio
Inicialmente enfocada en Qu construir
Centrado en el proceso
Agilidad en el negocio
Imperativos del negocio Interoperabilidad Integracin flexible B2B & A2A Servicios ...
Requerimientos Web services Habilitacin del legacy Integracin semntica Gestin de datos ...
Centrado en el servicio
Visin de sistemas
Bottom-up
12
Soluciones a medida
Orientacin a procesos
Con la evolucin de soluciones a medida a paquetes de software de aplicacin, actualmente el TCO disminuye pero se pierde capacidad de diferenciacin y adaptacin. SOA resuelve este problema permitiendo diferenciar los procesos de negocio mediante la orquestacin especfica de servicios reusables.
Orientacin a servicios
Con la evolucin a SOA loas paquetes de software de aplicacin permitirn un alto grado de diferenciacin son un TCO ajustado
Reduccin en TCO
13
14
Fase 1
Organizacin y estrategia Necesidades de negocio y adopcin por parte de la direccin Anlisis preparacin SOA Planificacin de la transformacin SOA
Fase 2
Implementaciones tcticas Primeros proyectos SOA Ajuste de procesos de gobierno y organizacin Infraestructura base SOA Ajuste rendimiento Inicio catlogo procesos y servicios
Fase 3
Plataforma SOA Implantacin de los servicios/procesos estructurales (core) Consolidacin de los procesos de gobierno y organizacin Infraestructura completa SOA Monitorizacin de procesos Catlogo operativo de procesos y servicios
Fase 4
SOA Industrializado Factora SOA Alto grado de reutilizacin de servicios Automatizacin de las reglas de negocio al modelo operativo Automatizacin del gobierno Cuadro de mando de procesos Federacin (ubicuidad)
15
Adicionalmente, en est fase (o en la siguiente) se pueden realizar algunos pilotos con los proveedores de infraestructura y software.
Por otra parte, se alcanzar un mayor grado de sofisticacin en la gestin de SOA, como en la automatizacin de las reglas de negocio al modelo operativo, en la automatizacin del gobierno, en la implantacin de un cuadro de mando de procesos y en la federacin (ubicuidad) de los servicios. Por otra parte en funcin de los factores que dirigan la adopcin de SOA la adopcin de SOA, las empresas pueden abordar la implantacin de SOA segn tres posibles enfoques dependiendo del peso en la prioridad en la construccin de servicios o procesos (ver figura 7).
Medio / UNE
Reducido / Dpto.
0% Procesos
Semi procesos
100% Procesos
16
Enfoque A, orientacin a servicios: Se centra en el establecimiento de una base de servicios integral, que se extiende desde un departamento hasta toda la empresa. Enfoque B, orientacin iterativa a procesos/servicios: SOA es impulsado por uno o muchos procesos de negocio bsicos de alto ROI (Return of Investment). La evolucin del nivel de servicios estar alineada con la evolucin del nivel de procesos. Las lecciones aprendidas con cada nuevo proceso de negocio y la habilitacin de los servicios, se utilizarn para mejorar la prxima iteracin. Enfoque C, orientacin a procesos: Se centra exclusivamente en la creacin de procesos de negocio que pueden abarcar desde un departamento hasta toda la empresa, con un rea de servicios reducida. En el enfoque A, orientacin a servicios, el foco ser implementar una base de servicios slida basada en una arquitectura de servicios cuidadosamente diseada. Posteriormente, se podra permitir la composicin de procesos completos mediante el uso de estos servicios. Este enfoque se aplicar cuando: La integracin y consolidacin de servicios sean prioridades clave, dada la amplia gama de aplicaciones tipo silo. Las compaas quieran empezar un proyecto de integracin ambicioso o aadir una capa de servicios a sus sistemas actuales. Las compaas estn interesadas en incrementar la colaboracin con otras entidades, mediante una capa de servicios externos slidos. Aunque el foco est en montar la base de los servicios, es necesario prestar atencin a los procesos de negocio para que en un futuro sea posible la automatizacin de procesos. Este enfoque permite acercarse al mundo SOA sin necesidad de una inversin fuerte en la componente de procesos, sin embargo, a medio plazo, se recomienda abordar dicha capa.
En el enfoque B, orientacin iterativa a procesos/servicios, el foco inicial estar en implementar uno o varios procesos de negocio core con alto retorno de la inversin. Se implantar una capa de servicios sencilla de modo que cubra las necesidades impuestas por la capa de dichos procesos de negocio. En un proceso iterativo se irn mejorando ambas capas, con las siguientes caractersticas: Focalizacin temprana en un proceso core. SOA se ve empujada por uno o varios procesos core con alto ROI. Los procesos ms sencillos se pueden priorizar en la implantacin, de manera que la capa de servicios ser, a su vez, sencilla al inicio. La evolucin de la capa de servicios se realizar en consonancia con la evolucin de la capa de procesos. A medida que se implanta en procesos ms complejos, externos y con mayores requerimientos de fiabilidad, la capa de servicios se ver obligada a evolucionar. Las lecciones aprendidas en cada etapa se utilizarn para mejorar la siguiente iteracin. Este es el enfoque que permite una implantacin gradual de la tecnologa as como del gobierno SOA y es el enfoque recomendado.
En el enfoque C, orientacin a procesos, las compaas eligen invertir un gran esfuerzo en construir la capa de procesos sin preocuparse en exceso por la capa de servicios estndar que los sustentan. Puede proporcionar beneficios a corto plazo pero a largo plazo no es una solucin sostenible para el crecimiento, y falla en la produccin de servicios reutilizables Este enfoque slo se recomienda a corto plazo, si se quieren obtener beneficios inmediatos en la orquestacin de procesos, y teniendo claro que posteriormente habra que rehacer parte de la arquitectura implantada.
17
La industria de IT se basa en SOA para construir una nueva generacin de sistemas de negocio. Los modelos organizativos del futuro estn basados en sistemas SOA (como por ejemplo, Accenture High Performance Industry Model)
18
BPM
Web services
ESB
Business Activity Monitoring Proporciona monitorizacin de ejecucin de procesos, visin en tiempo real y control del negocio.
BAM
Gobierno de ejecucin
Proporciona mecanismos para el monitoreo tcnico no invasivo en tiempo de ejecucin de la utilizacin de los web services: Mapa de uso Seguridad Nivel de servicio y aplicacin de polticas Alarmas en caso de servicios no disponibles
Standard-based HTTP, XML, SOAP, WS-*... Permite comunicaciones estandarizadas punto-apunto entre los sistemas mediante estndares ampliamente aceptados
Posibilita una red de sistemas dispares interactuando como un sistema unificado corporativo y resolviendo las diferencias en sistemas HW, SW, redes y localizaciones
Web Service
Interface Code getBiographics
Business Logic
HTTP
XML SOAP
Client Code
getBiographics SOAP XML HTTP
queryWatchList
Can also call : Database Operating System Message Queue Active Directory Etc...
Web Service
Response Message
EAI
19
20
La progresin entre las 4 etapas del modelo de madurez SOA es aparentemente lineal, pero existe un punto de bloqueo entre las fases 2 y 3. Las reas de tecnologa continan convencidas de los beneficios a largo plazo, pero existe indecisin en las organizaciones para iniciar una adopcin a gran escala.
2. Dificultad para extender el nuevo modelo de gobierno a toda la organizacin o simplemente inexistencia del mismo
En las fases 1 y 2 se trabaja principalmente en el rea de tecnologa y con un grupo reducido de personas encargadas de la implementacin de los primeros pilotos. En la fase 3 la implementacin de SOA inicia su expansin a toda la organizacin. Supone un cambio cultural que requiere construir los conocimientos necesarios en la organizacin, para cubrir el ciclo completo de desarrollo SOA como paso previo a una adopcin SOA a gran escala.
21
Las organizaciones, en ocasiones, tienen dificultad para establecer esta estructura global de responsabilidades, roles y procesos de gobierno con estructuras aisladas o silos que definen sus propios estndares de servicios y procesos de forma individual a nivel de rea/departamento o tecnologa.
Bottom-up
Qu procesos puedo construir con mis servicios?
Top-down
Qu servicios necesito para construir mis procesos?
User interface
Procesos de integracin
Procesos de aplicacin
Service 1
Service 3
22
Todo ello nos lleva a proponer un conjunto de recomendaciones generales a tener en cuenta en cualquier implantacin SOA, as como un conjunto de recomendaciones especficas tanto para el rea de tecnologa como para el rea de negocio.
Recomendaciones generales
Una adopcin SOA tiene un impacto en toda la organizacin, por lo que todas las partes debern estar involucradas y debe haber un alto grado de compromiso entre ellas. Abordar la implantacin SOA por fases y de forma iterativa para ajustar la nueva tecnologa, organizacin y procedimientos de trabajo. Definir y poner en marcha la funcin de gobierno al inicio de la adopcin (y en especial el catlogo de servicios y procesos). No todos los problemas sern resueltos va SOA. Seleccionar las oportunidades adecuadas para demostrar como SOA puede mejorar el negocio. Invertir esfuerzo y tiempo en explicar el nuevo modelo de desarrollo orientado a procesos (cursos, ejemplos de best practices, alta supervisin, ...). El equipo de implementacin de SOA debe contar con personas que conozcan en profundidad el negocio y sus procesos, as como las tcnicas y capacidades de SOA que permitan definir procesos que implementen la estrategia con mayor eficacia. Tener en cuenta los desarrollos actuales y analizar la posibilidad de reutilizar los desarrollos existentes, para orientarlos a servicios. Fomentar un mayor alineamiento entre el negocio y la tecnologa. Conseguir una colaboracin efectiva entre el departamento de tecnologa y las unidades de negocio siempre ha sido un reto, pero constituye un factor absolutamente imprescindible para garantizar la eficacia de la arquitectura SOA.
Aplicar el planteamiento de la arquitectura SOA al propio negocio. A medida que aumenta el alineamiento del negocio con la tecnologa, es necesario que sta desarrolle capacidades para aplicar el modelo de arquitectura SOA a la creacin de procesos de negocio. De esta manera el rea de negocio, adems de definir las aplicaciones orientadas a procesos, deber ser consciente de la necesidad de reutilizar otros procesos y servicios existentes, as como que los procesos y servicios que definan en un futuro puedan ser tambin piezas reutilizables.
Es recomendable comenzar con una determinada rea, identificando sus necesidades de servicios y disendolos de forma que sean reutilizables por otras reas, pero sin incluir inicialmente a toda la organizacin para evitar tener mltiples requerimientos/ responsables sobre un mismo servicio (evitar la parlisis del anlisis). La arquitectura SOA constituye el paso siguiente en la evolucin de las tecnologas de la informacin como habilitadoras del alto rendimiento. En efecto, la arquitectura posee el potencial para transformar tanto la forma de funcionamiento de los sistemas tecnolgicos, como el valor de sus capacidades, sin necesidad de deshacerse de importantes inversiones existentes. Sin embargo, con el fin de desarrollar todo su potencial, esta arquitectura debe considerarse como un elemento esencial de la arquitectura global de la empresa.
23
La arquitectura SOA representa un medio para un fin, y no un fin en s mismo. El fin es el alto rendimiento: mejores procesos de negocio, mayor rapidez en el despliegue de productos y mejor usabilidad. El medio es la reutilizacin a travs de aplicaciones dbilmente desacopladas y construidas sobre autnticos estndares.
Don Rippert, director general de tecnologa de Accenture
24
Figura 11: El gobierno de SOA. Una capacidad imprescindible para el xito de la adopcin de SOA
Ciclo de vida de los procesos y aplicaciones Participacin de los nuevos roles Coexistencia sistema actual
Metodologa
Nuevos roles responsables de la administracin de procesos y servicios Responsable de la supervisin tcnica de la implantacin SOA Mayor conexin entre negocio y tecnologa Repositorio de desarrollo integrado con todas las herramientas y con versionado
Estructura organizativa
Integracin
Herramientas
Procedimientos
Estrategia de versionado de procesos y servicios Descripcin de estados durante el ciclo de vida Tipologa de proyectos y forma de trabajo Circuitos de comunicacin Seguimiento del cumplimiento del modelo
25
Agradecimientos
Agradecimiento a los lderes del grupo de Tecnologa SOA de Accenture por su labor de mejora continua de las ideas y conceptos SOA desarrollados en el artculo: Jordi Paris, Alberto Rosa, Alberto Garca Arrieta, Vctor Pareja, Joan Lpez, Manuel Antonio Matos, Nacho Snchez, Jos Luis Martn, Roberto Ochando, Alonso Tams, Amparo Angulo, Ricardo Gonzlez y Luca Prez.
Equipo de trabajo
Jos Antonio Fernndez - Socio responsable del grupo de Tecnologa de Espaa. Alfredo Surroca - Socio responsable del desarrollo e implantacin de SOA en Espaa.
El enorme inters que est despertando la arquitectura SOA se debe fundamentalmente a su capacidad para mejorar la agilidad y flexibilidad de las organizaciones. Sin embargo, su implantacin y adopcin por toda la organizacin no es trivial y requiere una correcta estrategia de despliegue. El presente artculo proporciona una orientacin de adopcin de SOA en las organizaciones, basada en las mejores prcticas y lecciones aprendidas. Para ms informacin visitar: http://www.accenture.es/Acerca de Accenture/Centro de Alto Rendimiento/ o contactar: c.alto.rendimiento@accenture.com
26
Sobre Accenture
Accenture es una compaa global de consultora de gestin, servicios tecnolgicos y outsourcing. Comprometida con el desarrollo de la innovacin, Accenture colabora con sus clientes para ayudarles a convertir sus organizaciones en negocios de alto rendimiento. Con un profundo conocimiento de los diferentes sectores y procesos, unos amplios recursos globales y un constante seguimiento de resultados, Accenture dispone de los mejores profesionales, capacidades y tecnologas para ayudar a sus clientes a mejorar su rendimiento. Con aproximadamente 170.000 personas trabajando en 49 pases, la compaa obtuvo una facturacin de 19.700 millones de dlares durante el ao fiscal finalizado el pasado 31 de agosto de 2007. La direccin de Accenture en Internet es www.accenture.es
Copyright 2008 Accenture Todos los derechos reservados. Accenture, su logo, y High Performance Delivered son marcas registradas de Accenture.