Documentation for a newer release is available. View Latest

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.