1
Carátula
Aplicando SOA en el Ámbito Bancario
TítuloAplicando S.O.A. en el Ámbito Bancario
3
Introducción
Organización del Proyecto
Modhelus Core bajo SOA
Preguntas
Índice
4
Quiénes Somos
Por qué elegimos SOA como Arquitectura
De Tradicional a SOA
Introducción
5
Introducción
Organización del Proyecto
Modhelus Core bajo SOA
Preguntas
Índice
6
Por qué decidimos hacer un Core Bancario
Idea de Proyecto - Arquitectura
Organización Inicial del Proyecto
Recursos Humanos
Fuente de Financiamiento
Organización del Proyecto
7
Metodología y Control del Proyecto
• El Objetivo:– Desarrollar los “Servicios” que resuelvan la
problemática bancaria– Desarrollar la Infraestructura que permita su
ejecución– Implementación de una solución a medida que
explote los “Servicios” desarrollados
• El Desafío:– Problemática Cultural– Casos Testigo: Muy baja experiencia en el Mercado
8
El Método: Adopción de Modelo UP (Proceso Unificado) basado en Fases e Iteraciones
Estimación de Esfuerzos (30% - 30% - 40%)
Marco Procedural
UML y Casos de Uso
Similitud con OOAD
Necesidad de flexibilizar los procesos de forma ágil durante el transcurso del proyecto.
Metodología y Control del Proyecto
INICIACIÓN ELABORACIÓN CONSTRUCCIÓN TRANSICIÓN
Requerimientos
Análisis
Diseño / Construcción
Testing
Deployment
Pro
ce
so
s d
e
De
sa
rro
llo
de
l S
W
9
Generación del Ambiente de ProyectoAdministración de Requerimientos: JIRA
Control de Versiones: Subversión
Administración del Cronograma: MS Project
Modelado de Datos: ERwin
Metodología y Control del Proyecto
10
Introducción
Organización del Proyecto
Modhelus Core bajo SOA
Preguntas
Índice
11
Alcance del Proyecto
Desarrollo de Requerimientos
Pruebas Piloto de DocumentaciónEstándares de Base de Datos y Programación
Modhelus Core: Fase Iniciación
Clientes Seguros Mora Configurador
Cuentas a la Vista
Paquetes de Productos
Plataforma Comercial
Interfaz de Usuario
Plazo Fijo Límites Caja Framework
Préstamos Garantías Tesorería Engine
Tarjetas Convenios Apoyo Seguridad
Contabilidad BCRA
12
Modelado de Datos Conceptual y Detallado
Estimación del Esfuerzo
Cambio del ParadigmaNecesidad de detectar “servicios primitivos” que, orquestados adecuadamente, resuelvan la funcionalidad requerida.
Configuración en vez de programación.
Máxima Reusabilidad y Mínimo Acoplamiento.
“Sin estándares no hay reutilización”
Modhelus Core: Fase Elaboración
13
Configurador de Servicios
ConceptosServicios: Primitivos y Compuestos
Acciones y Entidades
Contrato de Servicios
Ejemplos
ExperienciasCurva de Aprendizaje
Grado de Reutilización de Servicios
Modhelus Core: Fase Construcción
14
Introducción
Organización del Proyecto
Modhelus Core bajo SOA
Preguntas
Índice
?
15
Modhelus Core
Gracias por su Presencia !!!!!
Fin de la Presentación
Quiénes Somos
Presentación Institucional
Por qué elegimos SOA como Arquitectura
Estandarización
Reduce variable de integración
Incremento de activos reusables
Reduce tiempos de testing e implementación
Agiliza nuevos productos y reduce riesgo operacional
De Tradicional a SOA
Aplicación vs. Secuencia de Servicios
1997 – VERSIÓN PILOTO 1.0.1 (SOA /TRADICIONAL)INTEGRADOR CANALES ELECTRÓNICOS (BCU)
1999 – VERSIÓN 1.2.1 (SOA /TRADICIONAL)INTEGRA ELECTRÓNICOS Y SUCURSALES (NBSF)
2001 – VERSIÓN 2.0.1 ( 100 % SOA)INTEGRA ELECTRÓNICOS SUCURSALES Y TIENDAS (BCPA)
2004 – VERSIÓN 2.2.0 ( 100 % SOA)INTEGRA ELECTRÓNICOS SUCURSALES REDES (BC)
2005 – INICIO DEL DESARROLLO DE MODHELUS CORE
Servicio
Schedule
Arquitectura Detallada
MODHELUS EBS
MODHELUSVIEW
OTROSSISTEMAS
CANALES DE DISTRIBUCIÓN
MODHELUSWIZARD
InteligenciaComercial
MODHELUS COREENGINE S.O.A.
ORM (OBJECT-RELATIONAL MAPPING) DB
CONFIGURADOR
Servicio
Servicio
Logs
Seguridad
Multi idioma
Workflow
Contexto
Servicio
Manejo de Errores
Organización Inicial del Proyecto
ID Task Name Start End Duration2005 2006
Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct
1 22d30/11/200501/11/2005Planeamiento
2 21d29/12/200501/12/2005Definicion
3 44d01/03/200630/12/2005Modelizacion e Ingenieria
4 130d30/06/200602/01/2006Analisis de Procesos
5 130d01/08/200601/02/2006Diseño Detallado
6 152d28/09/200601/03/2006Refinamiento y Construccion
7 120d13/10/200601/05/2006Testing
8 12d31/10/200616/10/2006Cierre del Proyecto
Ejecucion y Control
Planeamiento Finalización1
Definicion
2
Analisis deProcesos
3
ModelizacionIngenieria
Basica
4
Diseñodetallado
5
Refinamientoy
Construccion
6
Testing
Recursos Humanos
Director de Proyecto
ProjectOfficer
QA
Gerente de ProyectoProcesos y
Arquitectura
Jefe deProgramacion
ConsultorFuncionalClientes
ConsultorFuncionalPasivas
ConsultorFuncional
Activas
ConsultorFuncional
Sucursales
ConsultorFuncional
Contab y SI
ResponsableTesting
Tester
Tester
Tester
Tester
UsuariosDirectivos
UsuariosComerciales
UsuariosOperativos
UsuariosTecnicos
Comunidad de Usuarios
AnalistaProgramador
AnalistaProgramador
AnalistaProgramador
AnalistaProgramador
AnalistaProgramador
AnalistaProgramador
Responsablede Arquitectura
ConsultorTecnico
Base de Datos
Staff Dirección deProyecto
ConsultorTecnico Batch
Fuente de Financiamiento
Banco Interamericano de DesarrolloBanco Interamericano de DesarrolloFOMIN - CIIFOMIN - CII
AGENCIA NACIONAL DE PROMOCIÓN CIENTÍFICA Y TECNOLÓGICA
Administración de Requerimientos – JIRA (1/2)
Administración de Requerimientos – JIRA (2/2)
Control de Versiones - Subversión
Administración del Cronograma – MS Project
Modelado de Datos - ERwin
Requerimientos
Ejercicios Piloto
Cuentas a la Vista
PK,I1 SucursalPK,I1 Cuenta
ProductoMonedaSaldo
Chequeras
PK,I1 SucursalPK,I1 CuentaPK,I1 Numero de cheque
Cantidad de chequesFecha de entregaEstado de la chequera
Estimación de Esfuerzo
ConsultorConsultor /
DesarrolladorDesarrollador Tester
Análisis Diseño Desarrollo Testing- - 0,00 0,00 0,00 0,00 0,00
TRX Simple 1,33 1,33 3,00 1,00 6,67
TRX Medio 1,78 1,78 4,00 1,33 8,89
TRX Complejo 4,00 4,00 9,00 3,00 20,00
TRX Financiera Simple 1,02 0,93 2,00 0,70 4,65
TRX Financiera Medio 2,05 1,86 4,00 1,40 9,30
TRX Financiera Complejo 4,09 3,72 8,00 2,79 18,60
Alta Simple 1,90 2,19 4,00 1,43 9,52
Alta Medio 2,86 3,29 6,00 2,14 14,29
Alta Complejo 5,71 6,57 12,00 4,29 28,57
Baja Simple 0,57 0,66 1,20 0,43 2,86
Baja Medio 1,14 1,31 2,40 0,86 5,71
Baja Complejo 2,86 3,29 6,00 2,14 14,29
Modificación Simple 0,95 1,10 2,00 0,71 4,76
Modificación Medio 1,43 1,64 3,00 1,07 7,14
Modificación Complejo 2,86 3,29 6,00 2,14 14,29
Consulta Puntual Simple 0,95 1,10 2,00 0,71 4,76
Consulta Puntual Medio 1,43 1,64 3,00 1,07 7,14
Consulta Puntual Complejo 2,86 3,29 6,00 2,14 14,29
Consulta Masiva Simple 1,90 2,19 4,00 1,43 9,52
Consulta Masiva Medio 2,86 3,29 6,00 2,14 14,29
Consulta Masiva Complejo 5,71 6,57 12,00 4,29 28,57
Impresión Simple 1,90 2,19 4,00 1,43 9,52
Impresión Medio 2,86 3,29 6,00 2,14 14,29
Impresión Complejo 5,71 6,57 12,00 4,29 28,57
Componente Framework Simple 3,00 5,00 8,00 4,00 20,00
Componente Framework Medio 6,00 10,00 16,00 8,00 40,00
Componente Framework Complejo 9,00 15,00 24,00 12,00 60,00
Configuración Fast Branch Simple 1,52 2,57 4,00 1,43 9,52
Configuración Fast Branch Medio 2,29 3,86 6,00 2,14 14,29
Configuración Fast Branch Complejo 4,57 7,71 12,00 4,29 28,57
Proceso Simple 6,60 6,60 12,00 4,80 30,00
Proceso Medio 13,20 13,20 24,00 9,60 60,00
Proceso Complejo 22,00 22,00 40,00 16,00 100,00
Total de
Horas
Categoría de RequerimientosEsfuerzo (en horas)
DificultadTIPO
Módulo Funcionalidad Tipo Dificultad Prioridad
23 - Seguridad Administración de Usuarios del Sistema - -23 - Seguridad Alta de Usuarios Alta Simple Primera23 - Seguridad Baja de Usuarios Baja Simple Primera23 - Seguridad Modificación de Usuarios Modificación Simple Primera23 - Seguridad Consulta puntual de Usuarios Consulta Puntual Simple Primera23 - Seguridad Consulta masiva de Usuarios Consulta Masiva Complejo Primera
23 - Seguridad Cambio de Estado de Usuario TRX Simple Primera23 - Seguridad Reiniciado de la clave de Usuario TRX Simple Primera23 - Seguridad Cambio de clave de Usuario TRX Simple Primera23 - Seguridad Habilitar / Inhabilitar un Usuario TRX Simple Primera23 - Seguridad Administración de Puestos de Trabajo - -23 - Seguridad Alta de Puestos de Trabajo Alta Simple Primera23 - Seguridad Baja de Puestos de Trabajo Baja Simple Primera23 - Seguridad Modificación de Puestos de Trabajo Modificación Simple Primera23 - Seguridad Consulta puntual de Puestos de Trabajo Consulta Puntual Simple Primera23 - Seguridad Consulta masiva de Puestos de Trabajo Consulta Masiva Simple Primera23 - Seguridad Administración de Operaciones - -23 - Seguridad Alta de Operaciones Alta Simple Primera23 - Seguridad Baja de Operaciones Baja Simple Primera23 - Seguridad Modificación de Operaciones Modificación Simple Primera23 - Seguridad Consulta puntual de Operaciones Consulta Puntual Simple Primera23 - Seguridad Consulta masiva de Operaciones Consulta Masiva Simple Primera
Servicios Primitivos y Compuestos
SERVICIOCOMPUESTO
SERVICIOPRIMITIVO
SERVICIOPRIMITIVO
SERVICIOCOMPUESTO
SERVICIOPRIMITIVO
SERVICIOCOMPUESTO
SERVICIOPRIMITIVO
SERVICIOCOMPUESTO
SERVICIOCOMPUESTO
SERVICIOPRIMITIVO
Acciones y Entidades
Acciones:
Son verbos que representan el tipo de servicio
insertmodifydeletesingleSelectmassiveSelectprocess
readverifysetcalculatelocksave
Entidades:
Son aquellos elementos sobre los cuales se efectúan acciones.
Pueden ser una tabla:
readAccount
verifyCustomerName
Pueden ser un tipo de dato:
calculateDateAddition
verifyStringLenght
Pueden ser generalizaciones de cualquier tabla del modelo:
lockEntity
saveEntityList
Configurador de Transacciones (1/4)
Administración de Entidades
Creación de Servicios
Configurador de Transacciones (2/4)
Búsqueda de Servicios Existente
Configurador de Transacciones (3/4)
Ejemplo de Servicio Compuesto
Configurador de Transacciones (4/4)
Ejemplo de Servicio Primitivo
Curva de Aprendizaje
33
174
352
497
719
977
86
318
503
614
799
994
13
19
47%
156%
83%
43%
23%
11%
2%0,00
200,00
400,00
600,00
800,00
1000,00
1200,00
20/02/2006 27/02/2006 06/03/2006 13/03/2006 20/03/2006 27/03/2006 03/04/2006
0%
20%
40%
60%
80%
100%
120%
140%
160%
180%
Fase de Elaboración – Etapa de Análisis
6 Semanas
Reusabilidad – Grado de Reuso
292
91
45
2114
7 6 3 3 4
27
0
50
100
150
200
250
300
350
1 2 3 4 5 6 7 8 9 10 10 a 450veces
Cantidad de Invocaciones a un Servicio Primitivo
Can
tid
ad d
e S
ervi
cio
s
Reusabilidad – Ahorro de Esfuerzo
1
SOA
No SOA
3766
5130
500
1000
1500
2000
2500
3000
3500
4000
Unidades de esfuerzo de Desarrollo