Está en la página 1de 40

Arquitecturas Empresariales.

Orientacin a Servicios (SOA) y Gestin de Procesos de Negocio (BPM)


Aulas de empresa 2007

Barcelona. 8, 9 y 12 de febrero de 2007

confidencialidad
Aviso: este documento es material confidencial y propiedad de everis. Se prohbe el uso, reproduccin o la divulgacin del contenido de este material sin permiso previo y por escrito de la empresa propietaria.
Derechos de Autor 2007, everis. All rights reserved

ndice
1. Introduccin 2. Arquitectura tecnolgica empresarial 3. Servicios de una arquitectura empresarial en ejecucin y desarrollo 4. Arquitectura orientada a servicio (SOA) 5. Gestin de procesos de negocio (BPM) 6. Ejemplo de arquitectura de referencia empresarial 7. Anexos

ndice
1. Introduccin 2. Arquitectura tecnolgica empresarial 3. Servicios de una arquitectura empresarial en ejecucin y desarrollo 4. Arquitectura orientada a servicio (SOA) 5. Gestin de procesos de negocio (BPM) 6. Ejemplo de arquitectura de referencia empresarial 7. Anexos

Introduccin
Objetivos y conocimientos previos recomendados
Objetivos
En este seminario el alumno aprender qu es una arquitectura tecnolgica empresarial, de qu partes est compuesta y qu requisitos debe satisfacer. Los asistentes al seminario estudiarn adems dos de las tendencias ms presentes actualmente en las arquitecturas empresariales: la orientacin a servicios (SOA) y la gestin de procesos de negocio (BPM), viendo ejemplos concretos de arquitecturas empresariales de grandes corporaciones.

Conocimientos previos recomendados


Programacin, estructuras de datos, ingeniera del software, bases de datos, redes de ordenadores.

Introduccin
Contenido del curso
El curso est dividido de 3 sesiones de 3 horas, en las que se desarrollarn los siguientes temas:

Introduccin
Contenido del curso
Arquitectura tecnolgica empresarial Se explicar qu es una arquitectura tecnolgica empresarial y qu partes la conforman. Servicios de una arquitectura empresarial de ejecucin y desarrollo Se estudiar qu funcionalidades debe proveer una arquitectura software en las reas de ejecucin y desarrollo. Arquitectura orientada a servicio (SOA) Se describir qu es una Service Oriented Architecture (SOA) y qu elementos son habituales en sta. Gestin de procesos de negocio (BPM)

Se describir qu es el Business Process Management (BPM) y cmo se integra en una arquitectura software.
Ejemplo de arquitectura de referencia empresarial Se propondr un ejemplo completo de arquitectura software a partir de los conceptos aprendidos en el resto del curso.
7

ndice
1. Introduccin 2. Arquitectura tecnolgica empresarial 3. Servicios de una arquitectura empresarial en ejecucin y desarrollo 4. Arquitectura orientada a servicio (SOA) 5. Gestin de procesos de negocio (BPM) 6. Ejemplo de arquitectura de referencia empresarial 7. Anexos

Arquitectura tecnolgica empresarial


Qu es una arquitectura tecnolgica empresarial
Arquitectura tecnolgica empresarial
Definimos arquitectura tecnolgica empresarial como el conjunto de componentes, servicios y procedimientos que dirigen y soportan el desarrollo y funcionamiento de una solucin de negocio para una organizacin, garantizando la calidad, completitud y operatividad del resultado.

Arquitectura tecnolgica empresarial


Porqu es necesaria una arq. tecnolgica empresarial
Retos
En la actualidad, existen diferentes tecnologas (e.g. Java EE, MS .NET) comnmente extendidas en el mercado IT y en las empresas, si bien su evolucin ha provocado la aparicin de una serie de problemas y escenarios poco adecuados:

Proliferacin de aplicaciones departamentales tecnolgicamente dispares.


Poca uniformidad en la programacin y look & feel de las aplicaciones. Entornos de desarrollo y ejecucin heterogneos y poco integrados. Diversidad de productos con diferente cobertura funcional.

Todo ello hace que sea necesario estructurar y racionalizar los elementos que intervienen en el uso de estas tecnologas. Como respuesta a todos estos problemas, surge el concepto de arquitectura.

10

Arquitectura tecnolgica empresarial


Porqu es necesaria una arq. tecnolgica empresarial
Soluciones
Una arquitectura tecnolgica empresarial permitir por ejemplo: Focalizar el desarrollo de aplicaciones en la implementacin de soluciones de negocio. Mejorar la calidad del resultado final de los desarrollos reforzando el uso de estndares. Reducir la complejidad y los tiempos de desarrollo (time to market). Optimizar el rendimiento de las aplicaciones, favoreciendo su modularidad y escalabilidad. Simplificar el mantenimiento de aplicaciones. Facilitar la portabilidad entre plataformas. Predecir costes de desarrollo y mantenimiento de manera ms precisa.

11

Arquitectura tecnolgica empresarial


Qu reas cubre una arq. tecnolgica empresarial
reas
Desde esta perspectiva, una arquitectura debera contemplar: Los componentes software orientados a satisfacer requerimientos de negocio o tecnolgicos (arquitectura de ejecucin). Las herramientas, estndares y metodologas para el ptimo desarrollo de software (arquitectura de desarrollo). La infraestructura tcnica (HW y SW) para soportar el proceso de desarrollo y operacin del sistema (arquitectura tcnica). Los mecanismos, tcnicas y componentes que garanticen la operacin, nivel de servicio, mantenimiento y seguridad de la solucin software (arquitectura de operacin).
12

ndice
1. Introduccin 2. Arquitectura tecnolgica empresarial 3. Servicios de una arquitectura empresarial en ejecucin y desarrollo 4. Arquitectura orientada a servicio (SOA) 5. Gestin de procesos de negocio (BPM) 6. Ejemplo de arquitectura de referencia empresarial 7. Anexos

13

Servicios arq. emp. en ejecucin y desarrollo


Arquitectura de ejecucin
Componentes
Una arquitectura de ejecucin provee principalmente a las aplicaciones de los siguientes tipos de componentes:

14

Servicios arq. emp. en ejecucin y desarrollo


Arquitectura de ejecucin
Ejemplos de componentes
Algunos ejemplos de los diferentes tipos de componentes son los siguientes: Componentes de soporte a la lgica de aplicacin: base para la implementacin de lgica de aplicacin y los procesos de negocio, soporte multiorganizacin. Componentes core: gestin de sesin de usuario, logging, persistencia, transaccionalidad. Componentes de comunicacin: sistemas de mensajera, emulacin local.

Componentes de integracin: acceso a backends, uso de gestores de contenido, uso de email, uso de perifricos.
Componentes de presentacin: perfiles de usuarios, validacin de datos, internacionalizacin, mdulos de creacin de user interfaces. Componentes de seguridad: autenticacin, autorizacin, firma.
15

Servicios arq. emp. en ejecucin y desarrollo


Arquitectura de desarrollo
Procesos
Una arquitectura de desarrollo contempla principalmente los siguientes procesos:

16

Servicios arq. emp. en ejecucin y desarrollo


Arquitectura de desarrollo
Ejemplos de procesos
Algunos ejemplos de las diferentes tareas y productos incluidos en los procesos de desarrollo son los siguientes: Proceso de adquisicin: gestin de la demanda, plan de proyectos. Proceso de desarrollo: anlisis funcional y tcnico, construccin. Proceso de gestin: plan de proyecto, plan de iteracin. Proceso de gestin de la configuracin: versionado de cdigo fuente. Proceso de documentacin: normativa, generacin automtica. Proceso de infraestructura: entornos, extraccin de juegos de datos. Proceso de gestin de la calidad: normativa, tests de calidad. Proceso de formacin: material de formacin, cursos. Proceso de mejora: identificacin de buenas prcticas, evaluacin peridica.
17

ndice
1. Introduccin 2. Arquitectura tecnolgica empresarial 3. Servicios de una arquitectura empresarial en ejecucin y desarrollo 4. Arquitectura orientada a servicio (SOA) 5. Gestin de procesos de negocio (BPM) 6. Ejemplo de arquitectura de referencia empresarial 7. Anexos

18

Arquitectura orientada a servicio (SOA)


En qu consiste una arquitectura orientada a servicios
SOA
El concepto de SOA (Service Oriented Architecture) ofrece un marco de trabajo para alinear los procesos de negocio con los sistemas de IT. Plataforma de servicios que representan procesos de negocio y que se combinan entre s (flexibilidad) para ofrecer soluciones adecuadas a las diferentes necesidades de negocio (agilidad). Existen multitud de definiciones del trmino.
SOA es un modelo de componentes que interrelaciona las diferentes unidades funcionales de las aplicaciones, denominadas servicios, a travs de interfaces y contratos bien definidos entre esos servicios. La interfaz se define de forma neutral, y debera ser independiente de la plataforma hardware, del sistema operativo y del lenguaje de programacin utilizado. Esto permite a los servicios, construidos sobre sistemas heterogneos, interactuar entre ellos de una manera uniforme y universal. *

19

Arquitectura orientada a servicio (SOA)


Por qu aparecen las arq. orientadas a servicios
Retos
Actualmente las empresas dependen completamente de sus IT, de las que esperan flexibilidad, agilidad y eficiencia en los costes. Las IT de las empresas estn compuestas por un gran nmero de sistemas interdependientes, heterogneos y muchas veces redundantes. La rapidez con que las IT pueden adaptarse a los cambios en las necesidades del negocio no siempre es suficiente (falta de agilidad y flexibilidad). La estructura actual de las IT puede hacer que los cambios introducidos cuesten ms que los beneficios que aportan (baja eficiencia de costes).

20

Arquitectura orientada a servicio (SOA)


Por qu aparecen las arq. orientadas a servicios
Soluciones
Ahorro de dinero, tiempo y esfuerzo mediante la reutilizacin de "componentes" y gracias a la flexibilidad de SOA. Elimina "frustraciones" con IT gracias a las soluciones flexibles y los tiempos ms cortos de despliegue de soluciones. Permite justificar ms claramente las inversiones en IT, ya que stas estn ms alineadas con el negocio. Proporciona a los ejecutivos del negocio una visin clara de lo que hace IT y su valor asociado. Permite la creacin y cambio de servicios de forma incremental, evitando proyectos de larga duracin y alto coste.

21

Arquitectura orientada a servicio (SOA)


Qu elementos constituyen una arq. orient. a servicios
Los principales componentes de una arquitectura orientada a servicios son:

22

Arquitectura orientada a servicio (SOA)


Qu elementos constituyen una arq. orient. a servicios
Servidores
Un servicio de negocio es un componente reutilizable de software, con significado funcional completo, y que est compuesto por: Contrato: especificacin de la finalidad, funcionalidad, forma de uso y restricciones del servicio. Interfaz: mecanismo de exposicin del servicio a los usuarios. Implementacin: debe contener la lgica o el acceso a datos.

23

Arquitectura orientada a servicio (SOA)


Qu elementos constituyen una arq. orient. a servicios
Tipos de servicios
Servicios bsicos: pueden estar centrados en datos o en lgica y encapsulan funcionalidades como clculos complejos, acceso a datos y reglas complejas de negocio.

Servicios intermediarios: servicios adaptadores, faades, etc. Suelen ser servicios sin estado.
Servicios de proceso: servicios de negocio que encapsulan la lgica de proceso. Suelen conservar estado y pueden residir en herramientas BPM. Servicios pblicos: servicios accesibles por terceros (fuera de la organizacin).

24

Arquitectura orientada a servicio (SOA)


Qu elementos constituyen una arq. orient. a servicios
Repositorio de servicios
Un repositorio de servicios proporciona facilidades para descubrir servicios y adquirir la informacin necesaria para su uso, en particular fuera del alcance temporal y funcional del proyecto en el que se crearon.

Adems de la propia informacin de contrato, los repositorios pueden proporcionar informacin acerca de:
Localizacin. Personas de contacto.

Restricciones tcnicas.
Service Level Agreements (SLAs).

25

Arquitectura orientada a servicio (SOA)


Qu elementos constituyen una arq. orient. a servicios
Bus de servicios
El bus de servicios es el elemento de las arquitecturas SOA que conecta los servicios con sus consumidores y que proporciona:

Conectividad: el propsito principal de un bus de servicios es interconectar a los participantes de una arquitectura SOA.
Soporte a la heterogeneidad de tecnologas: debe ser capaz de conectar a participantes basados en distintos lenguajes de programacin, sistemas operativos, entornos de ejecucin y protocolos de comunicacin. Soporte a la heterogeneidad de paradigmas de comunicacin: debe ser capaz de mantener distintos modos de comunicacin (por ejemplo comunicaciones sncronas y asncronas).
26

Arquitectura orientada a servicio (SOA)


Qu elementos constituyen una arq. orient. a servicios
Consumidores de servicios
Definimos consumidores de servicios como aquellos elementos de una arquitectura SOA que: Pueden descubrir servicios a travs de un repositorio. Realizan llamadas a los mismos de acuerdo al contrato y a travs del interfaz definido a tal efecto.

27

ndice
1. Introduccin 2. Arquitectura tecnolgica empresarial 3. Servicios de una arquitectura empresarial en ejecucin y desarrollo 4. Arquitectura orientada a servicio (SOA) 5. Gestin de procesos de negocio (BPM) 6. Ejemplo de arquitectura de referencia empresarial 7. Anexos

28

Gestin de procesos de negocio (BPM)


Qu es un BPM
BPM
El concepto Business Process Management (BPM) se aplica tanto desde un punto de vista tecnolgico como de gestin. Desde una perspectiva de gestin es un enfoque estructurado que emplea mtodos, polticas y mtricas para gestionar y optimizar de manera continua las actividades y procesos de una organizacin. Desde el punto de vista tecnolgico, agrupa una serie de herramientas software para el modelado, ejecucin y monitorizacin de los procesos de negocio. Estandariza las interfaces entre componentes tecnolgicos, reduce los costes de integracin de los sistemas, y provee de lgica de negocio a nivel de proceso interconectando servicios reutilizables. Permite encadenar los procesos para ganar en eficiencia y asegurar la mejora continua de los mismos.

Permite la modificacin rpida en funcin de la demanda cambiante y reduce los costes de mantenimiento.

29

Gestin de procesos de negocio (BPM)


Qu problemtica solucionan los BPMs
Retos
Solucionar el problema de la distribucin de procesos en mltiples aplicaciones construidas sobre diversas plataformas tecnolgicas. Traducir la lgica de negocio de una organizacin definiendo sus flujos de interacciones manuales y automticas de forma completa. Dotar de dinamismo, respondiendo a la demanda de los clientes y a los cambios en las condiciones de mercado. Soportar la larga duracin, una instancia de un proceso puede permanecer activa durante meses o incluso aos.

30

Gestin de procesos de negocio (BPM)


Cmo se integra un BPM en una arq. tec. empresarial
Soluciones
Una suite BPM debe dar soporte al modelado, ejecucin y monitorizacin de procesos.

Expertos funcional

Expertos tcnico

Usuarios

Expertos negocio

31

Gestin de procesos de negocio (BPM)


Cmo se integra un BPM en una arq. tec. empresarial
Soluciones
Un proceso consta de diversas tareas ejecutadas en un flujo controlado:

32

Gestin de procesos de negocio (BPM)


Cmo se integra un BPM en una arq. tec. empresarial
Modelado de procesos
Las soluciones BPM de modelado de procesos deben proveer a los expertos funcionales de por ejemplo: Capacidad para capturar procesos ya existentes de manera estructurada mediante algn tipo de notacin (e.g. BPMN) que permita representar las relaciones existentes entre distintos departamentos y/o sistemas involucrados en los mismos. Capacidad para definir nuevos procesos, o realizar modificaciones sobre los ya existentes utilizando la misma notacin que en el caso anterior. Simulacin de parmetros de proceso (tiempo de ejecucin, costes, throughput), en funcin de las variables independientes del mismo. Automatizacin de la documentacin del proceso modelado en formato fcilmente exportable.

Plantillas de procesos predefinidos.


33

Gestin de procesos de negocio (BPM)


Cmo se integra un BPM en una arq. tec. empresarial
Modelado de procesos
Desde el punto de vista de los expertos tcnicos, las soluciones BPM de modelado de procesos deben proveer por ejemplo de: Facilidades para agilizar la importacin y exportacin de modelos analticos creados por expertos funcionales a modelos aplicativos ejecutables. Capacidades de control de flujo (e.g. instanciacin de subprocesos, toma de decisiones en base a reglas predefinidas). Soporte a eventos.

Gestin de excepciones.
Definicin de alarmas. Adecuacin a lenguajes estndares de definicin de procesos como BPEL.

34

Gestin de procesos de negocio (BPM)


Cmo se integra un BPM en una arq. tec. empresarial
Ejecucin de procesos
Habitualmente, un motor de ejecucin de procesos: Ofrece diversos mecanismos de invocacin de procesos de manera sncrona, por ejemplo va web services (publicando el WSDL), RMI. Ofrece diversos mecanismos de invocacin de procesos de manera asncrona, por ejemplo va colas (IBM MQSeries, JMS), recepcin de emails. Permite la invocacin de procesos desde otros procesos (subprocesos). Hace posible la definicin de transacciones (definicin de nodos o conjuntos de nodos de un proceso como recursos XA). Permite el versionado de procesos. Tiene en cuenta la escalabilidad (e.g. posibilidad en crecimiento en nmero de usuarios y recursos), el rendimiento (e.g. permite la ejecucin de miles de procesos diferentes de manera concurrente) y la fiabilidad (e.g. soluciones 24x7).
35

Gestin de procesos de negocio (BPM)


Cmo se integra un BPM en una arq. tec. empresarial
Monitorizacin de procesos
La monitorizacin de procesos permite obtener informacin de negocio (Business Activity Monitoring, BAM) y tcnica, con el fin de identificar patrones de utilizacin, situaciones de riesgo, indicadores de desempeo, etc.

Adems del almacenamiento y agregacin de datos a partir de key performance indicators (KPIs), las soluciones de monitorizacin deben tener en cuenta:
La usabilidad de la aplicacin de consulta para expertos de negocio. El perfilado segn tipos de usuarios. Los mtodos de envo de alertas (e.g. email). Los mecanismos de captura de informacin, ofreciendo la capacidad de procesar datos generados por diversas fuentes, incluidas aqullas ajenas al propio BPM (e.g. otras aplicaciones no BPM). El rendimiento de la solucin, minimizando el impacto en la escalabilidad y consumo de recursos en entornos de produccin.

36

ndice
1. Introduccin 2. Arquitectura tecnolgica empresarial 3. Servicios de una arquitectura empresarial en ejecucin y desarrollo 4. Arquitectura orientada a servicio (SOA) 5. Gestin de procesos de negocio (BPM) 6. Ejemplo de arquitectura de referencia empresarial 7. Anexos

37

ndice
1. Introduccin 2. Arquitectura tecnolgica empresarial 3. Servicios de una arquitectura empresarial en ejecucin y desarrollo 4. Arquitectura orientada a servicio (SOA) 5. Gestin de procesos de negocio (BPM) 6. Ejemplo de arquitectura de referencia empresarial 7. Anexos

38

Anexos
Referencias
ISO 12207 (http://www.12207.com/). The Open Group Architecture Framework (http://www.opengroup.org/). OASIS Reference Model for Service Oriented Architecture (http://www.oasisopen.org/committees/tc_cat.php?cat=soa).

Enterprise SOA: Service-Oriented Architecture Best Practices. Dirk Krafzig, Karl Banke, Dirk Slama. Prentice Hall PTR. November 09, 2004. ISBN 0131465759.
IBM SOA (http://www-306.ibm.com/software/solutions/soa/). BEA SOA (http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/solutions/soa/). Oracle SOA (http://www.oracle.com/technologies/soa/index.html).

39

Alberto Otero Garca alberto.otero.garcia@everis.com

everis.com

También podría gustarte