arquitecturas empresariales, soa y bpm 1.0

40
Aulas de empresa 2007 Barcelona. 8, 9 y 12 de febrero de 2007 Arquitecturas Empresariales. Orientación a Servicios (SOA) y Gestión de Procesos de Negocio (BPM)

Upload: albertoog

Post on 22-Apr-2015

4.498 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Arquitecturas Empresariales, Soa Y Bpm 1.0

Aulas de empresa 2007

Barcelona. 8, 9 y 12 de febrero de 2007

Arquitecturas Empresariales. Orientación a Servicios (SOA) y

Gestión de Procesos de Negocio (BPM)

Page 2: Arquitecturas Empresariales, Soa Y Bpm 1.0

2

confidencialidadAviso: este documento es material confidencial y propiedad de everis. Se prohíbe

el uso, reproducción o la divulgación del contenido de este material sin permiso

previo y por escrito de la empresa propietaria.

Derechos de Autor

© 2007, everis. All rights reserved

Page 3: Arquitecturas Empresariales, Soa Y Bpm 1.0

3

1. Introducción

2. Arquitectura tecnológica empresarial

3. Servicios de una arquitectura empresarial en ejecución y desarrollo

4. Arquitectura orientada a servicio (SOA)

5. Gestión de procesos de negocio (BPM)

6. Ejemplo de arquitectura de referencia empresarial

7. Anexos

índice

Page 4: Arquitecturas Empresariales, Soa Y Bpm 1.0

4

1. Introducción

2. Arquitectura tecnológica empresarial

3. Servicios de una arquitectura empresarial en ejecución y desarrollo

4. Arquitectura orientada a servicio (SOA)

5. Gestión de procesos de negocio (BPM)

6. Ejemplo de arquitectura de referencia empresarial

7. Anexos

índice

Page 5: Arquitecturas Empresariales, Soa Y Bpm 1.0

5

IntroducciónObjetivos y conocimientos previos recomendados

Objetivos

En este seminario el alumno aprenderá qué es una arquitectura tecnológica

empresarial, de qué partes está compuesta y qué requisitos debe satisfacer.

Los asistentes al seminario estudiarán además dos de las tendencias más presentes

actualmente en las arquitecturas empresariales: la orientación a servicios (SOA) y

la gestión de procesos de negocio (BPM), viendo ejemplos concretos de

arquitecturas empresariales de grandes corporaciones.

Conocimientos previos recomendados

Programación, estructuras de datos, ingeniería del software, bases de datos, redes

de ordenadores.

Page 6: Arquitecturas Empresariales, Soa Y Bpm 1.0

6

IntroducciónContenido del curso

El curso está dividido de 3 sesiones de 3 horas, en las que se desarrollarán los

siguientes temas:

Page 7: Arquitecturas Empresariales, Soa Y Bpm 1.0

7

IntroducciónContenido del curso

Arquitectura tecnológica empresarial

Se explicará qué es una arquitectura tecnológica empresarial y qué partes la conforman.

Servicios de una arquitectura empresarial de ejecución y desarrollo

Se estudiará qué funcionalidades debe proveer una arquitectura software en las áreas de

ejecución y desarrollo.

Arquitectura orientada a servicio (SOA)

Se describirá qué es una Service Oriented Architecture (SOA) y qué elementos son habituales

en ésta.

Gestión de procesos de negocio (BPM)

Se describirá qué es el Business Process Management (BPM) y cómo 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.

Page 8: Arquitecturas Empresariales, Soa Y Bpm 1.0

8

1. Introducción

2. Arquitectura tecnológica empresarial

3. Servicios de una arquitectura empresarial en ejecución y desarrollo

4. Arquitectura orientada a servicio (SOA)

5. Gestión de procesos de negocio (BPM)

6. Ejemplo de arquitectura de referencia empresarial

7. Anexos

índice

Page 9: Arquitecturas Empresariales, Soa Y Bpm 1.0

9

Arquitectura tecnológica empresarialQué es una arquitectura tecnológica empresarial

Arquitectura tecnológica empresarial

Definimos arquitectura tecnológica empresarial como el conjunto de componentes,

servicios y procedimientos que dirigen y soportan el desarrollo y funcionamiento de

una solución de negocio para una organización, garantizando la calidad, completitud

y operatividad del resultado.

Page 10: Arquitecturas Empresariales, Soa Y Bpm 1.0

10

Arquitectura tecnológica empresarialPorqué es necesaria una arq. tecnológica empresarial

Retos

En la actualidad, existen diferentes tecnologías (e.g. Java EE, MS .NET) comúnmente

extendidas en el mercado IT y en las empresas, si bien su evolución ha provocado la

aparición de una serie de problemas y escenarios poco adecuados:

Proliferación de aplicaciones departamentales tecnológicamente dispares.

Poca uniformidad en la programación y look & feel de las aplicaciones.

Entornos de desarrollo y ejecución heterogéneos 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 tecnologías. Como respuesta a todos estos problemas,

surge el concepto de arquitectura.

Page 11: Arquitecturas Empresariales, Soa Y Bpm 1.0

11

Arquitectura tecnológica empresarialPorqué es necesaria una arq. tecnológica empresarial

Soluciones

Una arquitectura tecnológica empresarial permitirá por ejemplo:

Focalizar el desarrollo de aplicaciones en la implementación de soluciones de

negocio.

Mejorar la calidad del resultado final de los desarrollos reforzando el uso de

estándares.

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 más precisa.

Page 12: Arquitecturas Empresariales, Soa Y Bpm 1.0

12

Arquitectura tecnológica empresarialQué áreas cubre una arq. tecnológica empresarial

Áreas

Desde esta perspectiva, una arquitectura

debería contemplar:

Los componentes software orientados a

satisfacer requerimientos de negocio o

tecnológicos (arquitectura de ejecución).

Las herramientas, estándares y

metodologías para el óptimo desarrollo de

software (arquitectura de desarrollo).

La infraestructura técnica (HW y SW) para

soportar el proceso de desarrollo y operación

del sistema (arquitectura técnica).

Los mecanismos, técnicas y componentes

que garanticen la operación, nivel de

servicio, mantenimiento y seguridad de la

solución software (arquitectura de operación).

Page 13: Arquitecturas Empresariales, Soa Y Bpm 1.0

13

1. Introducción

2. Arquitectura tecnológica empresarial

3. Servicios de una arquitectura empresarial en ejecución y desarrollo

4. Arquitectura orientada a servicio (SOA)

5. Gestión de procesos de negocio (BPM)

6. Ejemplo de arquitectura de referencia empresarial

7. Anexos

índice

Page 14: Arquitecturas Empresariales, Soa Y Bpm 1.0

14

Servicios arq. emp. en ejecución y desarrolloArquitectura de ejecución

Componentes

Una arquitectura de ejecución provee principalmente a las aplicaciones de los

siguientes tipos de componentes:

Page 15: Arquitecturas Empresariales, Soa Y Bpm 1.0

15

Servicios arq. emp. en ejecución y desarrolloArquitectura de ejecución

Ejemplos de componentes

Algunos ejemplos de los diferentes tipos de componentes son los siguientes:

Componentes de soporte a la lógica de aplicación: base para la

implementación de lógica de aplicación y los procesos de negocio, soporte multi-

organización.

Componentes core: gestión de sesión de usuario, logging, persistencia,

transaccionalidad.

Componentes de comunicación: sistemas de mensajería, emulación local.

Componentes de integración: acceso a backends, uso de gestores de contenido,

uso de email, uso de periféricos.

Componentes de presentación: perfiles de usuarios, validación de datos,

internacionalización, módulos de creación de user interfaces.

Componentes de seguridad: autenticación, autorización, firma.

Page 16: Arquitecturas Empresariales, Soa Y Bpm 1.0

16

Servicios arq. emp. en ejecución y desarrolloArquitectura de desarrollo

Procesos

Una arquitectura de desarrollo contempla principalmente los siguientes procesos:

Page 17: Arquitecturas Empresariales, Soa Y Bpm 1.0

17

Servicios arq. emp. en ejecución y desarrolloArquitectura de desarrollo

Ejemplos de procesos

Algunos ejemplos de las diferentes tareas y productos incluidos en los procesos de

desarrollo son los siguientes:

Proceso de adquisición: gestión de la demanda, plan de proyectos.

Proceso de desarrollo: análisis funcional y técnico, construcción.

Proceso de gestión: plan de proyecto, plan de iteración.

Proceso de gestión de la configuración: versionado de código fuente.

Proceso de documentación: normativa, generación automática.

Proceso de infraestructura: entornos, extracción de juegos de datos.

Proceso de gestión de la calidad: normativa, tests de calidad.

Proceso de formación: material de formación, cursos.

Proceso de mejora: identificación de buenas prácticas, evaluación periódica.

Page 18: Arquitecturas Empresariales, Soa Y Bpm 1.0

18

1. Introducción

2. Arquitectura tecnológica empresarial

3. Servicios de una arquitectura empresarial en ejecución y desarrollo

4. Arquitectura orientada a servicio (SOA)

5. Gestión de procesos de negocio (BPM)

6. Ejemplo de arquitectura de referencia empresarial

7. Anexos

índice

Page 19: Arquitecturas Empresariales, Soa Y Bpm 1.0

19

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 término.

“SOA es un modelo de componentes que interrelaciona las diferentes unidades funcionales de

las aplicaciones, denominadas servicios, a través de interfaces y contratos bien definidos entre

esos servicios. La interfaz se define de forma neutral, y debería ser independiente de la

plataforma hardware, del sistema operativo y del lenguaje de programación utilizado. Esto

permite a los servicios, construidos sobre sistemas heterogéneos, interactuar entre ellos de una

manera uniforme y universal.” *

* Fuente: IBM

Page 20: Arquitecturas Empresariales, Soa Y Bpm 1.0

20

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 están compuestas por un gran número de sistemas

interdependientes, heterogéneos 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

más que los beneficios que aportan (baja eficiencia de costes).

Page 21: Arquitecturas Empresariales, Soa Y Bpm 1.0

21

Arquitectura orientada a servicio (SOA)Por qué aparecen las arq. orientadas a servicios

Soluciones

Ahorro de dinero, tiempo y esfuerzo mediante la reutilización de "componentes"

y gracias a la flexibilidad de SOA.

Elimina "frustraciones" con IT gracias a las soluciones flexibles y los tiempos

más cortos de despliegue de soluciones.

Permite justificar más claramente las inversiones en IT, ya que éstas están más

alineadas con el negocio.

Proporciona a los ejecutivos del negocio una visión clara de lo que hace IT y su

valor asociado.

Permite la creación y cambio de servicios de forma incremental, evitando

proyectos de larga duración y alto coste.

Page 22: Arquitecturas Empresariales, Soa Y Bpm 1.0

22

Arquitectura orientada a servicio (SOA)Qué elementos constituyen una arq. orient. a servicios

Los principales componentes de una arquitectura orientada a servicios son:

Page 23: Arquitecturas Empresariales, Soa Y Bpm 1.0

23

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: especificación de la finalidad, funcionalidad, forma de uso y restricciones

del servicio.

Interfaz: mecanismo de exposición del servicio a los usuarios.

Implementación: debe contener la lógica o el acceso a datos.

Page 24: Arquitecturas Empresariales, Soa Y Bpm 1.0

24

Arquitectura orientada a servicio (SOA)Qué elementos constituyen una arq. orient. a servicios

Tipos de servicios

Servicios básicos: pueden estar centrados en datos o en lógica y encapsulan

funcionalidades como cálculos complejos, acceso a datos y reglas complejas de

negocio.

Servicios intermediarios: servicios adaptadores, façades, etc. Suelen ser

servicios sin estado.

Servicios de proceso: servicios de negocio que encapsulan la lógica de proceso.

Suelen conservar estado y pueden residir en herramientas BPM.

Servicios públicos: servicios accesibles por terceros (fuera de la organización).

Page 25: Arquitecturas Empresariales, Soa Y Bpm 1.0

25

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 información necesaria para su uso, en particular fuera del alcance

temporal y funcional del proyecto en el que se crearon.

Además de la propia información de contrato, los repositorios pueden proporcionar

información acerca de:

Localización.

Personas de contacto.

Restricciones técnicas.

Service Level Agreements (SLAs).

Page 26: Arquitecturas Empresariales, Soa Y Bpm 1.0

26

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 propósito principal de un bus de

servicios es interconectar a los participantes de una

arquitectura SOA.

Soporte a la heterogeneidad de tecnologías: debe ser

capaz de conectar a participantes basados en distintos

lenguajes de programación, sistemas operativos,

entornos de ejecución y protocolos de comunicación.

Soporte a la heterogeneidad de paradigmas de

comunicación: debe ser capaz de mantener distintos

modos de comunicación (por ejemplo comunicaciones

síncronas y asíncronas).

Page 27: Arquitecturas Empresariales, Soa Y Bpm 1.0

27

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 través de un repositorio.

Realizan llamadas a los mismos de acuerdo al contrato y a través del interfaz

definido a tal efecto.

Page 28: Arquitecturas Empresariales, Soa Y Bpm 1.0

28

1. Introducción

2. Arquitectura tecnológica empresarial

3. Servicios de una arquitectura empresarial en ejecución y desarrollo

4. Arquitectura orientada a servicio (SOA)

5. Gestión de procesos de negocio (BPM)

6. Ejemplo de arquitectura de referencia empresarial

7. Anexos

índice

Page 29: Arquitecturas Empresariales, Soa Y Bpm 1.0

29

Gestión de procesos de negocio (BPM)Qué es un BPM

BPM

El concepto Business Process Management (BPM) se aplica tanto desde un punto

de vista tecnológico como de gestión.

Desde una perspectiva de gestión es un enfoque estructurado que emplea

métodos, políticas y métricas para gestionar y optimizar de manera continua las

actividades y procesos de una organización.

Desde el punto de vista tecnológico, agrupa una serie de herramientas software

para el modelado, ejecución y monitorización de los procesos de negocio.

Estandariza las interfaces entre componentes tecnológicos, reduce los costes de

integración de los sistemas, y provee de lógica 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 modificación rápida en función de la demanda cambiante y reduce los

costes de mantenimiento.

Page 30: Arquitecturas Empresariales, Soa Y Bpm 1.0

30

Gestión de procesos de negocio (BPM)Qué problemática solucionan los BPMs

Retos

Solucionar el problema de la distribución de procesos en múltiples

aplicaciones construidas sobre diversas plataformas tecnológicas.

Traducir la lógica de negocio de una organización definiendo sus flujos de

interacciones manuales y automáticas 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 duración, una instancia de un proceso puede permanecer activa

durante meses o incluso años.

Page 31: Arquitecturas Empresariales, Soa Y Bpm 1.0

31

Gestión de procesos de negocio (BPM)Cómo se integra un BPM en una arq. tec. empresarial

Soluciones

Una suite BPM debe dar soporte al modelado, ejecución y monitorización de

procesos.

Expertos

funcional

Expertos

técnico

Usuarios Expertos

negocio

Page 32: Arquitecturas Empresariales, Soa Y Bpm 1.0

32

Soluciones

Un proceso consta de diversas tareas ejecutadas en un flujo controlado:

Gestión de procesos de negocio (BPM)Cómo se integra un BPM en una arq. tec. empresarial

Page 33: Arquitecturas Empresariales, Soa Y Bpm 1.0

33

Gestión de procesos de negocio (BPM)Cómo 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 algún tipo de notación (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 notación que en el caso anterior.

Simulación de parámetros de proceso (tiempo de ejecución, costes, throughput),

en función de las variables independientes del mismo.

Automatización de la documentación del proceso modelado en formato fácilmente

exportable.

Plantillas de procesos predefinidos.

Page 34: Arquitecturas Empresariales, Soa Y Bpm 1.0

34

Gestión de procesos de negocio (BPM)Cómo se integra un BPM en una arq. tec. empresarial

Modelado de procesos

Desde el punto de vista de los expertos técnicos, las soluciones BPM de modelado de

procesos deben proveer por ejemplo de:

Facilidades para agilizar la importación y exportación de modelos analíticos

creados por expertos funcionales a modelos aplicativos ejecutables.

Capacidades de control de flujo (e.g. instanciación de subprocesos, toma de

decisiones en base a reglas predefinidas).

Soporte a eventos.

Gestión de excepciones.

Definición de alarmas.

Adecuación a lenguajes estándares de definición de procesos como BPEL.

Page 35: Arquitecturas Empresariales, Soa Y Bpm 1.0

35

Gestión de procesos de negocio (BPM)Cómo se integra un BPM en una arq. tec. empresarial

Ejecución de procesos

Habitualmente, un motor de ejecución de procesos:

Ofrece diversos mecanismos de invocación de procesos de manera síncrona,

por ejemplo vía web services (publicando el WSDL), RMI.

Ofrece diversos mecanismos de invocación de procesos de manera asíncrona,

por ejemplo vía colas (IBM MQSeries, JMS), recepción de emails.

Permite la invocación de procesos desde otros procesos (subprocesos).

Hace posible la definición de transacciones (definición 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 número de

usuarios y recursos), el rendimiento (e.g. permite la ejecución de miles de

procesos diferentes de manera concurrente) y la fiabilidad (e.g. soluciones 24x7).

Page 36: Arquitecturas Empresariales, Soa Y Bpm 1.0

36

Gestión de procesos de negocio (BPM)Cómo se integra un BPM en una arq. tec. empresarial

Monitorización de procesos

La monitorización de procesos permite obtener información de negocio (Business

Activity Monitoring, BAM) y técnica, con el fin de identificar patrones de utilización,

situaciones de riesgo, indicadores de desempeño, etc.

Además del almacenamiento y agregación de datos a partir de key performance

indicators (KPIs), las soluciones de monitorización deben tener en cuenta:

La usabilidad de la aplicación de consulta para expertos de negocio. El perfilado

según tipos de usuarios. Los métodos de envío de alertas (e.g. email).

Los mecanismos de captura de información, ofreciendo la capacidad de procesar

datos generados por diversas fuentes, incluidas aquéllas ajenas al propio BPM

(e.g. otras aplicaciones no BPM).

El rendimiento de la solución, minimizando el impacto en la escalabilidad y

consumo de recursos en entornos de producción.

Page 37: Arquitecturas Empresariales, Soa Y Bpm 1.0

37

1. Introducción

2. Arquitectura tecnológica empresarial

3. Servicios de una arquitectura empresarial en ejecución y desarrollo

4. Arquitectura orientada a servicio (SOA)

5. Gestión de procesos de negocio (BPM)

6. Ejemplo de arquitectura de referencia empresarial

7. Anexos

índice

Page 38: Arquitecturas Empresariales, Soa Y Bpm 1.0

38

1. Introducción

2. Arquitectura tecnológica empresarial

3. Servicios de una arquitectura empresarial en ejecución y desarrollo

4. Arquitectura orientada a servicio (SOA)

5. Gestión de procesos de negocio (BPM)

6. Ejemplo de arquitectura de referencia empresarial

7. Anexos

índice

Page 39: Arquitecturas Empresariales, Soa Y Bpm 1.0

39

AnexosReferencias

ISO 12207 (http://www.12207.com/).

The Open Group Architecture Framework (http://www.opengroup.org/).

OASIS Reference Model for Service Oriented Architecture (http://www.oasis-

open.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).

Page 40: Arquitecturas Empresariales, Soa Y Bpm 1.0

everis.com

Alberto Otero García

[email protected]