600 likes | 711 Views
Transformación de mensajes 2014-08-08 OTN Tour 2014 México, DF. Datos personales. 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.
E N D
Datospersonales • Arturo Moreno. • 5 añoscomoarquitecto de soluciones en VolanteTechnologies. • Proyectos de integración: • General Electric. • Ford Motor Company. • Bank of New York Mellon. • MasterCard. • HSBC.
Unadefinición de integración Conectarsistemas, compañías y gente.
¿Porquéesnecesaria la integración? • Una sola aplicación no escapaz de resolver todos los problemas del negocio. • La resolución de un problemapuedeinvolucrar a más de unaaplicación. • Necesidad de comunicarse con el exterior. • Intercambiarinformación. • Compartirfuncionalidad.
Impulsores de la integración Cambioregulatorio Agilidad del negocio (tiempo de lanzamiento de productos y servicios) Nuevosservicios Instituciones financieras Corporativos Reducción de costos Consolidacióngeográfica Gobierno Industria Incorporación de nuevosclientes / proveedores Actualizaciones y adiciones a estándares Cambiotecnológico
¿Cómointegrarsistemas? • Transferencia de archivos (FTP, SMB) • Base de datos (RDBM, NoSQL) • Invocaciónremota (RMI, CORBA, Web services) • Mensajería (MQ, JMS)
Transferencia de archivos Ventajas • Funcionalidaddisponible en prácticamentecualquierplataforma. • Transmisión de información en múltiplesformatos. • Desacoplamiento entre aplicaciones. • Transmisión de grandesvolúmenes de información en pocosintercambios.
Transferencia de archivos Desventajas • Funcionalidadavanzadadebeimplementarsedesde cero. • No recomendable en casosdonde la transmisión de informacióndebaocurrirrápidamente. • Sincronización entre aplicaciones se vuelveproblemática. • Sólopermitecompartirdatos, no funcionalidad.
Base de datos Ventajas • Se puedecompartirinformación de forma rápida. • Consistencia. Todaslasaplicacionescomparten la mismafuente de datos con la mismaestructura. • Transaccionalidadmanejadapor la base de datos.
Base de datos Desventajas • Diseñaruna base de datosquesatisfaga los requerimientos de todaslasaplicaciones. • Acoplamiento de aplicaciones a través de la base de datos. • Casiimposibleintegraraplicaciones de terceros con estemétodo. • Base de datospuedevolverse un cuello de botella. • Acceso a base de datos se vuelve lento silasaplicacionesestándistribuidas en distintoslugaresgeográficos. • Sólopermitecompartirdatos, no funcionalidad.
Invocaciónremota Ventajas • Ideal si se buscacompartirfuncionalidad entre aplicaciones. • Cadaaplicaciónesresponsable de mantener la integridad de suinformación.
Invocaciónremota Desventajas • Esnecesario, en muchoscasos, conocerlas interfaces de comunicación de antemano. • Si no se tomanlasmedidascorrectas el desempeñopuedevolverse lento e impredecible. • Aplicaciones no estáncompletamentedesacopladas. • Funcionamientosíncrono. • Comparticiónlimitada de datos.
Mensajería Ventajas • Permitecompartirdatos y funcionalidad entre aplicaciones. • Ideal paracomunicación en tiempo real. • Transmisiónasíncrona. Las aplicaciones no tienenqueestarcorriendo al mismotiempo. • Completodesacoplamiento entre aplicaciones. • Manejo de grandesvolúmenes de información.
Mensajería Desventajas • Aumenta la complejidad de la integración. • No es ideal cuando se comparteuna gran cantidad de información en pocosintercambios.
Características • Comunicaciónasíncrona. • Aplicacionescompletamentedesacopladas. • Las aplicaciones se preocupan de la informaciónquequierencompartir, no de cómohacerlo. • La responsabilidad de transferirinformaciónrecae en un sistema de mensajería.
Sistema de mensajería Conceptos • Canales. • Filtros y tuberías (pipes and filters) • Ruteo. • Endpoints. • Mensajes. • Transformación.
Niveles de transformación • Estructuras de datos. • Tipos de dato. • Representación. • Transporte.
Nivel de transformación – Estructuras de datos ¿Quécomprende? • Entidades. • Asociaciones. • Cardinalidad. Herramientas y técnicas • Mapeos. • Código.
Nivel de transformación – Estructuras de datos Ejemplo La mismainformaciónrepresentada a través de entidadesdistintas.
Nivel de transformación – Tipo de dato ¿Quécomprende? • Nombres de campos. • Tipos de dato. • Valoresespecí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ísporsucódigo ISO 3166-1 alpha-3 México MEX EstadosUnidos de América USA Modificar el formato de unafecha 8 Agosto, 2014 2014/08/08 (yyyy/MM/dd)
Nivel de transformación – Representación ¿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 Parseardatos en un formato y representarlos en otroformato. XML JSON
Nivel de transformación – Transporte ¿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 Enviardatos a través de diferentesprotocolos sin afectar el contenido del mensaje. Recibirmensajepor JMS Guardar en DB Retransmitirmensajepor HTTP
Transformación en contexto Logística Back Office Systems Inteligencia de negocios ERP y CRM Administración de tesorería Recursoshumanos Cadena de suministros Longitudfija via MQ Tag=Value DB Table XML via ESB CSV via FTP Base de datos Software Integrador (transformaciones) Run Time (Weblogic, JVM, OSB, SaaS, Cloud) Infraestructura de servidores EDI IDoc SAP CIP HIPAA SPEI - ISO 20022
Transformación en contexto Logística Back Office Systems Inteligencia de negocios ERP y CRM Administración de tesorería Recursoshumanos Cadena de suministros Longitudfija via MQ Tag=Value DB Table XML via ESB CSV via FTP Composer Base de datos Run Time (Weblogic, JVM, OSB, SaaS, Cloud) Format Plug-ins Code Generator Infraestructura de servidores SWIFT FIX Universal SEPA ISO20022 EDI IDoc SAP CIP HIPAA SPEI - ISO 20022
Swift MX a Swift Mensaje Swift MX • Formatobasado en XML. • Pain.001 - representapagos entre institucionesbancarias. • Puedeincluirmás de un pago a la vez.