Implemente un Modelo SOA con Progress
David MillmanArquitecto Principal
© 2008 Progress Software Corporation2
Agenda
Los Componentes Relevantes del Modelo El Problema Resolviendo el Problema Resumen
Implementando el Modelo de Referencia SOA
© 2008 Progress Software Corporation3
El Modelo de Referencia
Visib
ility & C
on
trol
Infrastru
cture S
ervicesConnection & Data Services
Business Services
Composition/Mediation Services
Presentation/Consumer
© 2008 Progress Software Corporation4
Perspectiva del Desarrollador ESB
En lo que nos vamos a concentrar
Connection & Data Services
Business Services
Composition/Mediation Services
© 2008 Progress Software Corporation5
Agenda
Los Componentes Relevantes del Modelo El Problema Resolviendo el Problema Resumen
Implementing the SOA Reference Model
© 2008 Progress Software Corporation6
Problema muestra (Del Recetario)
Un Telco, Muchos Clientes Distintos
CSRCSR
El Cliente es base instalada en la línea de negocios • No hay vista consolidada de un sólo cliente
CellCell InternetInternet HomeHome TVTV
ESB
© 2008 Progress Software Corporation7
CellCell InternetInternet HomeHome TVTV
Connect
Utilizando la Arquitecrua de Referencia para Definir la Estructura de la Solución
CSRCSR
CSR: View/Update Customer
Entities Customer: Accounts: Account
Connect Connect Connect
© 2008 Progress Software Corporation8
Agenda
Los Componentes Relevantes del Modelo El Problema Resolviendo el Problema Resumen
Implementing the SOA Reference Model
© 2008 Progress Software Corporation9
Meta de la Implementación
Rompiendo el problema en unidades manejables• Permitir que cada unidad sea extendida y reutilizada
en contextos múltiples
• Acotado en tiempo para permitir los entregables conocidos y marcos de tiempo
• Como resultado: dimensionamiento consistente y asignación de tareas del proyecto SOA
Dando Soporte para los enfoques de arriba a abajo y de abajo a arriba
Cada capa define un conjunto de entregables conocidos
Patrón Repetitiva para Desarrollo y Re-uso
© 2008 Progress Software Corporation10
Agenda
Los Componentes Relevantes del Modelo El Problema Resolviendo el Problema
• Servicios de Negocios
• Servicios de Composition/Mediation
• Servicios de Conexión Resumen
Implementando el Modelo de Referencia SOA
© 2008 Progress Software Corporation11
¿Qué es un servicio de Negocios?
Diagramas de caso
de uso• Usados para definir
operaciones de un
actor o conjunto de
actores específicos
Componentes del Nivel de Servicios
© 2008 Progress Software Corporation12
Servicios de Negocios, ¿Quién se interesa?
Entities Customer: Accounts: Account
CSR: View/Update Customer
CellCell InternetInternet HomeHome TVTV
Connect Connect Connect Connect
Business ProcessAnalyst/
Developer
Business ProcessAnalyst/
Developer
© 2008 Progress Software Corporation13
Analista/Desarrollador de Negocios
Visión de Negocios del Mundo• Actores y casos de uso
• Se entienden Solicitudes/Respuestas de alto nivel
• Pueden entenderse tecnologías de presentación Se entienden conceptos del ESB
• Se implementan procesos ESB para prototipos– E,g servicios de prototipo/transformación para desarrollo
de arriba a abajo
Mínimo entendimiento del panorama de TI
© 2008 Progress Software Corporation14
Implementación de Casos de Usode la Arquitectura de Referencia
Proyecto basado en Actor• Provee una vista lógica
de toda la lógica de Actor Cada uso se vuelve:
Proceso ESB nombrado como:• Actor.CSR.ViewCustomerProfile• Actor.CSR. ViewAllCustomersAccounts• Actor.CSR.UpdateAnAccount
Implementación de Web Service puede llamar al proceso lógico • Actor.CSR.ViewCustomerProfile.WS
Inicialmente implementado utilizando el servicio de Prototipo y luego reemplazado con una implementación real (invocación al proceso de Mediación)
© 2008 Progress Software Corporation15
Entregable del Proceso del ESB: Fase 1
Servicio Proototipo, Servicio de
Transformación usado para generar una respuesta default
Servicio Proototipo, Servicio de
Transformación usado para generar una respuesta default
© 2008 Progress Software Corporation16
Entregable del Procesos ESB : Cuándo se Define la Capa de Mediación
Implementada como una Transformación Dinámica para un
objetivo que usa DXSI
Implementada como una Transformación Dinámica para un
objetivo que usa DXSI
Impementado como una Transformación Dinámica definida
para un objetivo que usa DXSI
Impementado como una Transformación Dinámica definida
para un objetivo que usa DXSI
Implementada como una llamada de Servicio(s) de
Mediación requeridos para la operación
Implementada como una llamada de Servicio(s) de
Mediación requeridos para la operación
© 2008 Progress Software Corporation17
Visib
ility & C
on
trol
Infrastru
cture S
ervicesConnection & Data Services
Business Services
Composition/Mediation Services
Presentation/Consumer
¿Qué hay de la Presentación?
La capa de presentaciones es consumidor/cliente de un Servicio de Negocios
Consumidores múltiples pueden acceder a los servicios de Negocios e.g. Web-Service/ Portal/JMS
© 2008 Progress Software Corporation18
Comprende como serán los casos de uso del Consumidor en el mundo real• Cómo exponer los servicios como un Web
Service a un portal etc.
CSR View/Update Customer
Web-Service
Posicionando Servicios de Negocios para el Consumidor
Portal
© 2008 Progress Software Corporation19
Invocación de Servicios Web
Directorio WS contiene configuración de Servicio Web
Configuration (incluyendo definiciones de wrap)
El proceso se llama como el caso de uso pero tiene el
sufijo.WS para denotar que es un Servicio Web
Directorio WS contiene configuración de Servicio Web
Configuration (incluyendo definiciones de wrap)
El proceso se llama como el caso de uso pero tiene el
sufijo.WS para denotar que es un Servicio Web
Implementación de Servicio Web con el unwrap y wrap adecuados que llaman a un
Proceso ESB
Implementación de Servicio Web con el unwrap y wrap adecuados que llaman a un
Proceso ESB
© 2008 Progress Software Corporation20
Proyecto basado en Portal o Presentación
Presentación basada en proyecto tecnológico
Esto define la forma en que el ESB interactúa con el portal o similar, mapea peticiones a los formatos requeridos por
niveles inferiores.
Presentación basada en proyecto tecnológico
Esto define la forma en que el ESB interactúa con el portal o similar, mapea peticiones a los formatos requeridos por
niveles inferiores.
Llama a procesos de Negocios con las
transformaciones apropiadas etc. en ambos lados de la
invocación.
Llama a procesos de Negocios con las
transformaciones apropiadas etc. en ambos lados de la
invocación.
© 2008 Progress Software Corporation21
Agenda
Los Componentes Relevantes del Modelo El Problema Resolviendo el Problema
• Servicios de Negocios
• Servicios de Composición /Mediation
• Servicios de Conexión Resumen
Implementando el Modelo de Referencia SOA
© 2008 Progress Software Corporation22
¿Quién debe Implementar la Solución?
Entities Customer: Accounts: Account
CSR: View/Update Customer
CellCell InternetInternet HomeHome TVTV
Connect Connect Connect ConnectSOA
FoundationServices Leader/
ApplicationService
Implementer
SOAFoundationServices Leader/
ApplicationService
Implementer
© 2008 Progress Software Corporation23
Architect/Desarrolladores SOA
Entiende cuántos servicios trabajan juntos y la tecnología involucrada• Implementación
– Geografía/Red• Balanceo entre Optimización y Diseño
– Código – ESB Processes – BPEL• Interfaces a implementar• (Negocios/Diseño and Conexión)• Problemas de usar múltiples
Tecnologías/Fuentes de Datos – e.g.Master Name Management
© 2008 Progress Software Corporation24
Arquitecutra de Referencia a UML
Ofrece un conjunto único de servicios que pueden ser reusados
La mediación en escencia se trata de componentes basados al rededor de entidades virtuales y patrones de integración
Componentes del Nivel de Mediación
cd Class Model
Customer
+ viewAllAccounts() : void
Account
+ getAccountInformation() : void
CellAccount InternetAccount HomePhoneAccount TVAccount
Accounts
+ getAllAccountInformation() : void
© 2008 Progress Software Corporation25
Implementación de la Mediación
Proyecto basado en entidad• Seis proyectos para el diagrama anterior
Cada entidad y operación se vuelven un proceso ESB:• Entity.Customer.viewAllAccounts• Entity.Accounts.getAllAccountInformation• Entity.CellAccount.getAccountInformation• Entity.InternetAccount.getAccountInformation• Entity.HomePhoneAccount.getAccountInformation• Entity.TVAccount.getAccountInformation
© 2008 Progress Software Corporation26
Implementación de la Mediación
Entidad única e.g. Cuenta célula puede proveer• Agregación de múltiples sistemas de back end
• Expectativa de trabajar usando el Modelo de Datos Canónicos
Recolección de Entidad e.g. Todas las Cuentas• Implementar los siguientes patrones
– Splitter/Router– Aggregator e.g. getAllAccountInformation– Master Name Management?
El Modelo Canónico reforzado en la frontera
© 2008 Progress Software Corporation27
Entity.Accounts.getAllAccountInformation
Versión 1: Implementación de Arriba a Abajo
Genera la Respuesta adecuada a la petición (No se
llama a otros servicios)
Genera la Respuesta adecuada a la petición (No se
llama a otros servicios)
© 2008 Progress Software Corporation28
Entity.Accounts.getAllAccountInformation
Versión 2 : Implementación de calling apropiado para Operaciones de Entidad
Servicio “split-join” usado para llamar las operaciones en
objetos de cuentas individuales
Servicio “split-join” usado para llamar las operaciones en
objetos de cuentas individuales
© 2008 Progress Software Corporation29
Agenda
Los Componentes Relevantes del Modelo El Problema Resolviendo el Problema
• Servicios de Negocios
• Servicios de Composición/Mediación
• Servicios de Conexión Resumen
Implementando el Modelo de Referencia SOA
© 2008 Progress Software Corporation30
Quién debe implementar la Solución
Entities Customer: Accounts: Account
CSR: View/Update Customer
CellCell InternetInternet HomeHome TVTV
Connect Connect Connect Connect
Connect-Integration
Experte.g.
DBA,SAP Develop
Connect-Integration
Experte.g.
DBA,SAP Develop
© 2008 Progress Software Corporation31
Conexión del Desarrollador
Entendimiento de alto nivel de tecnología back-end • E.g. DBA
Entiende los componentes requeridos del ESB• i.e Procesos ESB, Servicios de Conexión• Sin distribución, Federación e Implementación
Uno es requerido típicamente para cada tecnología/implementación• i.e. 4 requeridos para la filmina anterior
© 2008 Progress Software Corporation32
Conexión Física con el UML
Ofrece una conexión virtualizada del ESB a la tecnología de implementación• Permite a los sistemas del back integrase
transparentemente en el nivel de Mediación
Componentes del Nivel de Conexión
© 2008 Progress Software Corporation33
Proyecto de Conexión Física
Todas las instancias de conexiones apropiadas e.g. Definición de Servicios de
Conexión definidas en el directorio, completan el proyecto
Todas las instancias de conexiones apropiadas e.g. Definición de Servicios de
Conexión definidas en el directorio, completan el proyecto
Procesos de alto nivel usados para llamar una o más versiones para permitir
esquemas de bases de datos concurrentes etc.
Procesos de alto nivel usados para llamar una o más versiones para permitir
esquemas de bases de datos concurrentes etc.
Versiones defiidas bajo el método de directorio
principal
Versiones defiidas bajo el método de directorio
principal
© 2008 Progress Software Corporation34
Implementación de la Conexión
Proyecto único por tecnología backend Puede también implementar una conexión lógica Cada operación de clase principal se convierte en un
Proceso ESB e.g.• Conection.BD.CellPhoneAccountsDB.getAccountData
ForMonth Ofrece la habilidad de migrar a diferentes versiones
de la tecnología de implementación Puede proveer interfaz gráfica a los componentes
requeridos
© 2008 Progress Software Corporation35
Agenda
Componentes Relevantes de la Arquitectura Resolviendo el problema, personal requerido Resolviendo el Problema, el enfoque Resumen
Implementando el Modelo de Refernecia SOA
© 2008 Progress Software Corporation36
Qué hemos aprendido
La Arquitectura de Referencia Soporta:• Arquitectura de Referencia para UML
– Ofrece mapeo común de la UML a la Arquitectura de Referncia
– Componentes definidos– Cada nivel define un conjunto de componentes
necesarios • De Arriba a Abajo y de Abajo hacia Arriba
– Implementación concurrente es posible• Nombres definidos para ofrecer orden en las
herramientas y herramientas de búsqueda
© 2008 Progress Software Corporation37
Conclusión
La Arquitectura de Referencia aporta• Dimensionamiento del personal necesario
– Requerimientos de entrenamiento y conocimiento
• Estructura formal para entregables– Ofrece dimensionamiento y gestión
• Soluciones Replicables ESB aporta
• ESB ofrece la capacidad de conectarse económicamente
• e.g. Invocación de proceso y mensajería del intra contenedor que hace posible definir una solución basada en componentes y funcional.
© 2008 Progress Software Corporation38
Preguntas?
© 2008 Progress Software Corporation39
Gracias
© 2008 Progress Software Corporation40