Sunteți pe pagina 1din 40

Arquitecturas Empresariales.

Orientación a Servicios (SOA) y


Gestión 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 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

2
índice
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

3
índice
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

4
Introducción
Objetivos 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.

5
Introducción
Contenido del curso

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


siguientes temas:

6
Introducción
Contenido 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.

7
índice
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

8
Arquitectura tecnológica empresarial
Qué 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.

9
Arquitectura tecnológica empresarial
Porqué 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.

10
Arquitectura tecnológica empresarial
Porqué 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.

11
Arquitectura tecnológica empresarial
Qué á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).
12
índice
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

13
Servicios arq. emp. en ejecución y desarrollo
Arquitectura de ejecución

Componentes
Una arquitectura de ejecución provee principalmente a las aplicaciones de los
siguientes tipos de componentes:

14
Servicios arq. emp. en ejecución y desarrollo
Arquitectura 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.

15
Servicios arq. emp. en ejecución y desarrollo
Arquitectura de desarrollo

Procesos
Una arquitectura de desarrollo contempla principalmente los siguientes procesos:

16
Servicios arq. emp. en ejecución 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 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.

17
índice
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

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 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.” *

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

20
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.

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: 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.

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

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

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 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).
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 través de un repositorio.
 Realizan llamadas a los mismos de acuerdo al contrato y a través del interfaz
definido a tal efecto.

27
índice
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

28
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. 29
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.

30
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 Expertos Usuarios Expertos


funcional técnico negocio

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

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

32
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.
33
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.

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

35
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.

36
índice
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

37
índice
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

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

39
Alberto Otero García
alberto.otero.garcia@everis.com

everis.com

S-ar putea să vă placă și