www.volantetech.com transformación de mensajes 2014-08-08 otn tour 2014 méxico, df
TRANSCRIPT
ww
w.v
ola
nte
tech
.com
Transformación de mensajes
2014-08-08OTN Tour 2014México, DF
Arturo Moreno.
5 años como arquitecto de soluciones en Volante
Technologies.
Proyectos de integración:
General Electric.
Ford Motor Company.
Bank of New York Mellon.
MasterCard.
HSBC.
Datos personales
ww
w.v
ola
nte
tech
.com
Integración de sistemas
Conectar sistemas, compañías y gente.
Una definición de integración
Una sola aplicación no es capaz de resolver todos los
problemas del negocio.
La resolución de un problema puede involucrar a más de
una aplicación.
Necesidad de comunicarse con el exterior.
Intercambiar información.
Compartir funcionalidad.
¿Por qué es necesaria la integración?
Cambio regulatorio
Reducción de costos Consolidación geográfica
Cambio tecnológico
Actualizaciones y adiciones a estándares
Incorporación de nuevos clientes / proveedores
Nuevos servicios
Agilidad del negocio(tiempo de lanzamiento
de productos y servicios)
Institucionesfinancieras
Corporativos
Industria Gobierno
Impulsores de la integración
ww
w.v
ola
nte
tech
.com
Técnicas de integración
Transferencia de archivos (FTP, SMB)
Base de datos (RDBM, NoSQL)
Invocación remota (RMI, CORBA, Web services)
Mensajería (MQ, JMS)
¿Cómo integrar sistemas?
Transferencia de archivos
Ventajas
Funcionalidad disponible en prácticamente cualquier
plataforma.
Transmisión de información en múltiples formatos.
Desacoplamiento entre aplicaciones.
Transmisión de grandes volúmenes de información en pocos
intercambios.
Transferencia de archivos
Desventajas
Funcionalidad avanzada debe implementarse desde cero.
No recomendable en casos donde la transmisión de
información deba ocurrir rápidamente.
Sincronización entre aplicaciones se vuelve problemática.
Sólo permite compartir datos, no funcionalidad.
Transferencia de archivos
Base de datos
Ventajas
Se puede compartir información de forma rápida.
Consistencia. Todas las aplicaciones comparten la misma
fuente de datos con la misma estructura.
Transaccionalidad manejada por la base de datos.
Base de datos
Desventajas
Diseñar una base de datos que satisfaga los requerimientos de
todas las aplicaciones.
Acoplamiento de aplicaciones a través de la base de datos.
Casi imposible integrar aplicaciones de terceros con este método.
Base de datos puede volverse un cuello de botella.
Acceso a base de datos se vuelve lento si las aplicaciones están
distribuidas en distintos lugares geográficos.
Sólo permite compartir datos, no funcionalidad.
Base de datos
Invocación remota
Ventajas
Ideal si se busca compartir funcionalidad entre aplicaciones.
Cada aplicación es responsable de mantener la integridad
de su información.
Invocación remota
Desventajas
Es necesario, en muchos casos, conocer las interfaces de
comunicación de antemano.
Si no se toman las medidas correctas el desempeño puede
volverse lento e impredecible.
Aplicaciones no están completamente desacopladas.
Funcionamiento síncrono.
Compartición limitada de datos.
Invocación remota
Mensajería
Ventajas
Permite compartir datos y funcionalidad entre aplicaciones.
Ideal para comunicación en tiempo real.
Transmisión asíncrona. Las aplicaciones no tienen que estar
corriendo al mismo tiempo.
Completo desacoplamiento entre aplicaciones.
Manejo de grandes volúmenes de información.
Mensajería
Desventajas
Aumenta la complejidad de la integración.
No es ideal cuando se comparte una gran cantidad de
información en pocos intercambios.
Mensajería
ww
w.v
ola
nte
tech
.com
Mensajería a detalle
Comunicación asíncrona.
Aplicaciones completamente desacopladas.
Las aplicaciones se preocupan de la información
que quieren compartir, no de cómo hacerlo.
La responsabilidad de transferir información recae
en un sistema de mensajería.
Características
Sistema de mensajería
Conceptos
Canales.
Filtros y tuberías (pipes and filters)
Ruteo.
Endpoints.
Mensajes.
Transformación.
Sistema de mensajería
Canales
Canales
Filtros y tuberías
Ruteo
Endpoints
Mensajes
Transformación
ww
w.v
ola
nte
tech
.com
Transformación de mensajes
Transformación de mensajes
Estructuras de datos.
Tipos de dato.
Representación.
Transporte.
Niveles de transformación
¿Qué comprende?
Entidades.
Asociaciones.
Cardinalidad.
Herramientas y técnicas
Mapeos.
Código.
Nivel de transformación – Estructuras de datos
Ejemplo
La misma información representada a través de entidades distintas.
Nivel de transformación – Estructuras de datos
¿Qué comprende?
Nombres de campos.
Tipos de dato.
Valores específicos.
Herramientas y técnicas
Mapeos.
Búsqueda en bases de datos.
Código.
Nivel de transformación – Tipo de dato
Ejemplo
Reemplazar el nombre de un país por su código ISO 3166-1 alpha-3
México MEX
Estados Unidos de América USA
Modificar el formato de una fecha
8 Agosto, 2014 2014/08/08 (yyyy/MM/dd)
Nivel de transformación – Tipo de dato
¿Qué comprende?
Formatos.
Codificación de caracteres (charset).
Encripción.
Compresión.
Herramientas y técnicas
Parsers.
APIs.
Nivel de transformación – Representación
Ejemplo
Parsear datos en un formato y representarlos en otro formato.
XML JSON
Nivel de transformación – Representación
¿Qué comprende?
Protocolos de comunicación.
Socket TCP/IP.
HTTP.
FTP.
JMS.
Herramientas y técnicas
Adaptadores.
ESB.
Código.
Nivel de transformación – Transporte
Ejemplo
Enviar datos a través de diferentes protocolos sin afectar el contenido del mensaje.
Recibir mensaje por JMS Guardar en DB Retransmitir mensaje por HTTP
Nivel de transformación – Transporte
Base de datos
XMLvia ESB
CSVvia FTP
Longitud fija
via MQ
Tag=ValueDB Table
ERP y CRMAdministración
de tesoreríaRecursos humanos
Cadena de suministros
Inteligencia de negocios
Back OfficeSystems
Logística
Infraestructura de servidores
Run Time (Weblogic, JVM, OSB, SaaS, Cloud)
Transformación en contexto
EDI IDoc SAP HIPAA SPEI - ISO 20022
CIP
SoftwareIntegrador
(transformaciones)
Base de datos
XMLvia ESB
CSVvia FTP
Longitud fija
via MQ
Tag=ValueDB Table
ERP y CRMAdministración
de tesoreríaRecursos humanos
Cadena de suministros
Inteligencia de negocios
Back OfficeSystems
Logística
Infraestructura de servidores
Run Time (Weblogic, JVM, OSB, SaaS, Cloud)
Composer Cod
e G
enera
tor
Format Plug-ins
SW
IFT
SEPA
ISO
20
02
2
FIX
Univ
ersa
l
Transformación en contexto
EDI IDoc SAP HIPAA SPEI - ISO 20022
CIP
ww
w.v
ola
nte
tech
.com
Patrones comunes de transformación
Enriquecimiento
Normalización
Modelo canónico
ww
w.v
ola
nte
tech
.com
Swift MX a Swift
Mensaje Swift MX
Formato basado en XML.
Pain.001 - representa pagos
entre instituciones bancarias.
Puede incluir más de un pago
a la vez.
Swift MX a Swift
Mensaje Swift
Formato de texto plano.
Secciones agrupadas entre
llaves.
Campos empiezan con una
etiqueta entre dos puntos y
están delimitados por CRLF.
MT101 - representa pagos
entre instituciones bancarias.
Un solo pago por mensaje.
Swift MX a Swift
Ejemplo de niveles de transformación
Estructura de datos: un mensaje pain.001 puede generar
más de un MT101. (cardinalidad)
Tipo de dato: formato de las fechas.
Representación: de un formato XML UTF-8 a un formato
de texto ascii.
Swift MX a Swift
Swift MX a Swift
ww
w.v
ola
nte
tech
.com
FIX a CSV
Mensaje FIX
Mensajes transmitidos a través de sockets.
Formato llave – valor.
Campos delimitados por caracter SOH (start of heading).
Mensaje Market Data Snapshot incluye información de mercado.
Puede incluir información de múltiples entradas.
FIX a CSV
Mensaje CSV
Mensaje delimitado por comas.
Primera entrada representa el precio de la entrada.
Segunda entrada representa la moneda de la entrada.
Tercera entrada representa la cantidad.
FIX a CSV
Ejemplo de niveles de transformación
Estructura de datos: para cada entrada en el
mensaje FIX se crea una nueva línea en el mensaje
CSV.
Representación: de un formato FIX llave-valor a
un formato de texto CSV.
FIX a CSV
FIX a CSV
ww
w.v
ola
nte
tech
.com
¿Preguntas?
Arturo Moreno.
http://www.volantetech.com
Información de contacto