Www.volantetech.com Transformación de mensajes 2014-08-08 OTN Tour 2014 México, DF

Preview:

Citation preview

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.

arturo@volantetech.com

http://www.volantetech.com

Información de contacto