Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Derechos de Autor
© 2009, 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
6
Introducción
Contenido del curso
Presentación de everis
Evolución de la compañía. Carácter diferencial. Servicios, alianzas y referencias.
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
nuestra historia
410
340
275
231 20%
190
171 24%
19%
facturación en 11% 22%
millones de €
Nuestro crecimiento siempre ha estado muy por encima de la media del sector.
7.000
6.000
evolución del 4.700
número de 4.000
3.300
profesionales 2.700
en los últimos
años
9
nuestra historia
Lisboa, 1999
Perú, Ecuador,
Venezuela, Abu Dhabi,
Bogotá, 2007
Polonia, El Salvador,
Honduras, República
Sao Paulo, 2001
Dominicana, Suecia,
Reino Unido, Francia,
Santiago de Chile, 1998
Suiza, Filipinas,
República Checa, Serbia
Buenos Aires, 2000 y Australia
10
nuestra historia
Europa: 65%
Asia pacífico: 6%
FY07 21
millones EE.UU.: 3% .
(facturación en
millones de €) Oriente medio: 3%
11
nuestra historia en España
18% 4.300
304 3.800
21%
258 3.300
18%
2.800
19% 212
2.400
14% 179 2.100
150
130,5
FY03 FY04 FY05 FY06 FY07 FY08 2003 2004 2005 2006 2007 2008
Cierre del año fiscal a 31 de marzo de 2008. Cifras en millones de euros
12
¿qué nos diferencia?
En enero de 2004, llegamos a un acuerdo con Fujitsu, que tenía el 100% de la propiedad, para adquirir
la compañía. Los profesionales pasamos a ser propietarios junto con prestigiosos socios financieros
En diciembre de 2006, los empleados compramos el resto de la compañía a estos socios financieros
que rentabilizaron su inversión dos años antes de lo previsto
En julio de 2007, entraron nuevos accionistas: 3i, Grupo Landon, Hutton Collins y un grupo minoritario.
Los empleados mantenemos el 64,03% de la propiedad
13
¿qué nos diferencia?
Nuestra preocupación es crear y mantener el entorno humano y profesional que permita atraer y
desarrollar el talento de personas con actitud positiva
El pilar fundamental es la realización de proyectos complejos y que permiten asegurar el crecimiento
y desarrollo profesional de las personas de everis
14
nuestros servicios
áreas de ORGANIZACIÓN Y
actuación
CLIENTE
RECURSOS unidades de negocio
business consulting
ORGANIZACIÓN Y
solutions
RECURSOS centers
bpo
INFRAESTRUCTURA initiatives
TECNOLÓGICA
15
nuestros servicios
16
alianzas
alianzas
alianzas
17
referencias
Telecom
Industria
Seguros
Banca
Sector
Público
Utilities
y Energía
Media
18
í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
19
Arquitectura tecnológica empresarial
Qué es una arquitectura tecnológica empresarial
20
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.
21
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.
22
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).
23
í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
24
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:
25
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.
26
Servicios arq. emp. en ejecución y desarrollo
Arquitectura de desarrollo
Procesos
Una arquitectura de desarrollo contempla principalmente los siguientes procesos:
27
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.
28
í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
29
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.
* Fuente: IBM
30
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).
31
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.
32
Arquitectura orientada a servicio (SOA)
Qué elementos constituyen una arq. orient. a servicios
33
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.
34
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).
35
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).
36
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).
37
Arquitectura orientada a servicio (SOA)
Qué elementos constituyen una arq. orient. a servicios
Bus de servicios (Enterprise Service Bus)
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.
39
Arquitectura orientada a servicio (SOA)
“SOA RA Layers”
40
Arquitectura orientada a servicio (SOA)
javaworld.com “SOA for the real world” (2006)
41
Arquitectura orientada a servicio (SOA)
sun.com “SOA Benefits”
42
í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
43
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. 44
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.
45
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.
46
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:
47
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.
48
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.
49
Gestión de procesos de negocio (BPM)
BPMN Sample
50
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).
51
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.
52
Gestión de procesos de negocio (BPM)
Oracle BPEL Process Manager Architecture
53
í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
54
í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
55
Anexos
Referencias
56
David Pereira
dapereir@everis.com
everis.com