Framework de Connectors
El Connector Framework de IPF proporciona una abstracción sobre transports de comunicación que busca simplificar la integración. Esta página presenta los conceptos básicos utilizados en el Connector Framework, que proporciona conectividad entre sistemas.
¿Qué es un Connector?
Un connector es simplemente un conjunto de interfaces comunes, que proporciona un medio para comunicarse con sistemas externos, de forma síncrona o asíncrona. Los detalles de implementación específicos del mecanismo de transport configurado se ocultan detrás de la interfaz. Esto mejora la comprensión y permite que los equipos estandaricen la integración en lugar de crear implementaciones separadas para cada sistema nuevo.
El principal beneficio de usar connectors es que reducen la cantidad de código boilerplate necesario para integrarse con sistemas que usan formatos comunes de intercambio de datos (como XML o JSON) y transports (como HTTP, JMS o Kafka).
Funcionalidades del Connector
Los connectors implementan una serie de funcionalidades listas para usar que son comúnmente necesarias al integrarse con sistemas externos.
Tipos de Connector
Los connectors pueden usarse para enviar o recibir mensajes.
La documentación detallada específica de cada tipo puede encontrarse en las siguientes páginas:
Etapas del Connector
Cada connector es una composición de etapas por las que fluye un mensaje. Las etapas proporcionan distintas capacidades, muchas de ellas opcionales y ajustables a requisitos específicos según la situación.
Receive
El propósito de un receiving connector es tomar un mensaje desde el transport configurado y mapearlo a un formato conocido que luego pueda manejarse. Los mensajes recibidos deben ser asociados (correlacionados o identificados) para que puedan vincularse a mensajes pasados o futuros.
Las siguientes son las etapas que pueden configurarse para la recepción:
-
Descifrado del payload (opcional)
-
Conversión a tipo objetivo
-
Asociación de mensaje
-
Validación de mensaje (opcional)
-
Registro de mensaje (opcional)
-
Manejo del mensaje
Consulte la sección de etapas de Receive en la documentación de Receiving Connector para más detalles de cada etapa.
Send
El propósito de un sending connector es tomar un mensaje y enviarlo sobre el transport configurado. El envío de mensajes puede configurarse para usar múltiples transports (con estrategias de balanceo de carga o fallback) y puede emplear circuit breaking y reintentos para superar problemas de red transitorios.
Las etapas que pueden configurarse para el envío son:
-
Validación de mensaje (opcional)
-
Correlación de mensaje (opcional)
-
Registro de mensaje (opcional)
-
Cifrado del payload (opcional)
-
Envío resiliente
Consulte la sección de etapas de Send en la documentación de Sending Connector para más detalles de cada etapa.
Akka
La implementación del Connector utiliza Akka Streams. Cuando se construye un connector, las etapas individuales (conocidas en la nomenclatura de Akka Streams como operadores) se unen en un único stream.
Las implementaciones de transport proporcionadas usan Alpakka, el subproyecto de Akka Streams dedicado a la integración. Es similar a Apache Camel en sus objetivos; aunque está implementado con el modelo de actores, lo que permite un procesamiento concurrente y altamente escalable.
El proyecto Alpakka ha implementado integraciones con un gran número de tecnologías comunes. Para más información sobre lo que soporta Alpakka, visite la siguiente documentación.