Configuración de envíos y recepción de documentos en Oracle B2B
16/06/2016 -
Oracle B2B es un componente de Oracle SOA Suite que permite el intercambio de distintos tipos de ficheros entre distintos participantes de forma segura. Este componente no sólo se encarga del envío/recepción de documentos sino que aporta otras funcionalidades como: definición de documentos, validación, traducción, enrutamiento y seguimiento de los mismos mediante informes. Por otro lado, Oracle B2B permite el envío de mensajes a través de distintos protocolos: Oracle AQ, JMS, File, FTP, FTPs, sFTP, HTTP, HTTPs, SMTP, IMAP, POP3, MLLP, TCP/IP.
A continuación vamos a configurar una interacción entre Oracle B2B en SOA 11g y Oracle B2B en SOA 12c. Desde B2B SOA 11g la compañía avanttic (192.168.56.1:7011) enviará un fichero de texto plano a la compañía CompanyA que utiliza B2B SOA 12c (192.168.56.2:7101). Para ello realizaremos los siguientes pasos en ambos dominios:
- Definición del documento.
- Creación de un canal de recepción.
- Configuración de los participantes en la transacción.
- Creación y despliegue de acuerdos entre los participantes.
Configuración del envío desde avanttic a CompanyA en un dominio Oracle B2B SOA 11g
Configuración de una recepción en CompanyA con emisor avanttic en un dominio Oracle B2B SOA 12c
Paso 1: Definición del documento
Para enviar o recibir un documento en Oracle B2B es necesario crear una definición del mismo, que detalla el formato del mensaje. La definición del documento comprende: la selección de un protocolo de documentos, la creación de un nuevo documento, un tipo de documento y una definición del mismo. Oracle B2B proporciona distintos protocolos de documentos como EDIFACT o HL7.
En este ejemplo vamos a enviar un documento sin un formato específico, es decir, un documento binario. Para ello, crearemos la definición dentro del protocolo de documentos Custom, con una nueva versión llamada 1.0, tipo de documento TestDoc y definición de documento TestDefinition:
- B2B – Pestaña Documentos – Protocolo de documentos: Custom.
- Desde el protocolo Custom – Nuevo Documento: 0.
- Desde el documento 0 – Nuevo Tipo: TestDoc.
- Desde el nuevo tipo de documento – Nueva Definición: En este apartado definiremos el formato del fichero, en este caso indicaremos que los tres primeros caracteres del mensaje deben ser: “ABC”.
Definición del documento en ambos dominios
Paso 2: Creación de un canal de recepción
Un canal de recepción envía mensajes a Oracle B2B, es decir es un punto final donde se reciben los mensajes entrantes o se envían los mensajes salientes.
En este caso, vamos a crear un canal de recepción que recogerá los ficheros enviados desde cualquier aplicación de la compañía avanttic, la función de este canal es permitir que las aplicaciones de negocio de avanttic puedan enviar mensajes al sistema B2B.
Este canal de recepción usa el protocolo File, y recoge todos los ficheros desde el directorio C:B2Bin cuyo nombre sigue el formato:
%TO_PARTY%_%DOCTYPE_NAME%_%DOCTYPE_REVISION%_%TIMESTAMP%.txt
Configuración del canal de recepción en el dominio B2B – SOA 11g de la compañía avanttic
Paso 3: Configuración de los participantes en la transacción
En cada transacción B2B están involucrados dos participantes, aquel donde está configurado el dominio B2B, que llamaremos el partner host y aquel con el que se realiza la comunicación, el partner remoto.
En nuestro caso definiremos los participantes de la comunicación en ambos dominios B2B. En el dominio B2B – SOA 11g indicaremos que el partner host es avanttic y en el dominio B2B – SOA 12c indicaremos que el partner host es CompanyA. Dentro de un dominio B2B, el partner host siempre se identifica con un icono rojo y el resto de participantes con iconos azules.
En el dominio B2B de la compañía avanttic, la configuración B2B es la siguiente:
Configuración de los participantes en el dominio B2B – SOA 11g de la compañía avanttic
En la pestaña documentos del partner host avanttic indicaremos que es el emisor del mensaje y en la pestaña documentos del partner remoto CompanyA indicaremos que es el receptor del mensaje.
Por último, para el participante CompanyA definiremos un canal a través del cual se realizará el envío por HTTP desde el dominio B2B de avanttic. El canal de recepción genérico que ofrece B2B para peticiones HTTP tiene la siguiente ruta: http://hostname:port/b2b/httpreceiver. Por tanto, los mensajes serán enviados a: http://192.168.56.2:7101/b2b/httpreceiver.
Configuración del canal de envío en el dominio B2B – SOA 11g de la compañía avanttic
En el dominio B2B de la compañía CompanyA, la configuración B2B es la siguiente:
Configuración de los participantes en el dominio B2B – SOA 12c de la compañía CompanyA
Donde CompanyA es el receptor del mensaje y avanttic el emisor. Para establecer la comunicación, crearemos un canal de recepción donde especificaremos el modo en que se recibe el mensaje desde el dominio B2B de la compañía avanttic, añadiremos un canal de tipo HTTP.
Configuración del canal de recepción en el dominio B2B – SOA 12c de la compañía CompanyA
Además, para el participante CompanyA vamos a configurar un canal interno de tipo File, de modo que cuando el fichero se reciba quedará almacenado en el directorio especificado:
Configuración del canal de tipo File en el dominio B2B – SOA12c de la compañía CompanyA
Paso 4: Creación y despliegue de acuerdos entre participantes
El acuerdo para enviar el mensaje desde avanttic a CompanyA es el siguiente:
Configuración del acuerdo de envío en el dominio B2B – SOA 11g de la compañía avanttic
El acuerdo para recibir el mensaje en CompanyA desde avanttic es el siguiente:
Configuración del acuerdo de recepción en el dominio B2B – SOA 12c de la compañía CompanyA
Con este ejemplo hemos visto cómo Oracle B2B nos proporciona una forma sencilla de intercambiar documentos, con multitud de formatos y protocolos de transporte, entre distintos sistemas. Además, esta herramienta está incluida dentro de Oracle SOA Suite.