Puede implementar la integración entrante síncrona con una estructura de objeto, un servicio empresarial o un servicio estándar. Estas transacciones requieren el establecimiento y el mantenimiento de una conexión directa de la aplicación externa a la infraestructura de integración mientras dure la transacción.
La aplicación externa mantiene la conexión con el servicio hasta que los objetos de negocio se actualizan en la base de datos Maximo o hasta que se devuelven en respuesta a una operación de consulta. La infraestructura de integración devuelve una respuesta a la aplicación externa que confirma si el procesamiento del mensaje ha sido satisfactorio o anómalo.
Las opciones siguientes están disponibles para enviar mensajes de integración síncrona a servicios:
v Publicación de un mensaje XML mediante HTTP
v Inicio de un servicio web que se ha configurado para omitir la cola JMS v Inicio de un EJB
La estructura de objeto y los servicios empresariales pueden utilizar cualquiera de estas opciones para dar soporte a las operaciones de creación, actualización, supresión, sincronización y consulta.
También puede acceder a estructuras de objeto de integración, servicios estándar y objetos de negocio de aplicación utilizando la API REST o la API REST de OSLC.
Conceptos relacionados:
“API de REST” en la página 243
La API (interfaz de programación de aplicaciones) de REST (Representational State Transfer) proporciona una manera para que las aplicaciones externas consulten y actualicen datos de aplicación en motor de automatización de procesos de Tivoli.
Iniciación del proceso asíncrono de los datos de entrada
Para iniciar el proceso de integración, el sistema externo utiliza uno de los métodos soportados para establecer una conexión. Después de validar el sistema externo y el servicio empresarial, los mensajes se colocan en la cola JMS que se ha
especificado para el servicio empresarial.
El procedimiento para establecer la conexión inicial varía en función del método de integración que se utiliza para la transacción. La tabla siguiente describe los
métodos y las conexiones disponibles que utilizan estos métodos.
Método Procedimiento de conexión
Método de envío HTTP o HTTPS
Utilice el URL siguiente:
nombre_host:puerto/meaweb/esqueue/nombresisext/nombreservemp
donde:
v nombresisext es el nombre del sistema externo v nombreservemp es el nombre del servicio empresarial
Método Procedimiento de conexión
EJB Inicie un EJB desde un cliente Java Platform, Enterprise Edition utilizando el código siguiente:
public byte{} processExternalDataAsync(byte[] extData, String serviceName, String sender)
En el cliente, especifique el nombre JNDI del Enterprise JavaBean, ejb/maximo/remote/enterpriseservice, para consultar la
referencia de Enterprise JavaBean e iniciar el método. Las configuraciones siguientes son necesarias en el cliente Java Platform, Enterprise Edition:
v Acceso a los archivos de clase Home y Remote
v Acceso a los archivos JAR de Java Platform, Enterprise Edition para el servidor
v El URL del servidor que aloja los Enterprise JavaBeans v El nombre de clase de la fábrica de contexto
El código de cliente debe crear la instancia del objeto
IntialContextpredeterminado. El contexto se deriva del URL del proveedor y la fábrica de contexto del entorno.
La característica de importación de datos que utiliza los archivos XML o sin formato
El usuario hace clic en Importación de datos en una aplicación.
Tarea cron de importación de datos
La tarea cron XMLFILECONSUMER o la tarea cron
FLATFILECONSUMER sondea el directorio de origen configurado para la importación de datos.
Tablas de interfaz El sistema externo graba datos de mensajes en las tablas de interfaz adecuadas y actualiza la tabla de cola
MXIN_INTER_TRANS con información acerca de la secuencia para procesar los registros en la tabla de interfaz.
Una tarea cron sondea en la tabla de cola MXIN_INTER_TRANS los registros que se han de procesar.
Servicios web El sistema externo inicia un servicio empresarial que está desplegado como un servicio web que se ha configurado para no omitir la cola JMS.
JMS directo El sistema externo pasa un mensaje XML directamente a la cola JMS desde otro sistema de colas como, por ejemplo, WebSphere MQ.
Cuando se establece una conexión, o cuando una tarea cron se ejecuta e identifica que los datos están preparados para la importación, se producen los pasos siguientes:
1. La infraestructura de integración comprueba que el sistema externo y el servicio empresarial sean válidos y estén habilitados.
2. Si los mensajes están en formato de archivo sin formato, la infraestructura de integración comprueba que la estructura del objeto admite estructuras sin formato.
3. Si falla la verificación, la infraestructura de integración notifica el error al remitente y no procesa los datos.
4. Si la verificación se ha realizado correctamente, la infraestructura de integración identifica la cola JMS entrante asignada al servicio empresarial y escribe el mensaje en la cola.
5. La infraestructura de integración actualiza la cabecera del mensaje JMS con los nombres del sistema externo y el servicio empresarial.
Si una transacción que contiene varias instancias de un registro encuentra errores, el manejo de errores varía en función del método de intercambio utilizado. Se produce el manejo de errores siguientes, en función del tipo de intercambio: v Solo para transacciones HTTP o EJB : si una transacción contiene varias
instancias de un documento, por ejemplo, contiene 10 registros de persona, se escribe un solo mensaje en la cola JSM no 10 mensajes individuales. Si uno de los registros tiene un error de proceso, se produce una excepción de proceso de mensaje total y no se confirma ninguno de los registros en la base de datos. v Solo para las transacciones de importación de datos: si una transacción contiene
varias instancias de un documento, por ejemplo, si contiene 10 registros de persona, la aplicación escribe 10 mensajes individuales en la cola JMS. Si uno de los mensajes tiene un error de proceso, se registra una transacción de error para dicho mensaje y los 9 mensajes restantes se siguen procesando en la aplicación.
Iniciación del proceso síncrono de los datos de entrada
Para iniciar el proceso síncrono, el sistema externo utiliza uno de los métodos soportados para establecer una conexión. Durante el proceso de conexión, la infraestructura de integración comprueba que el sistema externo y el servicio empresarial al que se hace referencia sean válidos y estén habilitados.
El procedimiento para establecer la conexión inicial varía, en función del servicio utilizado para la transacción. La tabla siguiente describe los métodos y las conexiones disponibles que utilizan estos métodos.
Método Procedimiento de conexión
Método de envío HTTP o HTTPS
v Utilice el URL siguiente para las transacciones que utilizan un servicio empresarial:
nombre_host:puerto/meaweb/es/nombre_sistema_externo/nom nombre_servicio_empresarial
Donde:
– nombresisext es el nombre del sistema externo – nombreservemp es el nombre del servicio empresarial v Utilice el URL siguiente para las transacciones que utilizan un
servicio de estructura de objeto:
nombre_host:puerto/meaweb/os/nombre_so
Donde nombresobj es el nombre del servicio de estructura de objeto.
v Utilice el URL siguiente para las transacciones que utilizan un servicio estándar:
nombre_host:puerto/meaweb/ss/nombre servicio de aplicación
Donde nombre del servicio de aplicación es el nombre del servicio estándar.
Método Procedimiento de conexión
EJB v Para las transacciones de servicio empresarial, inicie un EJBdesde un cliente de Java Platform, Enterprise Edition utilizando el código siguiente:
public byte{} processExternalDataSync(byte[] extData, String serviceName, String sender)
El cliente puede utilizar el nombre JNDI del Enterprise JavaBean, ejb/maximo/remote/servicio_empresarial, para consultar la referencia de Enterprise JavaBean e iniciar el método. Las configuraciones siguientes son necesarias en el cliente de Java Platform, Enterprise Edition:
v Para transacciones de servicio de estructura de objeto, inicie un EJB desde un cliente de Java Platform, Enterprise Edition utilizando el código siguiente:
public byte{} processMOS(byte[] reqmosData, String mosName)
El cliente puede utilizar el nombre JNDI del Enterprise JavaBean, ejb/maximo/remote/servicio_mos, para consultar la referencia de Enterprise JavaBeans e iniciar el método. Las configuraciones siguientes son necesarias en el cliente de Java Platform, Enterprise Edition:
v Para transacciones de servicio de estructura de objeto, inicie un EJB desde un cliente de Java Platform, Enterprise Edition utilizando el código siguiente:
public byte{} action(byte[] actionData, String maxServiceName)
El cliente puede utilizar el nombre JNDI del Enterprise
JavaBean, ejb/maximo/remote/servicio_acción, para consultar la referencia de Enterprise JavaBean e iniciar el método. Las configuraciones siguientes son necesarias en el cliente de Java Platform, Enterprise Edition:
Las configuraciones siguientes son necesarias en el cliente de Java Platform, Enterprise Edition:
v Acceso a los archivos de clase Home y Remote
v Acceso a los archivos JAR de Java Platform, Enterprise Edition para el servidor
v El URL del servidor que aloja los Enterprise JavaBeans v El nombre de clase de la fábrica de contexto
El código de cliente debe crear la instancia del objeto IntialContext predeterminado. El contexto se deriva del URL del proveedor y la fábrica de contexto del entorno.
Servicio web Utilice el URL siguiente para las transacciones que inician un servicio web:
http://nombre_host:puerto/meaweb/services/nombre servicio
web
donde nombre servicio web es el nombre de un servicio web desplegado.
Conceptos relacionados:
“API de REST” en la página 243
actualicen datos de aplicación en motor de automatización de procesos de Tivoli.
Secuencias de proceso
La misma secuencia de procesamiento se aplica a los mensajes asíncronos y síncronos que utilizan un servicio empresarial. Las secuencias de procesamiento son diferentes para los mensajes síncronos que utilizan servicios de la estructura de objeto o estándar.
Secuencias de proceso de servicio empresarial:
Un mensaje de servicio empresarial se procesa en varias capas para consultar y actualizar datos de objeto de negocio. Puede utilizar estas capas de proceso para personalizar y controlar el proceso para que satisfaga los requisitos de integración con la aplicación externa.
Para el proceso asíncrono, los datos se pueden originar desde los métodos de intercambio siguientes:
v Tablas de interfaz
v Publicación HTTP de un mensaje XML
v Inicio de un servicio web que se ha configurado para utilizar una cola JMS v Inicio de un EJB
v Conexión JMS directa
v Importación de datos de un archivo sin formato o un archivo XML Para el proceso síncrono, los datos se pueden originar desde los métodos de intercambio siguientes:
v Publicación HTTP de un mensaje XML (HTTP)
v Inicio de un servicio web que se ha configurado para utilizar una cola JMS v Inicio de un EJB
La misma secuencia de proceso se aplica para el proceso asíncrono y síncrono. El proceso de los servicios empresariales se lleva a cabo en esta secuencia: 1. El sistema externo llama al servicio empresarial.
2. El proceso personalizado se pueden producir en varios puntos durante el proceso de servicios empresariales. Puede ejecutar clases personalizadas Java oscripts de automatización para manipular los datos de mensaje o puede aplicar una correlación XSL. El proceso personalizado se produce en el orden siguiente:
a. Si se define un método de preproceso en una clase de salida de usuario, este método se aplica en primer lugar.
b. Si se especifica una clase de salida externa, se aplica este proceso.
c. Si se define un método de postproceso en una clase de salida de usuario, se aplica este método.
d. Si se especifica una correspondencia XSL para el servicio empresarial, se aplica la correspondencia para convertir el formato del servicio empresarial en un formato de estructura de objeto.
En este punto del proceso, el mensaje debe coincidir con el formato de la estructura de objeto que está asociada al servicio empresarial.
3. El proceso de estructura de objeto se produce en el orden siguiente:
a. Puede ejecutar clases personalizadas Java o scripts de automatización para manipular datos durante el proceso de estructura de objeto.
b. Si las reglas de proceso se han configurado para la estructura de objeto, estas reglas se ejecutan a continuación.
c. Si las reglas de proceso provocan la multiplicación de datos o sitios u organizaciones, el mensaje de estructura de objeto se duplica para los sitios u organizaciones adicionales.
d. Se crean los objetos y se inicia el proceso de objetos. 4. El proceso de objetos se produce en el orden siguiente:
a. Si se ha definido un método de preproceso en una clase de salida de usuario, se aplica este método.
b. Si se especifica una clase de salida externa, se aplica este proceso.
c. Si se define un método de postproceso en una clase de salida de usuario, se aplica este método.
d. Los objetos de negocio se procesan, y los datos se guardan en la base de datos.
5. Solo para transacciones síncronas, para las operaciones Crear, Actualizar, Suprimir y Sincronizar, el servicio empresarial proporciona una respuesta a la aplicación iniciadora que incluye la información siguiente:
v Indica si el mensaje se ha procesado satisfactoriamente. v El valor de la columna de ID interno del objeto principal,
independientemente de si la columna forma parte de la clave primera del objeto principal.
v Los valores de los campos de clave primera del objeto principal.
v Los valores de cualquier campo de clave alternativa para el objeto principal, que se ha configurado para el objeto o para la estructura de objeto.
6. Sólo para las transacciones síncronas, en las operaciones Consultar, se devuelve la estructura de objeto completa. Puede ejecutar clases personalizadas Java o scripts de automatización para manipular los datos de respuesta, o puede aplicar una correlación XSL.
Integración síncrona con un servicio de estructura de objeto:
Se puede acceder a un servicio de estructura de objeto utilizando los métodos de invocación HTTP Post, EJB, y de servicio web para recibir mensajes de servicio de estructura de objeto síncronos. Están soportadas las operaciones de creación, actualización, supresión, sincronización y consulta.
El proceso de integración que se basa en un servicio de estructura de objeto se produce en la secuencia siguiente:
1. El sistema externo utiliza uno de los métodos de invocación siguientes para iniciar la comunicación con la infraestructura de integración:
v Invocación de HTTP v Invocación de EJB
v Invocación de servicios web
2. La infraestructura de integración recibe el mensaje entrante que identifica la estructura de objeto asociada con el mensaje
3. La infraestructura de la integración crea los objetos, basándose en la estructura de objeto y el contenido del mensaje entrante.
4. La infraestructura de integración aplica cualquier lógica predefinida a la estructura de objeto.
5. Los objetos se procesan y los datos se confirman en la base de datos si el mensaje contiene una operación de actualización, o los datos se devuelven al solicitante, si el mensaje contiene una operación de consulta.
6. Si se produce un error de procesamiento, se devuelve la respuesta con un mensaje de error al interlocutor del servicio.
Integración síncrona con un servicio estándar:
Se puede acceder a un servicio estándar mediante métodos de invocación HTTP Post, EJB, y de servicio web para recibir mensajes de servicio estándar síncronos. El proceso de integración que se basa en un servicio estándar se produce en la secuencia siguiente:
1. El sistema externo utiliza uno de los métodos de invocación siguientes para iniciar la comunicación con la infraestructura de integración:
v Invocación de HTTP v Invocación de EJB
v Invocación de servicios web
2. Los objetos se pasan al sistema y se aplica procesamiento del sistema estándar.