Integración con AS2
AS2 (Applicability Statement 2 o declaración de aplicabilidad) es una especificación que permite el intercambio seguro de archivos por Internet. AS2 se utiliza principalmente para el intercambio de archivos EDIINT (EDI a través de Internet) y de archivos XML por HTTP o HTTPS.
FlowForce Server Advanced Edition está diseñada para permitir el envío y la recepción de mensajes AS2 a y de socios comerciales. Gracias a sus funciones integradas FlowForce Server también permite procesar datos AS2 y almacenarlos de forma local. Además, si necesita preparar datos AS2 a partir de algún origen de datos (una BD, por ejemplo), convertirlos en otros formatos o enviarlos a un servicio web, también puede incluir MapForce y MapForce Server en el proceso AS2.
MapForce y MapForce Server son necesarias en los siguientes casos:
1.Para generar o realizar asignaciones de datos en cualquier formato compatible con MapForce (XML, XBRL, Excel, BD, servicios web) antes de enviárselos a socios AS2.
2.Para transformar los datos recibidos de socios AS2 de distintas maneras (por ejemplo convertirlos en Excel, en un esquema XML diferente, almacenarlos en una BD, enviarlos a un servicio web, etc.).
Generar y enviar datos AS2
Si necesita preparar o generar datos AS2 con MapForce antes de enviárselos a socios, a grandes rasgos el proceso es el siguiente:
Generar y enviar datos AS
En el esquema tanto MapForce Server como FlowForce Server están instalados en el mismo equipo, que puede ser Windows, Linux o macOS. MapForce puede ejecutarse en el mismo equipo que MapForce Server y FlowForce Server (siempre y cuando se trate de un equipo Windows) o en otro equipo distinto que se pueda conectar a FlowForce vía HTTP o HTTPS. El socio AS2 es un servidor remoto con el que FlowForce Server se comunica por HTTP(S).
A continuación explicamos paso a paso el proceso AS2 del esquema anterior:
Paso | Descripción |
---|---|
1. Diseñar y probar la asignación de datos EDI/XML | Con MapForce puede diseñar una transformación de asignación de datos que tome datos de entrada en varios formatos (texto plano, CSV, JSON, XML, EDI, bases de datos, servicios web, etc.) y que genere archivos en un formato de destino (p. ej. UN/EDIFACT). Las asignaciones de datos destinadas a trabajar con datos EDI se diseñan igual que cualquier otra asignación de datos y en la documentación de MapForce encontrará numerosos ejemplos al respecto (véase la sección EDI). Mientras diseña la asignación podrá validar y consultar una vista previa del resultado en MapForce directamente (en el panel Resultados). Si quiere ejecutar la asignación en un entorno servidor, deberá diseñarla y probarla para el lenguaje de transformación integrado (véase Seleccionar un lenguaje de transformación). |
2. Implementar la asignación en FlowForce Server | FlowForce Server automatiza varias tareas por medio de trabajos programados o bajo demanda que se pueden definir desde una interfaz web. FlowForce Server también puede automatizar la ejecución de asignaciones de datos diseñadas con MapForce, siempre y cuando el producto MapForce Server se ejecute bajo la dirección de FlowForce Server. Una vez conseguido el resultado correspondiente con la asignación de MapForce, podrá automatizar su ejecución implementándola en FlowForce Server (véase Implementar asignaciones en FlowForce Server). |
3. Configurar socio AS2 y certificados | Para establecer la comunicación con socios AS2 deberá conocer sus datos de conectividad AS2 (como el URI y el nombre AS2) y deberá obtener certificados de intercambio. Los certificados y los datos del socio deben importarse e introducirse en FlowForce Server. |
4. Crear un trabajo | Es necesario crear un trabajo de FlowForce para (i) ejecutar la asignación y producir el resultado necesario y (ii) enviar el mensaje AS2 (ver paso nº7). Estas dos acciones pueden ser pasos de ejecución de un mismo trabajo o dos trabajos distintos. |
5. Ejecutar el trabajo | La ejecución del trabajo de FlowForce Server creado en el paso anterior puede configurarse de varias maneras. Por ejemplo, puede ejecutarse como llamada a servicio web o cada vez que un archivo se modifique en el sistema de archivos. O se puede programar para que se ejecute a una hora y fecha determinadas. Este paso está completamente automatizado. |
6. Ejecutar la asignación de datos | Este paso también es automático y lo ejecuta MapForce Server. Si el trabajo está configurado para ejecutar una asignación de datos (de forma programada o bajo demanda), se produce una llamada interna a MapForce Server. Como resultado MapForce Server ejecuta la asignación y devuelve el resultado a FlowForce Server. |
7. Escoger resultado y enviar mensaje AS2 | Para poder enviar el mensaje AS2 el trabajo (o el paso de ejecución dentro del trabajo) debe llamar a la función integrada de FlowForce Server /system/as2/send. Esta función toma un número de parámetros necesarios para enviar el mensaje AS2, incluido el objeto socio AS2 configurado en el paso nº3, el URI del socio y el contenido del mensaje AS2 que desea enviar. También puede ser necesario que el trabajo llame a otras funciones de expresión AS2 de FlowForce Server para poder convertir el resultado de la asignación al formato necesario (p. ej. de archivo a secuenciad de datos). |
8. El socio responde con notificación MDN sincrónica | Cuando cree el objeto socio AS2 en el paso nº3, tiene la opción de solicitar que el socio envíe una notificación MDN (notificación de disposición de mensaje) como respuesta al mensaje AS2 que envía FlowForce Server. El socio debe enviar la notificación MDN en la misma sesión que la llamada HTTP saliente de FlowForce Server (es decir, debe configurarse como notificación sincrónica). |
Recibir y procesar datos AS2
Si su organización recibe datos AS2 de sus socios comerciales, puede configurar un flujo de trabajo adicional para la recepción de datos. Con él su organización no solo es capaz de recibir y almacenar datos AS2, sino también de transformarlos en otros formatos, guardarlos en una base de datos o enviarlos a otros servicios web. Por ejemplo, podría recibir archivos en formato EDI o XML de socios comerciales AS2 y usarlos comodatos de entrada para una asignación que se ejecute de forma recurrente como trabajo de FlowForce. En este caso, un proceso AS2 de ejemplo sería el siguiente:
Recibir y procesar datos AS2
El proceso AS2 de ejemplo anterior funciona como sigue:
Paso nº | Descripción |
---|---|
1, 2, 3 | Se trata de los mismos pasos que en la tabla anterior, con la diferencia de que esta vez la asignación debe tomar como entrada un archivo que su organización espera recibir de un socio comercial AS2 (por ejemplo, un archivo EDI o XML). |
4. Crear un trabajo (servicio AS2) | En este paso debe crear un trabajo de FlowForce que exponga el servicio AS2. El servicio AS2 atiende solicitudes de sus socios comerciales AS2 desde una dirección HTTP(S) y un puerto previamente configurados. |
5. Enviar datos AS2 | En este paso un socio comercial AS2 envía un mensaje AS2 al servicio AS2. Para que la comunicación tenga éxito, el nombre del socio AS2 y los certificados se deben haber definido previamente en FlowForce Server. |
6. Contestar con MDN sincrónica | FlowForce Server contesta al socio comercial AS2 con una MDN sincrónica que indica el resultado de la operación (éxito o error). |
7. Procesar y almacenar datos | Al recibir un mensaje entrante, un trabajo de FlowForce convierte los datos recibidos en una cadena o un archivo que luego guarda en un directorio o pasa a otro trabajo como argumento. La lógica exacta de procesamiento se puede configurar con ayuda de las funciones de expresión integradas de FlowForce Server. |
8. Ejecutar asignación de datos | El trabajo de FlowForce Server que recibe los datos AS2 tiene la opción de invocar el trabajo de asignación de datos que se creó en el paso 1. Este trabajo toma como datos entrada los datos AS2 recibidos del socio y luego los procesa de forma compatible con MapForce: por ejemplo, transformándolos a otro formato, guardándolos en una BD, enviándolos a otro servicio web, etc. |
Para obtener información específica sobre la configuración AS2 en FlowForce Server consulte el manual de FlowForce Server Advanced Edition (https://www.altova.com/es/documentation).