Documentos de Académico
Documentos de Profesional
Documentos de Cultura
com
Construyendo la Arquitectura
de Servicios:
Modelización SOA
Introduccion
Sesión Titulo
0 Agenda
1 Plan de Servicios (Services Portfolio Plan): Enterprise y Project Visión General
2 Politicas en el Plan de servicios
3 Modelización de Conceptos de Negocio (Business Concepts)
4 Modelización de Business Type (Modelo E/R)
5 Identificación de Dominios de Negocio (Business Domains)
6 Identificación del Nucleo de Servicios (Core Business Services)
7 Modelización e identificación de Business Processes Services
Encontrando
Servicios
8 Modelización e identificación de Capability Services
9 Identificación de Utility Services
10 Identificación de Underlying Services
11 Arquitectura de Implementación - Decidiendo Automation Units
12 Arquitectura de Despliegue- Decidiendo Distribución de Servicios
13 Modelización y Diseño orientados a la Flexibilidad Completando la
Arquitectura
14 Descripciones de los Servicios
2 www.swassociatesint.com
Audiencia y Objetivos
Destinado a
Arquitectos Al final de las sesiones los asistentes
Diseñadores de Soluciones Software deberían:
Jefes de Projecto en proyectos SOA Entender el propósito y el contenido del
Plan de Servicios y la Arquitectura de
Menos util para Servicios
Haber practicado con
Arquitectos de Infraestructura Técnica
Identificación de los Servicios del
Desarrolladores
Núcleo (Core Business Services)
Especialistas de Pruebas
Uso de plantillas para la
Operadores IT
descripción de los Servicios
Administradores IT
Ser capaz de participar en las
actividades de planificación de Servicios
de una organización.
3 www.swassociatesint.com
Cual es el propósito del Plan de Servicios
4 www.swassociatesint.com
Porqué un Plan de Servicios
5 www.swassociatesint.com
Que es el Plan de Servicios (Service Planning)
6 www.swassociatesint.com
El Plan de Servicios, por ámbito
Define las politicas que gobiernan como Selecciona las Políticas que gobiernan
se planifican y aprovisionan los servicios como se planifican y aprovisionan los
servicios, dentro del proyecto
Diseña una Arquitectura de Servicios a Se preve un ‘starter set’ inicial, que podría
nivel empresa: ser reiterativo
Es la colección de servicios software
necesaria para todo el ámbito de la Diseña una Arquitectura de Servicios para
empresa el Proyecto
Es la colección de servicios software que
usará el proyecto
Prepara el Plan conteniendo
La Arquitectura de Servicios Prepara el Plan conteniendo
El enfoque de la transición La Arquitectura de Servicios
Las Políticas Definidas El enfoque de la transición
Las Políticas Definidas
Es un Plan, no es Software!
7 www.swassociatesint.com
Características del Plan de Servicios
8 www.swassociatesint.com
Plan de Servicios – Politicas
Tácticas
Estrategias generales que influyen en procesos y otras políticas
ARCHITECTURE
‘Triage’: agrupación y priorización
Políticas sobre Fuentes (Sourcing Policies)
Fuentes de aprovisionamiento preferidas para cada tipo de servicio
Políticas de Arquitectura
Estructuración en capas y reglas de dependencia entre servicios
Diseño de restricciones
Políticas Comerciales acuerdos de compra-venta con terceros
Políticas del Ciclo de Vida de los Servicios
Reglas a aplicar en los diferentes estados del ciclo de vida
Estándares por defecto a ser usados
Estándares de web services (WS-* standards), estándares del sector
Expectativas de calidad de los servicios (QoS)
Calidad esperada para cada dominio, servicio y operacion en particular
9 www.swassociatesint.com
Contenido del Plan de Servicios
El alcance del Plan de Servicios podría ser para toda la organización, pero desarrollado por dominios de negocio
o por soluciones, de acuerdo a prioridades preestablecidas
La atención se centra en los servicios y su alcance. Las operaciones tan sólo se identifican
Las operaciones se definen como necesarias por los desarrolladores de solución y a continuación se asignan a
un servicio adecuado
El Plan se actualizará para reflejar el estado después de cada proyecto
Con el tiempo, el Plan incluirá servicios adquiridos, así como los servicios internos
El Plan podrá ser mantenido en un catálogo de servicios, junto con las especificaciones, SLAs, etc.
www.swassociatesint.com
Contenido del Proyecto de Planificación
APENDICE A
1. Arquitectura de Especificación de Servicios
Descripciones de Servicios
Introducción
Servicio 1
Diagramas
Servicio 2
Discusión
Servicio 3
etc
2. Arquitectura de Implementación de Servicios APENDICE B
Introducción Descripciones de Unidades de
Diagramas Automatización
Discusión Automation Unit 1
Automation Unit 2
Automation Unit 3
3. Arquitectura de Despliegue de Servicios etc
Introducción
APENDICE C
Diagramas
Arquitectura Tecnica
Discusión
Diagramas
Discusion
11 www.swassociatesint.com
Visiones de la Arquitectura de Servicios
Arquitectura de Especificación
(para desarrolladores de consumo)
Visión de Negocio
(para usuarios de negocio)
Visión de Infraestructura
(para usuarios tecnólogos)
Arquitectura de Despliegue
(para operaciones)
Arquitectura de Implementación
(para desarrolladores de servicios)
12 www.swassociatesint.com
Las tres visiones de la Arquitectura de Servicios
ARQUITECTURA de ESPECIFICACION
Orders Service
Products Service
Accounts Receivable API
ARQUITECTURA de DESPLIEGUE
applicationServer Mainframe
EJB Container TP Monitor
Order Fulfillment <<SOAP over JMS>> Ordering Component
1..* 1
Stock Management Purchasing Component
Product Management Sales And Billing
Accounting Package
13 www.swassociatesint.com
“Big Picture” del proceso SOA
Planificación
Requsistos Planificación de Mejoras
de Negocio
Consumir
Aprovisionamento
De la Solución
Arquitectura y Diseño Implementación
de la De la Solución
Solución
Planificación de la Implementacion
Transición De Servicios
Solución/Servicio Solución/Servicio
Solución/Servicio
Operación /Gestión de la
Solución/Servicio
Gestión
Refinar Políticas
Funciones Identificar Otros Servicios y Dependencias de Servicios
Modelo de Arquitectura de
Identificar Unidades de Automatización y Depen.
Procesos Implementación
de Servicios
Modelo de Diseñar Arquitectura de Despliegue de Servicios
Arquitectura de
Sistemas
Despliegue de
Definir el enfoque de la Transición
Servicios
15 www.swassociatesint.com
Ambito del Plan de Servicios
Alternativa: crear Planes de Proyectos por separado - (PSP) Project Service Plans
Incluyen arquitecturas de especificacion, implementacion y despliegue
Arquitectura en capas y servicios, derivadas de los modelos
Es un enfoque mas realista para algunas organizaciones, pero
Limita los beneficios de SOA – fomenta los silos de servicios
Puede ser dificil fusionar los PSP’s en un único Plan de Servicios
16 www.swassociatesint.com
Ambitos de Planificación y Arquitectura
17 www.swassociatesint.com
Enfoque de la Planificación de Servicios
Centralizado Federado
Todos los Servicios Los Servicios son parte
forman parte de un Plan Enterprise Service de un Plan General
Portfolio Plan
General (Enterprise Enterprise (ESPP) pero actúan
Services Portfolio Plan) Service Portfolio PSP PSP PSP independientemente
Plan como PSPs
PSP PSP
Descentralizado PSP Evolutivo
Enterprise
Los Servicios están en Project
Los PSPs son usados en
Service
Planes Independientes Service PSP los primeros niveles de
PSP Portfolio
Los Proyectos pueden Plan Plan madurez. Posteriormente
colaborar informalmente entre se fusionan/adaptan a un
PSP PSP Plan General (ESPP) en
sí o con el Plan General
niveles superiores de
madurez.
18 www.swassociatesint.com
Los Servicios son organizados en Capas y Dominios
Inventory
de Pedidos
Underlying Services
Cuantas a Pagar Compras (no fácil de desarrollar)
(desde el sistema de Contabilidad) (de un componente genérico)
19 www.swassociatesint.com
Dominios
MANUFACTURING
DISTRIBUTION
SUPPLY
ASSETS
MARKETING FACILITIES
CUSTOMERS
FINANCE
HUMAN RESOURCES
20 www.swassociatesint.com
La identificación de Servicios se lleva a cabo partir de Modelos
de Negocio y de los Sistemas Existentes
ACTIVITY MODEL
Manage
BUSINESS TYPE MODEL
Lift ROLE CONTRACTING
Execution PIECE
COMMERCIAL
Load Move
BILL OF
Conveyance Conveyance LADING
SHIPMENT
UNIT RS STOP EVENT
Cargo For
Shipment
Load
Conveyance
Shipment at
Transhipment
Incheck
Passengers DOMAINS BASIC
LOCATION
FINANCE REQUISITION
RESOURCES DETAILS
PROCESS SERVICES
Process Cargo
Load Conveyance
CURRENT SYSTEM MODEL
CORE BUSINESS SERVICES
Transportation Unit
Requisition
GL GOVERNANCE
CRM
ERP PLM
REQUISITION
DETAILS
UTILITY SERVICES
Rules Engine Reference Data Note: All data shown is for illustration purposes only
www.swassociatesint.com
Introducción al Plan de Servicios. Resumen
Close Account
Implementation
Orders
Los Servicios son organizados en capas Ordering
Service Stock Stock
Component Movements Reordering
Solution Sales
Product
System Management
Products
Service
Process Orders Process Service
Deployment
Orders Service
Core applicationServer Mainframe
Products Service
EJB Container TP Monitor
Order Fulfillment <<SOAP over JMS>> Ordering Comp
Utilities Stock Manag’t Purchasing Co
Product Manag’t Sales And Bill’g
Accounting Pk.
Underlying Accounts Receivable
22
www.swassociatesint.com
www.swassociatesint.com
Construyendo la Arquitectura
de Servicios:
Modelización SOA
Usualente están expresadas en forma de texto (narrativo) que deja claro si es obligatorio
o recomendado.
24 www.swassociatesint.com
Ejemplo de Política y propiedades
Propiedad Valor
Nombre de Política (unico) #135 Registro de movimientos dinerarios
Tipo de Política Arquitectura
Obligatoriedad Obligatorio
Autoridad para Anulación Director Financiero
Cumplimiento Verificado en la revisión de la especificacion. Verificado contra el procedimiento de
certificación.
Hay un plan para añadir un control al catálogo de servicios, el cual alcanza la ‘bandera
roja’ (red flag) cuando el servicio el servicio tiene acceso a la cuenta interna y no procede
de un Servicio de Auditoría
Fecha o Evento de Comienzo Immediatamente
Fecha o Evento de Final Indefinido
Autoridad CIO
Contexto(s) Sin restricciones
A implementar en Especificación del Servicio, Automation Unit
Objetivos Prevencion de fraudes internos. Detección de movimientos irregulares de dinero, ya sean
accidentales o deliberados.
Relación con otras Políticas Reemplaza a la Política #035
Lenguaje Narrativo
Terminos Clave - -
Acción Cada movimiento superior a 1.000 euros a una cuenta interna debe estar conectado con la
siguiente información: número de cuenta, referencia, fecha, hora, cantidad, ID de usuario
originario, dispositivo originario.
25 www.swassociatesint.com
Plan de Servicios – Politicas
Tácticas
Estrategias generales que influyen en procesos y otras políticas
ARCHITECTURE
‘Triage’: agrupación y priorización
Políticas sobre Fuentes (Sourcing Policies)
Fuentes de aprovisionamiento preferidas para cada tipo de servicio
Políticas de Arquitectura
Estructuración en capas y reglas de dependencia entre servicios
Diseño de restricciones
Políticas Comerciales acuerdos de compra-venta con terceros
Políticas del Ciclo de Vida de los Servicios
Reglas a aplicar en los diferentes estados del ciclo de vida
Estándares por defecto a ser usados
Estándares de web services (WS-* standards), estándares del sector
Expectativas de calidad de los servicios (QoS)
Calidad esperada para cada dominio, servicio y operacion en particular
26 www.swassociatesint.com
Politicas: Tácticas
27 www.swassociatesint.com
Politicas: Selección de Fuentes
28 www.swassociatesint.com
DIFFERENTIATING SERVICES Cada servicio es clasificado por su nivel de diferenciación
Innovador
Servicios originales de la organización, que se espera que den ventajas competitivas en un
futuro
Sujetos a continuos cambios y mejoras
Generalmente para apoyo a nuevos productos, mercados, canales, etc
Especialidad
Sercicios que la organización realiza de forma competitiva, o unica, que la diferencia y
contribuyen a elevar el precio de la acción
Relativamente estables pero precisan de control y capacidad de cambio
No adecuado el uso de paquetes, aunque el desarrollo podria se externalizado
Estandarizado
NON-DIFFERENTIATING SERVICES
Servicios no especializados que la organización puede llevar a cabo de manera tan eficiente
como sus competidores, pero no mejor.
Objetivo: normalización de estos servicios en la Organización. No interesa subcontratar, ya que
sigue siendo muy conveniente el control interno.
Podrían estar disponible en paquetes.
Commodity
Servicios bien conocidos por la organización que esta puede llevar a cabo de manera tan
eficiente como sus competidores, pero no mejor.
Posibilidad de externalización sin detrimento del negocio
Los proveedores probablemente pueden realizarlo por un menor costo o de manera más
eficiente
29 www.swassociatesint.com
Políticas Comerciales
30 www.swassociatesint.com
Politicas del Ciclo de Vida de Servicios
Planificado
Archivado
31 www.swassociatesint.com
Politicas de Certificación
Los servicios que se desplieguen como parte del portfolio de servicios deberían ser
"certificados" por los proveedores de servicios
Los procedimientos de certificación debe ser revisados, para que se ajusten a las
políticas correspondientes
32 www.swassociatesint.com
Publicación y Políticas de Gestión de Activos
Los servicios desplegados como parte del Portfolio, deben ser publicados en un
registro o catálogo
UDDI (Universal Description Discovery and Integration) es el estándar para el registro:
especialmente para servicios disponibles externamente.
33 www.swassociatesint.com
Otras Politicas del Ciclo de Vida
Políticas de Operación
Requisitos de Alto Nivel para la Monitorización y Gestión de los Servicios
Requisitos de Alto Nivel para la Operación en Producción
34 www.swassociatesint.com
Decidir Estándares por Defecto
La idea es:
Definir un conjunto de estándares por defecto que puedan ser razonablemente
aplicados a todos los servicios del Portfolio
Puede haber adiciones y/o variaciones por cada dominio, servicio u operación
específica
35 www.swassociatesint.com
Estándares por Defecto -- Ejemplo
36 www.swassociatesint.com
Expectativas por defecto en la Calidad de los Servicios
La idea es:
Definir un conjunto de expectativas de calidad por defecto que pueda ser
aplicado a todos los servicios del Portfolio
Los proveedores deberan autorizar el acuerdo en estas espectativas
37 www.swassociatesint.com
Categorias de Calidad
Rendimiento Seguridad
Disponibilidad Autenticación
Fiabilidad Autorización
Rendimiento Privacidad
Tiempo de respuesta Integritdad del Mensaje
No-repudio
38 www.swassociatesint.com
Expectativas de Calidad por defecto – Rendimiento
39 www.swassociatesint.com
Expectativas de Calidad por defecto – Seguridad
40 www.swassociatesint.com
Cuando se necesitan Políticas de Planificación
41 www.swassociatesint.com
Contenido del Plan de Servicios
www.swassociatesint.com
Resumen
43 www.swassociatesint.com
www.swassociatesint.com
Construyendo la Arquitectura
de Servicios:
Modelización SOA
Ejercicio
Decisión de Politicas para la
Planificación y Aprovisionamiento de Servicios
Decidir las tácticas más adecuadas para el Plan de Servicios de una empresa durante los
próximos dos años
Si eso no es posible imaginar una típica empresa - que podría ser una empresa en la que
haya trabajado en el pasado
3 Integración Servicios Proyectos que soportan procesos repetibles para la prestación de servicios
Compartidos en de Dominios y Lineas de Negocio
Dominios Control centralizado de toda la actividad de integración
Arquitectura de Referencia e implementación basada en la experiencia de
PoC
Todos los tipos de Servicio (process, capability, core business, utility)
2 Aplicación Proyectos enfocados Bastante infraestructura
a Servicios Servicios basados en Lineas de Negocios (LOB) o de Dominio que pueden
ser ampliamente reutilizados.
46 www.swassociatesint.com
Decidir Tácticas (1 of 3)
Que tácticas considera más apropriadas para ‘la compañía’ en los proximos 2 años
47 www.swassociatesint.com
Decidir Tácticas (2 of 3)
48 www.swassociatesint.com
Decidir Tácticas (3 of 3)
9 Prácticas de Desarrollo (procesos y/o tecnicas) SOA: Implantación de nuevas prácticas de SOA
10 Organización del Desarrollo: Reorganización para SOA (ej.: nuevos equipos de gente) | Con la
estructura existente, pero introduciendo nuevos roles | En gran medida la misma estructura
de organización y Roles
49 www.swassociatesint.com
Definir Políticas de Fuentes de Aprovisionamiento
Escribir 1,2,3 en cada columna, para mostrar las fuentes preferidas para el nivel de
particularización — para ‘la empresa’ basado en las tácticas seleccionadas
Nivel de particularización —> commodity estandarizado especializado experimental
Pre-existente, comercialmente disponible
Pre-existente, en Paquete adquirido
Pre-existente, ofrecida por partners
50 www.swassociatesint.com
www.swassociatesint.com
Construyendo la Arquitectura
de Servicios:
Modelización SOA
Sales
Solution Layer
System
Orders Service
Core Business Services
Products Service
Utility Services
52 www.swassociatesint.com
Contenido del Plan de Servicios: estamos aquí
www.swassociatesint.com
Arquitectura de Capas
54 www.swassociatesint.com
Políticas sobre Capas de Servicios
¿Cuantas capas?
55 www.swassociatesint.com
Capas de Servicios
56 www.swassociatesint.com
Ejemplos de Servicios asignados a cada Capa
57 www.swassociatesint.com
Conceptos
Solution Logic: Inexistentes. Esta Puede llamar a un proceso, Interfaz de usuario, No excepto datos
Proporciona experiencia capa no contiene a un core service, o a utility validación, menmsajes de temporales de la sesion
del usuario final servicios y underlying directamente usuario, gestion de sesiones
Process Services: Independiente del Puede llamar Puede ser llamado No es su objetivo.
aplica reglas específicas interfaz de usuario, directamente, a un directamente por soluciones Excepcionalmente datos de
de procesos de negocio representa a capability ,core service, o de negocio control, realizados por
procesos a utility y underlying motores de procesos.
CapabilityServices: Independiente del Puede llamar Puede ser llamado por No es su objetivo. Sólo en el
orquesta otros servicios; interfaz de usuario, da directamente, a un core soluciones o process caso de que no sean
composicion servicios respuesta actividades service, o a utility y services almacenados por ‘core
complejos de procesos underlying services’
Core Business Independiente del Puede llamar a otro core Generalmente las Normalmente mantiene los
Services: interfaz de usuario y de service, o a utility y dependencias ciclicas no principales almacenes de
aplicar reglas que afectan procesos, por lo que underlying son permitidas. No puede datos a menos que esté
a toda la organización puede ser utilizado en llamar a servicios de delegado en utility o
distintos conceptos proceso underlyig services
Utility Services: Independiente de Puede llamar a otro utility Generalmente las A menudo utilizados para en
Compartidos por los interfaz de usuario, y underlying dependencias ciclicas no directorios, en tablas y
Core Business Services procesos y a menudo son permitidas. rastros de auditoría, etc
de los dominios
Underlying Services: genérico, basado en Podría llamar a otro No puede llamar a process o Utilizados para mantener
aplican reglas de aplicación, interfaz no underlying, pero no es core services almacenes de datos, y
negocio, pero de difícil propio para desarrollo muy común llamadas a servicios
desarrollo
58 interno
www.swassociatesint.com
Definición de Dependencia entre Servicios
Dependencia
Service A
«llamada»
Service B
Significa que el servicio A requiere al servicio B para realizar una o mas operaciones
59 www.swassociatesint.com
Especificación de Arquitectura con dependencias. Ejemplo.
Desarrollo de Control de
Pedidos Productos Stocks
Solution Layer
Servicio
Cumplimentación Servicio Gestión Process Services
de Pedidos de Stocks
Conversor de Moneda
Utility Services
Formateador de Direcciones
60 www.swassociatesint.com
Dependencias Permitidas
PROCESS SERVICES
UTILITY SERVICES
UNDERLYING SERVICES
61 www.swassociatesint.com
Dependencias no permitidas
PROCESS SERVICES
Dominio 1 Dominio 2
CORE BUSINESS SERVICES
(ciclica)
UTILITY SERVICES
(ciclica)
UNDERLYING SERVICES
62 www.swassociatesint.com
Tipos de dependencias entre Servicios
Servicios Independientes
No acceso al codigo o datos del uno al otro
No llamadas de uno al otro
Reusable en otros contextos, sin necesidad del otro
Cada uno puede ser implementado en un componente encapsulado
63 www.swassociatesint.com
Sanity Check
Por ejemplo:
El servicio debe soportar al menos dos de las siguientes premisas, sino no será provisionado:
ofrecer operaciones que puedan ser compartidas por mas de un proceso, aplicación o
interfaz de usuario
ofrecer operaciones que puedan ser emsambladas dentro de servicios de mayor nivel
ofrecer operaciones que puedan ser orquestadas por mas de una secuencia de servicios
proporcionar acceso programatico a operaciones que usarán colaboradores (B2B, B2C,
…)
reunir información de varias fuentes de datos que proporcionen visión de 360° de los
principales recursos de la organización
permitir a un sistema existente tener acceso a otros sistemas y a aplicaciones que deban
integrarse
Reforzar la estandarización de procesamiento a través de la organización
proporcionar acceso a funciones de alto valor para terceros no disponibles in-house
(commodity services, o funciones especializadas)
64 www.swassociatesint.com
Estilo de los Servicios
Asincronos o sincronos?
Son preferibles las operaciones asíncronas pero si los imperativos operacionales lo
exigen, se pueden usar sincronas.
Las operciones asíncronas no son bloqueables por consumidores (estan menos acopladas)
RPC o XML
Parámetros de entrada y/o salida estilo RPC
Preferible documentos XML ya que el diseño del mensaje puede ser cambiado sin
necesidad de consumir código. Esta más débilmente acoplado
Comportamiento transaccional
Usar ‘two-phase commit’ o usar compensación de transacciones
Considerar la adopción del estándar WS-Coordination (incluye ambas)
Actualización de Servicios
Permitir o no versiones concurrentes
Que hacer con las versiones obsoletas
Otros
Control de Concurrencia, Carga util (standard payload), Errcode, Excepciones, ...
65 www.swassociatesint.com
Documentación de Servicios
66 www.swassociatesint.com
Integridad Referencial, Identificación, y politica de Borrado
Integridad Referencial
¿Cómo se mantiene la integridad referencial de las ocurrencias a instancias
que son competencia de otro servicio?
No es problema para servicios que comparten una base de datos unica
Lo es cuando una instancia va a ser borrada y tiene referencias externas.
Identificación de Instancias
Instancias de las que un servicio es responsable de mantener las
referencias a otras instancias de las que otro servicio es responsable.
Usar los identificadores existentes, tal como se conocen en el negocio
No son inmutables, y pueden cambiar
Puede no ser utilizable en instancias que referencian a paquetes
Obstaculiza la provisión de servicios generalizados
Usar identificadores internos ‘ad hoc’
Decidir formato estándar Politicas
de Borrado de Instancias
Imutables, ‘ad hoc’
Borrado físico vs lógico
Puede no ser adecuado para instancias
que referencian a commoditys o servicios Supresión de los “borrados lógicos”
externos
67 www.swassociatesint.com
Politicas de Arquitectura y Diseño de Servicios. Resumen
68 www.swassociatesint.com
www.swassociatesint.com
Construyendo la Arquitectura
de Servicios:
Modelización SOA
70 www.swassociatesint.com
Triage
Acción de seleccionar procesos en función de la calidad
Más simplemente
categorización - decidir si algunos dominios y/o servicios
deben ser tratados de modo diferente
priorización - decidir por qué dominios y servicios
comenzar
71 www.swassociatesint.com
Técnicas para el Triage
Analisis “Core-Context”
adaptado de los libros de Geoffrey Moore's “Living on the Fault Line” y “Dealing
with Darwin”
Separa las actividades empresariales en núcleo (core) y el contexto
Los Procesos Core son los diferenciadores de la compañía y precisan de una
mejora continua
Los Procesos del Contexto deben ser eficientes y serán normalizados
Esta separación guía el abastecimiento de servicios y la utilización de recursos
72 www.swassociatesint.com
Critical Business Issue
Ejemplos de CBI:
Un actual o potencial gap entre el rendimiento de la compañía y:
El rendimiento de la competencia
Las expectativas de los clientes
Analizar las diferencias; estimar el retorno de la inversión para el cierre del gap
Una oportunidad para realizar mejoras significativas en un área aunque no
experimente problemas de rendimiento
La necesidad de implementar un cambio importante en el negocio:
lanzamiento de un nuevo producto, entrada en un nuevo mercado,
cumplimiento de una nueva regulación, …
73 www.swassociatesint.com
Critical Business Issue- Impulsor de mejoras
Business Issues
CBI = las amenazas u oportunidades
fundamentales para el éxito de
Detectar que procesos
la estrategia de negocio
Causan Problema /
Soportan Oportunidad
priorizados
Si el proceso es transversal, puede ser
Priorizar Procesos basados en
gran impacto de CBIs
necesario trabajar en fragmentos del
Plan dentro de cada dominio
Ejecutar proyectos de
Mejora de Procesos SOURCE: RUMMLER & BRACHE
74 www.swassociatesint.com
Triage a partir de Critical Business Issues
Lógico, conservador
75 www.swassociatesint.com
CBIs, CPIs y Objetivos: Ejemplos
Problema Critico (CBI) Proceso de Negocio Problema del Proceso (CPI) Objetivos (para el final del año próximo)
Introducir nuevos Desarrollo de Ciclo de Tiempo demasiado largo para el Nuevos Productos a ser lanzados en menos de 2
productos en los nuevos prouctos desarrollo y la comercialización de nuevos años Extensiones de linea lanzados en menos de
próximos 18 meses productos 6 meses
“ Lanzamiento de un Cada lanzamiento necesita un proceso a Desarrollo de métricas para monitorizar la
nuevo producto medida eficiencia del lanzamiento
Mejorar el Margen en Cumplimentación Costes de reparto mayores que los de la Reducir el Coste de Reparto Unitario en un 40%
la linea XYZ de Pedidos competencia
“ Compra de Materias Los costes de materias primas continuan Materiales Comprados <= 30% del revenue
Primas siendo el 50% de la facturacion (revenue)
“ Fabricación de Gran cantidad de productos rechazados por Reducir rechazos en un 90%
Productos Finales el Control de Calidad
Mejorar satisfacción Pagos de Clientes Los errores de facturación molestan a los Sólo <=0.5% de facturas contengan errores
del cliente clientes y consumen demasiado tiempo Sólo <= 2 quejas válidas de clientes por errores
de facturación al mes
“ Cumplimentación Alto número de Pedidos devueltos debido a Reducir el número de devoluciones por daños de
de Pedidos daños en el transporte transporte al <=0.01% de las entregas
Incrementar la cuota Marketing del Solo el 10% del mercado potencial es Aumentar la concienciación al 80%
de mercado Producto XYZ consciente de la existencia del producto XYZ Hacer disponible XYZ a través de nuestra fuerza
Sólo se vende en grandes almacenes directa de ventas y el sitio web
“ Ventas del Producto El Personal de ventas no entiende la función 100% el personal de ventas capacitado en la
XYZ) del producto función de producto
Las soluciones para los procesos de negocio debe ser diseñadas de forma
flexible
78 www.swassociatesint.com
La importancia de un Contexto estandarizado
79 www.swassociatesint.com
Clasificando Dominios como Nucleo o Contexto
context !
Un Business Domain es contexto, si contiene:
Sólo Procesos de contexto
Sólo entidades (business type) de contexto
Un Business Type es contexto, si todos sus atributos y relaciones
son estándares de la industria, o puede también ser
Comparar con un modelo de la industria, o con los datos que se
almacenan en un paquete de software
80 www.swassociatesint.com
Sesión Triage — Resumen
Construyendo la Arquitectura
de Servicios:
Modelización SOA
www.swassociatesint.com
Ejemplo Implementación usando Servicios compartidos
Recursos Servicios Recursos Servicios Recursos Servicios Recursos Servicios Recursos Servicios Recursos Servicios
Libertad Cond Prisionero Estudiante Universidad Plazas Univ. Plazas Guardería
Gestión
Modelo semántico correspondiente al caso
del slide anterior.
Prisionero Estudiante
Ciudadanos
www.swassociatesint.com
Un modelo simple, via abstracción
Restau- Política de
Hotel Comida Recibo
rante devolución
Reglas
fiscales
Viajes y Dietas
Alojamiento y
Gastos
Manutención
www.swassociatesint.com
Dos visiones: Separadores y Agrupadores
(Lumpers y Splitters)
Separador:
“Hay diferencias importantes entre Jack and Jill, por lo que
pertenecen a diferentes tipos.”
Agrupador:
"Jack y Jill son esencialmente lo mismo, y pertenecen al
mismo tipo".
www.swassociatesint.com
Subtipos y Herencia: varias notaciones
PERSONA PERSONA
is-a
PERSONA
PACIENTE NO-PACIENTE
PACIENTE TRATAMIENTO
Todos los pacientes son Personas. Pero no todas las personas son pacientes.
PERSONA
Modelo Agrupador
www.swassociatesint.com
Servicios desacoplados
PERSONA
Otros Servicios
*
TRATAMIENTO PACIENTE Servicios Medicos
www.swassociatesint.com
Desacoplando Identidad, Seguridad, Privacidad, Contexto
PERSONA
Otros Servicios
*
CRIMEN CRIMINAL Servicios Justicia
AMENAZA
Seguridad Patria
NACIONAL
www.swassociatesint.com
La semántica es critica para la interoperabilidad
www.swassociatesint.com
Distintas visiones
www.swassociatesint.com
www.swassociatesint.com
Construyendo la Arquitectura
de Servicios:
Modelización SOA
Refinar Políticas
detallado Identificar Otros Servicios y Dependencias de Servicios
Modelo de Arquitectura de
Funciones Identificar Unidades de Automatización y Depen.
Implementación
de Servicios
Modelo de Diseñar Arquitectura de Despliegue de Servicios
Procesos Arquitectura de
Desplieguede
Definir el enfoque de la Transición
Modelo de Servicios
Sistemas
Obtener la aprobación del Plan Incremental
96 www.swassociatesint.com
Business Type Model: Modelo Entidad/Relación
Subtipos y Super-tipos 1
Identificadores includes
Construcción de un Modelo *
Business Type Purchase specifies Raw Material Associate
Order Line * 1 Company
Modelos de alto nivel versus
detallados
97 www.swassociatesint.com
Que es una Entidad (Business Type)
Ubicación
Acct 0045
Cuenta
Acct 9133
Incluye:
Pedido Proveedor business types (Entidades),
Numero pedido{id} enviado a nombre {id} pero no instancias
0..* 1..1 individuales
Fecha pedido dirección
Total importe asociaciones entre
1..1 entidades
consta de atributos (data items) de
1..* {id}
entidades
identificadores de
Linea de Pedido
entidades
{id}
Codigo producto
cantidad
precio
99 www.swassociatesint.com
Concepto y Utilidad de un Modelo E/R
100 www.swassociatesint.com
Atributos
Customer
Los Atributos son características de la entidad (business type)
name
P.ej: cada Cliente tiene su nombre, dirección y dirección web
address
web site address
Para cada instancia, los atributos toman diferentes valores
name = Adidas(UK) Ltd
address = Pepper Road, Hazel Grove, Stockport, Cheshire SK7 5SA
web site = http://www.adidas-salomon.com/
Supplier
Cada atributo tiene un tipo de dato (data type) order number
P.ej: number, date, text, composite, boolean supplied product codes
No es necesario definirlos durante el Plan de Servicios supplier performance
Se definen para la documentación de Implementación address city
supplier date
date became approved
Evitar: atributos duplicados o derivados, asignación a tipos de datos supplier
erróneos, nombres no significativos, …
duration since became
approved
current status
101 www.swassociatesint.com
Asociaciones: Relaciones
Pedido Proveedor
0..* recibido por 1..1
Numero pedido nombre
Fecha pedido direccion
Total importes
0..* significa minimo cero, maximo muchos 1..1 significa minimo uno, maximo uno
Puede abreviarse a * Puede abreviarse a 1
Un Proveedor recibe de Un pedido es recibido
cero a muchos Pedidos sólo por un Proveedor
Entidad
1
atributo 1 Uno, exacto
atributo 2
Entidad
0..1
atributo 1 Cero o uno
atributo 2 (opcional)
Entidad
1..* Uno o muchos
atributo 1
atributo 2 (1..n)
Entidad
* Cero o muchos
atributo 1
atributo 2
Entidad
2 .. 10 Minimo dos,
atributo 1
atributo 2
maximo diez
103 www.swassociatesint.com
SOA y Flexibilidad
Pedido Proveedor
0..* recibido por 1..*
Numero pedido nombre
Fecha pedido direccion
Producto
104 www.swassociatesint.com
Subtipos y Supertipos
105 www.swassociatesint.com
Particiones Múltiples y Herencia Múltiple
Barco Vehículo
Diesel
Tipo de Tipo de
vehículo vehículo
Tipo de
Tipo de
Camión {completa}
Camión
106 www.swassociatesint.com
Una asociación puede representar composición o agregación
Agregación Composición
0..1 * 1 1
108 www.swassociatesint.com
Identificadores
Clip
color
Cada instancia debe ser diferenciable de cualquier otra tamaño
Ninguno es
material identificador
instancia
109 www.swassociatesint.com
Generalización: estabilidad y longevidad de las entidades
Formas de Generalización
Producto
Producto code
añadiendo espacio para description
code
futuros atributos description
unit type
retail price per unit
unit type
cost price per unit
retail price per unit
current state code
cost price per unit
note 1
note 2
ampliando el concepto de
Edificio Ubicación
negocio de la entidad: las name
name
instancias podrían ser location
position
description
edificios, calles, parques, description
etc. Empleado
id
start date
Empleado
desacoplando la entidad id
name
Persona
generica en una generica address name
start date category code
y otra que particularice address
birth date
birth date
www.swassociatesint.com
Como desarrollar un Modelo E/R no-canónico
Para los dominios que puedan ser estándares de la industria, se podría aceptar el
modelo estándar y saltar el modelado
Si no se está seguro, construir el modelo propio y comparar con el estándar
111 www.swassociatesint.com
Elementos del Modelo
112 www.swassociatesint.com
Exclusiones al Modelo
Excluir
Entidades en las que las instancias no son identificables
Entidades que los sistemas de la organización no gestionaran
Atributos y relaciones dependientes
a menos que los usuarios los necesiten
En cuyo caso nombrarlos con el prefijo “/” y proporcionar la regla de
derivación
Esto mantiene el modelo más compacto: es "no redundante"
Foreign keys
113 www.swassociatesint.com
Ejercicio
W orker
-date_of_birth
/ -age
-birth_date Job
Grade
Ball Point Pen
-has_top
-ink_color
/ grouped by
groups
* * *
allocated to * currently holds 1
Job Title
Employee
-service_date
0..1
-next_review_date
Parent Of
-previous_manager_name[*] from
1..*
descended
Employee
-vacation_days 2
-address
-number of employees
-name
Identificadores yes si
Optionalidad de Attributos no esencial si
Definicion de Atributos y Sólo si el significado No si el significado
Relaciones no está claro es obvio
115 www.swassociatesint.com
Modelización E/R
Resumen
116 www.swassociatesint.com
www.swassociatesint.com
Construyendo la Arquitectura
de Servicios:
Modelización SOA
Service Domains
118 www.swassociatesint.com
Donde estamos
Identify Business
Identificar Core Business Services y Dependencias
Domains
Refinar Políticas
Identificar Otros Servicios y Dependencias
Modelo de Dominios
Identificar Unidades de Automatización y Depen.
www.swassociatesint.com
Dominios
MANUFACTURING
DISTRIBUTION
SUPPLY
ASSETS
MARKETING FACILITIES
CUSTOMERS
FINANCE
HUMAN RESOURCES
120 www.swassociatesint.com
¿Por qué molestarse para encontrar dominios de negocios?
121 www.swassociatesint.com
Técnica de Identificación de Dominios– Paso 1
Técnica de
Identificación
122 de Dominios www.swassociatesint.com
Modelo E/R de Alto Nivel
agrees Supplier Stock
Supplier
Contract
Shipper
receives Truck
governs involves is of houses
Stock used for
makes
Purchase buys
Order Product
Warehouse supplies Outbound Delivery
results in
Proposed relates to appears in
Customer fulfilled by
Offering Sales Complaint
has predicted
Forecast
receives Vendor
advertises Sales
made by Order
is for refers to places placed with
Equipment
Customer
invites buys
Campaign includes Promotion responsible for
Equipment or
assigned to Consumables
Product maintains
Catalog used to access makes Purchase
applies to Territory located in
for Building
Service
from Contract
Channel assigned to IT
Payment includes contains Equipment
located in
Budget
Room Or
allocated to
Space manages
Organization
Unit
based on responsible for Document
Balance includes cost of owned by
administers Or File
Sheet entered on uses required for
covers Employee
Plan
applies topaid to as allocation of
Pay Check performed by assigned to
takes entry from has trained has access to
enjoys
records Job
Key
Account Performance involves comes with
IT
Técnica de Indicator Process Privilege Capability
Identificación
de Dominios www.swassociatesint.com
Técnica de Identificación de Dominios– Paso 2
Todas las entidades deben estar conectadas directa o indirectamente con relaciones
dentro del dominio -> buena cohesión
Técnica de
Identificación
124 de Dominios www.swassociatesint.com
Dominios candidatos
agrees Supplier Stock
Supplier
Contract
Shipper
receives Truck
governs SUMINISTROS
involves is of houses
Stock
Purchase buys
makes used for LOGISTICA
Order Product
Warehouse supplies Outbound Delivery
results in
Proposed relates to appears in
Customer fulfilled by
Offering Sales Complaint
has predicted
Forecast
receives Vendor FACILITIES
advertises VENTAS Sales
MARKETING made by Order
is for refers to places placed with
Equipment
Customer
invites buys
includes Promotion responsible for
Generalización
Campaign
Equipment or
assigned to Consumables
reemplazada
Product maintains
Catalog used to access makes Purchase por una relación
applies to Territory located in
for Building
Service
from Contract
Channel assigned to IT
Payment includes contains Equipment
located in
Budget
Room Or
allocated to
Space manages
Organization
based on
Unit
responsible for Document
TI
Balance includes cost of owned by
administers Or File
Sheet entered on uses required for
covers Employee
Plan
applies topaid to as allocation of
Pay Check performed by assigned to
takes entry from has trained has access to
enjoys
records Job
Key
involves comes with
Account ESTRATEGIA Y Performance IT
Indicator
Técnica de
FINANZAS Process RECURSOS Privilege Capability
Identificación
125 de Dominios HUMANOS www.swassociatesint.com
BP = Business Party
Trucos S = Supplier
C = Customer
BP
- a
- b S C
- a - a
- b 0..1 0..1 - b
S C - c is same as - e
- c - e - d - f
- d - f
Reemplazar generalización con una relación Mover los datos del Supertipo a una
entidad en un Dominio de Referencia
S BP
0..1 1 S C
- c - a
is a kind of
- d - b - c - e
- d - f
- x - x
0..1 0..1
C
- e
1 1
- f Dominio
BP Ref Data
De
-x
Referencia -a
-b
Técnica de
Identificación
126 de Dominios www.swassociatesint.com
¿Porque minimizar conexiones entre dominios?
«use case»
SOLUTION LAYER
Register New Order
FinishedProductService OrdersService
Ejemplo
Ratio de Cohesión
Dominio A = 6/2 = 3 (bueno)
Dominio B = ½ = 0.5 (pobre)
A B
Técnica de
Identificación
128 de Dominios www.swassociatesint.com
Asignar los procesos de negocio para los dominios– Paso 4
Matriz CRU Dominio / Procesos de Negocio
Dominios Recursos Gestión
Marketing Suministro Ventas Logística Finanzas Facilities
Procesos de Negocio Humanos Informacion
Desarrollo de Ofertas C U R R C
Grestión de Campañas C C R U U C
Catálogo C U C R U C
Control de Stocks C U R U C
Ventas y Lgística C C U U C
Contratación Empleados C C C
Fidelización de Empleados U R C
Compras de Consumibles R U C C
Cada Dominio debe tener al menos un Proceso que crea las instancias de sus entidades
Asignar los Procesos al Dominio donde estos creen la mayoría de los instancias de sus entidades
Si un Proceso crea y actualiza instancias en más de un dominio, considerar la posibilidad de subdividirlo
en sub-procesos que puedan ser asignados a los respectivos dominios.
Cambiar dominios y fronteras, para reducir procesos cruzados de dominio
Técnica de
Identificación
129 de Dominios www.swassociatesint.com
Documentar Dominios – Paso 5
Actividades y recursos necesarios para Ventas al por Mayor y Menor Clientes, (+ subtipos),
Ventas procesar pedidos de clientes Ventas a Organismos Públicos Pedidos, Ventas,
( 2/6 ) Gestión de Clientes,
Previsiones de Ventas
Logística Actividades y recursos necesarios para Planificación de Entregas Clientes, Pedidos, Flota
( 2/2 ) la entrega de mercancias pedidas por Rutas, Salidas de Almacen de Vehículos, Ubicaciones
clientes. Preparación de Pedidos
MARKETING DOMAIN
CORE
BUSINESS
SERVICE
LAYER
STRATEGY & FINANCE SALES DOMAIN
ALGORITHMS
Resource Scheduler Address Formatter Compound Interest Calculator
131 www.swassociatesint.com
Servicios de Referencia de Datos
Servicios de sólo lectura (read-only) que generalmente son necesarios para varios
dominios y aplicaciones. Se encuadran como ‘utility services’
Por ejemplo, Directorios de Empleados, Registros de Localidades, Regiones, Sites,
Periodos de tiempo, Unidades Organizacionales, …
MARKETING DOMAIN
CORE
BUSINESS
SERVICE
LAYER
STRATEGY & FINANCE SALES DOMAIN
UTILITY
SERVICE
COMMON REF DATA LAYER
Company Calendar Company Locations Employee Directory
132 www.swassociatesint.com
Identificación de Dominios Resumen
Construyendo la Arquitectura
de Servicios:
Modelización SOA
Ejercicios A1 y A2
Construyendo la Arquitectura
de Servicios:
Modelización SOA
Conceptos
‘Core Business Services'
Entidades (Business Types) y el Modelo Entidad/Relación
Entidades del Núcleo (Core Business Types) y Entidades de Detalle
Técnica
Un procedimiento para la Identificación de ‘Core Business Services’
136 www.swassociatesint.com
Técnica para la Identificación de ‘Core Business Services’
137 www.swassociatesint.com
Donde estamos
Modelo E/R,
Identificar Core Business Services y Dependencias
Detaillado
Refinar Políticas
Identificar Otros Servicios y Dependencias
Arquitectura de
Especificación
Identificar Unidades de Automatización y Depen. de Servicios
www.swassociatesint.com
Core Business Services: el Backbone de la Arquitectura
Order
Capability Services
Fulfillment
Stock Management Service (orchestration layer)
Service
Underlying Services
AccountsReceivable Purchasing (not so easy to use)
(from legacy Accounting System) (from highly generic component)
139 www.swassociatesint.com
Core Business Services
Los servicios guardan registros de cada instancia de cada entidad de que son
responsables
Los servicios proporcionan una visión 360° de cada recurso, y sus conceptos
asociados
Servicios de alto nivel, procesos y aplicaciones pueden compartir cada recurso
140 www.swassociatesint.com
Técnica
PASOS
Paso 1 – Prerrequisitos
Modelo Entidad / Relación no-canónico (Business Type Model)
Procesos de Negocio del Dominio – Descricpciones, diagramas de flujo y CRUD
Politicas
Paso 2 – Determinar los identificadores en el diagrama e/r
141 www.swassociatesint.com
Entidad
Ejemplos
Materias Curso de
ENTIDADES TANGIBLES Edificio Empleado Primas Formación
Quejas Pedidos Asistencia
ENTIDADES MENOS TANGIBLES de de Presu- a un
Clientes Clientes puestos Curso
Detalle
Dibujar el Diagrama Entidad/Relación
Entidad
Core Segmentarlo en Dominios
Clasificación
? Crear el modelo detallado de los
dominios seleccionados
Detalle
Entidad
Core Clasificar las entidades en tres tipos
Clasificación Core
De Detalle (detailing)
? De Clasificación (classifying)
Dominio
Revisar entidades core
(core business types)
Detalle Revisar cardinalidad
Entidad
Core Reducir acoplamiento
Clasificación
www.swassociatesint.com
Entidades Core, de Detalle y de Clasificación
www.swassociatesint.com
Business Type Model produces Core Business Services
Dominio
Detalle «servicio»
Entidad
Core OrdersService
Clasificación
?
Detalle
Entidad «servicio»
Core ProductsService
Clasificación
?
Dominio
Detalle
Entidad «servicio»
Core CustomersService
Clasificación
www.swassociatesint.com
Ejemplo
Associations
Relaciones
Entidades
Relación
1
Producto Cliente
{sa-id} {sa-id}
* 1 1 {id} 1 1 1 {id}
{id} {id}
* *
Independiente
1
Independiente
Producto Cliente Independiente
{sa-id} {sa-id}
* 1 1 {id} 1 1 1 {id}
{id} {id}
* *
Linea de Ubicación
Pedido 1..*
Clasifica a
Independiente
Producto
www.swassociatesint.com
Categorización de Entidades
1
Producto Cliente
{sa-id} {sa-id}
* 1 1 {id} 1 1 1 {id}
{id} {id}
* *
Linea de Ubicación
Pedido 1..*
Entidad
Asociativa
www.swassociatesint.com
Responsabilidades de los Core Services
«core» 1 «core»
Producto Cliente
* 1 1 {id} 1 1 1 {id}
{id} {id}
* *
Linea de Ubicación
Pedido 1..*
«servicio»
«servicio» Lineas Pedido «servicio»
Productos Clientes
www.swassociatesint.com
Independencia de Servicios
Cuanta dependencia?
Ninguna (Independiente)
Operaciones sencillas –
functionalidad limitada
Alta reutilización
Complejidad en consumo
servicio / aplicación Servicio Servicio Servicio
Productos Pedidos Clientes
Limitado (Acíclico)
«service domain» Cadena de Suministro (Supply Chain)
Operaciones mas potentes
Más fácil de usar
Puede ser complejo de
construir y mantener
Completo (Cíclico)
Alta complejidad
Baja reutilización
www.swassociatesint.com
Arquitectura de Servicios por Capas
Business Retail
Manage Capital Adequacy Loan Application Loan Application
Customer Financial
Aggregate Risk Profile Portfolio Visibility
Standard Calculations
Product Rules Engine
Credit Check
Regulatory Framework
www.swassociatesint.com
Resumen
Ambito Ambito
Organización o Dominio Dominio o Proyecto
Contenido Contenido
Entidades Primarias identificadas y descritas Todas las entidades identificadas y descritas
Relaciones Primarias Todas las relaciones
Identificación y diferenciación de atributos Todos los atributos
www.swassociatesint.com
Resumen de los pasos de la Técnica
1. Prerrequisitos:
Modelo Entidad/Relación del Dominio
Proceso de Negocio del Dominio – descripciones, diagramas + CRUD
Politicas de Diseño
2. Marcar los Identificadores sobre el diagrama del modelo
3. Identificar Entidades Core
4. Asignar entidades de detalle a entidades core
Decidir emplazamiento de entidades asiciativas
Decidir entidades de clasificación
5. Proponer Servicios Core (Core Business Services)
Agrupar entidades alrededor de entidades core
Refinar la propuesta
6. Preparar Descripción Inicial de Servicios
6a. Considerar generalización de entidades
7. Identificar Dependencias entre servicios
8. Preparar Diagrama de la Arquitectura de Especificación de Servicios
Tratar de reducir dependencias
Conforme a las políticas de diseño
9. Identificar Utility, Underlying and Process Services SESIONES POSTERIORES
154 www.swassociatesint.com
www.swassociatesint.com
Construyendo la Arquitectura
de Servicios:
Modelización SOA
Ejercicios B1 y B2
Enunciados y Soluciones en Volumen B
Independent Guidance for
SOAINT Services Architecture