Emanuel Banchio Luis Cassol

Post on 30-Dec-2015

40 views 0 download

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

Transcript of 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

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