Emanuel BanchioLuis Cassol
DESARROLLO, INTEGRACIÓN Y ORQUESTACIÓN DE SERVICIOS
WEB PARA EL SOPORTE DE TRANSACCIONES BANCARIAS
USANDO UN MOTOR WS-BPEL
DESCRIPCIÓN DEL PROBLEMA• MODELADO• DISEÑO ARQUITECTURA SOA• IMPLEMENTACIÓN BISON
OBJETIVOS
METODOLOGÍA
CONCEPTOS GENERALES
SOLUCIÓN
CONCLUSIONES
DEMOSTRACIÓN
AGENDA
DESCRIPCIÓN DEL PROBLEMAOBJETIVOS
METODOLOGÍACONCEPTOS GENERALES
SOLUCIÓNIMPLEMENTACIÓN
CONCLUSIONES
DOMINIO DEL PROBLEMADESCRIPCIÓN DEL PROBLEMA
Transacciones financieras
¿por qué?
SysOne
Aplicación de nuevas tecnologías (SOA, WS-BPEL).
Necesidad de adaptar sistemas, Desactualización
Convivencia de muchos sistemas
Falta de Interoperabil
idad
Impacto en costos y tiempos
de respuesta
PROBLEMAS DEL SECTORDESCRIPCIÓN DEL PROBLEMA
Aplicar SOA
WS-BPEL
DESCRIPCIÓN DEL PROBLEMAHIPÓTESIS DE SOLUCIÓN DEL PROBLEMA
OBJETIVOSDESCRIPCIÓN DEL PROBLEMA
METODOLOGÍACONCEPTOS GENERALES
SOLUCIÓNIMPLEMENTACIÓN
CONCLUSIONESDEMOSTRACIÓN
Desarrollar un Sistema de Información
Basado en tecnologías de Servicios Web
Dar soporte a BP del ámbito bancario
Utilizar un Motor WS-BPEL para integración y orquestación
Evaluar beneficios y complejidades.
OBJETIVOS
OBJETIVOS ESPECÍFICOS
RELEVAR Y MODELARAUTORIZACIÓN DE PRÉSTAMO
DESARROLLAR UN SISTEMA PARA DAR SOPORTE
UTILIZAR SOA COMO SOLUCIÓN ARQUITECTÓNICA (METODOLOGÍAS Y
DISEÑO)
IMPLEMENTAR LOS SERVICIOS UTILIZANDO WS
UTILIZACIÓN DE HERRAMIENTAS LIBRES
METODOLOGÍA
DESCRIPCIÓN DEL PROBLEMAOBJETIVOS
CONCEPTOS GENERALESSOLUCIÓN
IMPLEMENTACIÓNCONCLUSIONESDEMOSTRACIÓN
DESARROLLO INCREMENTAL DE SOFTWARE
MEJORA CONTINUA EN CADA ITERACIÓN
COLABORACIÓN DEL CLIENTE
DOCUMENTACIÓN SOLO LA NECESARIA
METODOLOGÍA
METOLOGÍA ÁGIL
EQUIPO DE TRABAJO CON ROLES DEFINIDOS
PRODUCT BACKLOG
SPRINTS PERIÓDICOS INCREMENTOS EN LA FUNCIONALIDAD DEL PRODUCTO
REUNIONES DIARIAS
METODOLOGÍA
SCRUM
CONCEPTOS GENERALES
DESCRIPCIÓN DEL PROBLEMAOBJETIVOS
METODOLOGÍA
SOLUCIÓNIMPLEMENTACIÓNCONCLUSIONESDEMOSTRACIÓN
CONCEPTOS GENERALES
ARQUITECTURA ORIENTADA A SERVICIOS (SOA)
PRINCIPIOS
BUSINESS-DRIVEN
(guiada por el negocio)
VENDOR-NEUTRAL
(independiente del
proveedor)
ENTERPRISE-CENTRIC(centrada
en la empresa)
COMPOSITION-
CENTRIC(centrada
en la composición
)
CONCEPTOS GENERALES
SOA - PRINCIPIOS
Aplicando metodología
• Identificación de servicios
Automatización de los procesos
de negocio
Reutilización de recursos
Interoperabilidad
Agregado de componentes a bajo costo
CONCEPTOS GENERALES
SOA – ¿QUÉ GENERA?
Contrato FormalContrato Formal
DescubrimientoDescubrimiento
ReusabilidadReusabilidad
AutonomíaAutonomía
Bajo Acoplamiento
Bajo Acoplamiento
Sin EstadoSin Estado ComposiciónComposición
Evita duplicidades y se obtiene la…
Proporciona la independencia del servicio y por tanto la…
Minimiza las dependencias consiguiendo
la…
Ofrece más oportunidades de…
Independencia del entorno de ejecución y por lo tanto se consigue la…
Permite la…
CONCEPTOS GENERALES
¿SOA COMPLIANT? PRINCIPIOS DE SO
OPERACIÓN SERVICIO
MENSAJEPROCESO
DE NEGOCIO
CONCEPTOS GENERALES
SOA - ELEMENTOS
Proceso de Negocio 1
Proceso de Negocio N
ServicioServicio Servicio
Servicio Servicio
Mensaje Mensaje
Mensaje
Operación
Operación N
Operación
Operación N
Operación
Operación N
Operación
Operación N
Operación
Operación N
CONCEPTOS GENERALES
SOA – CLASIFICACIÓN DE SERVICIOS
De entidad
De tarea
De utilidad
Capa de servicios de tarea
Capa de servicios de entidad
Capa de servicios de utilidad
servicio de tareas
orquestadas
serviciode tarea
serviciode entidad
serviciode entidad
serviciode utilidad
serviciode utilidad
TOP-DOWN
BOTTOM-UP
MIDDLE-OUT
CONCEPTOS GENERALES
SOA – IDENTIFICACIÓN DE SERVICIOS
Sistema de software
Permite interacción entre máquinas de una red
Posee Interfase WSDL
Incluyen lógica de negocio
Invocación mediante mensajes XML (SOAP)
CONCEPTOS GENERALES
SERVICIOS WEB (WS)
CONCEPTOS GENERALES
SERVICIOS WEB: FUNCIONAMIENTO
SOAP
SOAPSOAP
SOAP
SOAP
WSDLWSDL
WSDL
WSDL
Agente de viajes
Servicio Web
Tarjeta de crédito
Servicio Web
Hotel
Servicio Web
Línea aérea
Servicio Web
Aplicación Cliente SOAP
INDEPENDENCIA
WS permite cubrir principios SO
CONCEPTOS GENERALES
SOA Y WS
UDDIUDDI
ImplementaciónServicio Web
ImplementaciónServicio Web
ConsumidorServicio Web
2. encuentra
obtiene WSDL
1. regist
ra
publica W
SDL
3. petición SOAP (XML)
4. respuesta SOAP (XML)
HTTP
CONJUNTO DE MÉTODOS, HERRAMIENTAS Y TECNOLOGÍAS
• Diseñar BP• Representar BP• Analizar BP• Controlar BP
MEJORAR RENDIMIENTO
BPMN
CONCEPTOS GENERALES
GESTIÓN DE PROCESOS DE NEGOCIO (BPM)
CONCEPTOS GENERALES
CICLO DE VIDA BPMDiagnóstico
(Re) diseño
Implementación
Ejecución Procesos
Lenguaje de Ejecución de Procesos de Negocio
De alto nivel, basado en XML
WSDL para describir los mensajes entrantes y salientes
Lenguaje de COMPOSICIÓN y ORQUESTACIÓN
• Centraliza la invocación de diferentes WS (procesos internos)• Flujos de Trabajo
CONCEPTOS GENERALES
WS-BPEL
SOLUCIÓN
DESCRIPCIÓN DEL PROBLEMAOBJETIVOS
METODOLOGÍACONCEPTOS GENERALES
IMPLEMENTACIÓNCONCLUSIONESDEMOSTRACIÓN
Relevamiento de tecnologías
Análisis de requerimientos
Diagrama de estados de la
solicitud
SOLUCIÓN
PASOS
stm Domain Model
Initial
En estudio Inicial
Rechazada
En estudio
Final
En re-estudioEn espera
confirmación
Autorizada
Final
En espera autorización
gerencia_rechaza
gerencia_autoriza
se imprime y firmasolicitud y decjurada
resultado_auditoría =desfavorable andrevisar_datos_participantes
resultado_auditoría= desfavorable
resultado_auditoría= favorable
Ingresa lasolicitud
se registra fecha de pedido deestudio
resultado_nuevo_informe =favorable
resultado_auditoría = desfavorableand revisar_datos_participantes
resultado_auditoría= desfavorable
SOLUCIÓN
DIAGRAMA DEESTADOS
SOLUCIÓN
MODELADO DE PROCESOS DE NEGOCIO
Evento Procesos de Negocio Salida
MetaRecursoInformación
ProveeEntrada
Meta
Salida
CONTROL DE FLUJO
DATOS
RECURSOS
OPERACIONAL
SOLUCIÓN
MODELADO DE PROCESOS - PERSPECTIVAS
Determinam
os actividades y secuencia
de las misma
s.
Determinamos
patrones
(bucles,
paralelismo)
.
Obtuvimos tareas:•Solicitar datos personales.
•ABM cliente, Verificar/informar situación de cliente
•Almacenar solicitud de préstamo
•Modificar participantes u otros datos de la solicitud de préstamo
•Etc.
SOLUCIÓN
PERSPECTIVA DE CONTROL DE FLUJO
GESTIÓN DE AUTORIZACIÓN DE SOLICITUD DE PRÉSTAMO
GESTIÓN DE CLIENTES
GESTIÓN DE RECEPCIÓN DE SOLICITUDES
APROBACIÓN DE LA SOLICITUD
CONFECCIÓN DE INFORMES DE SITUACIÓN
MODIFICACIÓN DE GARANTES
IMPRESIÓN DE DOCUMENTACIÓN NECESARIA
SOLUCIÓN
CONTROL DE FLUJO PROCESOS
Definición de entradas y salidas
Obtención de entidades: cliente,
solicitud y préstamo.
Ej: Solicitud• Fecha de alta
• Monto solicitado• Tope autorizado
• Titular• 2 garantes
• Estado de la solicitud• Fecha de firma de
declaración jurada• Etc.
SOLUCIÓN
PERSPECTIVA DE DATOS
Determinación de actividades
A automatizar 7 subprocesos
Encapsulamiento mediante WS
No se pueden automatizar Tareas de usuario
Definición de responsabilidades de cada tarea
Definición de Roles: Gerente, Auditor y Secretario
SOLUCIÓN
PERSPECTIVA DE RECURSOS
MODELADO CONCEPTUALSOLUCIÓN
AUTORIZACIÓN DE SOLICITUD DE PRÉSTAMO
MODELADO CONCEPTUALSOLUCIÓN
INFORME DE SITUACIÓN
IDENTIFICACIÓN DE TAREAS AUTOMATIZADAS
• TAREAS ORQUESTADAS• SERVICIOS DE TAREA• SERVICIOS DE ENTIDAD• SERVICIOS DE UTILIDAD
IDENTIFICACIÓN DE TAREAS DE USUARIOS
CATALOGACIÓN DE SERVICIOS E IDENTIFICACIÓN DE INTERFACES
SOA – ENFOQUE TOP DOWNSOLUCIÓN
Análisis de sistemas y componentes a reutilizar
BD
SOA – ENFOQUE BOTTOM UPSOLUCIÓN
ARQUITECTU
RA INDEPENDIENTEDE LA
TECNOLOGÍA
SUBYACENTE
IDENTIFICACIÓN Y MODELADO DE PROCESOS
IDENTIFICACIÓN DE DATOS
IDENTIFICACIÓN DE ROLESIDENTIFICACIÓ
N DE SERVICIOS
ARQUITECTURA SOASOLUCIÓN
Recepción de Solicitud
Autorización de Solicitud de Préstamo
Informe de Situación
Aprobación de Solicitud de Préstamo
Persona Solicitud
Imprimir Documenta-
ción de Solicitud
Préstamo
Capa de Servicios de Tareas Orquestadas
Capa de Servicios de Tarea
Capa de Servicios de Entidad
Capa de Servicios de Utilidad
Modificación de Garantes
Cliente
Modificación de Garantes
(usuario)
Cliente(usuario)
Aprobación de Solicitud de Préstamo(usuario)
Informe de Situación(usuario)
Recepción de Solicitud (usuario)
Autorización de Solicitud de
Préstamo(usuario)
Imprimir Documenta-
ción de Solicitud(usuario)
ARQUITECTURASOA
IMPLEMENTACIÓN
DESCRIPCIÓN DEL PROBLEMAOBJETIVOS
METODOLOGÍACONCEPTOS GENERALES
SOLUCIÓN
CONCLUSIONESDEMOSTRACIÓN
IMPLEMENTACIÓN
Autorización de Solicitud de Préstamo
Recepción de Solicitud
Informe de Situación Aprobación de
Solicitud de Préstamo
Gestionar Persona
Gestionar Solicitud
Imprimir Documenta-ción
de Solicitud
Gestionar Préstamo
Servidor Axis
Servidor de BD
bisonSchema.xsd (común)
.wsdl (particular)
Modificación de Garantes Cliente
Modificación de Garantes
(usuario)
Aprobación de Solicitud de Préstamo(usuario)
Autorización de Solicitud de
Préstamo(usuario)
Imprimir Documenta-
ción de Solicitud(usuario)
Cliente(usuario)
Recepción de Solicitud (usuario)
Informe de Situación(usuario)
Human Task Manager BPEL Engine 2.0
Repositorio deProcesos
MySQL Server 5.1
DISTRIBUCIÓNFÍSICA
IMPLEMENTACIÓN
ESQUEMA DE DATOS UTILIZADO• Unificado a lo largo de toda la
arquitectura
BD• MySql• Conector ODBC para acceso desde los
servicios
DISTRIBUCIÓN FÍSICAIMPLEMENTACIÓN
SERVICIOS DE ACCESO A DATOS
• Implementados mediante tecnologías de WS• Implementados en Java• Expuestos en servidos Apache Axis
RESTO DE LOS SERVICIOS
• Implementados mediante Intalio Designer• Desplegados en Geronimo (servidor BPMS Intalio)
DISTRIBUCIÓN FÍSICAIMPLEMENTACIÓN
Plataforma para gestionar procesos (BPEL 2.0 Engine)
Permite modificaciones dinámicas transparente al usr
Desplega los procesos en un servidor Intalio (Gerónimo)
Para tareas de workflow módulo Human Task Manager
Interpreta cada proceso desplegado como un WS (expone las operaciones del WSDL correspondiente)
Posee un repositorio local con el estado de las instancias de ejecución de los procesos
DISTRIBUCIÓN FÍSICA - INTALIOIMPLEMENTACIÓN
INTALIO - ARQUITECTURAIMPLEMENTACIÓN
DIAGRAMAS DE IMPLEMENTACIÓN
IMPLEMENTACIÓN
AUTORIZACIÓN DE SOLICITUD DE PRÉSTAMO
DIAGRAMAS DE IMPLEMENTACIÓN
IMPLEMENTACIÓN
INFORME DE SITUACIÓN
CONCLUSIONES
DESCRIPCIÓN DEL PROBLEMAOBJETIVOS
METODOLOGÍACONCEPTOS GENERALES
SOLUCIÓNIMPLEMENTACIÓN
DEMOSTRACIÓN
Desafío
• Sistema de gestión de transacciones bancarias• Centrarse en el soporte al proceso de autorización de solicitud de préstamos.• Utilizar un motor de orquestación de procesos basados en WS-BPEL.• Utilizar SOA como solución arquitectónica.
Modelado de procesos
• Reingeniería Simplificaciones y mejoras• Disminución del tiempo final de respuesta• Mejor aprovechamiento de los recursos (tecnológicos y humanos)
Scrum
• Organización de tareas• Medida clara de avances en el desarrollo
CONCLUSIONES
Herramientas Open Source
• Abaratar costos• Cambio en la plataforma de orquestación
Tecnologías utilizadas
• Actuales mejor soporte• Tecnologías de Workflow
• Integrar tareas, personas y documentos
Elección acertadas de plataformas
• Arquitectura creada permite incorporar nuevos componentes con menores costos• Reducción de problemas de compatibilidad• Mejor aceptación por parte de los clientes• La herramienta se adapta a la operatoria diaria y la simplifica
CONCLUSIONES
DEMOSTRACIÓN DEL SISTEMA
DESCRIPCIÓN DEL PROBLEMAOBJETIVOS
METODOLOGÍACONCEPTOS GENERALES
SOLUCIÓNIMPLEMENTACIÓN
CONCLUSIONES