54
Emanuel Banchio Luis Cassol DESARROLLO, INTEGRACIÓN Y ORQUESTACIÓN DE SERVICIOS WEB PARA EL SOPORTE DE TRANSACCIONES BANCARIAS USANDO UN MOTOR WS-BPEL

Emanuel Banchio Luis Cassol

Embed Size (px)

DESCRIPTION

Desarrollo, Integración y Orquestación de Servicios Web para el Soporte de Transacciones Bancarias usando un motor WS-BPEL. Emanuel Banchio Luis Cassol. Agenda. Objetivos Metodología Conceptos Generales Solución Implementación Conclusiones. Descripción del Problema. - PowerPoint PPT Presentation

Citation preview

Page 1: Emanuel Banchio Luis  Cassol

Emanuel BanchioLuis Cassol

DESARROLLO, INTEGRACIÓN Y ORQUESTACIÓN DE SERVICIOS

WEB PARA EL SOPORTE DE TRANSACCIONES BANCARIAS

USANDO UN MOTOR WS-BPEL

Page 2: Emanuel Banchio Luis  Cassol

DESCRIPCIÓN DEL PROBLEMA• MODELADO• DISEÑO ARQUITECTURA SOA• IMPLEMENTACIÓN BISON

OBJETIVOS

METODOLOGÍA

CONCEPTOS GENERALES

SOLUCIÓN

CONCLUSIONES

DEMOSTRACIÓN

AGENDA

Page 3: Emanuel Banchio Luis  Cassol

DESCRIPCIÓN DEL PROBLEMAOBJETIVOS

METODOLOGÍACONCEPTOS GENERALES

SOLUCIÓNIMPLEMENTACIÓN

CONCLUSIONES

Page 4: Emanuel Banchio Luis  Cassol

DOMINIO DEL PROBLEMADESCRIPCIÓN DEL PROBLEMA

Transacciones financieras

¿por qué?

SysOne

Aplicación de nuevas tecnologías (SOA, WS-BPEL).

Page 5: Emanuel Banchio Luis  Cassol

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

Page 6: Emanuel Banchio Luis  Cassol

Aplicar SOA

WS-BPEL

DESCRIPCIÓN DEL PROBLEMAHIPÓTESIS DE SOLUCIÓN DEL PROBLEMA

Page 7: Emanuel Banchio Luis  Cassol

OBJETIVOSDESCRIPCIÓN DEL PROBLEMA

METODOLOGÍACONCEPTOS GENERALES

SOLUCIÓNIMPLEMENTACIÓN

CONCLUSIONESDEMOSTRACIÓN

Page 8: Emanuel Banchio Luis  Cassol

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

Page 9: Emanuel Banchio Luis  Cassol

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

Page 10: Emanuel Banchio Luis  Cassol

METODOLOGÍA

DESCRIPCIÓN DEL PROBLEMAOBJETIVOS

CONCEPTOS GENERALESSOLUCIÓN

IMPLEMENTACIÓNCONCLUSIONESDEMOSTRACIÓN

Page 11: Emanuel Banchio Luis  Cassol

DESARROLLO INCREMENTAL DE SOFTWARE

MEJORA CONTINUA EN CADA ITERACIÓN

COLABORACIÓN DEL CLIENTE

DOCUMENTACIÓN SOLO LA NECESARIA

METODOLOGÍA

METOLOGÍA ÁGIL

Page 12: Emanuel Banchio Luis  Cassol

EQUIPO DE TRABAJO CON ROLES DEFINIDOS

PRODUCT BACKLOG

SPRINTS PERIÓDICOS INCREMENTOS EN LA FUNCIONALIDAD DEL PRODUCTO

REUNIONES DIARIAS

METODOLOGÍA

SCRUM

Page 13: Emanuel Banchio Luis  Cassol

CONCEPTOS GENERALES

DESCRIPCIÓN DEL PROBLEMAOBJETIVOS

METODOLOGÍA

SOLUCIÓNIMPLEMENTACIÓNCONCLUSIONESDEMOSTRACIÓN

Page 14: Emanuel Banchio Luis  Cassol

CONCEPTOS GENERALES

ARQUITECTURA ORIENTADA A SERVICIOS (SOA)

Page 15: Emanuel Banchio Luis  Cassol

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

Page 16: Emanuel Banchio Luis  Cassol

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?

Page 17: Emanuel Banchio Luis  Cassol

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

Page 18: Emanuel Banchio Luis  Cassol

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

Page 19: Emanuel Banchio Luis  Cassol

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

Page 20: Emanuel Banchio Luis  Cassol

TOP-DOWN

BOTTOM-UP

MIDDLE-OUT

CONCEPTOS GENERALES

SOA – IDENTIFICACIÓN DE SERVICIOS

Page 21: Emanuel Banchio Luis  Cassol

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)

Page 22: Emanuel Banchio Luis  Cassol

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

Page 23: Emanuel Banchio Luis  Cassol

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

Page 24: Emanuel Banchio Luis  Cassol

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)

Page 25: Emanuel Banchio Luis  Cassol

CONCEPTOS GENERALES

CICLO DE VIDA BPMDiagnóstico

(Re) diseño

Implementación

Ejecución Procesos

Page 26: Emanuel Banchio Luis  Cassol

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

Page 27: Emanuel Banchio Luis  Cassol

SOLUCIÓN

DESCRIPCIÓN DEL PROBLEMAOBJETIVOS

METODOLOGÍACONCEPTOS GENERALES

IMPLEMENTACIÓNCONCLUSIONESDEMOSTRACIÓN

Page 28: Emanuel Banchio Luis  Cassol

Relevamiento de tecnologías

Análisis de requerimientos

Diagrama de estados de la

solicitud

SOLUCIÓN

PASOS

Page 29: Emanuel Banchio Luis  Cassol

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

Page 30: Emanuel Banchio Luis  Cassol

SOLUCIÓN

MODELADO DE PROCESOS DE NEGOCIO

Evento Procesos de Negocio Salida

MetaRecursoInformación

ProveeEntrada

Meta

Salida

Page 31: Emanuel Banchio Luis  Cassol

CONTROL DE FLUJO

DATOS

RECURSOS

OPERACIONAL

SOLUCIÓN

MODELADO DE PROCESOS - PERSPECTIVAS

Page 32: Emanuel Banchio Luis  Cassol

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

Page 33: Emanuel Banchio Luis  Cassol

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

Page 34: Emanuel Banchio Luis  Cassol

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

Page 35: Emanuel Banchio Luis  Cassol

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

Page 36: Emanuel Banchio Luis  Cassol

MODELADO CONCEPTUALSOLUCIÓN

AUTORIZACIÓN DE SOLICITUD DE PRÉSTAMO

Page 37: Emanuel Banchio Luis  Cassol

MODELADO CONCEPTUALSOLUCIÓN

INFORME DE SITUACIÓN

Page 38: Emanuel Banchio Luis  Cassol

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

Page 39: Emanuel Banchio Luis  Cassol

Análisis de sistemas y componentes a reutilizar

BD

SOA – ENFOQUE BOTTOM UPSOLUCIÓN

Page 40: Emanuel Banchio Luis  Cassol

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

Page 41: Emanuel Banchio Luis  Cassol

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

Page 42: Emanuel Banchio Luis  Cassol

IMPLEMENTACIÓN

DESCRIPCIÓN DEL PROBLEMAOBJETIVOS

METODOLOGÍACONCEPTOS GENERALES

SOLUCIÓN

CONCLUSIONESDEMOSTRACIÓN

Page 43: Emanuel Banchio Luis  Cassol

IMPLEMENTACIÓN

Page 44: Emanuel Banchio Luis  Cassol

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

Page 45: Emanuel Banchio Luis  Cassol

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

Page 46: Emanuel Banchio Luis  Cassol

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

Page 47: Emanuel Banchio Luis  Cassol

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

Page 48: Emanuel Banchio Luis  Cassol

INTALIO - ARQUITECTURAIMPLEMENTACIÓN

Page 49: Emanuel Banchio Luis  Cassol

DIAGRAMAS DE IMPLEMENTACIÓN

IMPLEMENTACIÓN

AUTORIZACIÓN DE SOLICITUD DE PRÉSTAMO

Page 50: Emanuel Banchio Luis  Cassol

DIAGRAMAS DE IMPLEMENTACIÓN

IMPLEMENTACIÓN

INFORME DE SITUACIÓN

Page 51: Emanuel Banchio Luis  Cassol

CONCLUSIONES

DESCRIPCIÓN DEL PROBLEMAOBJETIVOS

METODOLOGÍACONCEPTOS GENERALES

SOLUCIÓNIMPLEMENTACIÓN

DEMOSTRACIÓN

Page 52: Emanuel Banchio Luis  Cassol

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

Page 53: Emanuel Banchio Luis  Cassol

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

Page 54: Emanuel Banchio Luis  Cassol

DEMOSTRACIÓN DEL SISTEMA

DESCRIPCIÓN DEL PROBLEMAOBJETIVOS

METODOLOGÍACONCEPTOS GENERALES

SOLUCIÓNIMPLEMENTACIÓN

CONCLUSIONES