Sunteți pe pagina 1din 420

IBM Maximo Asset Management

Versin 7 Release 6

Integracin de datos con aplicaciones


externas


Nota
Antes de utilizar esta informacin y el producto al que da soporte, lea la informacin del apartado Avisos en la pgina
409.

Esta edicin se aplica a la versin 7, release 5, modificacin 0 de IBM Maximo Integration Framework y a todos los
releases y modificaciones posteriores hasta que se indique lo contrario en nuevas ediciones.
Copyright IBM Corporation 2008, 2014.
Contenido
Integracin de datos con aplicaciones Objetos de la interfaz de transacciones . . . 91
externas . . . . . . . . . . . . . . 1 Objetos del sistema . . . . . . . . . 101
Descripcin general de la infraestructura de Orden de carga de datos. . . . . . . . 115
integracin . . . . . . . . . . . . . . . 1 Procesamiento de datos de integracin . . . . . 116
Arquitectura . . . . . . . . . . . . . 2 Planificacin para procesar los datos para la
Infraestructura para el intercambio de datos . . 2 integracin . . . . . . . . . . . . . 116
Infraestructura para la integracin de productos Procesamiento de datos entrantes. . . . . . 117
de gestin de operaciones . . . . . . . . 4 Proceso asncrono de mensajes entrantes . . 117
Infraestructura para la integracin de la Proceso sncrono de mensajes entrantes. . . 118
interfaz de usuario . . . . . . . . . . 5 Iniciacin del proceso asncrono de los datos
Habilitacin de la exportacin y la importacin de de entrada . . . . . . . . . . . . 118
datos . . . . . . . . . . . . . . . . . 5 Iniciacin del proceso sncrono de los datos
Preparacin del sistema. . . . . . . . . . 5 de entrada . . . . . . . . . . . . 120
Configuracin de colas JMS . . . . . . . 5 Secuencias de proceso . . . . . . . . 122
Configuracin de las propiedades de Procesamiento de datos salientes . . . . . . 124
integracin . . . . . . . . . . . . . 5 Integracin asncrona con un canal de
Activacin de la tarea cron para colas JMS . . 6 publicacin . . . . . . . . . . . . 124
Exportacin de datos a un archivo de prueba . 6 Integracin sncrona con un canal de
Importacin de datos de un archivo de prueba 7 invocacin . . . . . . . . . . . . 126
Componentes de integracin . . . . . . . . . 7 Configuracin del proceso de integracin . . . 127
Estructuras de objetos . . . . . . . . . . 7 Configuracin del proceso asncrono de
Identificacin de objetos . . . . . . . . 8 mensajes entrantes mediante servicios
Teclas alternativas . . . . . . . . . . 8 empresariales . . . . . . . . . . . 128
Campos de objeto . . . . . . . . . . 9 Configuracin del proceso asncrono de
Consideraciones sobre las tablas de interfaz y mensajes de salida mediante canales de
los archivos sin formato . . . . . . . . 10 publicacin . . . . . . . . . . . . 129
Modificacin de una estructura de objeto Personalizacin basada en reglas . . . . . . 130
predefinida . . . . . . . . . . . . 10 Definiciones de reglas para objetos y
Configuracin de una estructura de objeto . . 10 registros . . . . . . . . . . . . . 130
Canales y servicios . . . . . . . . . . . 15 Definiciones de regla de proceso . . . . . 130
Canales de publicacin . . . . . . . . 15 Condiciones y evaluaciones . . . . . . 135
Canales de invocacin . . . . . . . . . 17 Controles de integracin. . . . . . . . 139
Servicios de estructura de objeto . . . . . 20 Configuracin de reglas de proceso . . . . 141
Servicios empresariales . . . . . . . . 20 Personalizacin basada en cdigo . . . . . 156
Servicios estndar . . . . . . . . . . 24 Personalizacin de clases y mtodos Java . . 157
Puntos finales y manejadores . . . . . . . 24 Personalizacin con scripts de
Configuracin de un punto final . . . . . 25 automatizacin . . . . . . . . . . . 163
Manejadores de punto final predefinidos . . 27 Correlacin XSL . . . . . . . . . . 180
Servicios web de integracin. . . . . . . . 41 Clase de salida de usuario de tabla de
Orgenes de servicios web . . . . . . . 41 interfaz . . . . . . . . . . . . . 181
Opciones de despliegue de servicios Web . . 42 Configuracin de la infraestructura de integracin 182
Acciones de despliegue de servicio web . . . 43 Propiedades del sistema de integracin . . . . 182
Generacin de esquemas . . . . . . . . 43 Configuracin de colas JMS . . . . . . . 189
Generacin de un archivo de idioma de Creacin y configuracin de una cola . . . 190
descripcin de servicios web. . . . . . . 44 Colas secuenciales . . . . . . . . . . 191
Registro de UDDI . . . . . . . . . . 44 Colas continuas . . . . . . . . . . 192
Creacin y despliegue de servicios web . . . 45 Formato de mensaje de cola . . . . . . 196
Vista general de las interacciones de servicio Selectores de colas. . . . . . . . . . 198
web . . . . . . . . . . . . . . . 47 Visualizacin y supresin de mensajes en una
Sistemas externos . . . . . . . . . . . 49 cola JMS . . . . . . . . . . . . . 199
Configuracin de un sistema externo . . . . 49 Configuracin de colas con WebSphere MQ 200
Contenido de integracin predefinido . . . . 63 Gestin de errores . . . . . . . . . . . 201
Objetos de datos maestros . . . . . . . 64 Gestin de errores que no son de cola . . . 201
Objetos de parte y de inventario . . . . . 74 Gestin de errores basada en cola . . . . 201
Objetos de documentos . . . . . . . . 79 Configuracin de la gestin de errores . . . 202
Notificacin de errores . . . . . . . . 203

Copyright IBM Corp. 2008, 2014 iii


Nuevo proceso de mensajes . . . . . . 204 mtodo PUT. . . . . . . . . . . . 259
Gestin de errores de la importacin de Mtodo POST . . . . . . . . . . . 260
datos basada en archivo . . . . . . . . 207 Mtodo DELETE . . . . . . . . . . 261
Gestin de errores de tablas de interfaz. . . 210 simultneo simultneas de recursos . . . . 261
Causas habituales de errores . . . . . . 211 Actualizaciones y consultas de mtodos de
Bsqueda de errores . . . . . . . . . 212 servicios . . . . . . . . . . . . . . 262
Seguimiento de mensajes . . . . . . . 213 Mtodos de servicios que utilizan HTTP
Configuracin de clsteres . . . . . . . . 218 POST para actualizar recursos . . . . . . 262
Colas JMS en un clster de servidores . . . 218 Mtodos de servicios que utilizan HTTP GET
Configuracin de la tarea cron. . . . . . 221 para consultar recursos . . . . . . . . 264
Configuracin de un servidor de Mtodos de servicios que utilizan HTTP GET
procesamiento de mensajes . . . . . . . 221 para consultar datos del sistema . . . . . 265
Configuracin del directorio global . . . . 221 Propiedades de la cabecera HTTP . . . . . 266
Acceso de los mensajes entrantes a los Cdigos de respuesta . . . . . . . . . . 267
servicios . . . . . . . . . . . . . 221 Seguridad en la API de REST . . . . . . . 268
Seguridad de integracin . . . . . . . . 223 Personalizacin de la API de REST . . . . . 270
Seguridad de autenticacin . . . . . . . 223 Parmetros de consulta REST . . . . . . . 271
Seguridad de autorizaciones . . . . . . 230 Propiedades del sistema REST . . . . . . . 275
Soporte de idiomas . . . . . . . . . . 231 Llamadas de servicios externos . . . . . . 278
Procesamiento predeterminado de varios integracin de OSLC . . . . . . . . . . . 279
idiomas . . . . . . . . . . . . . 231 Implementacin de OSLC en Maximo Asset
Atributos multilinges . . . . . . . . 232 Management . . . . . . . . . . . . 279
Soporte para idiomas bidireccionales . . . 232 Configuracin de OSLC . . . . . . . . . 281
Formatos de idiomas bidireccionales. . . . 233 Especificacin de recursos OSLC . . . . . 281
Configuracin del soporte de idioma Proveedores de servicios de dominio . . . 282
bidireccional para los sistemas externos . . 233 Consultas guardadas . . . . . . . . . 284
Exportacin e importacin de datos basados en Seguridad de OSLC . . . . . . . . . 285
archivo . . . . . . . . . . . . . . . 233 Registro de OSLC . . . . . . . . . . 287
Exportacin e importacin de datos en la Transacciones HTTP . . . . . . . . . . 287
aplicacin Sistemas externos . . . . . . . 234 Consultas de recursos OSLC . . . . . . 288
Exportacin de datos basados en archivo . . 234 Creacin de una instancia de recursos . . . 292
Importacin de datos basados en archivo . . 235 Modificacin de recursos . . . . . . . 293
Tareas cron para procesar datos entrantes . . . 236 Cabeceras HTTP . . . . . . . . . . 296
Tarea cron XMLFILECONSUMER . . . . 236 Cdigos de respuesta HTTP . . . . . . 298
Tarea cron FLATFILECONSUMER . . . . 237 Integracin como consumidor de OSLC . . . 299
Configuracin de una aplicacin para la Creacin de registros de proveedor de OSLC 299
exportacin y la importacin de datos . . . . 239 Diseo de una interaccin de OSLC . . . . 304
Definicin del contenido de una estructura Creacin de grupos de interacciones. . . . 312
de objeto . . . . . . . . . . . . . 239 Ejemplo: Ejecucin de una interaccin de
Habilitacin de la importacin y exportacin OSLC . . . . . . . . . . . . . . 313
de datos en una aplicacin . . . . . . . 240 Cambios en el URI pblico . . . . . . . 315
Iniciacin de la exportacin y la importacin Migracin de integraciones de OSLC . . . 315
de datos en una aplicacin . . . . . . . 241 Modificacin manual de la interfaz de
API de REST . . . . . . . . . . . . . 243 usuario . . . . . . . . . . . . . 316
Infraestructura de la API de REST . . . . . 243 Propiedades de OSLC . . . . . . . . 317
Representaciones soportadas . . . . . . . 244 Consultas de integracin . . . . . . . . . 318
Manejadores de recursos y URI . . . . . . 245 Servicios de consulta . . . . . . . . . . 318
Mtodo GET . . . . . . . . . . . . 245 Creacin de una consulta de servicio
Parmetros de consulta y operadores . . . 248 empresarial . . . . . . . . . . . . . 319
Parmetro _opmodeor . . . . . . . . 250 Consultas de servicios web . . . . . . . . 319
Parmetros _rsStart y _maxItems . . . . . 251 Estructura XML de consulta . . . . . . . 320
Parmetro _orderbyasc . . . . . . . . 252 Criterios de seleccin de consultas . . . . . 323
Parmetros _includecols y _excludecols. . . 253 Seleccin de campo . . . . . . . . . 323
Parmetro _dropnulls . . . . . . . . 253 Evaluacin de campos . . . . . . . . 325
Parmetros _format y _compact . . . . . 254 Seleccin de rango. . . . . . . . . . 325
Negociacin de contenido de Seleccin de la clusula Where . . . . . 326
representaciones . . . . . . . . . . 255 Tablas de interfaz . . . . . . . . . . . . 328
Desplazamiento dentro de la sesin . . . . 256 Creacin de tablas de interfaz . . . . . . . 329
Almacenamiento en memoria cach de Regeneracin de las tablas de interfaz . . . . 330
solicitudes GET. . . . . . . . . . . 257 Supresin de tablas de interfaz y registros . . . 330
Mtodos PUT, POST y DELETE . . . . . . 259 Formato de las tablas de interfaz . . . . . . 331

iv Integracin de datos con aplicaciones externas


Sondeo de tablas de interfaz . . . . . . . 334 Adicin de atributos a operaciones de
Tarea cron de sondeo de la tabla de interfaz 334 gestin lgica . . . . . . . . . . . 356
Sondeo de tablas de interfaz avanzado . . . 335 Funcin de Inicio contextual . . . . . . . . 356
Proceso de tablas de interfaz en un sistema Preparacin de la aplicacin externa . . . . . 357
externo . . . . . . . . . . . . . . 336 URL de entrada de ejecucin en una aplicacin
Habilitacin del proceso de entrada . . . . 336 externa . . . . . . . . . . . . . . 357
Habilitacin del proceso de salida . . . . 337 URL de entrada de ejecucin en una aplicacin
Mdulos de integracin . . . . . . . . . . 337 del producto . . . . . . . . . . . . 357
Componentes de mdulo de integracin . . . 338 Habilitacin del inicio contextual . . . . . . 358
Definiciones de mdulos de integracin . . 338 Creacin de una entrada de ejecucin . . . 358
Productos de gestin operativos . . . . . 338 Configuracin de una opcin de firma para
Operaciones de gestin lgica . . . . . . 338 un punto de ejecucin . . . . . . . . 360
Requisitos previos para la implementacin . . 340 Adicin de un punto de ejecucin a un men
Propiedades de implementacin . . . . . . 341 de aplicacin . . . . . . . . . . . 360
Parmetros del mdulo de integracin . . . 341 Adicin de un botn como un punto de
Flujo de procesos de mdulos de integracin 341 ejecucin . . . . . . . . . . . . . 361
Puntos finales . . . . . . . . . . . 342 Adicin de una condicin a un punto de
Canal de invocacin o implementacin de clase ejecucin . . . . . . . . . . . . . 361
Java . . . . . . . . . . . . . . . 343 Informacin de referencia de integracin . . . . 362
Comparacin entre los canales de invocacin Propiedades del sistema de integracin . . . . 362
y las clases Java . . . . . . . . . . 343 XML de integracin . . . . . . . . . . 370
Implementacin de canales de invocacin 344 Descripcin general . . . . . . . . . 370
Implementacin de clases Java . . . . . 345 Estructura XML . . . . . . . . . . 371
Procesamiento de mdulos de integracin . . . 346 Esquemas de XML de integracin . . . . 382
Identificacin de los componentes de Conmutadores de colaboracin . . . . . . 394
integracin . . . . . . . . . . . . 346 Formato de los conmutadores de
Invocacin del mdulo de integracin . . . 347 colaboracin . . . . . . . . . . . . 395
Procesamiento de respuestas de mdulos de Recuperacin de un conmutador de
integracin . . . . . . . . . . . . 350 colaboracin . . . . . . . . . . . . 396
Configuracin de mdulos de integracin . . . 350 Configuracin de conmutadores de
Creacin de mdulos de integracin. . . . 350 colaboracin . . . . . . . . . . . . 397
Seleccin de operaciones de gestin lgica Conmutadores de colaboracin predefinidos 399
para mdulos de integracin . . . . . . 352
Asociacin de una operacin de gestin Avisos . . . . . . . . . . . . . . 409
lgica con un mdulo de integracin . . . 353 Marcas registradas. . . . . . . . . . . . 411
Configuracin de operaciones de gestin lgica 355
Creacin de operaciones de gestin lgica 355

Contenido v
vi Integracin de datos con aplicaciones externas
Integracin de datos con aplicaciones externas
La infraestructura de integracin le ayuda a integrar datos de aplicacin con otras
aplicaciones, ya sea dentro de su empresa o con sistemas externos. La
infraestructura incluye contenido predefinido que permite la integracin con
diversos objetos de negocios y un kit de herramientas que puede utilizar para
ampliar el contenido de integracin predefinido y desarrollar puntos de integracin
nuevos.

Descripcin general de la infraestructura de integracin


La infraestructura de integracin le ayuda a integrar datos de aplicacin con otras
aplicaciones, ya sea dentro de su empresa o con sistemas externos. La
infraestructura incluye contenido predefinido que permite la integracin con
diversos objetos de negocios y un kit de herramientas que puede utilizar para
ampliar el contenido de integracin predefinido y desarrollar puntos de integracin
nuevos.

La infraestructura de integracin incluye los componentes y las funciones


siguientes:
v Contenido de integracin predefinido
v Aplicaciones para crear y configurar componentes de integracin
v Soporte para mltiples modalidades de comunicacin incluidos servicios web,
protocolo de transferencia de hipertexto (HTTP) y Java Message Service (JMS)
v Soporte para distintos formatos de datos, incluidos tablas de interfaz de base de
datos, mensajes XML y JSON (JavaScript Object Notation), y archivos sin
formato, como archivos de texto separados por comas
v Procesamiento basado en eventos, por lotes, iniciado por un programa e iniciado
por el usuario y ejecucin basada en el contexto de aplicaciones externas
v Soporte para la integracin de productos de gestin de operaciones (PGO)
v Soporte para entornos en clster
v Soporte para la interaccin con aplicaciones que soportan la aplicacin de
integracin OSLC (Open Services for Lifecycle Collaboration). La infraestructura
de integracin puede habilitar a una aplicacin para que sea una aplicacin de
consumidor de OSLC que se pueda integrar con una aplicacin externa que haya
implementado prestaciones de proveedor de OSLC.

La infraestructura de integracin proporciona varias opciones para enviar y recibir


datos. Evale qu enfoque es el ms eficiente para sus necesidades cuando
planifique una integracin. Entre algunos escenarios de integracin tpicos se
encuentran los siguientes:
v Cargar archivos con datos heredados durante una implementacin.
v Sincronizar datos maestros entre una aplicacin de producto y una aplicacin
ERP externa.
v Utilizar servicios web para habilitar la consulta en tiempo real de datos de
aplicacin de producto por parte de una aplicacin externa.
v Llamar a una aplicacin externa para validar datos entrados en una aplicacin
de producto.

Copyright IBM Corp. 2008, 2014 1


Si desea importar un gran nmero de registros de un sistema externo, importe los
datos en archivos de proceso por lotes o utilice tablas de interfaz. Este enfoque
separa los datos de modo que varios mensajes se procesen como transacciones
distintas. Con una sola transaccin que procese de forma sncrona, como una
llamada de servicio web, limite el nmero de mensajes en una sola transaccin
para garantizar que la transaccin se procese en un margen de tiempo aceptable.
Cuando planifique una integracin, evale qu opcin de integracin es la ms
apropiada para sus necesidades.

El contenido de integracin predefinido incluye soporte para varios objetos de


negocios y las funciones de insercin, actualizacin y supresin sobre estos objetos
de negocios est habilitado. Cuando se utiliza contenido predefinido, hay ciertas
limitaciones que pueden afectar a la implementacin. Si existen reglas de negocio
en el objeto de negocios que no permiten una funcin, como por ejemplo la
funcin de supresin, la funcin no est disponible para la integracin. Adems del
soporte para las operaciones insertar, actualizar y suprimir, las aplicaciones del
producto soportan otras funciones que estn disponibles como acciones. El
contenido de integracin predefinido no soporta todas las acciones que estn
disponibles. En la mayor parte de casos, la accin Cambiar estado est soportada
mediante la integracin.
Conceptos relacionados:
Contenido de integracin predefinido en la pgina 63
La infraestructura de integracin proporciona contenido de integracin predefinido,
que incluye estructuras de objeto, canales de publicacin y servicios empresariales
que soportan la importacin de datos de un sistema externo o la exportacin de
datos un sistema externo.

Arquitectura
La arquitectura de la infraestructura de integracin incluye los datos, el transporte,
la comunicacin y los componentes de seguridad necesarios para intercambiar
informacin entre aplicaciones y sistemas distintos.

Infraestructura para el intercambio de datos


La infraestructura para el intercambio de datos incluye los componentes y las
herramientas que se utilizan para implementar los distintos tipos de escenarios de
integracin.

Componentes

La infraestructura incluye componentes de integracin predefinidos y aplicaciones


que puede utilizar para configurar los componentes. En la siguiente tabla se
describen los principales componentes.
Tabla 1. Componentes de intercambio de datos de la infraestructura de integracin
Componente Descripcin
Estructuras de objetos Una estructura de objeto es la capa de datos comn que utilizan
los componentes de la infraestructura de integracin para los
procesos de mensajes de aplicaciones entrantes y salientes. Una
estructura de objeto consta de uno o varios objetos de negocio
relacionados que definen el contenido de un mensaje XML
(esquema).
Objetos de negocio Los objetos de negocio de aplicacin estn disponibles como
recursos REST (Representational State Transfer) para consultas y
actualizaciones utilizando el componente API de REST de la
infraestructura de integracin.

2 Integracin de datos con aplicaciones externas


Tabla 1. Componentes de intercambio de datos de la infraestructura de
integracin (continuacin)
Componente Descripcin
Canales de Un canal de publicacin se utiliza para enviar mensajes asncronos,
publicacin a travs de una cola JMS, a un sistema externo. Los mensajes del
canal de publicacin pueden iniciarse utilizando un evento o
mediante la funcin Exportacin de datos.
Canales de invocacin Los canales de invocacin se utilizan para enviar mensajes
sncronos a un sistema externo y procesar el contenido de la
respuesta. El canal admite la implementacin de la lgica de
procesos y la correlacin de la solicitud y la respuesta. Un canal de
invocacin tambin permite utilizar los datos de la respuesta para
actualizar objetos de negocio y mostrarlos a los usuarios de la
aplicacin.
Servicios Un servicio empresarial es una interconexin para consultar e
empresariales importar datos de un sistema externo. Un servicio empresarial
puede procesar datos de forma sncrona (sin una cola) o asncrona
(con una cola). Los servicios empresariales pueden utilizar varios
protocolos como, por ejemplo, los servicios web y HTTP.
Sistemas externos Se define un sistema externo para la aplicacin externa con la que
tiene previsto integrarse. El sistema externo identifica el protocolo
de comunicacin que se utiliza y qu servicios empresariales,
canales de publicacin y colas JMS se implementan para dicho
sistema externo.
Puntos finales y Un punto final y su manejador asociado direccionan los mensajes
manejadores salientes a un sistema externo. La combinacin del punto final y el
manejador especifica el protocolo de transporte, por ejemplo, HTTP
o servicio web, y proporciona los datos de comunicacin necesarios
para alcanzar el destino, por ejemplo, un URL.
Servicios web Puede desplegar los servicios de la infraestructura de integracin
como, por ejemplo, servicios empresariales o de estructura de
objeto, como servicios web que pueden invocar los sistemas
externos.
Importacin y Puede cargar datos desde archivos XML o archivos sin formato,
exportacin de datos por ejemplo, un archivo de texto separado por comas. Puede
iniciar la importacin y la exportacin de los datos desde una
aplicacin de producto y programar un proceso por lotes para
ejecutar la importacin como un proceso en segundo plano. Puede
exportar uno o varios registros a un archivo utilizando un Canal
de publicacin, donde pueden aplicarse condiciones de filtro para
controlar el contenido de los datos que se exportan.
Contenido La infraestructura de integracin proporciona un contenido
predefinido que incluye estructuras de objetos, los servicios
empresariales y los canales de publicacin correspondientes, un
sistema externo y manejadores predefinidos que admiten distintos
protocolos de comunicacin.

Proceso

Cuando los mensajes de integracin fluyen de entrada y salida, la infraestructura


proporciona opciones como, por ejemplo, clases Java, reglas de proceso y la
correlacin XSL para proporcionar la lgica de transformacin de los mensajes y
reglas de negocio que se adapten a sus requisitos de integracin.

Integracin de datos con aplicaciones externas 3


Comunicacin

La infraestructura de integracin facilita el intercambio de datos sncrono y


asncrono. Los mensajes asncronos se procesan utilizando colas JMS (Java Message
Service). Las colas JMS pueden procesar mensajes por orden de prioridad
(secuencialmente) o de modo multihebra (continuo). Los mensajes sncronos que
requieren una respuesta al remitente no se procesan utilizando colas JMS y
requieren una conexin directa entre la infraestructura de integracin y la
aplicacin externa.

Puede configurar varios protocolos de comunicacin como, por ejemplo, HTTP,


servicios web y mensajera JMS.

Cuando se integra con varias aplicaciones externas, puede configurar distintos


canales y servicios para utilizar distintos protocolos de comunicacin como, por
ejemplo, HTTP, servicios web y mensajera JMS, segn las prestaciones de cada
aplicacin externa individual.

Seguridad

La infraestructura de integracin utiliza el soporte del producto de la seguridad de


autenticacin J2EE, para que pueda configurar Enterprise Java Beans (EJB), HTTP y
servicios web. Puede configurar la seguridad de autorizacin de las aplicaciones,
los objetos y los mtodos de servicios estndar.
Conceptos relacionados:
API de REST en la pgina 243
La API (interfaz de programacin de aplicaciones) de REST (Representational State
Transfer) proporciona una manera para que las aplicaciones externas consulten y
actualicen datos de aplicacin en motor de automatizacin de procesos de Tivoli.

Infraestructura para la integracin de productos de gestin de


operaciones
Los productos de gestin de procesos pueden integrarse con productos de gestin
de operaciones en una modalidad automatizada utilizando mdulos de
integracin. Los productos de gestin de procesos pueden utilizar la funcin de
inicio contextual para integrarse con productos de gestin de operaciones en
modalidad asistida.

El producto de gestin de procesos proporciona una clase Java de accin que inicia
la llamada a un mdulo de integracin y, posteriormente, al producto de gestin
de operaciones. El producto de gestin de procesos procesa luego la respuesta del
producto de gestin de operaciones.

Una operacin de gestin lgica define la accin que el producto de gestin de


procesos realiza sobre el producto de gestin de operaciones. La operacin de
gestin lgica identifica las propiedades siguientes:
v El nombre y la descripcin de la accin a la que da soporte
v Si el procesamiento es sncrono o asncrono
v Los objetos de entrada (origen) y salida (destino) y los campos para la
transaccin

El mdulo de integracin proporciona un mecanismo para que un producto de


gestin de procesos llame a un producto de gestin de operaciones externo.
Cuando lo inicia un producto de gestin de procesos, el mdulo de integracin
utiliza datos proporcionados por el producto de gestin de procesos para ayudar a

4 Integracin de datos con aplicaciones externas


llamar al servicio del producto de gestin de operaciones. El mdulo de
integracin tambin puede devolver cualquier dato de respuesta al producto de
gestin de procesos.

Los productos de gestin de operaciones proporcionan servicios a los que los


mdulos de integracin pueden llamar para iniciar acciones de productos de
gestin de operaciones.

Infraestructura para la integracin de la interfaz de usuario


Puede configurar la infraestructura de integracin para que abra una ventana en
una aplicacin externa y proporcione datos para incluirlos en el contexto de dicha
ventana.

Puede configurar un URL de consola para cualquier aplicacin con una consola
basada en la web y puede configurar URL para consolas que utilicen Java Web
Start. No puede utilizar una entrada de ejecucin para abrir aplicaciones que no
estn habilitadas para la web. Puede configurar un punto de ejecucin desde
cualquier aplicacin del producto. Puede proporcionar acceso a puntos de inicio
como acciones, hiperenlaces y en botones de aplicacin.

Puede utilizar el mismo procedimiento para abrir una ventana de una aplicacin
del producto desde una aplicacin externa.

Habilitacin de la exportacin y la importacin de datos


Antes de utilizar la infraestructura de integracin para intercambiar datos con una
aplicacin externa, debe configurar los componentes necesarios para la
comunicacin entrante y saliente. Estos procedimientos describen los pasos de
configuracin mnimos necesarios para validar que pueda exportar datos a un
archivo e importar datos de un archivo.

Preparacin del sistema


Para habilitar la integracin, debe realizar algunas tareas de configuracin
relacionadas con propiedades del sistema, colas JMS y tareas cron.

Configuracin de colas JMS


Las colas JMS se configuran en el servidor de aplicaciones. La configuracin de
colas JMS puede ser automtica o manual en WebSphere Application Server. La
configuracin de colas JMS siempre es un procedimiento manual en WebLogic
Server.

Procedimiento
1. Confirme que las colas JMS estn configuradas.
2. Confirme que los beans controlados por mensaje estn habilitados para la cola
continua.

Configuracin de las propiedades de integracin


Antes de habilitar la infraestructura de integracin, modifique los valores
predeterminados para las propiedades de integracin con valores apropiados para
su entorno.

Procedimiento
1. En la aplicacin Propiedades del sistema, filtre las propiedades que desee
configurar. Si filtra mxe.int en el campo Propiedad, aparecern en la lista todas
las propiedades de integracin.

Integracin de datos con aplicaciones externas 5


2. Seleccione la propiedad mxe.int.dfltuser y verifique que la cuenta de usuario
especificada sea una cuenta de usuario del sistema vlida. Modifique el valor
de la propiedad si es necesario. La propiedad especifica el ID de inicio de
sesin predeterminado que se utiliza para todas las transacciones de integracin
procesadas por una cola JMS entrante.
3. Opcional: Puede configurar un directorio global en el que una nica ubicacin
de archivo pueda contener archivos relacionados con la integracin en el
sistema de archivos. Los servidores de Maximo Asset Management deben tener
acceso al directorio global del sistema de archivos. Por ejemplo, cuando se
utiliza un punto final basado en archivo que no tiene configurada una
ubicacin de archivo, el archivo generado por el punto final se coloca en un
directorio predeterminado del directorio global. Puede configurar el nombre del
directorio global en la propiedad del sistema mxe.int.globaldir.

Activacin de la tarea cron para colas JMS


Para el procesamiento asncrono, los mensajes de integracin se colocan en colas
JMS. Las tareas cron sondean las colas JMS frecuentemente y luego procesan los
mensajes encontrados en las colas.

Procedimiento
1. En la aplicacin Configuracin de tarea cron, busque la tarea cron
JMSQSEQCONSUMER.
2. Verifique que la tarea cron est configurada para sondear tanto la cola SEQQIN
como la cola SEQQOUT.
3. Establezca la casilla de verificacin Activa para cada cola.
4. Pulse Guardar.
5. Haga clic en la accin Recargar solicitud.

Exportacin de datos a un archivo de prueba


Para validar que el proceso de salida se ha configurado y habilitado correctamente,
ejecute una exportacin de prueba.

Acerca de esta tarea

Para probar el proceso de salida, esta tarea utiliza la funcin de exportacin de


datos para exportar un registro de persona a un archivo. La tarea utiliza los
siguientes componentes de integracin predefinidos:
v Sistema externo: EXTSYS1
v Canal de publicacin: MXPERSONInterface, que utiliza la estructura de objeto
MXPERSON
v Punto final: MXXMLFILE

Procedimiento
1. En la ficha Sistemas, asegrese de que la casilla de verificacin Habilitado est
seleccionada para el sistema externo EXTSYS1.
2. En la ficha Canales de publicacin, filtre para el canal de publicacin
MXPERSONInterface.
3. En la seccin Detalles del canal de publicacin MXPERSONInterface,
especifique MXXMLFILE en el campo Punto final.
4. Pulse en Exportacin de datos.
5. En la ventana Exportacin de datos, especifique 1 en el campo Recuento para
limitar la exportacin un solo registro.

6 Integracin de datos con aplicaciones externas


Resultados

Si no se especifica una ubicacin en la propiedad FILEDIR, el archivo XML se


exporta a la ubicacin que ha especificado en la propiedad mxe.int.globaldir.

Importacin de datos de un archivo de prueba


Para validar que el proceso de entrada est correctamente configurado y habilitado,
ejecute una importacin de prueba.

Procedimiento
1. Abra el archivo de prueba que haya exportado en un editor de texto y realice
las modificaciones siguientes:
a. Cambie la etiqueta <PublishMXPERSON> por <SyncMXPERSON> para
cambiar la operacin para el proceso de entrada.
b. Agregue un sufijo al valor LASTNAME, como por ejemplo
LASTNAME_TEST, para facilitar la verificacin del cambio cuando
importe el archivo de prueba.
c. Guarde el archivo.
2. En la ficha Sistema de la aplicacin Sistemas externos, asegrese de que la
casilla de seleccin Habilitado est seleccionada para el sistema externo
EXTSYS1.
3. En la ficha Servicios empresariales, filtre el servicio empresarial
MXPERSONInterface.
4. Seleccione la fila MXPERSONInterface y deseleccione Usar cola continua.
5. Pulse Guardar.
6. Seleccione la fila MXPERSONInterface y pulse Importar datos.
7. En la ventana Importar datos, especifique los valores siguientes:
a. Seleccione la opcin Archivo XML.
b. En el campo Especificar archivo de importacin, navegue al archivo de
prueba modificado y seleccinelo.
8. Pulse Aceptar.
9. En la aplicacin Personas, filtre el registro de prueba y verifique que el valor
del campo Apellido incluya el sufijo que haya aadido.
10. Suprima el sufijo para restaurar el registro a su valor original y pulse en
Guardar.

Componentes de integracin
Segn el mbito y los requisitos de su implementacin, puede crear componentes
nuevos o copiar, modificar o ampliar los componentes predefinidos.

La duplicacin de un componente de integracin y la modificacin de la copia


ofrece varias ventajas. La copia de un componente de integracin se convierte en
una entidad definida por el usuario y las restricciones de modificacin que se
aplican al componente predefinido no se aplican a la copia. La versin original del
componente no se modifica. Para evitar la modificacin de un componente se
utiliza para el procesamiento de transacciones, realice todas las modificaciones en
modalidad de administrador.

Estructuras de objetos
Una estructura de objeto es la capa de datos comn que utilizan los componentes
de la infraestructura de integracin para enviar y recibir datos en Maximo Asset

Integracin de datos con aplicaciones externas 7


Management. Una estructura de objeto est formada por uno o varios objetos de
negocio relacionados que definen el contenido de un mensaje de integracin.

Una estructura de objeto proporciona el contenido del mensaje de los canales y los
servicios, y habilita la importacin y la exportacin basada en aplicaciones.
Asimismo, una estructura de objeto, por si sola, puede invocarse como un servicio,
para dar soporte a las operaciones Crear, Actualizar, Suprimir, Sincronizar y
Consultar.

Identificacin de objetos
Para identificar los datos que se deben incluir en una estructura de objeto es
necesario conocer las aplicaciones y sus objetos asociados. Revise el modelo de
datos de una aplicacin para determinar qu objetos, tablas de base de datos y
vistas contienen los datos que debe transferir a un sistema externo y desde ste.

Debe averiguar qu objetos llenan las tablas de base de datos. Generalmente, existe
una relacin unvoca entre un objeto y una tabla de base de datos. No obstante, en
algunos casos, varios objetos graban datos en una tabla individual.

Se proporciona una estructura de objeto predefinida para intercambiar datos en el


objeto de persona con un sistema externo. Si no existe ninguna estructura de objeto
predefinida, para crear una, determina que los datos que necesita se encuentran en
las tablas PERSONA, TELFONO, CORR. ELECT. y SMS. Las tablas de base de
datos tienen el mismo nombre que los objetos correspondientes. Incluya estos
objetos en la estructura de objeto que cree. El nombre de la estructura de objeto
debe empezar por un carcter alfabtico.

Cuando una estructura de objeto contiene varios objetos, la estructura de objeto se


organiza como una jerarqua, con un objeto raz (el objeto superior o principal) y
objetos hijo. Una estructura de objeto puede dar soporte a cualquier cantidad de
niveles de objetos en su jerarqua. Debe especificar como relacin una relacin
padre-hijo vlida para todos los objetos bajo el nivel superior de la jerarqua y no
puede hacer referencia al mismo objeto ms de una vez en la misma ramificacin
de la jerarqua. Cuando cree una estructura de objeto, empiece aadiendo el objeto
principal (nivel superior). A continuacin, puede aadir ms objetos como objetos
hijo del objeto padre.

Teclas alternativas
El proceso de mensajes entrantes se basa en los campos de clave de un objeto para
encontrar un registro existente en el sistema para dar soporte a las actualizaciones
y las supresiones. El proceso predeterminado se basa en la clave primaria para
recuperar los registros existentes. A veces, una clave primaria resulta desconocida
para una aplicacin externa y se define una clave alternativa (conocida por el
sistema externo) para permitir la actualizacin y la supresin de registros por parte
del sistema externo.

Un mensaje entrante suele utilizar la clave primaria de un objeto para buscar y


procesar registros que ya existen en el sistema. No obstante, a veces una clave
primaria es un valor generado internamente que no est disponible para el sistema
externo. En estos casos, puede definir una clave alternativa para un objeto y el
sistema externo pasa los campos de clave alternativa que utiliza la infraestructura
de integracin, en lugar de los campos de clave primaria, para recuperar los datos
de dicho objeto.

Puede especificar una clave alternativa para un objeto a nivel de objeto o a nivel
de estructura de objeto. Si especifica una clave alternativa a nivel de objeto, todas

8 Integracin de datos con aplicaciones externas


las estructuras de objeto que incluyen el objeto utilizan la misma clave alternativa.
Si especifica una clave alternativa a nivel de estructura de objeto, puede utilizar
estructuras de objeto diferentes para especificar una clave alternativa diferente para
cada origen de datos externo que utiliza el objeto. Debe definir el ndice que
constituye una clave alternativa para un objeto en la aplicacin Configuracin de
base de datos. Despus de crear el ndice, puede seleccionarlo como clave
alternativa para el objeto.

Durante el proceso entrante, la infraestructura de integracin procesa la clave


alternativa y la clave primaria en el orden siguiente:
v Procesa la clave alternativa de la estructura de objeto, si hay una configurada.
v Procesa la clave alternativa del objeto, si hay una configurada y no hay una
clave alternativa configurada para la estructura de objeto.
v Utiliza la clave primaria del objeto si no hay una clave alternativa configurada
para la estructura de objeto ni para el objeto.

Despus de especificar una clave alternativa, los mensajes entrantes pueden fallar
si se cambia o se descarta el ndice de la clave alternativa.

Campos de objeto
La infraestructura de integracin y el sistema externo intercambian un subconjunto
de las columnas de datos en los objetos de la estructura de objeto. Con ciertas
restricciones, puede controlar el contenido de los campos de objeto del mensaje
incluyendo columnas persistentes y no persistentes de objetos individuales.

Un objeto de negocio puede tener varios campos, la mayor parte de los cuales es
posible que no sean necesarios en un escenario de integracin. Cuando configure
una estructura de objeto, puede seleccionar qu campos se deben incluir en los
mensajes de integracin y mejorar el rendimiento de la transferencia de mensajes
entre aplicaciones. De forma predeterminada, los objetos de una estructura de
objeto incluyen todas las columnas persistentes de los objetos. Una columna
persistente es un campo de datos que un objeto utiliza para escribir datos en una
tabla de base de datos como parte de su proceso. Para controlar el tamao del
contenido, puede excluir las columnas persistentes que no intercambia con las
aplicaciones externas. Slo las columnas persistentes incluidas forman parte del
mensaje XML para los mensajes salientes. Para los mensajes entrantes, slo se
actualizan las columnas de objeto incluidas en la estructura de objeto. No excluya
ninguna columna que forme parte de una clave primaria o alternativa.

De forma predeterminada, una estructura de objeto excluye la mayor parte de las


columnas no persistentes de los objetos componentes. Una columna no persistente
es un campo de datos temporal que un objeto utiliza para los clculos o el
almacenamiento temporal. Puede incluir columnas no persistentes adicionales en la
estructura de objeto. Por ejemplo, los objetos que contienen la columna persistente
DESCRIPTION tambin contienen la columna no persistente
DESCRIPTION_LONGDESCRIPTION. La mayora de las estructuras de objeto
predefinidas incluyen esta columna no persistente porque muchos escenarios de
integracin requieren campos de descripcin detallada. Si este campo no se
incluye, no forma parte de los mensajes de integracin.

Si cambia el contenido del mensaje de una estructura de objeto que se est


utilizando para una tabla de interfaz, se debe volver a generar la tabla de interfaz
para reflejar el contenido actualizado de la estructura de objeto.

Integracin de datos con aplicaciones externas 9


Consideraciones sobre las tablas de interfaz y los archivos sin
formato
Si utiliza una estructura de objeto para cambiar datos con tablas de interfaz o
archivos sin formato, debe garantizar que la estructura de objeto no contenga
nombres de columna duplicados.

Debe seleccionar la casilla de verificacin Admitir estructura plana para cualquier


estructura de objeto que piense utilizar para escenarios de integracin de tabla de
interfaz o de archivo sin formato. Cuando esta opcin est establecida, se
comprueban los mensajes para garantizar que cada columna para cada objeto de la
estructura de objeto tenga un nombre exclusivo. Si existen nombres de columna
duplicados, puede crear un nombre de campo de alias para los nombres
duplicados. La modificacin del alias garantiza que todos los nombres de columna
sean exclusivos y que el sistema pueda generar la tabla de interfaz o el archivo sin
formato sin errores. Las tablas de interfaz requieren que todas las columnas
incluidas en el objeto correspondiente tengan un nombre de alias de 18 caracteres o
menos.

Modificacin de una estructura de objeto predefinida


Existen determinadas restricciones si modifica una estructura de objeto predefinida.

Puede aadir objetos a una estructura de objeto predefinida, pero no puede


suprimir objetos predefinidos de la estructura de objeto. Para evitar esta restriccin,
realice un duplicado de la estructura de objeto predefinida para crear una
estructura de objeto definida por el usuario y suprima los objetos de la versin
duplicada.

Puede incluir y excluir columnas persistentes y no persistentes, sujetas a las


validaciones estndar que se aplican durante el procesamiento de integracin. Los
mensajes salientes incluyen las columnas para los objetos que aade a una
estructura de objeto. Pruebe los mensajes entrantes para garantizar que las
columnas que aade se procesen correctamente. Si las columnas de objeto
adicionales no se procesan correctamente, aada una clase de procesamiento de
estructura de objeto para manejar el proceso entrante.

Si utiliza la estructura de objeto en tablas de interfaz o archivos sin formato,


compruebe los conflictos de alias. Puede producirse un conflicto de alias si dos
objetos de una estructura de objeto que da soporte a archivos sin formato tienen
columnas con el mismo nombre. Cuando comprueba si hay conflictos de alias, se
identifican los nombres duplicados y puede asignar nombres de alias para
utilizarlos como sustitutos para alterar temporalmente el conflicto. Si utiliza tablas
de interfaz, vuelva a generar la tabla para cada servicio empresarial o canal de
publicacin que utilice la estructura de objeto modificada.

Configuracin de una estructura de objeto


Puede crear estructuras de objeto nuevas y, en este proceso, generar archivos de
esquema, incluir o excluir campos y resolver conflictos de alias. Tambin puede
especificar restricciones de configuracin entrante, establecer propiedades de
configuracin avanzadas y configurar la autorizacin de aplicaciones.

Creacin de una estructura de objeto:

Al crear una estructura de objeto, define un grupo de objetos relacionados para


que formen parte de un mensaje de integracin que intercambia con aplicaciones
externas. Puede identificar campos de datos para cada objeto de negocio que
determine el contenido de los mensajes de integracin.

10 Integracin de datos con aplicaciones externas


Acerca de esta tarea

Durante la configuracin, puede definir clases Java, si es necesario, que procesen


los mensajes entrantes y salientes. Tambin puede definir una aplicacin que
proporcione reglas de autorizacin para los mensajes de integracin procesados a
travs de la estructura de objeto. Si la estructura de objeto nicamente est
pensada para la creacin de consultas y no desea utilizarla para fines de
actualizacin, seleccione la opcin Slo consulta. Si el objeto principal de la
estructura de objeto tiene una relacin con l mismo como objeto de nivel inferior,
establezca la opcin Autoreferencia.

Procedimiento
1. En la aplicacin Estructuras de objetos, pulse en Nueva estructura de objeto.
2. En el campo Estructura de objeto, especifique un identificador de estructura de
objeto.
3. Opcional: Si va a utilizar la estructura de objeto para operaciones de consulta,
marque la casilla de verificacin Slo consulta.
4. Opcional: Si utiliza tablas de interfaz o archivos planos para intercambiar datos
entre la infraestructura de integracin y un sistema externo, marque la casilla
de verificacin Admitir estructura plana.
5. En el campo Consumido por, especifique el mdulo que utiliza la estructura de
objeto.

Opcin Descripcin
INTEGRACIN Infraestructura de integracin
GESTORMIGRACIN Gestor de migracin
INFORMES Informes
OSLC OSLC

6. En la ventana de tabla Objetos de origen, pulse en Fila nueva.


7. Especifique valores en los campos siguientes para crear una jerarqua de objetos
de negocio:
v Objeto
v Objeto de nivel superior
v Descripcin de informes
v Relacin
v Orden de objeto
8. Pulse Guardar estructura de objeto.

Qu hacer a continuacin

Si la casilla de verificacin Conflicto de alias est seleccionada en el registro de


estructura de objeto, puede agregar o modificar un alias para corregir los nombres
de campo duplicados en los objetos de origen. Tambin puede especificar los
campos persistentes y no persistentes que desee excluir e incluir en la estructura
de objeto.

Configuracin de una clave alternativa:

Para configurar una clave alternativa, cree un ndice exclusivo en la aplicacin de


configuracin de base de datos y haga referencia a este ndice como la clave
alternativa de una estructura de objeto o de un objeto especfico.

Integracin de datos con aplicaciones externas 11


Acerca de esta tarea

Si establece la clave alternativa al nivel de objeto, la clave se aplica a todos los usos
del objeto en una estructura de objeto. Si establece la clave alternativa en la
estructura de objeto, la clave se aplica al objeto slo cuando se accede a ella a
travs de la estructura de objeto seleccionada.

Procedimiento
1. Identifique el campo o los campos de un objeto para utilizarlos como clave
alternativa.
2. Seleccione el objeto en la aplicacin Configuracin de la base de datos.
3. Cree un ndice exclusivo para el campo o los campos en la ficha ndices.
4. Especifique este ndice en el campo Clave alternativa en una de las fichas
siguientes:
a. En la ficha Objeto de la aplicacin Configuracin de la base de datos, si
desea aplicar la clave alternativa al objeto para todos los orgenes de datos
externos.
b. En la ficha Estructuras de objetos de la aplicacin Configuracin de la base
de datos, si desea aplicar la clave alternativa a este uso especfico del objeto.

Inclusin de campos no persistentes en la estructura de objeto:

Los objetos de negocios utilizan campos no persistentes para los clculos o el


almacenamiento temporal de datos. De forma predeterminada, los campos no
persistentes en un objeto de negocio se excluyen de la definicin de la estructura
de objeto. Puede incluir datos de campos no persistentes en los mensajes de
integracin.

Antes de empezar

Si desea cambiar una estructura de objeto predefinida, realice un duplicado de esa


estructura de objeto para crear una versin definida por el usuario que pueda
modificarse.

Procedimiento
1. En la aplicacin Estructuras de objeto, seleccione la estructura de objeto que
desee actualizar.
2. Seleccione el objeto de negocio que contiene el campo no persistente que desea
incluir.
3. Seleccione la accin Excluir/Incluir campos.
4. Pulse la ficha Campos no persistentes para visualizar los campos no
persistentes del objeto de negocio.
5. Especifique si desea que el campo no persistente se incluya o se excluya.

Opcin Incluido
Incluir el campo Seleccionado
Excluir el campo Sin seleccionar

6. Pulse Aceptar.

12 Integracin de datos con aplicaciones externas


Exclusin de campos persistentes de la estructura de objeto:

Los objetos de negocio utilizan campos persistentes para grabar datos de proceso
en una base de datos. De forma predeterminada, los campos persistentes estn
incluidos en la definicin de la estructura de objeto. Puede excluir los datos de
campos persistentes que no desee correlacionar con un mensaje de integracin.

Antes de empezar

Si desea cambiar una estructura de objeto predefinida, realice un duplicado de esa


estructura de objeto para crear una versin definida por el usuario que pueda
modificarse.

Acerca de esta tarea

No puede excluir un campo que forme parte de una clave primaria. Si excluye un
campo persistente de una estructura de objeto predefinida, el objeto asociado
puede que no funcione correctamente durante el proceso de los mensajes entrantes.
Compruebe los mensajes entrantes para asegurarse de que un campo persistente
excluido no afecte al proceso de objetos.

Procedimiento
1. En la aplicacin Estructuras de objeto, seleccione la estructura de objeto que
desee actualizar.
2. Seleccione el objeto de negocio que contiene el campo persistente que desea
excluir.
3. Seleccione la accin Excluir/Incluir campos.
4. Pulse la ficha Campos persistentes para visualizar los campos persistentes del
objeto de negocio.
5. Especifique si desea que el campo persistente se excluya o se incluya.

Opcin Excluido
Excluir el campo Seleccionado
Incluir el campo Sin seleccionar

6. Pulse Aceptar.

Resolucin de conflictos de alias:

Una estructura de objeto que contenga varios objetos y soporte archivos sin
formato o tablas de interfaz no puede tener nombres de campo duplicados para
cualquiera de los campos de sus objetos. Deber resolver cualquier conflicto de
nombre de campo (alias) para poder generar tablas de interfaz y registros de
archivo sin formato.

Acerca de esta tarea

Si existe un conflicto de alias, se selecciona la casilla de verificacin Conflicto de


alias en el registro de estructura de objeto. Slo puede cambiar un alias si la casilla
de verificacin Admitir estructura plana est seleccionada en el registro, indicando
que los datos se procesan mediante tablas de interfaz o archivos sin formato.

Integracin de datos con aplicaciones externas 13


Procedimiento
1. Cuando exista un conflicto de alias, seleccione un objeto de negocios en la tabla
Objetos de origen.
2. Seleccione la accin Agregar/modificar alias. Si en un campo existe un alias
duplicado, la casilla de verificacin Duplicado correspondiente est
seleccionada.
3. Para actualizar un alias duplicado:
a. Pulse en Ver detalles del alias duplicado.
b. Especifique un valor nuevo en el campo Alias.
c. Pulse Aceptar.

Qu hacer a continuacin

Despus de resolver todos los conflictos de alias, puede generar tablas de interfaz
y registros de archivo sin formato. Si utiliza tablas de interfaz, deber volver a
generar todas las tablas que utilicen la estructura de objeto actualizada. Para volver
a generar tablas de interfaz, seleccione la opcin Crear tablas de interfaz en la
aplicacin Sistemas externos.

Establecimiento de restricciones sobre campos en mensajes entrantes:

El procesamiento de integracin estndar establece los valores en campos de objeto


con los valores correspondientes de un mensaje entrante. Puede establecer un
campo como restringido si no desea que el valor se actualice con los mensajes
entrantes, por ejemplo, para un campo con un ID interno o en el que una clase de
procesamiento proporciona la lgica para establecer el campo.

Procedimiento
1. Seleccione la accin Restricciones de configuracin entrante.
2. En la ventana Restricciones de configuracin entrante, seleccione el objeto al
que desee aplicar restricciones de configuracin. La tabla Restricciones de
configuracin entrante se renueva con una lista de los campos configurados
para el objeto seleccionado.
3. Seleccione el recuadro de seleccin Restringido para cualquier campo que no
desee que se actualice con los valores en los mensajes entrantes.
4. Puede seleccionar el recuadro de seleccin Alterar temporalmente para
eliminar las restricciones establecidas para un campo. No puede alterar
temporalmente la restriccin establecida en algunos campos, por ejemplo, para
un campo con un ID generado por el sistema.
5. Pulse Aceptar.

Establecimiento de configuraciones avanzadas para una estructura de objeto:

Puede establecer configuraciones avanzadas para una estructura de objeto para


cambiar el comportamiento de proceso predeterminado de los mensajes de
integracin. Las configuraciones avanzadas incluyen la configuracin de cmo se
procesan los campos de clave para los objetos hijo, si un evento en un objeto hijo
activa un evento correspondiente en el objeto padre, y si se suprimen los datos
generados automticamente.

Procedimiento
1. Seleccione la accin Configuracin avanzada.

14 Integracin de datos con aplicaciones externas


2. Deseleccione el recuadro de seleccin Excluir atributos de clave padre para
todo objeto donde desee que se incluyan estos atributos para los objetos hijo.
Cuando se selecciona (el valor predeterminado), los campos de clave que
existen en un objeto hijo no se incluyen en la seccin del mensaje para el objeto
hijo si el mismo campo forma parte de la clave del objeto padre. Si deselecciona
esta opcin, los campos de clave para un objeto hijo siempre se incluyen y el
campo se incluye en la seccin de objeto hijo del mensaje y en la seccin del
objeto padre.
3. Deseleccione el recuadro de seleccin Suprimir datos autogenerados para todo
objeto en el que desee retener estos datos. Cuando se selecciona (el valor
predeterminado), el proceso de integracin siempre suprime los datos de nivel
hijo que crea automticamente la lgica de objetos de negocio cuando se crea el
objeto padre. Si deselecciona esta opcin, se mantienen los datos adicionales
que se generan automticamente.
4. Seleccione la opcin Sucesos de propagacin para los objetos en los que desea
que un evento en un objeto hijo desencadene un evento en el objeto principal.
Cuando configura un canal de publicacin para enviar mensajes basndose en
un evento de objeto, se configura el escucha de eventos para el objeto principal
de la estructura de objeto. En algunos casos, una actualizacin de un objeto hijo
no desencadena un evento en el objeto principal y no se inicia ningn mensaje.
Seleccione esta opcin si desea que una actualizacin del objeto hijo
desencadene un evento en el objeto principal sin actualizar el objeto principal.
Si un objeto hijo incluye una lgica que desencadena un evento en su objeto
padre, no puede habilitarlo ni inhabilitarlo con esta configuracin.

Canales y servicios
Los canales y los servicios hacen referencia a una estructura de objeto para su
contenido de mensaje y habilitan el intercambio sincrnico y asncrono de datos
con sistemas externos. Dos tipos de canales procesan los mensajes salientes: los
canales de publicacin y los canales de invocacin. Tres tipos de servicio procesan
los mensajes entrantes: servicios de estructura de objeto, servicios empresariales y
servicios estndar.

Canales de publicacin
Un canal de publicacin se utiliza para enviar mensajes asncronos a travs de una
cola JMS a un sistema externo. Los mensajes del canal de publicacin pueden
iniciarse utilizando un evento o mediante la funcin Exportacin de datos.

La infraestructura de integracin incluye canales de publicacin predefinidos o


puede configurar sus propios canales de publicacin. Cuando configura un canal
de publicacin, debe asociarlo con una estructura de objeto y, de manera opcional,
habilitar un escucha de eventos. Tambin debe configurar el canal de publicacin
con un sistema externo para determinar dnde se entrega el mensaje.

Tambin puede configurar reglas de proceso, clases de proceso Java o una


correlacin XSL para personalizar el proceso de transaccin del canal de
publicacin.

Configuracin de un canal de publicacin:

Para utilizar un canal de publicacin para la exportacin de datos, debe crear el


canal de publicacin, asociarlo con una estructura de objeto y habilitar un escucha
de eventos. Tambin debe configurar un punto final que direcciona la transaccin a

Integracin de datos con aplicaciones externas 15


un sistema externo especificado. Tambin puede configurar reglas de publicacin,
clases de proceso Java o correlacin de XSL para personalizar el procesamiento de
transacciones.

Creacin de canales de publicacin:

Puede crear un canal de publicacin para enviar mensajes de integracin a un


sistema externo.

Antes de empezar

Antes de crear y configurar un canal de publicacin, utilice la aplicacin


Estructuras de objetos para configurar la estructura de objeto que desea asociar con
el canal de publicacin.

Procedimiento
1. En la aplicacin Canales de publicacin, pulse en Nuevo canal de publicacin.
2. En el campo Canal de publicacin, especifique el nombre del canal de
publicacin.
3. En el campo Estructura de objeto, especifique la estructura de objeto que desea
utilizar con el canal de publicacin. La seccin Subregistros de estructura de
objeto se actualiza con detalles de los objetos incluidos en esta estructura de
objeto.
4. Opcional: Si desea utilizar una tabla de interfaz como origen de datos,
especifique su nombre en el campo Tabla de interfaz. La estructura de objeto
debe estar configurada para admitir que se utilicen archivos sin formato con las
tablas de interfaz.
5. Opcional: Si desea personalizar la lgica de proceso saliente, especifique las
rutas para las clases Java y la hoja de estilo XSL en los campos siguientes:
a. Clase de proceso
b. Clase de salida de usuario
c. Mapa XSL
d. Clase de filtro de eventos
Cualquier clase Java que especifique debe formar parte del archivo EAR de la
aplicacin. Un archivo XSL puede encontrarse en el archivo EAR o en un
sistema de archivos accesible.
6. Opcional: Puede configurar reglas de proceso para el canal de publicacin.
7. Opcional: Si es necesario, deseleccione la casilla de verificacin Retener objetos
para evitar que el canal de publicacin procese reglas basadas en objetos de
negocios.
8. Pulse en Guardar canal de publicacin.

Qu hacer a continuacin

Puede habilitar un escucha de canal de publicacin para indicar a la infraestructura


de integracin que cree y procese el canal de publicacin seleccionado. Tambin
puede utilizar la aplicacin Sistemas externos para asociar el canal de publicacin
con un sistema externo e identificar un punto final para la entrega de mensajes
desde el canal de publicacin.

16 Integracin de datos con aplicaciones externas


Habilitacin de escuchas de canal de publicacin:

Habilite un escucha de eventos en un canal de publicacin para supervisar la


actividad de los procesos en los objetos de canal de publicacin asociados. El
proceso del canal de publicacin se inicia cuando se produce un evento en el
objeto principal de la estructura de objeto asociada.

Procedimiento
1. En la aplicacin Canales de publicacin, seleccione el canal de publicacin que
desea configurar con un escucha de eventos.
2. Seleccione la accin Habilitar escucha de eventos.
3. Pulse Aceptar para habilitar el escucha del canal de publicacin. Los detalles
del canal de publicacin se actualizan y se selecciona la casilla de verificacin
Escucha de eventos.

Qu hacer a continuacin

Seleccione la accin Inhabilitar escucha de eventos si desea inhabilitar la escucha


de eventos en algn momento.

Canales de invocacin
Los canales de invocacin definen la lgica de procesamiento y la correlacin de
datos de entrada y salida, lo que permite a la infraestructura de integracin llamar
a aplicaciones externas y procesar respuestas. No se suministran canales de
invocacin predefinidos.

Creacin de canales de invocacin:

Puede crear un registro de canal de invocacin para enviar datos de salida desde
una estructura de objeto a un sistema externo y para procesar las respuestas desde
el sistema externo.

Antes de empezar

Debe incluir la clase de proceso definida, la clase de salida del usuario y los
archivos de correspondencia XSL en el archivo EAR de la aplicacin. Tambin debe
definir una ruta de archivo de correspondencia XSL a la que el servidor de
aplicaciones pueda acceder.

Procedimiento
1. En la aplicacin Canales de invocacin, pulse en Nuevo canal de invocacin.
2. En el campo Canal de invocacin, especifique un identificador de canal de
invocacin.
3. Especifique valores en los campos siguientes:
v Adaptador
v Punto final
4. Opcional: Si este canal de invocacin procesa respuestas desde una aplicacin
externa, seleccione la casilla de verificacin Respuesta de proceso.
5. En la ventana de tabla Configuracin de peticin de servicio, especifique
valores en los campos siguientes:

Integracin de datos con aplicaciones externas 17


Opcin Descripcin
Estructura de objeto de solicitud La estructura de objeto utilizada para
definir el contenido para el proceso de
datos de salida.
Clase de proceso de solicitud El archivo de clase Java que se utiliza
cuando el canal de invocacin requiere
lgica de proceso de salida predefinida.
Salida de usuario de solicitud El archivo de clase que utiliza el canal de
invocacin para personalizar la lgica de
proceso de salida predefinida.
Archivo XSL de solicitud El archivo XSL que se utiliza para
personalizar la correlacin de canales de
invocacin de salida predefinidos.

6. Opcional: Si ha seleccionado la casilla de verificacin Respuesta de proceso,


especifique valores en los campos siguientes en la ventana de tabla
Configuracin de respuesta de servicio:

Opcin Descripcin
Estructura de objeto de respuesta La estructura de objeto que se utiliza para
definir el contenido para la respuesta.
Clase de proceso de respuesta El archivo de clase Java que se utiliza
cuando el canal de invocacin requiere
lgica de proceso de entrada predefinida
para la respuesta.
Clase de salida de usuario de respuesta El archivo de clase que utiliza el canal de
invocacin para personalizar la lgica de
proceso de entrada predefinida para la
respuesta.
Archivo XSL de respuesta El archivo XSL que se utiliza para
personalizar la correlacin de canales de
invocacin de entrada predefinidos para la
respuesta.

7. Pulse en Guardar canal de invocacin.

Qu hacer a continuacin

Puede ver el esquema XML de la estructura de objeto utilizando un URL con el


formato siguiente:

http://localhost:puerto/meaweb/schema/service/nombre_estructura_objeto

Configuracin de una accin para llamar a un canal de invocacin:

La infraestructura de integracin proporciona una clase de accin predeterminada


que se puede configurar como una accin del sistema. Al proporcionar esta clase
de accin, puede configurar un control de interfaz de usuario, una escalabilidad o
un flujo de trabajo para invocar un servicio externo utilizando un canal de
invocacin.

Procedimiento
1. Cree un canal de invocacin en la aplicacin Canales de invocacin.
2. Cree una accin en la aplicacin Acciones.

18 Integracin de datos con aplicaciones externas


3. Especifique un objeto para la accin. Este objeto debe ser el mismo que el
objeto principal de la estructura de objeto de solicitud del canal de invocacin y
el objeto principal de la aplicacin, el flujo de trabajo o la escalabilidad que
invoca la accin.
4. Especifique Clase personalizada en el campo Tipo.
5. Especifique el nombre de la clase personalizada en el campo Variable. Puede
utilizar el nombre de la clase predeterminada proporcionada para este fin,
psdi.iface.action.InvokeCustomClass, o un nombre de clase alternativo si ha
creado su propia clase personalizada para invocar un sistema externo.
6. Especifique valores en el campo Parmetros/Atributos. Especifique los valores
en el orden siguiente y separe cada valor con una coma:
a. Necesario: El nombre del canal de invocacin que se debe utilizar. EL valor
debe ser exactamente el mismo que el nombre del canal de invocacin.
b. Opcional: El nombre de la relacin que se debe utilizar si el objeto principal
de la estructura de objeto de respuesta es diferente del objeto principal de la
estructura de objeto de solicitud en el canal de invocacin. Si el objeto de
respuesta es el mismo que el objeto de solicitud, no se requiere ninguna
relacin.
c. Opcional: Si ha especificado una relacin, especifique la accin que se debe
aplicar. La accin predeterminada es Agregar, que crea registros. Para
actualizar registros existentes, especifique Cambiar como accin. Si las
estructuras de objeto de respuesta y solicitud coinciden, los objetos se
actualizan si los campos actualizados estn correlacionados en la estructura
de objeto de respuesta.
7. Especifique si hay que aplicar la accin a todas las aplicaciones, a flujos de
trabajo o a aplicaciones.
8. Guarde la accin.

Qu hacer a continuacin

Asocie una aplicacin, un flujo de trabajo o una escalabilidad con la accin. El


objeto principal se pasado a la clase de accin y luego a la estructura de objeto del
canal de invocacin para formar el XML de la solicitud.

Invocacin de un sistema externo desde una aplicacin:

Despus de configurar una clase de accin para invocar un sistema externo


(mediante un canal de invocacin), puede configurar un botn en una aplicacin
para desencadenar la accin de invocacin. Tambin puede ampliar la clase de
accin para visualizar los resultados de la transaccin en cuadro de dilogo de
aplicacin.

Antes de empezar

Debe crear un canal de invocacin y una clase de accin antes de aadir la accin
de invocacin a una aplicacin. Si desea mostrar los resultados de la invocacin,
cree previamente una ventana Resultados (dilogo).

Procedimiento
1. Abra la aplicacin en la aplicacin Diseador de aplicaciones. El objeto
principal de esta aplicacin debe ser el mismo que el objeto principal para el
canal de invocacin y la accin que desea invocar desde la aplicacin.

Integracin de datos con aplicaciones externas 19


2. Agregue un control Grupo de botones al espacio de trabajo desde la paleta de
control. El control Grupo de botones aade automticamente un control Botn
al espacio de trabajo.
3. Pulse Propiedades para abrir la ventana Propiedades del botn.
4. Especifique un nombre para el botn en el campo Valor, por ejemplo, Invocar
sistema externo.
5. Especifique el ID de control para la ventana Resultados en el campo ID de
destino.
6. Especifique un mtodo en el campo Valor que invoque el canal de invocacin y
redirija los resultados a la ventana Resultados. Por ejemplo:
InvokeChannelCache.getInstance().getInvokeChannel(channelName)
.invoke(metaData, mbo, mbo.getMboSet(rel), action, null);
Donde:
v El valor de channelName es el nombre del canal de invocacin.
v El valor de mbo es el nombre del objeto.
v El valor de rel es el nombre de la relacin (si resulta aplicable).
v El valor de action es Aadir.

Servicios de estructura de objeto


Al configurar una estructura de objeto, no es necesario realizar tareas de
configuracin adicionales para que est disponible como servicio o recurso REST.
Conceptos relacionados:
API de REST en la pgina 243
La API (interfaz de programacin de aplicaciones) de REST (Representational State
Transfer) proporciona una manera para que las aplicaciones externas consulten y
actualicen datos de aplicacin en motor de automatizacin de procesos de Tivoli.

Servicios empresariales
Un servicio empresarial es un conducto para consultar datos externos e importar
datos desde un sistema externo. Un servicio empresarial puede procesar datos de
forma sncrona (sin una cola) o asncrona (con una cola). Los servicios
empresariales pueden utilizar mltiples protocolos como, por ejemplo, servicios
web y HTTP.

Un servicio empresarial tiene capas de proceso de datos que transforman datos y


aplican reglas de proceso empresarial a los datos antes de que alcanzar los objetos
de destino. Cuando el mensaje de entrada alcanza la capa de la estructura de
objeto, el mensaje XML debe tener el formato del esquema de objetos. La
infraestructura de integracin puede entonces procesar el mensaje correctamente.

Puede configurar un servicio empresarial para que implemente el siguiente proceso


de transacciones:
v Reglas de proceso
v Clase de proceso de salida de usuario
v Clase de proceso de servicio empresarial
v Correlacin XSL

El gateway es el punto de acceso para los mensajes de servicio empresarial,


excluidos los que se entregan directamente a la cola de integracin desde una cola
externa. Para algunos escenarios de integracin, puede resultar til configurar
propiedades de pasarela, por ejemplo, si se proporcionan propiedades como los ID
del sistema dentro del mensaje XML, en lugar de en la informacin de cabecera.

20 Integracin de datos con aplicaciones externas


Puede configurar una clase Java de intrprete para cambiar el ID del sistema
externo, el ID de servicio empresarial u otras propiedades de la cabecera de
mensajes JMS proporcionadas en un mensaje de entrada. Alternativamente, puede
configurar las propiedades de pasarela en la aplicacin Servicios empresariales.

Configuracin de un servicio empresarial:

Al crear un servicio empresarial, lo asocia con una estructura de objeto. Tambin


puede configurar propiedades de pasarela que se agregan a los datos de cabecera
de los mensajes entrantes.

Creacin de un servicio empresarial:

Puede crear un registro de servicio empresarial para recibir datos entrantes de un


sistema externo. En el servicio empresarial, puede identificar la transformacin de
datos y las normas de proceso que la infraestructura de integracin utiliza para
recibir datos entrantes de un sistema externo.

Antes de empezar

Antes de crear y configurar un servicio empresarial, utilice la aplicacin


Estructuras de objetos para configurar una estructura de objeto que asocie al
servicio empresarial.

Acerca de esta tarea

Cuando la casilla de verificacin Usar esquema externo est seleccionada, los


campos Rtulo de divisin, Archivo de esquema externo y Elemento de esquema
externo se pueden editar. Los valores de esquema externo identifican la ubicacin
del esquema y el nombre del elemento de raz externo.

Procedimiento
1. En la aplicacin Servicios empresariales, pulse en Nuevo servicio empresarial.
2. En el campo Servicio empresarial, especifique un identificador de servicio
empresarial.
3. Especifique valores en los campos siguientes:
v Estructura de objeto
v Adaptador
4. Opcional: Especifique valores en los campos siguientes:

Opcin Descripcin
Operacin Determina de qu manera procesa los
datos el servicio empresarial. Por ejemplo,
puede sincronizar objetos o crear objetos
nuevos.

Tambin puede actualizar, suprimir o


consultar los objetos existentes.
Control de multiplicacin Determina el control de referencia cruzada
que el servicio empresarial utilizar para
multiplicar los mensajes entrantes para
varias organizaciones o plantas.
Tabla de interfaz Refleja el contenido de las estructuras de
objeto de servicio empresarial.

Integracin de datos con aplicaciones externas 21


Opcin Descripcin
Rtulo de divisin Identifica si el mensaje recibido contiene
varias instancias de un documento.

Por ejemplo, un nico mensaje puede


contener diez rdenes de compra. El
proceso de divisin maneja cada una de
estas instancias de manera individual. La
aplicacin escribe varios archivos en la
cola de entrada.

La sintaxis que se utiliza para identificar


estos valores del nodo debe tener una
expresin XPATH completa.

5. Opcional: Para utilizar un esquema externo, seleccione la casilla de verificacin


Usar esquema externo.
6. Opcional: Puede personalizar la lgica del proceso del servicio empresarial
entrante efectuando los pasos siguientes:
a. En el campo Clase de proceso, especifique un valor de clase si el servicio
empresarial necesita la lgica del proceso entrante predefinido.
b. En el campo Clase de salida de usuario, especifique un valor de clase que
el servicio empresarial utilice para personalizar la lgica del proceso
entrante predefinido.
c. En el campo Mapa XSL, especifique un valor para personalizar la
correlacin de servicios empresariales entrantes predefinida.
7. Pulse en Guardar servicio empresarial.

Qu hacer a continuacin

Puede utilizar la aplicacin Sistemas externos para asociar el servicio empresarial


con un sistema externo.

Configuracin de estructuras de objeto adicionales para un servicio empresarial:

Un servicio empresarial debe estar asociado a una estructura de objeto principal.


Puede aadir estructuras de objeto adicionales a un servicio empresarial para dar
soporte a la actualizacin de datos adicionales que no estn incluidos en la
estructura de objeto principal del servicio empresarial. Segn el orden pedido de
procesamiento definido, el servicio empresarial procesa estructuras de objeto
adicionales antes de procesar su estructura de objeto principal.

Procedimiento
1. En la aplicacin Servicios empresariales, visualice el servicio al que desee
agregar una estructura de objeto.
2. Seleccione la accin Agregar/modificar estructura de objeto adicional y pulse
Fila nueva.
3. Especifique valores en los campos siguientes:
v Estructura de objeto
v Orden de proceso
4. Opcional: Puede personalizar la lgica del proceso del servicio empresarial
entrante efectuando los pasos siguientes:
a. En el campo Clase de proceso, especifique un valor de clase si el servicio
empresarial necesita la lgica del proceso entrante predefinido.

22 Integracin de datos con aplicaciones externas


b. En el campo Clase de salida de usuario, especifique un valor de clase que
el servicio empresarial utilice para personalizar la lgica del proceso
entrante predefinido.
c. En el campo Mapa XSL, especifique un valor para personalizar la
correlacin de servicios empresariales entrantes predefinida.
d. En el campo Control de multiplicacin, especifique un valor para definir la
referencia cruzada que el servicio empresarial utiliza para multiplicar un
mensaje entrante para varias organizaciones o plantas.
5. Pulse Aceptar.

Adicin de propiedades de gateway a un servicio empresarial:

El gateway es el punto de acceso para los mensajes de servicio empresarial,


excluidos los que se entregan directamente a la cola de integracin desde una cola
externa. Se puede implementar una clase Java de intrprete que puede cambiar el
sistema externo (remitente) o el servicio empresarial (interfaz) y puede establecer
otras propiedades de cabecera JMS segn sea necesario. En la aplicacin Servicios
empresariales, puede definir propiedades de gateway, ya sea como valores no
modificables o especificando rtulos XML.

Antes de empezar

Revise los puntos siguientes sobre la configuracin en las Propiedades de gateway


antes de configurarlas:
v Si selecciona la casilla de verificacin Rtulo XML y deja como nulo el campo
Valor, el gateway utilizar el nombre del elemento raz del mensaje XML como
valor de la propiedad correspondiente.
v Si selecciona la casilla de verificacin Rtulo XML y especifica un nombre de
rtulo en el campo Valor, el gateway utilizar el valor de dicho rtulo como
valor de la propiedad correspondiente.
v Si el rtulo aparece varias veces en el mensaje XML, el adaptador utiliza el valor
de la primera aparicin del rtulo. Si deja sin seleccionar la casilla de
verificacin Rtulo XML y especifica un valor de datos en el campo Valor, el
gateway utiliza dichos datos como valor para la propiedad correspondiente.

Procedimiento
1. En la aplicacin Servicios empresariales, visualice el servicio al que desea
agregar una propiedad de gateway.
2. Seleccione la accin Propiedades de gateway.
3. En la ventana de tabla Propiedades de gateway para servicio empresarial, pulse
en Fila nueva.
4. En el campo Propiedad, especifique el nombre de la propiedad que desea
incluir en el mensaje.
5. En el campo Valor, teclee los datos que desea utilizar como valor de la
propiedad.
6. Opcional: Especifique si desea utilizar el elemento raz XML como el valor de la
propiedad correspondiente.

Opcin Rtulo XML


Utilizar el elemento raz XML Seleccionado
No utilizar el elemento raz XML Sin seleccionar

Integracin de datos con aplicaciones externas 23


7. Pulse Aceptar.

Servicios estndar
Un servicio estndar se basa en un mtodo anotado en una aplicacin. Un servicio
estndar es especfico del mtodo anotado para un objeto y no es reutilizable para
otros objetos. Puede desplegar un servicio estndar como un servicio web. Puede
acceder a un servicio estndar utilizando la API de REST.

Un servicio estndar es un servicio que proporciona una aplicacin para realizar


una operacin especfica en un objeto. Los servicios estndar slo estn disponibles
para los mtodos que se han anotado correctamente en el servicio. Los esquemas
de servicio generados para los servicios estndar slo se utilizan en las acciones
correspondientes.
Conceptos relacionados:
API de REST en la pgina 243
La API (interfaz de programacin de aplicaciones) de REST (Representational State
Transfer) proporciona una manera para que las aplicaciones externas consulten y
actualicen datos de aplicacin en motor de automatizacin de procesos de Tivoli.

Puntos finales y manejadores


Un punto final y su manejador asociado direccionan los mensajes salientes a un
sistema externo. Con la combinacin de un punto final y un manejador, se
especifica el protocolo de transporte que se debe utilizar, como HTTP o servicio
web, y se proporcionan los datos de comunicacin necesarios para llegar al
destino, como un URL.

Para exportar datos con un canal de publicacin, la tarea cron de la cola saliente
invoca el manejador. Para exportar datos con un canal de invocacin, el canal de
invocacin invoca el manejador directamente. El manejador utiliza las propiedades
de los metadatos del mensaje para determinar el sistema externo (para una
transaccin de canal de publicacin) y los valores de sustitucin configurados para
las propiedades de punto final. A continuacin, el manejador enva los datos al
destino especificado por el punto final con el que est asociado. Un nico
manejador puede tener diversos puntos finales, cada uno de ellos con parmetros
distintos.

Los puntos finales y los manejadores solo se utilizan para la integracin saliente.
Sin embargo, el punto final y el manejador de tabla de interfaz tambin dan
soporte a la creacin de tablas de interfaz, necesarias para la integracin entrante.

Los puntos finales proporcionan los valores de parmetro de ejecucin que el


manejador utiliza para llevar a cabo su funcin. En el momento de la ejecucin, el
manejador utiliza los metadatos que se incluyen en la definicin del punto final,
adems del mensaje de integracin saliente. Algunos manejadores, (aunque no
todos ellos, tienen puntos finales predefinidos. Los puntos finales predefinidos se
pueden modificar, y se pueden configurar puntos finales nuevos, con la aplicacin
de puntos finales. En la tabla siguiente se listan los puntos finales predefinidos.

Punto final Manejador Descripcin


MXFLATFILE FLATFILE Escribe los mensajes de integracin salientes
en un archivo sin formato en una ubicacin
de directorio especfica.
MXIFACETABLE IFACETABLE Escribe los mensajes de integracin salientes
en tablas de integracin.

24 Integracin de datos con aplicaciones externas


Punto final Manejador Descripcin
MXXMLFILE XMLFILE Escribe los mensajes de integracin salientes
en un archivo XML en una ubicacin de
directorio especfica.
MXCMDLINE CMDLINE Implementa el manejador CMDLINE. Toma
un mandato y un punto final como entrada
y utiliza el protocolo SSH para invocar el
mandato en el sistema de destino y
devolver los resultados.

Se proporcionan varios manejadores predefinidos. Para muchos de estos


manejadores, se han configurado las definiciones de punto final correspondientes.
La definicin de punto final ofrece los valores de metadatos para los parmetros de
manejador, como el nombre del directorio para el manejador FLATFILE.

Configuracin de un punto final


En la aplicacin Puntos finales puede crear un punto final que especifica cmo se
entregan las transacciones de salida y cmo el manejador las enruta.

Creacin de puntos finales:

Cree un punto final para identificar una ubicacin de destino y el mecanismo de


transporte que la infraestructura de integracin o el gestor de despliegue utiliza
para publicar datos o invocar un servicio.

Procedimiento
1. En la aplicacin Puntos finales, pulse en Nuevo punto final.
2. En el campo Punto final, especifique un identificador para el punto final.
3. En el campo Manejador, especifique un valor. El campo Consumido por
muestra la informacin asociada con el manejador de punto final especificado.
4. En la ventana Propiedades de punto final, pulse Ver detalles para el campo de
propiedad de punto final y realice las acciones siguientes:
a. Aada un valor exclusivo al campo Valor para identificar la propiedad de
punto final.
b. Aada un valor a Valor cifrado para identificar si la propiedad de punto
final necesita seguridad adicional para almacenamiento y visualizacin.
Puede actualizar un valor cifrado solo en un punto final con una propiedad
de contrasea.
c. Seleccione la casilla Permitir anulacin para indicar si puede sobrescribir el
cdigo de la propiedad de punto final. Seleccione esta casilla cuando utilice
una clase de proceso de canal de invocacin.
5. Pulse Guardar punto final.

Qu hacer a continuacin

Puede aadir un manejador para especificar cmo dirigir datos de salida hacia una
ubicacin de punto final especfica en un formato especfico. Puede utilizar el
punto final en las aplicaciones de infraestructura de integracin siguientes:
v Sistemas externos
v Canales de publicacin
v Canales de invocacin
v Mdulos de integracin

Integracin de datos con aplicaciones externas 25


v Operaciones de gestin lgica

Adicin de un manejador a un punto final:

Puede agregar un manejador a un registro de punto final para especificar cmo


direccionar datos salientes a una ubicacin de punto final especfica. Tambin
puede agregar un manejador para definir el formato de datos que se utilizar en
las transferencias de datos. Al crear un manejador, debe identificar el archivo de
clase Java especfico que contiene la lgica de procesamiento que necesita para las
transferencias de datos.

Acerca de esta tarea

No se puede modificar ni suprimir un manejador predefinido.

Procedimiento
1. En la aplicacin Puntos finales, seleccione el punto final que desea actualizar
con informacin de manejador.
2. Seleccione la accin Agregar/Modificar manejadores.
3. Pulse Fila nueva.
4. Especifique valores en los campos siguientes:
v Manejador
v Nombre de clase de manejador
v Consumido por
5. Pulse Aceptar.

Escritura de manejadores personalizados:

Puede escribir un manejador personalizado y asociarlo con un punto final, por


ejemplo para dar soporte a la comunicacin con un servidor FTP.

Acerca de esta tarea

La clase de manejador muestra las propiedades para las que se deben especificar
valores. El archivo FTPHandler.java del directorio psdi.iface.samples contiene un
ejemplo de manejador de FTP.

Procedimiento
1. Para escribir un manejador personalizado implemente la interfaz
RouterHandler.
2. Especifique el mtodo siguiente para devolver una lista de propiedades que el
manejador utiliza para enviar datos al punto final:
getParameter()

El mtodo devuelve una lista de objetos RouterPropsInfo. El atributo isCrypto


del objeto RouterPropsInfo indica si hay que cifrar el valor de la propiedad al
almacenar datos. Para las propiedades de contrasea, el valor de este atributo
es verdadero (True).
3. Especifique el mtodo siguiente para enviar datos al punto final especificado:
sendData(Map metaData, byte[] data, Map destinationMap)

El mtodo devuelve la informacin siguiente:

26 Integracin de datos con aplicaciones externas


v Los metadatos proporcionan informacin acerca del sistema externo y la
interfaz.
v Data son los datos XML.
v DestinationMap especifica el punto final.

Manejadores de punto final predefinidos


Se proporcionan manejadores predefinidos que puede asociar con un punto final.
Adems, puede crear y registrar manejadores personalizados cuando sea necesario.

Manejador de enterprise bean:

El manejador de Enterprise Java Bean (EJB) es un componente Java que consiste en


clientes de enterprise bean. El manejador publica un conjunto de propiedades que
un cliente utiliza para comunicarse con un cliente de destino y entregarle un
mensaje de integracin. El cliente de destino se puede ejecutar en el servidor de
aplicaciones local o en un servidor de aplicaciones remoto.

Para establecer una conexin, la clase Java remota y la clase Java inicial deben estar
disponibles en la ruta de clase del manejador. Si el cliente est en un servidor de
aplicaciones remoto diferente del servidor de aplicaciones del manejador, la
referencia de archivo jar del cliente debe estar en la ruta de clase del manejador. El
manejador obtiene el nombre de la clase de fbrica de contexto del servidor de
aplicaciones local cuando el cliente de enterprise bean est en un servidor de
aplicaciones remoto que coincide con el servidor de aplicaciones del manejador.

Propiedad CONTEXTFACTORY

Esta propiedad necesaria especifica un nombre de clase de fbrica de contexto


J2EE. La documentacin de su servidor de aplicaciones contiene el nombre de la
fbrica de contexto predeterminada que se debe utilizar.

CONTEXTFACTORY utiliza la propiedad siguiente cuando el cliente de destino se


ejecuta en un IBM WebSphere Application Server:
com.ibm.websphere.naming.WsnInitialContextFactory

Propiedad EJBEXIT

Esta propiedad opcional se utiliza para la personalizacin y especifica el nombre


completo de una clase Java personalizada que implementa la interfaz EJBExit.

Si no especifica un valor para esta propiedad, la interfaz DefaultEJBExit se ejecuta


e intenta resolver la firma y los parmetros del mtodo de enterprise bean.

Si el cliente de enterprise bean tiene su propia firma de mtodo y parmetros, cree


una clase Java que contenga su versin de la interfaz EJBExit e implementaciones
de los mtodos siguientes:
public Class[] getClassParams()

El mtodo getClassParams() devuelve la firma de mtodo en forma de matriz de


clases Java.

public Object[] getObjectParams(byte[] data, String interfaceName, Map


String,? metaData)throws MXException

Integracin de datos con aplicaciones externas 27


El mtodo getObjectParams() devuelve los parmetros del mtodo empresarial en
forma de matriz de objetos Java.
public void responseOk(Object response)throws MXException

Se llama al mtodo responseOk() tras una invocacin correcta del enterprise bean.
public void responseError(Exception e)
throws MXException

Se llama al mtodo responseError() con la excepcin inicial como parmetro si se


encuentra un error durante la invocacin del enterprise bean.

El cdigo siguiente ilustra el aspecto de su implementacin de getClassParams()


cuando el cliente de enterprise bean tiene un mtodo empresarial con una matriz
de bytes y una serie:
Class[] classParams = {byte[].class, String.class};
return classParams;

El cdigo siguiente ilustra el aspecto de su implementacin de getObjectParams ()


cuando el cliente de enterprise bean tiene un mtodo empresarial con una matriz
de bytes y una serie:
byte[] data = ...;
String ifaceType = ...;

Object[] objParams = {data,ifaceType};


return objParams;

Complete una de las acciones siguientes para identificar la ubicacin de la


estructura de paquete para el archivo de clase EJBExit:
v Coloque la clase en la estructura de paquete de Java en el directorio
applications/maximo/businessobjects/classes.
v Modifique la ruta de clases de mboweb\webmodule\META-INF\MANIFEST.MF para
que incluya la estructura de paquete.
v Vuelva a crear el archivo EAR de la aplicacin e incluya el archivo de clase
EJBExit.

Propiedad JNDINAME

Esta propiedad necesaria especifica el nombre con el cual est registrado el cliente
de enterprise bean en el rbol JNDI (Java Naming and Directory Interface) en
WebSphere Application Server. El nombre de archivo es ibm-ejb-jar-bnd.xml y la
propiedad se establece en
<ejbBindings xmi:id="Session_enterpriseservice_Bnd"
jndiName="ejb/maximo/remote/enterpriseservice">
<enterpriseBean xmi:type="ejb:Session"
href="META-INF/ejb-jar.xml#Session_enterpriseservice"/>
</ejbBindings>

Propiedad METHODNAME

Esta propiedad necesaria especifica el mtodo empresarial pblico expuesto por el


cliente de enterprise bean invocado por este manejador.

28 Integracin de datos con aplicaciones externas


Propiedad PROVIDERURL

Esta propiedad necesaria especifica el URL del servidor de aplicaciones de destino


en el que se ejecuta el enterprise bean. Luego, el sistema establece una correlacin
con la propiedad java.naming.provider.url y crea el objeto InitialContext.

El ejemplo siguiente es un URL de proveedor de IBM WebSphere Application


Server.
corbaloc:iiop:nombre_host:puerto_iiop

Si el manejador y el enterprise bean de destino se ejecutan en la misma instancia


del servidor de aplicaciones, no especifique esta propiedad porque tiene como
valor predeterminado el URL del servidor local.

Propiedades USERNAME y PASSWORD

Las propiedades de nombre y contrasea corresponden a las propiedades


java.naming.security.principal (USERNAME) y
java.naming.security.credentials (PASSWORD) que se utilizan para crear el
objeto InitialContext.

Manejador de archivos sin formato:

El manejador FLATFILE convierte un mensaje de integracin saliente en un archivo


sin formato y lo graba en un directorio que tiene una ubicacin configurable. Los
archivos sin formato contienen datos ASCII en forma de filas y columnas. Cada
lnea del texto constituye una fila y un carcter de separador separa cada columna
de la fila. El manejador FLATFILE codifica archivos sin formato salientes en
formato UTF-8 estndar.

El manejador FLATFILE slo se puede utilizar con canales de publicacin, no con


canales de invocacin. La estructura de objeto asociada al canal de publicacin
debe estar configurada para admitir archivos sin formato. Debe resolver todos los
conflictos de alias para la estructura de objeto y dar formato al mensaje XML
segn el esquema de estructura de objeto antes de grabar el mensaje en un archivo
sin formato.

Convenios de denominacin

Los nombres de archivo requieren el formato siguiente.

nombresistemaexterno_nombrecanalpublicacin_identificadorexclusivo.dat
v nombresistemaexterno es el identificador del sistema (el valor de
MAXVARS.MXSYSID).
v nombrecanalpublicacin es el nombre del canal de publicacin.
v identificadorexclusivo es un nmero basado en la hora actual del sistema.

El nombre de archivo del ejemplo siguiente indica que el archivo va al sistema


externo EXTSYS1 y se public mediante al canal de publicacin
MXASSETInterface:

EXTSYS1_MXASSETInterface_10971102668641498.dat

Las dos primeras lneas del archivo contienen la informacin de cabecera. La


primera lnea tiene el formato siguiente:

Integracin de datos con aplicaciones externas 29


nombresistemaexterno <separador> nombre canal publicacin<separador>
[accin] <separador> cdigoidioma

La segunda lnea del archivo contiene los nombres de las columnas, separados por
el carcter de separador. Los nombres de las columnas coinciden con los nombres
de la tabla de interfaz correspondiente.

Formato de archivo sin formato

Si los datos del archivo sin formato contienen el carcter delimitador de archivo sin
formato, los datos agregan el calificador de texto, que es " (comillas). Si los datos
contienen comillas, el manejador escapa las comillas. No se pueden utilizar
comillas como carcter delimitador.

Los datos del ejemplo siguiente utilizan una coma (,) como delimitador. El valor de
INVOICEDESC, (Parte personalizada rotativa, n. 71), contiene una coma.
Cuando se graba el archivo sin formato, el valor de INVOICEDESC se incluye
entre comillas.
EXTSYS1,MXINVOICEInterface,Add
INVOICENUM,INVOICEDESC,PONUM,VENDOR,CONTACT,PAYMENTTERMS
1071,"Parte personalizada rotativa, n. 71",1000,A0001,,

Los datos del ejemplo siguiente utilizan una coma (,) como delimitador. El valor de
INVOICEDESC (Parte "personalizada" rotativa n. 71) contiene comillas.
Cuando se graba el archivo sin formato, las comillas del final de los datos de
INVOICEDESC terminan con comillas y la serie entera se incluye entre comillas.
EXTSYS1,MXINVOICEInterface,Add
INVOICENUM,INVOICEDESC,PONUM,VENDOR,CONTACT,PAYMENTTERMS
1071,"Parte ""personalizada"" rotativa n. 71",1000,A0001,,

Los datos del ejemplo siguiente utilizan una coma (,) como delimitador. Los datos
de INVOICEDESC (Parte "personalizada" rotativa, n. 71) contienen el carcter
delimitador y comillas. Cuando se graba el archivo sin formato, el valor de
INVOICEDESC aparece en el cdigo.
EXTSYS1,MXINVOICEInterface,Add
INVOICENUM,INVOICEDESC,PONUM,VENDOR,CONTACT,PAYMENTTERMS
1071,"Parte ""personalizada"" rotativa, n. 71",1000,A0001,,

Propiedades del archivo sin formato

La propiedad FLATFILEDIR es una propiedad opcional que especifica la ubicacin


del archivo sin formato. La ubicacin debe existir en el servidor local donde la
tarea CRON de JMS para la cola saliente se est ejecutando, o en una unidad de
red compartida accesible. El valor predeterminado seala al directorio/archivos sin
formato globales. Para especificar una ubicacin para el directorio global, configure
la propiedad mxe.int.globaldir en la aplicacin Propiedades del sistema.

La propiedad FLATFILESEP es una propiedad necesaria que especifica el carcter


que separa las columnas de cada fila.

Manejador HTTP:

El manejador HTTP es un componente Java que consta de propiedades. El


manejador entrega un mensaje de integracin de salida como un documento XML
a un URL utilizando los protocolos HTTP o HTTPS. El manejador HTTP tambin
evala el cdigo de respuesta recibido desde el sistema externo.

30 Integracin de datos con aplicaciones externas


Propiedad HTTPEXIT

Esta propiedad opcional se utiliza para la personalizacin y especifica el nombre


totalmente calificado de una clase Java que interpreta la respuesta HTTP. Esta
propiedad tambin ayuda a implementar el cdigo necesario para que un sistema
externo interprete la respuesta HTTP.

La clase Java debe estar disponible en el archivo EAR de la aplicacin y debe estar
en la ruta de clases del manejador.

Propiedad Valor
Clase Java DefaultHTTPExit.java
Paquete psdi.iface.router
Propiedad psdi.iface.router.DefaultHTTPExit
HTTPEXIT

Si no especifica un valor para esta propiedad, se ejecuta la clase de salida


DefaultHTTPExit e implementa la interfaz psdi.iface.router.HTTPExit. La clase
Java tiene los siguientes mtodos clave:
v processResponseData()
Este mtodo tiene la firma siguiente:
public void processResponseData(int responseCode, String responseMsg,
byte[] msgBodyData) throws MXException
La implementacin predeterminada compara el cdigo de respuesta del sistema
externo en un rango de cdigos vlidos (los valores de 200 a 299). Si el cdigo
de respuesta est fuera de dicho rango, el sistema presupone que el mensaje no
se ha entregado al sistema externo. Se produce una excepcin y el mensaje
permanece en la cola.
Si necesita proceso adicional para una implementacin especfica, ample la
implementacin predeterminada y altere temporalmente el mtodo
processResponseData (). Como alternativa, puede implementar la interfaz
psdi.iface.router.HTTPExit. Si la respuesta que se recibe del sistema externo
no pasa la validacin de esta clase, el mtodo de alteracin temporal debe emitir
una excepcin.
Si no define un valor para esta propiedad, se ejecuta la implementacin
predeterminada HTTPExit.
v getURLProperties()
Este mtodo tiene la firma siguiente:
public Map String, String getURLProperties(Map String,? metaData, byte[]
data, Map String,MaxEndPointPropInfo httpInfo)
Este mtodo devuelve la correlacin de las propiedades de URL aadidas al
URL con el formato url?prop1=value1&... La implementacin predeterminada
devuelve un valor nulo.
v getHeaderProperties()
Este mtodo tiene la firma siguiente:
public Map String, String getHeaderProperties(Map String,? metaData,
byte[] data, Map String,MaxEndPointPropInfo httpInfo)
Este mtodo devuelve una correlacin de las propiedades de cabecera HTTP
para la solicitud. La implementacin predeterminada devuelve un valor nulo a
menos que la correlacin de propiedades de cabecera est asociada a la
correlacin de metadatos que tiene la clave HEADERPROPS.

Integracin de datos con aplicaciones externas 31


v transformPayloadToFormData()
Este mtodo tiene la firma siguiente:
public Map String, String transformPayloadToFormData(Map String,?
metaData, byte[] data,Map String,MaxEndPointPropInfo destinationMap)
Este mtodo convierte la carga til XML en datos. La implementacin
predeterminada devuelve un valor nulo.

Propiedad CONNECTTIMEOUT

Esta propiedad opcional especifica el valor de tiempo de espera de conexin en


milisegundos.

Propiedad READTIMEOUT

Esta propiedad opcional especifica el valor de tiempo de espera de lectura en


milisegundos.

Propiedad HTTPMETHOD

Esta propiedad obligatoria especifica un mtodo HTTP vlido que es ejecutado por
el punto final. Los mtodos HTTP vlidos son GET, POST, PUT y DELETE.

Propiedad HTTPHEADER

Esta propiedad opcional puede aadir una lista separada por comas de nombres y
valores a la seccin de cabecera de mensajes HTTP. La lista incluye informacin de
nombre y valor con el formato NombreCabecera1:ValorCabecera1,
NombreCabecera2:ValorCabecera2. Si no se proporciona ningn valor en la
propiedad, el cdigo personalizado puede inyectar los valores en el contexto de
transaccin durante el proceso del canal de invocacin.

Propiedad URL

Esta propiedad opcional especifica un URL vlido al que se pueden enviar los
datos XML o donde se puede realizar una operacin HTTP GET.

Propiedades USERNAME y PASSWORD

Si el URL solicita la autenticacin bsica, estas propiedades especifican los valores


necesarios. Los dos valores tienen codificacin MIME y se pasan al URL.

Manejador IFACETABLE:

El manejador IFACETABLE consta de varias propiedades. Este manejador escribe


un mensaje de integracin saliente en una tabla de interfaz de una base de datos
local o remota. No hay clases de salida Java para este manejador.

Slo los canales de publicacin puede utilizar el manejador IFACETABLE. Los


canales de invocacin no pueden utilizar este manejador.

Propiedad ISREMOTE

Esta propiedad necesaria es un valor booleano que especifica si las tablas de


interfaz estn disponibles en la base de datos local o en una base de datos remota.
Un valor de 0 (falso) indica que las tablas de interfaz estn disponibles en la base

32 Integracin de datos con aplicaciones externas


de datos local en el esquema del sistema. No es necesario especificar ninguna otra
propiedad del manejador. En el manejador predefinido MAXIFACETABLE, el valor
de esta propiedad es 0. Un valor de 1 (verdadero) indica que las tablas de interfaz
estn en una base de datos remota. Si es necesario, especifique valores para todas
las propiedades del manejador.

Propiedad DRIVER

Esta propiedad especifica el controlador JDC para conectarse a una base de datos
remota que contiene las tablas de interfaz. Esta propiedad slo se aplica cuando el
valor de la propiedad ISREMOTE es 1.

Propiedad URL

Esta propiedad especifica el URL JBDC y slo se aplica cuando el valor de la


propiedad ISREMOTE es 1. El ejemplo siguiente contiene la ubicacin, el nmero
de puerto y el nombre de la base de datos:

jdbc:db2://nombre_host:puerto/bdmaximo

Propiedades USERNAME y PASSWORD

Si el acceso a la base de datos remota requiere un nombre de usuario y una


contrasea, estas propiedades especifican estos valores. Estas propiedades slo se
aplican cuando el valor de la propiedad ISREMOTE es 1.

Manejador JMS:

El manejador JMS entrega los mensajes de integracin salientes a un sistema de


mensajera compatible con JMS que da soporte a una cola o un tema JMS.

Los modelos de mensajera tienen las siguientes caractersticas:


v Mensajera punto a punto (unvoca): un remitente genera mensajes y los coloca
en una cola. Slo un destinatario puede obtener el mensaje de la cola.
v Publicacin/suscripcin (uno a varios): una aplicacin de publicacin genera
mensajes y los coloca en un tema. Varios suscriptores pueden recuperar mensajes
del tema.

El sistema de mensajera representa una cola o un tema que est disponible en el


servidor de aplicaciones local, en un servidor de aplicaciones remoto o en un
sistema de colas dedicado remoto como, por ejemplo, IBM WebSphere MQ. Para
poder utilizar este manejador, habilite los sistemas de mensajera utilizando JMS. El
sistema de mensajera es distinto de las colas internas estndar que residen en el
servidor de aplicaciones local.

Propiedad CONFACTORYJNDINAME

Esta propiedad necesaria especifica un objeto Java que se utiliza para crear
conexiones con un proveedor JMS. Para que el sistema pueda conectarse a una cola
o un tema, primero debe obtener una referencia a una fbrica de conexiones.

Propiedad DESTINATIONTYPE

Esta propiedad opcional especifica el tipo de destino JMS: cola o tema. En la tabla
siguiente se muestran las opciones de DESTINATIONTYPE y sus valores
asociados.
Integracin de datos con aplicaciones externas 33
Destino Valor
Tema javax.jms.Topic
Cola javax.jms.Queue

Propiedad DESTJNDINAME

Esta propiedad necesaria especifica el nombre con el que se registra el tema o la


cola JMS en el rbol JNDI (Java Naming and Directory Interface) del servidor de
aplicaciones.

Propiedad CONTEXTFACTORY

Esta propiedad especifica el nombre de clase de la fbrica de contexto inicial. La


propiedad no es necesaria cuando el manejador JMS se comunica con un
proveedor JMS que comparte la misma fbrica de contexto inicial que el servidor
de aplicaciones del manejador. Cuando el manejador y el proveedor JMS
comparten un WebSphere Application Server, comparten la clase de fbrica de
contexto inicial. El valor de propiedad de contexto es necesario cuando el
manejador y el proveedor JMS no comparten un WebSphere Application Server.

Propiedad ISCOMPRESS

Esta propiedad necesaria especifica si el mensaje se comprime antes de colocarse


en una cola o un tema. La compresin es una tcnica de optimizacin que
proporciona mensajes ms pequeos a un tema o una cola. En la tabla siguiente se
muestran las opciones de ISCOMPRESS y sus valores asociados.

Opcin Valor
No comprimir datos 0
Comprimir datos 1

Los mensajes comprimidos deben extraerse despus de recibirse. Para extraer los
mensajes, cree el componente de suscriptor o destinatario JMS correspondiente y
coloque la lgica de descompresin Java en el suscriptor o el destinatario. Utilice la
clase Inflater() Java estndar que forma parte del paquete java.util.zip. La
compresin predeterminada utiliza la clase Deflator() Java estndar.

propiedad ISTEXT

Esta propiedad opcional especifica si el manejador JMS entregar mensajes a otra


cola en formato de texto.

Opcin Valor
Entregar mensajes en formato 0
predeterminado (bytes)
Entregar mensajes en formato de texto 1

Propiedad JMSEXIT

En un entorno de multitenencia, la personalizacin mediante clases Java se puede


implementar solo a travs del proveedor del sistema y puede no estar soportada
en su entorno.
34 Integracin de datos con aplicaciones externas
Esta propiedad opcional se utiliza en la personalizacin y especifica el nombre
completo de la clase Java que ejecuta la interfaz JMSExit. La clase Java debe
implementar el mtodo getMessageProperties() que se ha definido en la interfaz
JMSExit. La clase Java debe estar en la ruta de clase del servidor de aplicaciones o
en el archivo EAR de la aplicacin.

Puede utilizar esta opcin para cambiar o agregar propiedades en el mensaje JMS.
Si esta propiedad no contiene un valor, los atributos de cabecera del mensaje no se
cambian cuando se entrega el mensaje a la cola o el tema externo.

Propiedad PROVIDERURL

Esta propiedad necesaria especifica un URL local o remoto donde puede accederse
al proveedor JMS. Si el proveedor JMS de destino es local para el servidor de
aplicaciones del manejador, la propiedad no es necesaria. La siguiente propiedad es
un ejemplo de un valor de PROVIDERURL en un WebSphere Application Server:
corbaloc:iiop:nombrehost:puertoiiop

Propiedades PROVIDERUSER y PROVIDERPASWORD

Estas propiedades se utilizan para la autenticacin del proveedor JMS. Las


propiedades se correlacionan con la API
connectionFactory.createConnection(provideruser,providerpassword) en JMS.

Propiedades USERNAME y PASSWORD

Estas propiedades se corresponden con las propiedades


java.naming.security.principal (USERNAME) y java.naming.security.credentials
(PASSWORD) que se utilizan para crear el objeto InitialContext.

Manejador de servicios web:

El manejador de servicios web es un cliente Java que puede invocar cualquier


servicio web literal de documento compatible con WS-I BP 1.1. El mensaje de
integracin de salida forma la carga til (el cuerpo SOAP) y el manejador
proporciona las cabeceras SOAP y el sobre. Este manejador opera de forma
independiente del contenedor.

Este manejador de servicio web soporta una implementacin temprana de servicios


web y se proporciona para mantener la compatibilidad con versiones anteriores
con servicios web existentes. Si est implementando nuevos servicios web,
configrelos para utilizar el manejador de servicio web para JAX-WS.

Propiedad MEP

Esta propiedad opcional especifica el patrn de intercambio de mensajes para el


servicio web. La propiedad admite los valores siguientes. Si no proporciona un
valor, se utiliza el valor predeterminado, el valor sendreceive.

Valor Tipo de operacin de servicio web


sendreceive Solicitud y respuesta
sendrobust Solicitud con respuesta vaca o anmala
fireandforget Slo solicitud, sin respuesta o anomala

Integracin de datos con aplicaciones externas 35


Propiedad ENDPOINTURL

Esta propiedad necesaria especifica un URL de servicio web en el que invocar un


servicio web. Puede utilizar la clase WSEXIT para alterar temporalmente el valor
especificado mediante la interfaz de usuario justo antes de que se invoque el
servicio web.

Propiedad SERVICENAME

Esta propiedad necesaria especifica el nombre del servicio web desplegado en el


URL.

Propiedad SOAPACTION

Esta propiedad opcional especifica el valor de la cabecera HTTP SOAPAction para


que se use al invocar el servicio web. El valor predeterminado es una serie vaca.
Para definir un valor para la propiedad, consulte el archivo WSDL para un servicio
web para determinar la accin y especifique este valor. Puede utilizar la clase
WSEXIT para alterar temporalmente el valor especificado en la interfaz de usuario
antes de invocar el servicio web.

Propiedad SOAPVERSION

Esta propiedad opcional especifica la versin de la especificacin SOAP utilizada


durante la llamada a servicio web. Los valores vlidos son SOAP11 y SOAP12.

Propiedad HTTPVERSION

Esta propiedad opcional especifica la versin del protocolo HTTP para las
invocaciones de servicio web. Los valores vlidos son HTTP/1.0 y HTTP/1.1. Si no
proporciona un valor, el sistema utiliza el valor predeterminado, HTTP/1.1.

Propiedad HTTPCONNTIMEOUT

Esta propiedad opcional especifica el valor de tiempo de espera de conexin en


milisegundos. El valor predeterminado de esta propiedad es de 60000
milisegundos.

Propiedad HTTPREADTIMEOUT

Esta propiedad opcional especifica el valor de tiempo de espera de lectura en


milisegundos. El valor predeterminado de esta propiedad es de 60000
milisegundos.

Propiedades USERNAME y PASSWORD

Si el servicio web especificado est protegido (si se ha habilitado la autenticacin


bsica HTTP), especifique un nombre de usuario y contrasea.

Propiedad WSEXIT

En un entorno de multitenencia, la personalizacin mediante clases Java se puede


implementar solo a travs del proveedor del sistema y puede no estar soportada
en su entorno.

36 Integracin de datos con aplicaciones externas


Esta propiedad opcional se utiliza para personalizacin. Especifica el nombre
calificado al completo de una clase Java personalizada que implementa la interfaz
psdi.iface.router.WSExit. La propiedad define los mtodos siguientes:

El mtodo responseOk() se invoca despus de una invocacin correcta del servicio


web externo.
public void responseError(Exception e)
throws MXException

Si se produce un error cuando se invoca el servicio web, se invoca el mtodo


responseError() con la excepcin de origen como un parmetro.

La implementacin predeterminada de la interfaz WSExit es


psdi.iface.router.DefaultWSExit.

Manejador de servicios web (JAX-WS):

El manejador WEBSERVICE-JAX-WS es un cliente Java que puede invocar


cualquier servicio web literal de documento compatible con WS-I BP 1.1. El
mensaje de integracin de salida forma la carga til (el cuerpo SOAP) y el
manejador proporciona las cabeceras SOAP y el sobre.

Este manejador de servicio web soporta la implementacin actual de servicios web.


Si est implementando servicios web nuevos, configrelos para utilizar este
manejador de servicio web.

Propiedad MEP

Esta propiedad opcional especifica el patrn de intercambio de mensajes para el


servicio web. La propiedad admite los valores siguientes. Si no proporciona un
valor, se utiliza el valor predeterminado sendreceive.

Valor Tipo de operacin de servicio web


sendreceive Solicitud y respuesta
sendrobust Solicitud con respuesta vaca o anmala
fireandforget Slo solicitud, sin respuesta o anomala

Propiedad ENABLEAPPCONTEXT

Establezca esta propiedad en 1 (true) cuando implemente el soporte de las polticas


WS-*.

Propiedad ENDPOINTURL

Esta propiedad necesaria especifica un URL de servicio web en el que invocar un


servicio web. Puede utilizar la clase WSEXIT para alterar temporalmente el valor
especificado mediante la interfaz de usuario justo antes de que se invoque el
servicio web.

Propiedad SERVICENAME

Esta propiedad necesaria especifica el nombre del servicio web de destino que
invoca el manejador.

Integracin de datos con aplicaciones externas 37


Propiedad SOAPACTION

Esta propiedad opcional especifica el valor de la cabecera HTTP SOAPAction para


que se use al invocar el servicio web. El valor predeterminado es una serie vaca.
Para definir un valor para la propiedad, consulte el archivo WSDL para un servicio
web para determinar la accin y especifique este valor. Puede utilizar la clase
WSEXIT para alterar temporalmente el valor especificado en la interfaz de usuario
antes de invocar el servicio web.

Propiedad SOAPVERSION

Esta propiedad opcional especifica la versin de la especificacin SOAP utilizada


durante la llamada a servicio web. Los valores vlidos son SOAP11 y SOAP12.

Propiedad HTTPCONNTIMEOUT

Esta propiedad opcional especifica el valor de tiempo de espera de conexin en


milisegundos. El valor predeterminado de esta propiedad es de 60000
milisegundos.

Propiedad HTTPREADTIMEOUT

Esta propiedad opcional especifica el valor de tiempo de espera de lectura en


milisegundos. El valor predeterminado de esta propiedad es de 60000
milisegundos.

Propiedad HTTPHEADER

Esta propiedad opcional puede aadir una lista separada por comas de nombres y
valores a la seccin de cabecera de mensajes HTTP. La lista incluye informacin de
nombre y valor con el formato NombreCabecera1:ValorCabecera1,
NombreCabecera2:ValorCabecera2. Si no se proporciona ningn valor en la
propiedad, el cdigo personalizado puede inyectar los valores en el contexto de
transaccin durante el proceso del canal de invocacin.

Propiedades USERNAME y PASSWORD

Si el servicio web especificado est protegido (si se ha habilitado la autenticacin


bsica HTTP), especifique un nombre de usuario y contrasea.

Propiedad WSEXIT

En un entorno de multitenencia, la personalizacin mediante clases Java se puede


implementar solo a travs del proveedor del sistema y puede no estar soportada
en su entorno.

Esta propiedad opcional se utiliza para personalizacin. Especifica el nombre


calificado al completo de una clase Java personalizada que implementa la interfaz
psdi.iface.router.WSExit. La propiedad define los mtodos siguientes:

El mtodo responseOk() se invoca despus de una invocacin correcta del servicio


web externo.
public void responseError(Exception e)
throws MXException

38 Integracin de datos con aplicaciones externas


Si se produce un error cuando se invoca el servicio web, se invoca el mtodo
responseError() con la excepcin de origen como un parmetro.

La implementacin predeterminada de la interfaz WSExit es


psdi.iface.router.DefaultWSExit.

Propiedad CFGXMLPATH

Esta propiedad est obsoleta. No la utilice.

Manejador de archivos XML:

El manejador de archivos XML es un componente de Java que escribe un mensaje


de integracin saliente en un archivo en formato XML.

Propiedad FILEDIR

Esta propiedad opcional especifica dnde crea los archivos XML el manejador. El
valor predeterminado es mxe.int.globaldir/xmlfiles. La tarea CRON de JMS debe
poder acceder a la ubicacin de archivo para la cola saliente para los mensajes del
canal de publicacin. Para los mensajes del canal de invocacin, cualquier servidor
Maximo Asset Management debe poder acceder a la ubicacin del archivo cuando
se puede iniciar un canal de invocacin.

Propiedad PRETTYPRINT

Esta propiedad obligatoria especifica si el manejador da formato al archivo XML.


Los valores vlidos son 0 y 1. El valor 1 hace que el manejador que d un formato
de impresin con sangra al archivo xml. Los nombres de archivo de los canales de
publicacin, los canales de invocacin y las API de invocacin tienen los formatos
siguientes:
nombresistemaexterno_nombrecanalpublicacin_identificadorexclusivo.xml

nombrecanalinvocacin_identificadorexclusivo.xml
v nombresistemaexterno es el identificador del sistema (el valor de
MAXEXTSYSTEM.EXTSYSNAME).
v nombrecanalpublicacin es el nombre del canal de publicacin.
v identificadorexclusivo es un nmero basado en la hora actual del sistema.

Por ejemplo, el nombre de archivo MX_MXASSETInterface_10971102668641398.xml


indica que el archivo se gener para enviar datos al sistema externo EXTSYS1. El
nombre de archivo tambin indica que el archivo contiene el canal de publicacin
MXASSETInterface.

Manejador de lnea de mandatos.:

El manejador CMDLINE toma un mandato y un punto final como entrada. El


manejador CMDLINE utiliza el protocolo SSH para ejecutar el mandato en el
sistema de destino y devolver los resultados.

Se pasa un parmetro de metadatos durante una invocacin del sistema cuando se


llama al manejador. El parmetro es una correlacin que contiene el nombre del
punto final que representa el sistema de destino. El interlocutor puede asignar
como destino cualquier sistema en tiempo de ejecucin y pasar el punto final al
manejador de mandatos. El interlocutor utiliza cualquier configuracin que el
punto final tenga en el momento de la invocacin.
Integracin de datos con aplicaciones externas 39
Propiedades del manejador CMDLINE

El manejador CMDLINE tiene las propiedades siguientes:


v CMDTIMEOUT El valor de tiempo de espera para la ejecucin del mandato
v CONNTIMEOUT El valor de tiempo de espera para la conexin
v USERNAME El nombre de usuario para la conexin
v PASSWORD La contrasea para el nombre de usuario correspondiente
v HOST El nombre de host del destino en el que se ejecuta el mandato
v PORTNO El nmero de puerto del destino donde se ejecuta el mandato
v IGNORESETUPERR Un valor booleano que indica si se debe ignorar un error
al ejecutar el mandato de configuracin
v RETRYINTERVAL El tiempo que se debe esperar entre reintentos de un
mandato
v MAXRETRY El nmero de intentos de ejecutar un mandato antes de devolver
una excepcin
v SSHEXIT La clase de salida de Java que se puede implementar para
personalizar el procesamiento del manejador

Parmetros de datos del mandato

El parmetro de datos es una representacin de matriz de bytes de un documento


XML. El parmetro de datos contiene la informacin siguiente:
v Los cdigos correspondientes al mandato de configuracin
v El directorio de trabajo
v El mandato que se debe ejecutar
v Cualquier parmetro de sustitucin

Cdigos disponibles

Estn disponibles los cdigos siguientes:


v CLWORKINGDIR Un directorio al que se debe cambiar (cd) en el sistema
remoto antes de ejecutar el mandato.
v CLSSETUPCMD Un mandato de configuracin que se debe ejecutar antes del
mandato principal. Utilice este cdigo para cualquier configuracin de entorno
que se deba producir en el sistema remoto antes de que se emita el mandato
principal.
v CLCMDPATTERN - Una serie que define el patrn del mandato que se debe
ejecutar. El formato de este patrn es similar al de la clase
java.text.MessageFormat. Un ejemplo es ls -l {0}, donde {0} representa un
parmetro que se sustituye.
v CLSUB0 - El valor que se debe sustituir en las posiciones marcadas por {0} en
CLCMDPATTERN.
v CLSUB1 - El valor que se debe sustituir en las posiciones marcadas por {1} en
CLCMDPATTERN.
v CLSUBn - El valor que se debe sustituir en las posiciones marcadas por {n} en
CLCMDPATTERN. Un cdigo CLSUBn debe equivaler a cada posicin de
substitucin en el cdigo CLCMDPATTERN.

40 Integracin de datos con aplicaciones externas


Resultados del mandato

La representacin de matriz de bytes de retorno de un documento XML contiene


los resultados del mandato. El documento XML contiene cdigos que corresponden
al valor de retorno, salida estndar y error estndar.

Estn disponibles los cdigos siguientes:


v CLRETURNCODE El cdigo de retorno del mandato remoto.
v CLRESPONSEOUT Los datos devuelve el mandato remoto en el cdigo de
salida estndar (STDOUT).
v CLRESPONSEERR Los datos devuelve el mandato remoto en el cdigo de
error estndar (STDERR).

Servicios web de integracin


Los sistemas externos pueden utilizar servicios web de infraestructura de
integracin para enviar mensajes o consultas a la base de datos Maximo. Puede
utilizar un servicio de infraestructura de integracin como origen para un servicio
web y luego desplegar este servicio para comunicarse con sistemas externos.

Orgenes de servicios web


El origen de un servicio web puede ser un servicio de estructura de objeto, un
servicio estndar o un servicio empresarial.

Servicios de estructura de objeto

Puede crear un servicio web de estructura de objeto desde un servicio de


estructura de objeto predefinido o definido por el usuario. Los servicios web de la
estructura de objeto dan soporte a las operaciones de crear, suprimir, sincronizar y
consultar. Las operaciones de crear y consultar tambin dan soporte a las
respuestas. La respuesta para la operacin de crear puede estar basada en la clave
primaria o alternativa del objeto principal definido en la estructura de objeto. La
respuesta a la operacin de consulta se proporciona en el formato de esquema
XML de la estructura de objeto.

Servicios estndar

Puede crear un servicio web estndar a partir de los mtodos anotados en los
servicios de aplicacin. Para utilizar mtodos como servicios, deben existir mtodos
anotados como, por ejemplo, el mtodo ChangeStatus, en una aplicacin. Se crea
un servicio web estndar para cada servicio de aplicacin y todos los mtodos
anotados dentro del servicio son las operaciones de servicio web. Los parmetros
de entrada y salida de los mtodos se asocian con los parmetros de entrada y
salida del servicio web estndar.

Servicios empresariales

Puede crear un servicio web de estructura empresarial desde un servicio


empresarial predefinido o definido por el usuario. Los servicios web empresariales
dan soporte a procesos de salida adicional, reglas de negocio y transformaciones.
Existe un servicio para cada operacin contenida en un registro de servicio
empresarial (un servicio por operacin). Con la capa de proceso de salida, puede
correlacionar un XML de esquema con el XML de la estructura de objeto para la
invocacin y la respuesta. Los servicios web empresariales proporcionan contenido
de respuesta para las operaciones de crear y consulta que se procesan en la cola.
La definicin de servicio empresarial tiene un distintivo ProcessResponse que

Integracin de datos con aplicaciones externas 41


indica si el servicio da soporte a una respuesta.

Valores de cola JMS para servicios web empresariales:

Los servicios web empresariales pueden utilizar la cola JMS (Java Message Service)
para procesar mensajes XML o puede especificar que el servicio ignore la cola JMS.

El proceso basado en la cola JMS proporciona el proceso de mensajes asncrono.


Para los servicios empresariales que dan soporte a los procesos sncronos, debe
especificar el proceso de mensajes no basados en cola. La infraestructura de
integracin procesa los mensajes XML desde las aplicaciones externas basadas en
los valores de cola definidos para el servicio web de empresa:
Proceso de mensajes basado en colas
Un servicio web empresarial basado en colas procesa mensajes XML y los
graba en la cola JMS de entrada configurada. Cuando se coloca el mensaje
en la cola JMS, la aplicacin externa queda libre de la invocacin. La
infraestructura de integracin procesa los mensajes y los guarda en la base
de datos Maximo.
Un servicio web empresarial no puede utilizar la cola JMS si el servicio
incluye las operaciones de crear o consultar que requieren una respuesta
de la aplicacin externa.
Proceso de mensajes no basado en colas
Un servicio web empresarial no basado en colas procesa mensajes desde la
infraestructura de integracin hacia la capa de proceso de objetos y guarda
la informacin en la base de datos Maximo, si corresponde. Despus de
que el servicio web empresarial completa el proceso del mensaje, la
infraestructura de integracin enva una respuesta a la aplicacin externa.
Debe especificar un proceso no basado en cola si el servicio web
empresarial soporta las operaciones de consultar o crear que requieren una
respuesta de la aplicacin externa.

Opciones de despliegue de servicios Web


Despus de crear un servicio web, puede seleccionar entre las opciones de
despliegue. Si despliega un servicio web en el contenedor de servicios web del
producto, el despliegue es automtico. Si despliega un servicio web en un
contenedor de servicio web de servidor de aplicaciones, el despliegue es manual.

Puede desplegar servicios web en un solo tipo de contenedor. No puede desplegar


algunos servicios web en un contenedor de servicio web de producto y desplegar
otros servicios web en un contenedor de servicio web de servidor de aplicaciones.
Desplegar el contenedor de servicios web para el producto es la opcin ms rpida
debido a que el despliegue es automtico. Este tipo de despliegue no requiere que
se vuelvan a desplegar los archivos EAR de Maximo o reiniciar el servidor de
aplicaciones.

Para invocar un servicio web en el servidor de aplicaciones, debe desplegar el


servicio en el contenedor de servicio web de servidor de aplicaciones. La
integracin con un servidor de aplicaciones puede permitir que un servicio web
acceda a servicios adicionales, como polticas de seguridad mejoradas. Si selecciona
este tipo de despliegue, la informacin se aade al archivo deplmodule.dar. Debe
agregar este archivo el directorio de despliegue del servidor de aplicaciones,
vuelva a compilar los archivos EAR y reinicie el servidor de aplicaciones.

42 Integracin de datos con aplicaciones externas


Puede convertir los servicios web existentes desplegados en el contenedor de
servicios web del producto para volverlos a desplegar en el contenedor de
servicios web del servidor de aplicaciones.

Acciones de despliegue de servicio web


Cuando se despliega un servicio web, se producen varios eventos, incluida la
generacin del esquema XML y el archivo WSDL (Web Services Description
Language) para el servicio web.

Cuando despliega un servicio web, se produce uno de los siguientes eventos:


v El esquema XML pasa a estar disponible para un nuevo servicio web o se vuelve
a generar el esquema para un servicio web existente.
v El archivo WSDL pasa a estar disponible para la interfaz de servicio.
v El servicio web se despliega para el servicio seleccionado.
v Si las propiedades del registro UDDI (Universal Description Discovery and
Integration ) estn configuradas, se registra el servicio web en el registro UDDI.

El servicio web desplegado est disponible en el URL siguiente:


http://nombrehost:puerto/meaweb/services/nombre servicio web
v host:puerto/meaweb es el valor de la propiedad de URL de la aplicacin web de
integracin.
v nombre servicio web es el nombre del servicio para el que se despliega el
servicio web.

La lista de servicios web desplegados est disponible en la aplicacin Biblioteca de


servicios web.

Generacin de esquemas
Puede generar el esquema y ver el XML para cualquier servicio web en la
aplicacin Biblioteca de servicios web. Tambin puede volver a generar el esquema
para asegurarse de que se actualiza el esquema para reflejar los cambios que
realice en el servicio.

Una estructura de datos de servicios web se basa en la estructura de objeto


asociado (para los servicios de la estructura de objeto y los servicios empresariales)
o la firma de mtodo (para los servicios web estndar). La estructura de datos de
servicio web se proporciona en una representacin XML estndar, como un
esquema. Este esquema se utiliza para crear el archivo WSDL para el servicio.

Si cambia la estructura de datos que est asociada a un servicio web, vuelva a


generar el esquema para actualizar su esquema y el archivo WSDL. Los cambios
siguientes del diccionario de datos cambian la estructura de objeto:
v Agregar nuevos campos a una tabla
v Cambiar el tipo de un campo
v Eliminar campos de una tabla
v Cambiar un campo de opcional a necesario
El XML no contiene campos que se han marcado para exclusin en la estructura de
objeto.

Antes de desplegar un servicio web, debe volver a generar el esquema para


proporcionar informacin del esquema actualizado al archivo WSDL. Cuando
genera un esquema, se muestran los elementos de entrada en la ventana Datos
XML y los elementos de salida en la ventana XML de respuesta.

Integracin de datos con aplicaciones externas 43


Puede ver el esquema generado en los URL siguientes:
v Para los esquemas de servicio empresarial y de estructura de objeto, utilice el
URL http://localhost:port/meaweb/schema/service/MXSRService.xsd, donde
MXSR es el nombre de la estructura de objeto que est asociada al servicio.
v Para los esquemas de servicio estndar, utilice el URL http://localhost:port/
meaweb/schema/service/ss/ITEMService.xsd, donde ITEM es el nombre del
servicio.

Si establece la propiedad global mxe.int.resolveschema en true en la aplicacin


Propiedades del sistema, se resuelven todos los archivos include. El contenido
completo del esquema reside en un solo archivo.

Generacin de un archivo de idioma de descripcin de servicios


web
Se genera un archivo WSDL durante el despliegue de un servicio web. El archivo
WSDL describe el servicio web, proporciona su ubicacin y especifica las
operaciones que el servicio permite que estn disponibles.

El archivo WSDL especifica la estructura XML de la entrada y mensajes de salida


para la operacin, basados en el esquema XML. El archivo tambin especifica el
URL del servicio de web y las operaciones que el servicio de web permite que
estn disponibles.

Un programa de cliente necesita definiciones de esquema y un archivo WSDL para


generar apndices de cliente. El programa de cliente utiliza un lenguaje de
programacin, como Java o C#, para invocar el servicio web.

Puede ver un archivo WSDL generado en un navegador en http://


hostlocal:puerto/meaweb/wsdl/nombre_servicio?wsdl, donde nombre_servicio es el
nombre del servicio como, por ejemplo, MXASSET.

Registro de UDDI
Puede registrar los servicios web desplegados en un registro UDDI. UDDI es un
registro basado en XML para publicar y localizar archivos WSDL que describen
aplicaciones de servicios web.

Puede registrar servicios web desplegados en un registro UDDI configurando las


siguientes propiedades globales en la aplicacin Propiedades del sistema:

Propiedad del sistema Descripcin


mxe.int.uddipuburl URL de publicacin del registro UDDI
mxe.int.uddiinqurl URL de consulta del registro UDDI
mxe.int.uddiname ID de usuario del registro UDDI
mxe.int.uddipassword Contrasea del registro UDDI

Si especifica valores para la propiedad de URL de publicacin y la propiedad de


URL de consulta, se registra el servicio web en el registro UDDI. Para omitir el
registro UDDI, no especifique valores para estas propiedades. Solamente se registra
el modelo para el archivo WSDL en el registro UDDI. Los valores de
businessEntity, businessService y bindingTemplate no se registran. La entrada del
registro UDDI contiene el URL para el archivo WSDL.

44 Integracin de datos con aplicaciones externas


Creacin y despliegue de servicios web
Puede crear un servicio web basado en cualquier servicio de la estructura de
objeto, servicio estndar o servicio empresarial definido para el sistema. Puede
desplegar el servicio web en el contenedor del servicio web del producto o en el
contenedor de servicio web de la aplicacin.

Creacin de un servicio web:

Cuando crea un servicio web, un sistema externo puede enviar consultas y


mensajes basados en web al servicio asociado sin necesidad de configurar servicios
o protocolos de comunicacin adicionales.

Antes de empezar

Realice las comprobaciones siguientes para verificar que el servicio que desea
utilizar est disponible para crear un servicio web:
v Para un servicio de estructura de objeto, compruebe que el campo Consumido
por est establecido en INTEGRACIN en la aplicacin Estructuras de objetos.
v Para un servicio estndar, asegrese de que se haya anotado un mtodo en el
servicio de aplicaciones para cada operacin que desee utilizar en el servicio
web. Solo se puede acceder a aquellos mtodos que se han anotado
correctamente en la aplicacin de biblioteca de servicios web
v Para un servicio empresarial, asegrese de que el servicio est asociado con una
aplicacin externa en la aplicacin Sistemas externos.

Procedimiento
1. En la aplicacin de biblioteca de servicios web, seleccione la accin Crear
servicio web apropiada.
2. Elija el servicio que desee utilizar seleccionando la casilla de verificacin
Nombre de origen correspondiente.
3. Opcional: En el campo Nombre, especifique un identificador para el servicio
web.
4. Para un servicio web basado en un servicio empresarial, especifique si desea
que el servicio web est basado en cola o que omita la cola JMS.
5. Pulse Crear.

Qu hacer a continuacin

Debe desplegar el servicio web previamente para poder utilizarlo para procesar
consultas y mensajes entrantes. Tambin puede generar el esquema y ver las
estructuras XML de cualquier servicio web seleccionado.

Despliegue de un servicio web al contenedor de servicios web del producto:

Despus de crear un servicio web, debe desplegarlo antes para que puede empezar
a procesar mensajes XML. Al desplegar un servicio web al contenedor de servicios
web del producto, el proceso de despliegue se produce automticamente y no
requiere un reinicio del servidor.

Procedimiento
1. En la aplicacin Biblioteca de servicios web, seleccione el servicio web que
desee desplegar.

Integracin de datos con aplicaciones externas 45


2. Seleccione la accinDesplegar en contenedor de servicio web de producto >
Desplegar servicio web.
3. Pulse Aceptar.

Despliegue de un servicio web al contenedor de servicios web del servidor de


aplicaciones:

Se genera un archivo de despliegue cuando despliega un servicio web en el


contenedor de servicios web del servidor de aplicaciones. Debe volver a compilar
el archivo EAR de Maximo para que incluya el archivo de despliegue y reiniciar el
servidor de aplicaciones para activar el servicio web.

Acerca de esta tarea

El archivo de despliegue deplmodule.dar est en el directorio especificado por la


propiedad del sistema mxe.int.globaldir.

Procedimiento
1. En la aplicacin Biblioteca de servicios web, seleccione el servicio web que
desee desplegar.
2. Seleccione la accin Desplegar en contenedor de servicio web de servidor de
aplicaciones > Generar entradas de archivo de despliegue. Esta accin genera
una entrada en el archivo de despliegue, deplmodule.dar.
3. Pulse Aceptar.
4. Copie el archivo deplmodule.dar del directorio global de la infraestructura de
integracin en el directorio de despliegue del producto.
5. En el directorio de despliegue, ejecute el archivo buildmaximoear.cmd.
6. En la consola administrativa del servidor de aplicaciones, despliegue todos los
servicios web en el archivo deplmodule.dar:
a. Detenga el servidor de aplicaciones.
b. Vuelva a desplegar el archivo maximo.ear.
c. Reinicie el servidor de aplicaciones.

Actualizacin de la informacin del esquema:

Si cambia la estructura de datos de un servicio de integracin, actualice la


informacin del esquema del archivo WSDL para actualizar el servicio web. Si no
vuelve a generar el esquema, el esquema utilizado por el servicio web puede ser
diferente de la estructura definida por el servicio de integracin asociado.

Procedimiento
1. Despus de modificar la estructura de datos de un servicio web, pulse Generar
esquema, WSDL y ver XML. Si no vuelve a generar el esquema, el servicio
web no detecta los cambios realizados.
2. Para los servicios web desplegados en el contenedor web del servidor de
aplicaciones, puede automatizar las actualizaciones del esquema en la
aplicacin Propiedades del sistema.
a. Establezca el valor de la propiedad mxe.int.containerdeploy en 1 para
desplegar los servicios web en el contenedor de servicios web del servidor
de aplicaciones.
b. Establezca el valor de la propiedad mxe.int.wsdlincludeschema en 1 para
asegurarse de que la informacin del esquema se incluye como parte de los
archivos WSDL.

46 Integracin de datos con aplicaciones externas


c. Establezca el valor de la propiedad mxe.int.resolveschema en 1 para
asegurarse de que el sistema resuelve todos los campos incluidos en un solo
archivo.
d. Establezca el valor de la propiedad mxe.int.wsdlcurrentschema en 1 para
proporcionar contenido del esquema actualizado como parte de un archivo
WSDL.

Vista general de las interacciones de servicio web


Una interaccin puede iniciar un servicio web y enviar datos al mismo desde una
aplicacin. La interaccin puede visualizar los datos devueltos desde el servicio
web y guardar estos datos en la base de datos de la aplicacin.

Para implementar las interacciones es necesario tener conocimientos acerca de:


v Esquemas XML
v Servicios web
v La infraestructura de integracin
v Personalizacin de aplicaciones e interfaces de usuario de aplicacin

Una interaccin puede gestionar los siguientes procesos:


v Preparar una solicitud para un servicio web.
v Invocar un servicio web desde una aplicacin.
v Recuperar resultados desde el servicio web con formato de respuesta.
v Visualizar los resultados en una aplicacin.
v Opcionalmente, aplicar los datos de respuesta a la base de datos del sistema.
v Informar acerca de errores que se producen durante los procesos de solicitud o
respuesta.

Se proporcionan dos aplicaciones para ayudarle a crear y gestionar interacciones:


v Cree y configure interacciones en la aplicacin Crear interaccin.
v Revise, modifique y suprima interacciones en la aplicacin Interacciones.

Despus de crear una interaccin, los usuarios pueden realizar las siguientes tareas
desde la interfaz de usuario de la aplicacin:
v Iniciar la interaccin.
v Ver y, si est configurado, cambiar los parmetros de solicitud para el servicio
web.
v Invocar el servicio web enviando la solicitud.
v Opcionalmente, ver los datos recibidos desde el servicio web y comprometer
estos datos en la base de datos.

Creacin de interacciones:

La aplicacin del asistente Crear interacciones le gua por todos los pasos
necesarios para crear y configurar una interaccin. Cuando haya completado el
proceso del asistente y haya probado la interaccin, los usuarios podrn comenzar
a trabajar con la misma inmediatamente sin que sea necesaria una configuracin o
un despliegue adicionales.

Integracin de datos con aplicaciones externas 47


Antes de empezar

Antes de ejecutar la aplicacin Crear interacciones, asegrese de que tiene toda la


informacin necesaria para la configuracin. Durante el proceso, debe especificar el
servicio web, definir la estructura de los mensajes y correlacionar los datos entre la
aplicacin y el servicio web.

Se proporciona una herramienta de registro para registrar la actividad de


configuracin y mantener un archivo de registro de los elementos que estn
configurados. Para generar un registro detallado de la configuracin, en la
aplicacin Registro, establezca el registrador de interacciones en la modalidad
DEBUG.

Procedimiento
1. Para configurar el servicio web para la interaccin, en el paso 1 del proceso:
a. Especifique el URL del archivo WSDL para el servicio web.
b. Cuando se renueve la pantalla con la informacin del archivo WSDL,
especifique un puerto para la interaccin.
c. Especifique una operacin para la interaccin y seleccione Respuesta de
proceso si desea que el servicio web devuelva datos a la aplicacin durante
la interaccin.
2. Revise el contenido de la solicitud para el servicio web en el paso 2 y
modifique la estructura de objeto de solicitud eliminando cualquier elemento
innecesario.
3. Opcional: Revise el contenido de la respuesta del servicio web en el paso 3 y
modifique la estructura de objeto de respuesta eliminando cualquier elemento
innecesario. Este paso se incluye solamente si ha seleccionado la opcin
Procesar respuesta del paso 1.
4. Para configurar la aplicacin para las interacciones, en el paso 4 del proceso:
a. Especifique la aplicacin que utiliza la interaccin.
b. Configure el vnculo de la aplicacin para la interaccin, incluyendo el
objeto principal, la opcin de firma, la modalidad de interaccin y los
componentes de interfaz de usuario.
c. Especifique los grupos de seguridad que tienen autorizacin para iniciar la
interaccin.
5. Configure la ficha Solicitud de la ventana Interacciones del paso 5,
especificando los campos que pueden ver los usuarios y si pueden editarlos.
6. Opcional: Configure la ficha Respuesta de la ventana Interacciones del paso 6,
especificando los campos que pueden ver los usuarios y si pueden editarlos.
Este paso se incluye solamente si ha seleccionado la opcin Procesar respuesta
del paso 1.
7. Puede correlacionar informacin desde la aplicacin al servicio web del paso 7.
La informacin correlacionada se especifica automticamente en la solicitud
cuando los usuarios inician la interaccin.
8. Opcional: Puede correlacionar la informacin desde el servicio web a la
aplicacin en el paso 8. si selecciona la opcin Confirmar respuesta, la
informacin correlacionada se guarda automticamente en la base de datos.
9. Revise las configuraciones del paso final del proceso.

48 Integracin de datos con aplicaciones externas


Qu hacer a continuacin

Para supervisar el tiempo que tarda en ejecutarse la interaccin, en la aplicacin


Registro, establezca el registrador de integracin en la modalidad INFO o DEBUG.

Puede ver la interaccin y modificar la informacin de correlacin en la aplicacin


Interacciones. Si tiene previsto modificar una interaccin, selecciona la accin
Desactivar interaccin antes de realizar cambios y reactivarla una vez completada
la modificacin.

Sistemas externos
Puede configurar el sistema externo con el que se comunica la infraestructura de
integracin. Puede configurar sistemas externos para las aplicaciones externas
dentro o fuera de la empresa. Si copia un sistema externo predefinido, copia los
canales y servicios que tiene configurados. Puede configurar un nuevo sistema
externo para utilizar las colas JMS existentes.

Configuracin de un sistema externo


Para configurar un sistema externo, identifique el sistema externo y ascielo con el
canal o servicio utilizado para procesar las transacciones. Tambin debe configurar
las colas JMS que utiliza el sistema externo y puede configurar controles de
integracin para dar soporte a la personalizacin con reglas de proceso.

Creacin de un sistema externo:

Cree un sistema externo para intercambiar datos con aplicaciones externas. Cuando
se crea un sistema externo, la aplicacin copia los controles de integracin
definidos para los canales de publicacin y los servicios empresariales
correspondientes. A continuacin, puede especificar valores de control
predeterminados que se aplican a un sistema externo particular.

Antes de empezar

Antes de crear un sistema externo, defina las colas y el punto final que el sistema
externo utiliza.

Procedimiento
1. En la aplicacin Sistemas externos, pulse en Nuevo sistema externo.
2. En el campo Sistema, especifique un identificador de sistema externo.
3. Opcional: Si el sistema externo enva mensajes salientes, siga estos pasos:
a. Especifique un valor en el campo Cola secuencial saliente.
b. Especifique un valor en el campo Punto final.
4. Opcional: Si el sistema externo recibe mensajes entrantes, siga estos pasos:
a. Especifique un valor en el campo Cola secuencial entrante.
b. Especifique un valor en el campo Cola continua entrante.
5. Pulse Guardar sistema externo.

Qu hacer a continuacin

Debe habilitar al menos un canal de publicacin o servicio empresarial para que se


puede producir el procesamiento de mensajes.

Integracin de datos con aplicaciones externas 49


Habilitacin de un sistema externo:

Puede habilitar un sistema externo despus de configurar el registro del sistema


externo y cuando est preparado para comenzar el procesamiento de mensajes de
la infraestructura de integracin. Tambin puede inhabilitar un sistema externo
para detener todo el procesamiento de mensajes entrantes y salientes.

Antes de empezar

Debe habilitar al menos un canal de publicacin o servicio empresarial para que se


puede producir el procesamiento de mensajes.

Acerca de esta tarea

Cuando se inhabilita un sistema externo, la infraestructura de integracin no


acepta mensajes entrantes ni envia mensajes salientes. Adems, no se pueden
utilizar las funciones de exportacin de datos a un sistema externo e importacin
de datos de un sistema externo. Slo se procesan los mensajes que estn en las
colas.

Procedimiento
1. En la aplicacin Sistemas externos, seleccione el sistema que desea actualizar.
2. Especifique si desea que el sistema externo est habilitado o inhabilitado:

Opcin Habilitado
Habilitado Seleccionado
Inhabilitado Sin seleccionar

3. Pulse Guardar sistema externo.

Habilitacin de un canal de publicacin:

Debe habilitar un canal de publicacin asociado con un sistema externo para que
se pueda utilizar para publicar mensajes basados en eventos a un sistema externo.
De forma predeterminada, los registros de canal de publicacin asociados con un
sistema externo se inhabilitan. Un canal de publicacin inhabilitado impide al
sistema externo procesar mensajes de infraestructura de integracin salientes.

Procedimiento
1. En la aplicacin Sistemas externos, seleccione el sistema que desea actualizar.
2. En la ficha Canales de publicacin, especifique si desea que el canal de
publicacin est habilitado o inhabilitado.

Opcin Habilitado
Habilitado Seleccionado
Inhabilitado Sin seleccionar

3. Pulse Guardar sistema externo.

50 Integracin de datos con aplicaciones externas


Asociacin de un canal de publicacin con un sistema externo:

Puede asociar un canal de publicacin con un sistema externo para sincronizar los
datos de objetos de gestin de activos con los datos de la aplicacin externa. Los
canales que crea y asocia al sistema externo contienen la lgica de procesamiento
de mensajes de salida.

Acerca de esta tarea

Puede definir el punto final que el canal utiliza. Si no define un punto final al
nivel del canal de publicacin, los datos se movern a la ubicacin del punto final
definida al nivel del sistema externo. Tambin puede habilitar el canal de
publicacin asociado cuando est listo para realizar el procesamiento de mensajes
de infraestructura de integracin salientes.

Procedimiento
1. En la aplicacin Sistemas externos, seleccione el sistema externo que desea
actualizar.
2. En la ficha Canales de publicacin pulse en Fila nueva.
3. En el campo Canal de publicacin, especifique un valor.
4. Opcional: En el campo Punto final, especifique un valor.
5. Opcional: Especifique si desea que el canal de publicacin est habilitado o
inhabilitado:

Opcin Habilitado
Habilitado Seleccionado
Inhabilitado Sin seleccionar

6. Pulse Guardar sistema externo.

Seleccin de canales de publicacin para el sistema externo:

Puede asociar varios canales de publicacin con un sistema externo para


sincronizar los datos de objetos de gestin de activos con los datos de la aplicacin
externa. Los canales que crea y asocia al sistema externo contienen la lgica de
procesamiento de mensajes de salida.

Procedimiento
1. En la aplicacin Sistemas externos, seleccione el sistema que desea actualizar.
2. En la ficha Canales de publicacin, pulse en Seleccionar canal.
3. Elija uno o ms canales de publicacin seleccionando las casillas de verificacin
Canal de publicacin correspondientes.
4. Pulse Aceptar.
5. Pulse Guardar sistema externo.

Qu hacer a continuacin

Puede definir los puntos finales que los canales utilizan. Si no define un punto
final al nivel del canal de publicacin, los datos se movern a la ubicacin del
punto final definida al nivel del sistema externo. Debe habilitar los canales de
publicacin asociados para poder realizar el procesamiento de mensajes de la
infraestructura de integracin.

Integracin de datos con aplicaciones externas 51


Adicin de un punto final a un canal de publicacin:

Puede definir el punto final que un canal de publicacin utiliza para determinar
dnde se publican los datos de salida. Los puntos finales identifican una ubicacin
de destino y el mecanismo de transporte para la publicacin de datos de salida. Si
no define un punto final al nivel del canal de publicacin, los datos se movern a
la ubicacin del punto final definida al nivel del sistema externo.

Antes de empezar

Debe asociar un canal de publicacin a un sistema externo.

Procedimiento
1. En la aplicacin Sistemas externos, seleccione el sistema externo que desea
actualizar.
2. En la ficha Canales de publicacin, seleccione el canal de publicacin para el
que desea agregar un punto final.
3. En el campo Punto final, especifique un valor.
4. Pulse Guardar sistema externo.

Qu hacer a continuacin

Puede habilitar el canal de publicacin asociado cuando est listo para realizar el
procesamiento de mensajes de infraestructura de integracin salientes.

Importacin de datos basados en archivo:

Puede utilizar la funcin de importacin de datos para cargar datos de archivo


XML o archivos sin formato delimitados para actualizar la base de datos de
Maximo. Puede obtener una vista previa y validar los datos antes de cargar y
confirmarlos en la base de datos. Puede optar por gestionar errores con la
aplicacin Nuevo proceso de mensajes o extrayendo errores en un formato de
archivos que es el mismo que el formato de archivo importado.

Antes de empezar

Para importar datos, si piensa importar datos desde un archivo plano como un
archivo .csv, la estructura de objeto del servicio empresarial debe dar soporte a las
estructuras de archivos planos. Asegrese de que se haya seleccionado la casilla de
verificacin Admitir estructura plana en el registro de estructura de objeto
asociado de la aplicacin Estructuras de objetos. Tambin debe habilitar el sistema
externo y el servicio empresarial para poder importar los datos.

Acerca de esta tarea

Los datos que importe deben estar en un formato de archivo plano delimitado,
como separado por comas o XML. El proceso de importacin de datos puede
utilizar un servicio empresarial predefinido o definido por el usuario.

Procedimiento
1. En la aplicacin Sistemas externos, visualice el sistema que contiene el servicio
empresarial desde el que desea importar datos.
2. En la ficha Servicios empresariales, seleccione el servicio empresarial desde el
que desea importar los datos.

52 Integracin de datos con aplicaciones externas


3. Pulse Importar datos.
4. Opcional: Seleccione la casilla de verificacin Presentacin preliminar de
importacin para examinar los datos antes de importar y confirmar los datos
en la base de datos. Utilice la opcin de vista preliminar para el muestreo de
registros de datos. Esta funcin no est diseada para dar soporte a un archivo
grande que contiene cientos de registros. El proceso sncrono procesa el archivo
para los objetos empresariales y devuelve los mensajes de error encontrados sin
confirmar las actualizaciones en la base de datos.
5. Especifique el tipo de archivo que desea utilizar para la importacin de
archivos.

Opcin Descripcin
Archivo XML Los datos importados tienen el formato
XML.
Archivo plano Los datos importados tienen el formato de
un archivo plano delimitado. Si es
necesario, modifique los valores
Delimitador y Calificador de texto.

6. En el campo Especificar archivo de importacin, escriba la ruta del nombre de


archivo que utiliza el archivo importado para fines de identificacin y
almacenamiento.
7. Seleccione la casilla de verificacin Gestin de errores basada en archivos si
desea gestionar errores que encuentra mediante un archivo con el mismo
formato que el archivo que se est importando. Esta opcin es una alternativa a
la gestin de errores con la aplicacin Nuevo proceso de mensajes.
8. Pulse Aceptar para iniciar el proceso de importacin de datos.

Qu hacer a continuacin

Cuando se ejecuta la importacin de datos, al archivo que se selecciona para


importar se le da el formato de varios mensajes y se deja en la cola de entrada
configurada para el servicio empresarial y su sistema externo correspondiente. A
continuacin, se procesan los mensajes desde la cola de entrada a los objetos de
aplicacin para actualizacin. El proceso de mensajes desde una cola de entrada
requiere la habilitacin de la tarea cron JMS cuando se utiliza la cola secuencial o
la habilitacin de beans controlados por mensajes para la cola continua. Si se
produce un error durante el proceso de un archivo, puede gestionar y ver los
mensajes de importacin de datos que se han etiquetado con un error en la
aplicacin Nuevo proceso de mensajes.

Habilitacin de un servicio empresarial:

Debe habilitar un servicio empresarial asociado con un sistema externo para que se
pueda utilizar para recibir datos de aplicaciones externas entrantes. De forma
predeterminada, los registros de servicio empresarial asociados con un sistema
externo se inhabilitan. Un servicio empresarial inhabilitado impide al sistema
externo procesar mensajes de aplicaciones externas entrantes.

Procedimiento
1. En la aplicacin Sistemas externos, visualice el sistema que desea actualizar.
2. En la ficha Servicios empresariales, especifique si desea que el servicio
empresarial est habilitado o inhabilitado.

Integracin de datos con aplicaciones externas 53


Opcin Habilitado
Habilitado Seleccionado
Inhabilitado Sin seleccionar

3. Pulse Guardar sistema externo.

Asociacin de un servicio empresarial con un sistema externo:

Puede asociar un servicio empresarial con un sistema externo para sincronizar


datos de entrada de la aplicacin externa con objetos de gestin de activos. Los
servicios que crea y asocia al sistema externo contienen la lgica de procesamiento
de mensajes de entrada.

Acerca de esta tarea

Puede especificar si los servicios empresariales asociados reciben datos de la cola


secuencial o continua. Tambin puede habilitar el servicio empresarial asociado
cuando est listo para realizar el procesamiento de mensajes de infraestructura de
integracin entrantes.

Procedimiento
1. En la aplicacin Sistemas empresariales, visualice el sistema que desea
actualizar.
2. En la ficha Servicios empresariales, pulse en Fila nueva.
3. En el campo Servicio empresarial, especifique un valor.
4. Opcional: Especifique si desea que el servicio empresarial est habilitado o
inhabilitado:

Opcin Habilitado
Habilitado Seleccionado
Inhabilitado Sin seleccionar

5. Especifique si desee que los mensajes de servicio reciban datos de la cola


continua o secuencial.

Opcin Usar cola continua


Cola continua Seleccionado
Cola secuencial Sin seleccionar

6. Pulse Guardar sistema externo.

Seleccin de servicios empresariales para el sistema externo:

Puede asociar varios servicios empresariales con un sistema externo para


sincronizar datos de entrada de la aplicacin externa con objetos de gestin de
activos. Los servicios que crea y asocia al sistema externo contienen la lgica de
procesamiento de mensajes de entrada.

Procedimiento
1. En la aplicacin Sistemas externos, visualice el sistema que desea actualizar.
2. En la ficha Servicios empresariales, pulse en Seleccionar servicio.

54 Integracin de datos con aplicaciones externas


3. Elija uno o ms servicios empresariales, seleccionando las casillas de
verificacin Servicio empresarial correspondientes.
4. Pulse Aceptar.
5. Pulse Guardar sistema externo.

Qu hacer a continuacin

Debe habilitar los servicios empresariales asociados para poder realizar el


procesamiento de mensajes de la infraestructura de integracin. Tambin debe
especificar si los servicios empresariales reciben datos de las colas secuenciales o
continuas.

Seleccin de un tipo de cola de servicio empresarial:

Puede especificar si el servicio empresarial asociado al sistema externo recibir


datos de la cola continua o secuencial. La seleccin de cola que realiza para el
servicio empresarial determina la forma en la que la cola Java Message Service
(JMS) procesa los mensajes entrantes.

Antes de empezar

Debe asociar un servicio empresarial a un sistema externo.

Acerca de esta tarea

La cola continua sigue procesando los mensajes que se encuentran en la colak,


incluso cuando se produce un error en el proceso de los mensajes. Por el contrario,
la cola secuencial deja de procesar los mensajes que se encuentran en la cola hasta
que se borra el error de proceso. Una cola secuencial tambin procesa los mensajes
bajo una norma estricta de primero en entrar, primero en salir.

Procedimiento
1. En la aplicacin Sistemas externos, seleccione el sistema externo que desea
actualizar.
2. En la ficha Servicios empresariales, seleccione el servicio empresarial para el
que desea seleccionar una cola.
3. Especifique si desee que los mensajes de servicio reciban datos de la cola
continua o secuencial.

Opcin Usar cola continua


Cola continua Seleccionado
Cola secuencial Sin seleccionar

4. Pulse Guardar sistema externo.

Qu hacer a continuacin

Puede habilitar el servicio empresarial asociado cuando est listo para realizar el
proceso de mensajes de infraestructura de integracin entrantes.

Integracin de datos con aplicaciones externas 55


Exportacin de datos basados en archivo:

Con la funcin de exportacin de datos, puede realizar una exportacin masiva de


datos de mensaje desde un archivo a un sistema externo. Puede iniciar el proceso
de exportacin para cada canal de publicacin asociado con un sistema externo.

Antes de empezar

En un entorno multitenencia, puede utilizar la funcin de exportacin de datos


slo si el proveedor del sistema le proporciona acceso a un servidor de archivos
que sea accesible para el servidor de aplicaciones. A continuacin, deber
configurar un punto final basado en archivo para que apunte a la ubicacin de este
servidor de archivos.

Debe habilitar tanto el sistema externo como el canal de publicacin para poder
exportar datos. Los datos para exportar deben estar en un formato de archivo XML
que cumpla con el esquema de estructura de objeto, o en un archivo sin formato y
delimitado, por ejemplo, separado por comas, que sea una versin plana del
formato de esquema de la estructura de objeto.

Acerca de esta tarea

La consulta SQL opcional que el usuario proporciona en el campo Condicin de


exportacin, puede afectar al tamao del mensaje XML exportado. Puede filtrar el
contenido para limitar la cantidad de datos que se exportan. El proceso de
exportacin lleva a cabo el proceso estndar de salida sobre el conjunto de
resultados de la consulta correspondiente al canal de publicacin seleccionado.

Procedimiento
1. En la aplicacin Sistemas externos, pulse en la ficha Canales de publicacin y
seleccione el canal de publicacin que desee exportar.
2. En el campo Punto final, especifique un manejador de punto final basado en
archivo, en formato de archivo XML o de archivo sin formato.
3. Pulse en Exportacin de datos.
4. Opcional: Especifique una consulta SQL en el campo Condicin de
exportacin. La consulta debe ser para el objeto primario o el objeto de nivel
superior de la estructura de objeto del canal de publicacin.
5. Opcional: Especifique un valor entero en el campo Recuento de exportacin
para limitar el nmero de registros contenidos en el archivo exportado. Si el
resultado de la consulta contiene ms registros que el nmero que haya
especificado, dichos registros no se incluyen en el archivo exportado.
6. Pulse en Aceptar para iniciar el proceso de exportacin de datos.

Qu hacer a continuacin

Al ejecutar la exportacin de datos, los datos seleccionados forman un mensaje y


se incluyen en la cola saliente configurada para el canal de publicacin y su
sistema externo correspondiente. A continuacin, el mensaje se procesa de la cola
saliente al punto final configurado. Si se produce un error durante la entrega de un
mensaje a un punto final, puede gestionar y ver los mensajes de exportacin de
datos sealados con un error en la aplicacin Nuevo proceso de mensajes.

56 Integracin de datos con aplicaciones externas


Agregacin de colas a un sistema externo:

Puede utilizar las colas de Java Message Service (JMS) para intercambiar datos de
servicio empresarial y datos de canal de publicacin con una aplicacin externa.
Cuando se reciben o se envan mensajes, se graban en la cola JMS. Estos mensajes
permanecen en las colas hasta que se procesan o suprimen satisfactoriamente.

Antes de empezar

Antes de agregar una cola a un sistema externo, debe crear la cola en el servidor
de aplicaciones. Si agrega una cola secuencial, debe configurar una tarea cron para
sondear peridicamente la cola en busca de mensajes.

Acerca de esta tarea

Cada sistema externo puede tener sus propias colas entrantes y salientes, o puede
configurar varios sistemas para compartir colas. Puede aadir sus propias colas de
mensajes definidas por el usuario o modificar las colas existentes cuando las colas
de mensajes entrantes y salientes predefinidas no se adapten a sus necesidades.

Procedimiento
1. En la aplicacin Sistemas externos, seleccione el sistema para el que desee
agregar una cola JMS.
2. Seleccione la accin Agregar/Modificar colas.
3. Pulse Fila nueva.
4. Especifique valores en los campos siguientes:

Opcin Descripcin
Nombre JNDI de cola El nombre de la cola JMS.
Fbrica de conexin de cola La fbrica de conexin que se utiliza para
acceder a la cola. El valor predeterminado es
jms/mro/int/queues/sqin.
Recuento de intentos mximo El nmero de veces que se procesa un
mensaje antes de grabarse en el registro de
errores y de que se enve una notificacin de
correo electrnico al administrador del
sistema.

5. Opcional: Especifique valores en los campos siguientes:

Opcin Descripcin
Fbrica de contexto inicial La clase que se utiliza para conectarse al
servidor JMS.
URL de proveedor El URL del servidor JMS.
ID de usuario El ID de usuario que se utiliza para acceder
a la nueva cola.
Contrasea La contrasea que se utiliza para acceder a
la cola.

Integracin de datos con aplicaciones externas 57


Opcin Descripcin
Direccin de correo electrnico La direccin de correo electrnico de un
usuario que recibe avisos cuando se
producen errores de transaccin en la cola.
Normalmente, este valor es la direccin de
correo electrnico del administrador del
sistema.

6. Opcional: Si la cola entrega mensajes entrantes y funciona como una cola


continua, desmarque la casilla de verificacin Secuencial.
7. Opcional: Si la cola entrega mensajes salientes, desmarque la casilla de
verificacin Entrantes.
8. Pulse Aceptar.
9. En la ficha Sistema, especifique valores en los siguientes campos:
v Cola secuencial saliente
v Cola secuencial entrante
v Cola continua entrante
10. Pulse Guardar sistema externo.

Creacin de tablas de interfaz:

Puede crear una tabla de interfaz para la integracin con sistemas externos que
utilicen tablas de base de datos para el intercambio de datos. Las tablas de interfaz
reflejan el contenido de las estructuras de objetos de los canales de publicacin y
de los servicios empresariales. Debe volver a crear las tablas existentes cuando
cambie la definicin de la estructura de objeto correspondiente.

Antes de empezar

Si en la tabla de cola MXIN_INTER_TRANS hay mensajes sin procesar de una


tabla de interfaz, sta no se podr volver a crear. Si no se hace una copia de
seguridad de los datos antes de volver a crear una tabla de interfaz, el sistema
perder los datos. Asegrese de que los conflictos de alias se resuelvan y las
casillas de verificacin de Admitir estructura plana estn seleccionadas en los
registros de estructura de objeto asociados en la aplicacin Estructuras de objetos.

Acerca de esta tarea

El cuadro de dilogo Crear tablas de interfaz muestra las tablas de interfaz


asociados con los canales de publicacin y servicios empresariales que tengan las
siguientes caractersticas:
v Estn registrados en el sistema externo seleccionado.
v El nombre de la tabla de interfaz no es nulo.
v La estructura de objeto correspondiente admite la representacin de archivos
planos.

Procedimiento
1. En la aplicacin de sistemas externos, seleccione la accin Crear tablas de
interfaz.
2. En el cuadro de dilogo Crear tablas de interfaz, seleccione la tabla de interfaz
que desee actualizar y crear.
3. Especifique un valor en el campo Punto final.

58 Integracin de datos con aplicaciones externas


4. Opcional: Seleccione la casilla de verificacin Cambiar nombre existente para
crear una copia de la tabla de interfaz seleccionada. El sistema de gestin de
activos guarda una copia de la tabla de interfaz y agrega un sufijo BAK al
nombre.
5. Pulse Crear.
6. Pulse Aceptar para crear la tabla o Cancelar para detener el proceso. En
funcin del nmero de tablas de interfaz que vaya a crear, este proceso puede
prolongarse en el tiempo.
7. Pulse Aceptar para cerrar el cuadro de dilogo Crear tablas de interfaz.

Trabajo con controles de integracin:

Si los canales o servicios de integracin contienen reglas de proceso o clases de


salidas basadas en controles de integracin, se pueden configurar los valores de los
controles de integracin para el sistema externo. Puede configurar controles de
integracin booleanos, de lista y de valores para incorporarlos a las reglas de
proceso.

Configuracin de un control booleano:

Puede configurar un control booleano en un sistema externo cuando necesite un


control que especifique un valor de verdadero o falso (true o false). Tambin puede
agregar a un control booleano valores especficos de planta y de organizacin. Un
servicio empresarial o un canal de publicacin puede utilizar este control booleano
en sus evaluaciones de reglas de procesamiento. El valor verdadero o falso que
asigna al control en el sistema externo determina si un servicio empresarial o un
canal de publicacin aplica una regla de procesamiento.

Antes de empezar

El valor booleano que asigne a un control ya deben existir en la definicin del


control en la aplicacin Canales de publicacin o Servicios empresariales. Si dicha
definicin apunta a un dominio, cualquier valor especfico de planta o de
organizacin que asigne deber existir en dicho dominio.

Procedimiento
1. En la aplicacin Sistemas externos, visualice el sistema que desea actualizar.
2. Seleccione la accin Configurar controles de integracin.
3. Seleccione el control booleano que desee actualizar.
4. Pulse Fila nueva.
5. Lleve a cabo una de estas acciones:
v Especifique un valor en el campo Organizacin.
v Especifique un valor en el campo Planta.
6. Especifique si desea que el control booleano tenga un valor predeterminado de
verdadero o falso.

Opcin Valor predeterminado Verdadero


Valor verdadero Seleccionado
Valor falso Sin seleccionar

7. Pulse en Aceptar para cerrar el cuadro de dilogo Control booleano.


8. Pulse en Aceptar para cerrar el cuadro de dilogo Configurar controles de
integracin.
Integracin de datos con aplicaciones externas 59
Configuracin de un control de referencia cruzada:

Puede configurar un control de referencia cruzada cuando necesite un control que


sustituya un valor por otro. Un control de referencia cruzada puede correlacionar
un valor del sistema de gestin de activos con un valor del sistema externo.

Antes de empezar

El valor que asigne para la conversin deber existir en primer lugar en la


definicin del control de la aplicacin Canales de publicacin o Servicios
empresariales. Si dicha definicin apunta a un dominio, los valores especficos de
planta o de organizacin que asigne debern existir en dicho dominio.

Procedimiento
1. En la aplicacin Sistemas externos, visualice el sistema que desea actualizar.
2. Seleccione la accin Configurar controles de integracin.
3. Seleccione el control de referencia cruzada que desee actualizar.
4. Pulse Fila nueva.
5. En el campo Valor de Maximo, especifique el valor de aplicacin que desea
que el sistema de gestin de activos convierta a partir de o a un valor de
sistema externo.
6. En el campo Valor externo, especifique el valor del sistema externo que desea
que el sistema de gestin de activos convierta a partir de o a un Valor de
Maximo.
7. Pulse en Aceptar para cerrar el cuadro de dilogo Control de referencia
cruzada.
8. Pulse en Aceptar para cerrar el cuadro de dilogo Configurar controles de
integracin.

Configuracin de un control de lista:

Puede crear un control de integracin de tipo de lista cuando necesite un control


que contenga una lista de valores. Tambin puede agregar a un control de lista
valores especficos de planta y de organizacin. Un servicio empresarial o un canal
de publicacin puede utilizar este control de lista en sus evaluaciones de reglas de
procesamiento. El valor que asigna al control en el sistema externo determina si un
servicio empresarial o un canal de publicacin aplica una regla de procesamiento.

Antes de empezar

Los valores que agregue a un control de lista ya deben existir en la definicin del
control en la aplicacin Canales de publicacin o Servicios empresariales. Si dicha
definicin apunta a un dominio, los valores especficos de planta o de organizacin
que asigne debern existir en dicho dominio.

Procedimiento
1. En la aplicacin Sistemas externos, visualice el sistema que desea actualizar.
2. Seleccione la accin Configurar controles de integracin.
3. Seleccione el control de lista que desee actualizar.
4. Pulse Fila nueva.
5. En el campo Valor, escriba un valor que existe en el dominio.
6. Pulse en Aceptar para cerrar el cuadro de dilogo Control de lista.

60 Integracin de datos con aplicaciones externas


7. Pulse en Aceptar para cerrar el cuadro de dilogo Configurar controles de
integracin.

Configuracin de un control de valor:

Puede establecer un control de integracin de tipo de valor en un sistema externo


cuando necesite un control que contenga un nico valor. Tambin puede agregar a
un control de valor otros valores especficos de planta y de organizacin. Un
servicio empresarial o un canal de publicacin puede utilizar este control de valor
en sus evaluaciones de reglas de procesamiento. El valor que asigna al control en
el sistema externo determina si un servicio empresarial o un canal de publicacin
aplica una regla de procesamiento.

Antes de empezar

El valor que asigne en primer lugar deber existir en la definicin del control de la
aplicacin Canales de publicacin o Servicios empresariales. Si dicha definicin
apunta a un dominio, los valores especficos de planta o de organizacin que
asigne debern existir en dicho dominio.

Procedimiento
1. En la aplicacin Sistemas externos, visualice el sistema que desea actualizar.
2. Seleccione la accin Configurar controles de integracin.
3. Seleccione el control de valor que desee actualizar.
4. Pulse Fila nueva.
5. Lleve a cabo una de estas acciones:
v Especifique un valor en el campo Organizacin.
v Especifique un valor en el campo Planta.
6. En el campo Valor, escriba un valor que existe en el dominio.
7. Pulse en Aceptar para cerrar el cuadro de dilogo Control de valor.
8. Pulse en Aceptar para cerrar el cuadro de dilogo Configurar controles de
integracin.

Anulacin de valores para un control de referencia cruzada:

Puede configurar un control de referencia cruzada para anular los valores de


plantas y organizaciones. Puede optar por anular los valores de referencia cruzada
definidos anteriormente al nivel del servicio empresarial o del canal de
publicacin. La anulacin del valor se puede configurar segn cada sistema
externo para mantener correlaciones vlidas entre el sistema de gestin de activo y
el sistema externo.

Antes de empezar

El valor que utilice para la conversin deber existir en primer lugar en la


definicin del control de referencia cruzada de la aplicacin Canales de publicacin
o Servicios empresariales. Si dicha definicin apunta a un dominio, los valores
especficos de planta o de organizacin que asigne debern existir en dicho
dominio.

Acerca de esta tarea

Si utiliza sinnimos, especifique el valor externo como valor de control, no el valor


interno de la aplicacin.

Integracin de datos con aplicaciones externas 61


Procedimiento
1. En la aplicacin Sistemas externos, visualice el sistema que desea actualizar.
2. Seleccione la accin Configurar controles de integracin.
3. Seleccione el control de referencia cruzada que desee actualizar.
4. Pulse en Anular. El cuadro de dilogo Anular valores para control de
referencia cruzada muestra los valores especficos de organizacin y planta
que existen para el control.
5. Pulse Fila nueva.
6. Lleve a cabo una de estas acciones:
v Especifique un valor en el campo Organizacin.
v Especifique un valor en el campo Planta.
7. En la ventana de tabla Valores para organizacin/planta, pulse en Fila nueva.
8. Especifique los valores de los campos Valor predeterminado y Valor externo.
Para utilizar el control como un control de multiplicacin, especifique varios
registros que tengan el mismo valor externo y valores diferentes de planta o
de organizacin.
9. Pulse en Aceptar para cerrar el cuadro de dilogo Anular valores para control
de referencia cruzada.
10. Pulse en Aceptar para cerrar el cuadro de dilogo Control de referencia
cruzada.
11. Pulse en Aceptar para cerrar el cuadro de dilogo Configurar controles de
integracin.

Ejemplo

Cinco sistemas externos estn configurados para intercambiar datos con la


infraestructura de integracin. Cuatro de estos sistemas externos utilizan los
mismos valores de planta, pero un valor de planta difiere. Un control de referencia
cruzada que realiza la conversin entre los cuatro valores que no coinciden y el
valor del sistema de gestin de activos se puede anular al nivel de un sistema
externo. La anulacin del valor se puede configurar para convertir el valor de
planta del sistema externo no coincidente restante con un valor de almacn del
sistema de gestin de activos.

Un control de referencia cruzada en un servicio empresarial puede convertir el


valor de planta del sistema externo EX001 a un valor de planta del sistema de
gestin de activos MX001. Un control de referencia cruzada en el sistema externo
puede anular el valor EX001 predefinido y utilizar un valor EX002 en su conversin
de valor.

Anulacin de valores para un control de lista:

Puede configurar un control de lista para anular los valores de plantas y


organizaciones. Puede optar por anular los valores de control de lista definidos
anteriormente al nivel del servicio empresarial o del canal de publicacin. La regla
se puede saltar el procesamiento de la transaccin cuando el valor del campo de
datos no coincide con ninguno de los valores de control de lista sobrescritos.

Antes de empezar

El valor que asigne en primer lugar deber existir en la definicin del control de la
aplicacin Canales de publicacin o Servicios empresariales. Si dicha definicin

62 Integracin de datos con aplicaciones externas


apunta a un dominio, los valores especficos de planta o de organizacin que
asigne debern existir en dicho dominio.

Acerca de esta tarea

Debe utilizar un punto (.) como marcador de posicin decimal al introducir


decimales como valor de control, independientemente de los valores del entorno
local de la base de datos o del servidor de aplicaciones. No se da formato a los
nmeros situados a la izquierda del indicador. Este formato se aplica a los datos
entrantes y salientes. Por ejemplo, $1,738,593.64 debe ser 1738593.64.

Procedimiento
1. En la aplicacin Sistemas externos, visualice el sistema que desea actualizar.
2. Seleccione la accin Configurar controles de integracin.
3. Seleccione el control de lista que desee actualizar.
4. Pulse en Anular. El cuadro de dilogo Anular valores para control de lista
muestra los valores especficos de organizacin y planta que existen para el
control.
5. Pulse Fila nueva.
6. Lleve a cabo una de estas acciones:
v Especifique un valor en el campo Organizacin.
v Especifique un valor en el campo Planta.
7. En la ventana de tabla Valores para organizacin/planta, pulse en Fila nueva.
8. Especifique un valor en el campo Valor. Si utiliza sinnimos, especifique un
valor externo, no el valor interno de la aplicacin.
9. Pulse en Aceptar para cerrar el cuadro de dilogo Anular valores para control
de lista.
10. Pulse en Aceptar para cerrar el cuadro de dilogo Control de referencia
cruzada.
11. Pulse en Aceptar para cerrar el cuadro de dilogo Configurar controles de
integracin.

Ejemplo

Las rdenes de trabajo se envan a un sistema externo segn sus estados. La regla
de procesamiento definida en un servicio empresarial o canal de publicacin puede
comprobar el estado de una orden de trabajo sobre un control de lista que contiene
dos valores de estado: APROB (aprobado) o COMPLETO. Esta anulacin de lista se
puede configurar para evaluar dos valores de estado de orden de trabajo
diferentes: EAPROB (en espera de aprobacin) o EPROG (en espera de
programacin). Si el estado de una orden de trabajo no coincide con los valores de
control de lista sobrescritos, la transaccin de orden de trabajo no se enva al
sistema externo.

Contenido de integracin predefinido


La infraestructura de integracin proporciona contenido de integracin predefinido,
que incluye estructuras de objeto, canales de publicacin y servicios empresariales
que soportan la importacin de datos de un sistema externo o la exportacin de
datos un sistema externo.

En algunos casos, slo se proporciona la estructura de objeto sin un canal de


publicacin o un servicio empresarial relacionado. La infraestructura de

Integracin de datos con aplicaciones externas 63


integracin, por diseo, proporciona soporte para insertar, actualizar, suprimir y
consultar datos segn la regla de negocio definida en los objetos de negocios de la
estructura de objeto. No proporciona todas las funciones que estn disponibles a
travs de las aplicaciones, incluidas aquellas que estn disponibles en acciones o el
botn de proceso en la pantalla. Algunas estructuras de objeto pueden
proporcionar soporte para algunas acciones o el botn de proceso en la pantalla.

Objetos de datos maestros


La infraestructura de integracin proporciona una seleccin del contenido de
integracin predefinido para datos maestros, que consisten generalmente en datos
de contabilidad, personas, almacenes, mano de obra, clasificacin y distribuidores.

Objeto de activo:

La estructura de objeto MXASSET permite la sincronizacin bidireccional de


informacin de activos, incluidos los atributos que definen medidores.

Finalidad

La estructura de objeto MXASSET sincroniza activos individuales, pero no


sincroniza la jerarqua de activo en general. Permite agregar y actualizar medidores
vinculados a un activo, pero no permite actualizar los valores de lectura de
medidor. El proceso de entrada de ASSETMETER est restringido a los atributos
que definen el medidor, no a los valores de lectura de medidor ni a otra
informacin que pertenezca a estas lecturas.

Requisito previo

Debe sincronizar las ubicaciones operativas, los almacenes, los medidores y las
partes aplicables antes de cargar los activos.

La relacin de MBO que se utiliza para recuperar el MBO ASSETMETER es


diferente de la relacin de MBO que se utiliza en la aplicacin Activos. Por lo
tanto, el atributo modificado en el XML (proceso de salida) no se establece para
ningn valor de este MBO.

Esta estructura de objeto no da soporte a los cambios de estado ni al movimiento


de activos. Se proporciona un servicio estndar para los activos para dar soporte al
movimiento de los activos que residen en ubicaciones operativas. El servicio
estndar, Activo, proporciona la operacin assetmoveSingleAsset para dar soporte
a esta funcionalidad.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de MoutAssetProcess - Llena el campo
estructura de objeto Hierarchypath si el activo tiene asociada una
clasificacin.
Canal de publicacin MXASSETInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

64 Integracin de datos con aplicaciones externas


Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de MaxAssetProcess - Si se proporciona
estructura de objeto Hierarchypath, la clase de procesamiento
llena el campo classstructureid
correspondiente del activo, que crea la
asociacin de la clasificacin con el activo.
Servicio empresarial MXASSETInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de catlogo de cuentas:

La estructura de objeto MXCOA permite la sincronizacin entrante de los datos del


catlogo de cuentas.

Requisito previo

Debe cargar componentes de libro mayor antes de cargar el catlogo de cuentas.


No existe ningn canal de publicacin predefinido para esta estructura de objeto.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de Ninguno
estructura de objeto
Canal de publicacin Ninguno
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de MaxCOAProcess - Se puede procesar como
estructura de objeto una combinacin de segmentos delimitados
o como componentes individuales que
forman parte de la definicin de tipo de
datos GLACCOUNT.
Servicio empresarial MXCOAInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Integracin de datos con aplicaciones externas 65


Ejemplos de proceso de entrada

El proceso como combinacin de segmentos delimitados est disponible para tablas


de interfaz y XML. Puede especificar la cuenta del libro mayor de esta forma en
todas las estructuras de objeto.
<GLACCOUNT>
<VALUE>6400-2-10</VALUE>
</GLACCOUNT>

La estructura de objeto valida cada segmento y, a continuacin, crea el registro de


catlogo de cuenta en la base de datos con los valores siguientes:
v GLACCOUNT=6400-2-10
v GLCOMP01-6400
v GLCOMP02=2
v GLCOMP03=10

Tambin puede procesar el objeto como componente individual que forma parte
del la definicin de tipo de datos GLACCOUNT.
<GLACCOUNT>
<GLCOMP glorder="0">6400</GLCOMP>
<GLCOMP glorder="1">2</GLCOMP>
<GLCOMP glorder="2">10</GLCOMP>
</GLACCOUNT>

La estructura de objeto valida los componentes y crea la cuenta utilizando el


delimitador definido en la tabla GLCONFIGURE para cada segmento. Esta opcin
solo est disponible para XML.

Objeto de elemento de clasificacin:

La estructura de objeto MXCLASSIFICATION permite la sincronizacin


bidireccional de clasificaciones, incluidas la clase Utilizar con, la clase
Especificaciones y la especificacin de clase Utilizar con.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de Ninguno
estructura de objeto
Canal de publicacin MXCLASSInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

66 Integracin de datos con aplicaciones externas


Componentes de integracin predefinidos Valor y descripcin
Funcionalidad de clase de procesamiento de MaxClassificationProcess - Lgica de
estructura de objeto procesamiento para encontrar clasificaciones
y niveles superiores utilizando
Hierarchypath. Como el sistema permite
clasificaciones duplicadas (hierarchypaths),
se genera una excepcin cuando se intenta
actualizar una clasificacin si existen
duplicados.
Servicio empresarial MXCLASSInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de especialidad:

La estructura de objeto MXCRAFT permite la sincronizacin bidireccional de


informacin de especialidades. La informacin de especialidades incluye
especialidades, las habilidades de especialidad y las tarifas de especialidad.

Requisito previo

Si la especialidad hace referencia a una habilitad o contrato, la informacin debe


existir antes de cargar las especialidades.

Una especialidad puede tener una tarifa estndar, una tarifa para cada nivel de
especialidad o diferentes tarifas para cada contrato que la proporciona, con una
tarifa a nivel de especialidad opcional para cada contrato.

Los registros CRAFT y CRAFTSKILL tienen un campo STANDARDRATE para la


tarifa por hora para cada especialidad o habilidad asociada con la especialidad.

El registro CRAFTRATE especifica tarifas para los distribuidores que proporcionan


la especialidad y, opcionalmente, tarifas diferentes para cada combinacin de
habilidad, especialidad y distribuidor.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de Ninguno
estructura de objeto
Canal de publicacin MXCRAFTInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Integracin de datos con aplicaciones externas 67


Componentes de integracin predefinidos Valor y descripcin
Funcionalidad de clase de procesamiento de Ninguno
estructura de objeto
Servicio empresarial MXCRAFTInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de proyecto financiero:

La estructura de objeto de MXPROJ permite la sincronizacin bidireccional de


informacin de proyectos financieros. Esta estructura de objeto sincroniza tareas y
proyectos individuales como mensajes distintos. No sincroniza un proyecto y todas
sus tareas de nivel inferior en un solo mensaje.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de Ninguno
estructura de objeto
Canal de publicacin MXPROJInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de Ninguno
estructura de objeto
Servicio empresarial MXPROJInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de componente de libro mayor (LM):

La estructura de objeto de MXGLCOMP permite la sincronizacin entrante de


componentes de LM.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

68 Integracin de datos con aplicaciones externas


Componentes de integracin predefinidos Valor y descripcin
Funcionalidad de clase de definicin de Ninguno
estructura de objeto
Canal de publicacin Ninguno
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de Ninguno
estructura de objeto
Servicio empresarial MXGLCOMPInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de mano de obra:

La estructura de objeto MXLABOR permite la sincronizacin bidireccional de


informacin de mano de obra, incluidas la persona y las tarifas de especialidad de
mano de obra.

Requisito previo

Debe sincronizar cualquier especialidad, ubicacin de trabajo o ubicacin de


almacn asociada antes de cargar el trabajo. Cada registro de persona slo puede
tener un registro de mano de obra.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de MoutLaborProcess - Lgica de
estructura de objeto procesamiento inhabilitada.
Canal de publicacin MXLABORInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Integracin de datos con aplicaciones externas 69


Componentes de integracin predefinidos Valor y descripcin
Funcionalidad de clase de procesamiento de MaxLaborProcess - Da soporte a cambios de
estructura de objeto estado. Establece el ORGID para el MBO
LaborCraftRate del MBO de nivel superior.
Tambin establece el PERSONID en el
registro PERSON, en funcin del PERSONID
del registro LABOR
Servicio empresarial MXLABORInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de persona:

La estructura de objeto MXPERSON permite la sincronizacin bidireccional de


informacin personal, como el telfono, el correo electrnico y los datos de SMS.

Finalidad

Esta estructura de objeto da soporte a la sincronizacin de datos personales


individuales. No da soporte a la actualizacin de la informacin de disponibilidad
para un registro de persona. La estructura de objeto tambin da soporte a cambios
de estado.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de Ninguno
estructura de objeto
Canal de publicacin MXPERSONInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

70 Integracin de datos con aplicaciones externas


Componentes de integracin predefinidos Valor y descripcin
Funcionalidad de clase de procesamiento de MaxPersonProcess - Requiere que, con cada
estructura de objeto actualizacin de persona, se proporcionen
los datos para todos los objetos de nivel
inferior (PHONE, EMAIL, SMS). Debido a la
falta de una clave exclusiva en estos objetos,
la lgica siempre suprime todos los objetos
de nivel inferior y los vuelve a agregar. Si
una persona tiene tres registros de correo
electrnico y se recibe un mensaje de
persona con dos registros de correo
electrnico, se suprimir el registro de correo
electrnico no incluido en el mensaje de
persona. La estructura de objeto da soporte
a cambios de estado.
Servicio empresarial MXPERSONInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de persona/usuario:

La estructura de objeto de MXPERUSER permite la sincronizacin bidireccional de


informacin de personas/usuarios. Esta estructura de objeto da soporte a cambios
de estado.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de Ninguno
estructura de objeto
Canal de publicacin MXPERUSERInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de MaxPersonUserProcess - Se requiere
estructura de objeto procesamiento para guardar los datos de
persona antes de guardar los datos de
usuario. Esta estructura de objeto da soporte
a cambios de estado.
Servicio empresarial MXPERSUSERnterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Integracin de datos con aplicaciones externas 71


Objetos de ubicacin de almacn:

La estructura de objeto de MXSTORELOC permite la sincronizacin bidireccional


de ubicaciones de almacn, mano de obra y mensajera.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de MoutLocProcess - proporciona filtrado para
estructura de objeto enviar slo ubicaciones de almacenes,
mensajera o mano de obra.
Canal de publicacin MXSTORELOCInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de MaxLocProcess - proporciona filtrado para
estructura de objeto aceptar slo ubicaciones de almacenes,
mensajera o mano de obra.
Servicio empresarial MXSTORELOCInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de estructura de objeto maestro de distribuidor (Empresas):

La estructura de objeto de MXVENDORMSTR permite la sincronizacin


bidireccional de datos maestros de distribuidor.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de Ninguno
estructura de objeto
Canal de publicacin MXVENDORMSTRInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

72 Integracin de datos con aplicaciones externas


Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de Ninguno
estructura de objeto
Servicio empresarial MXVENDORMSTRInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de distribuidor (Empresas):

La estructura de objeto MXVENDOR permite la sincronizacin bidireccional de


datos de distribuidor a nivel de organizacin, incluidos contactos.

Requisito previo

Para habilitar esta estructura de objeto para crear el registro de maestro de


empresas, seleccione la opcin Agregar empresas automticamente al maestro de
empresas para el conjunto asociado con la organizacin a la cual se agrega el
registro de distribuidor. La estructura de objeto MXVENDOR da soporte a cambios
de estado.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de Ninguno
estructura de objeto
Canal de publicacin MXVENDORInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de MaxComProcess - Proporciona lgica para
estructura de objeto dar soporte a la creacin del registro de
maestro de empresas.
Servicio empresarial MXVENDORInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Integracin de datos con aplicaciones externas 73


Objetos de parte y de inventario
La infraestructura de integracin proporciona una seleccin del contenido de
integracin predefinido para objetos de parte y de inventario, como artculos de
servicio, partes de herramienta, distribuidores de inventario y despachos.

Objeto de parte:

La estructura de objeto MXITEM permite la sincronizacin bidireccional de datos


de parte de parte, incluidas conversiones, especificaciones de parte y condiciones.
Esta estructura de objeto da soporte a cambios de estado.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de MoutItemProcess - Filtro para no establecer
estructura de objeto partes de herramienta o servicio. Da soporte
a la recuperacin de la hierarchypath para el
classstructureid de la parte.
Canal de publicacin MXITEMInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de MaxItemProcess - Si la transaccin entrante
estructura de objeto es una actualizacin de la parte y el
distintivo capitalizado de la parte ha
cambiado, se llama a un mtodo para
cambiar el estado capitalizado de la parte. Si
el tipo de parte no es ITEM o un sinnimo
vlido. Da soporte a cambios de estado.
Servicio empresarial MXITEMInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de artculo de servicio:

La estructura de objeto de MXSERVITEM permite la sincronizacin bidireccional


de datos de artculos de servicio. El objeto principal de la estructura de objeto,
SERVICEITEMS, es un objeto no persistente.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

74 Integracin de datos con aplicaciones externas


Componentes de integracin predefinidos Valor y descripcin
Funcionalidad de clase de definicin de Ninguno
estructura de objeto
Canal de publicacin MXSERVITEMInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de Ninguno
estructura de objeto
Servicio empresarial MXSERVITEMInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de parte de herramienta:

La estructura de objeto de MXTOOLITEM permite la sincronizacin bidireccional


de datos de parte de herramienta, incluidas especificaciones de parte de
herramienta.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de MoutToolItemProcess - Da soporte a la
estructura de objeto recuperacin de la hierarchypath para el
classstructureid de la parte.
Canal de publicacin MXTOOLITEMInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de MaxToolItemProcess - Si la transaccin
estructura de objeto entrante es una actualizacin de la parte y el
distintivo capitalizado de la parte ha
cambiado, se llama a un mtodo para
cambiar el estado capitalizado de la parte.

Integracin de datos con aplicaciones externas 75


Componentes de integracin predefinidos Valor y descripcin
Servicio empresarial MXTOOLITEMInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de inventario:

La estructura de objeto de MXINVENTORY permite la sincronizacin bidireccional


de datos de inventario (parte-almacn), incluidos los costes de inventario.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de MoutInvProcess - Establece el valor del
estructura de objeto campo ITEMTYPE a partir del objeto ITEM.
Canal de publicacin MXINVENTORYInterface
Reglas de proceso SKIPINVENTORY - Se salta el registro si su
ITEMTYPE est en el control de integracin
SKIPITEMTYPE.
Controles de integracin SKIPITEMTYPE

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de MaxInvProcess - Da soporte a cambios de
estructura de objeto estado.
Servicio empresarial MXINVENTORYInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de balance de inventario:

La estructura de objeto MXINVBAL permite la sincronizacin bidireccional de


datos de balance de inventario. La informacin de cambio de balance en esta
estructura de objeto es para el nivel inferior (ESTANTE o LOTE) dentro de la
aplicacin.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

76 Integracin de datos con aplicaciones externas


Componentes de integracin predefinidos Valor y descripcin
Funcionalidad de clase de definicin de MoutInvBalancesProcess - Establece el valor
estructura de objeto del campo ITEMTYPE a partir del objeto
ITEM.
Canal de publicacin MXINVBALInterface
Reglas de proceso SKIPINVBALITM - Se salta el registro si su
ITEMTYPE est en el control de integracin
SKIPITEMTYPE.
Controles de integracin SKIPITEMTYPE

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de MaxInvBalancesProcess - La estructura de
estructura de objeto objeto de saldo de existencias entrante llama
internamente al mtodo de ajuste de balance
actual y esto crea una transaccin financiera
CURBALADJ en INVTRANS.
Servicio empresarial MXINVBALInterface MXINVBALQInterface
- Un segundo servicio empresarial
configurado para la consulta de operacin.
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de distribuidor de partes:

La estructura de objeto MXINVVENDOR permite la sincronizacin bidireccional de


datos de parte-distribuidor.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de MoutInvVendorProcess - Establece el valor
estructura de objeto del campo ITEMTYPE a partir del objeto
ITEM y establece el valor de
CURRENCYCODE a partir del objeto de
distribuidor (empresas).
Canal de publicacin MXINVVENDORInterface
Reglas de proceso INVVITEMTYPE - Se salta el registro si su
ITEMTYPE est en el control de integracin
ITEMTYPEFORINV.
Controles de integracin ITEMTYPEFORINV

Integracin de datos con aplicaciones externas 77


Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de MaxInvVendorProcess - Si el mensaje
estructura de objeto entrante contiene un cdigo de moneda y
dicho cdigo se diferencia del cdigo de
moneda del distribuidor, se emite un error.
Servicio empresarial MXINVENDORInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de reserva de inventario:

La estructura de objeto de MXINVRES proporciona la sincronizacin bidireccional


de reservas de inventario (almacn). Esta estructura de objeto no procesa registros
de reserva de despacho directo cuestin directos creados por el sistema.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de MoutRSVProcess - Se salta reservas que son
estructura de objeto para despachos directos.
Canal de publicacin MXINVRESInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de Ninguno
estructura de objeto
Servicio empresarial MXINVRESInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de despachos de inventario:

La estructura de objeto MXINVISSUE proporciona la sincronizacin bidireccional


de despachos y devoluciones de inventario (almacn).

78 Integracin de datos con aplicaciones externas


Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de MoutISUProcess - Se salta reservas que son
estructura de objeto para despachos directos.
Canal de publicacin MXINVISSUEInterface - Filtra despachos
directos de forma que queden fuera de
MATUSETRANS (PONUM no tiene un valor
nulo e ISSUETYPE es ISSUE o RETURN)
porque los maneja la estructura de objeto de
recepciones (MXRECEIPTInterface). Filtra las
transacciones de varianza que el proceso de
aprobacin de factura graba en
MATUSETRANS.
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de MaxISUProcess - Si la accin proporcionada
estructura de objeto no es una accin Agregar, se genera una
excepcin. Valida ISSUETYPE para
garantizar que sea ISSUE, RETURN o nulo.
Si es algn otro valor, se emite un error. Si
es nulo, el valor se establece en ISSUE de
forma predeterminada.
Servicio empresarial MXINVISSUEInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objetos de documentos
La infraestructura de integracin proporciona una seleccin del contenido de
integracin predefinido para documentos, como registros de compra, facturas y
registros de rdenes de trabajo.

El campo STATUSIFACE y el proceso:

Todos los documentos de compra y de orden de trabajo tienen un estado. El campo


STATUSIFACE identifica si las transacciones relacionadas contienen registros
nuevos o actualizados o solamente cambios de estado.

En general, el campo STATUSIFACE se aplica a todos los subregistros de la


estructura de objeto creados a partir de los MBO con estado, que son MBO que
tienen un campo STATUS y admiten acciones de cambio de estado. El campo
STATUSIFACE se proporciona como un campo no persistente para aquellos objetos
en los que la integracin admite un cambio de estado.

Integracin de datos con aplicaciones externas 79


El campo STATUSIFACE y el proceso de salida

Durante el proceso de un subregistro de estructuras de objetos creado a partir de


un MBO con estado, el proceso de integracin de salida busca un campo STATUS
en el MBO y un campo STATUSIFACE en el subregistro de la estructura de objeto
correspondiente. Si existen ambos campos, el proceso establece el valor del campo
STATUSIFACE en el valor del atributo modificado para el campo STATUS
correspondiente. Un valor de 0 indica que no se ha modificado el estado. Un valor
de 1 indica que el estado se ha modificado.

Este proceso se aplica solamente a los mensajes de salida generados por eventos,
no a los mensajes exportados mediante la funcin de exportacin de datos o
mediante invocaciones programadas.

El campo STATUSIFACE y el proceso de entrada

Cuando se procesa una estructura de objeto en la que el MBO principal (el


superior) tiene estado, el proceso de entrada busca un campo STATUSIFACE en la
estructura de objeto correspondiente para determinar si el mensaje de entrada se
ha de procesar como una actualizacin de documentaos y un cambio de estado o
solamente como un cambio de estado.

La tabla siguiente describe el proceso de entrada utilizando estructuras de objetos


con un MBO con estado principal (superior). No se aplica a ningn MBO con
estado incluido como objeto de nivel inferior en una estructura de objeto.
Tabla 2. Acciones realizadas durante el proceso de entrada del campo STATUSIFACE
Valor de STATUSIFACE El documento existe en la base de El documento no existe en la base
datos de datos
No se proporciona, o 0 v Actualiza el documento en la base v Aade el documento a la base de
de datos datos
v Si el estado del documento de v Establece el estado en la base de
entrada es diferente del estado de datos al estado del mensaje de
la base de datos, actualiza el entrada
estado en la base de datos
1 Actualiza el estado de la base de Error
datos

Objeto de contratos de compra:

La estructura de objeto MXPC permite la sincronizacin bidireccional de


informacin de contratos de compra. Esta estructura de objeto slo soporta
actualmente los tipos de contratos de compra global y de precio.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

80 Integracin de datos con aplicaciones externas


Tabla 3. Componentes predefinidos de objetos de contratos de compra para procesamiento
de integracin saliente
Componentes de
integracin predefinidos Valor y descripcin
Funcionalidad de clase de MoutPCProcess - Se salta reservas que son para despachos
procesamiento de estructura directos.
de objeto
Canal de publicacin MXPCInterface - Utiliza reglas de proceso para que el
documento de contrato de compra completo slo se enve
para un cambio de estado.
Reglas de proceso 1. SKIPPC - Se salta el envo del documento si se cumplen
las dos condiciones siguientes:
v El documento no se ha enviado antes.
v El nuevo estado no figura en la lista en el control
PCSEND.
2. SKIPPCUPDATE - Se salta el envo del documento
cuando se actualiza pero el estado no cambia.
3. SETSTATUSIFACE - Establece el valor del campo
STATUSIFACE en 0 (falso) para todos los estados excepto
los que figuran en la lista del control PCSEND.
4. CHECKSTATUS - Slo enva los datos de cabecera del
contrato de compra si el estado cambia y el estado nuevo
no est en el control PCSEND. (En este caso, el
documento completo se ha enviado antes y ahora se est
enviando slo la notificacin de cambio de estado).
Controles de integracin PCSEND

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.
Tabla 4. Componentes predefinidos de objeto de contrato de compra para procesamiento
de integracin entrante
Componentes de
integracin predefinidos Valor y descripcin
Funcionalidad de clase de MaxPCProcess - Da soporte a cambios de estado. Crea una
procesamiento de estructura revisin nueva cuando el contrato de compra ya existe y la
de objeto revisin no. Slo soporta los tipos de contrato global y de
precio.
Canal de publicacin MXPCInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de solicitud de compra:

La estructura de objeto de MXPR permite la sincronizacin bidireccional de


informacin de solicitudes de compra y soporta cambios de estado.

Integracin de datos con aplicaciones externas 81


Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.
Tabla 5. Componentes predefinidos de objetos de solicitudes de compra para
procesamiento de integracin saliente
Componentes de
integracin predefinidos Valor y descripcin
Funcionalidad de clase de Ninguno
definicin de estructura de
objeto
Canal de publicacin MXPRInterface Utiliza las reglas de proceso. El documento
de solicitud de compra completo slo se enva para cambios
de estado.
Reglas de proceso 1. SKIPPR - Se salta el envo del documento si se cumplen
las dos condiciones siguientes:
v El documento no se ha enviado antes.
v El nuevo estado no figuran en la lista en el control
PRSEND.
2. SKIPPRUPDATE - Se salta el envo del documento
cuando se actualiza pero el estado no cambia.
3. SETSTATUSIFACE - Establece el valor del campo
STATUSIFACE en 0 (falso) para todos los estados excepto
los que figuran en la lista del control PRSEND.
4. CHECKSTATUS - Slo enva los datos de cabecera de la
solicitud de compra si el estado cambia y el estado nuevo
no est en el control PRSEND. (En este caso, el
documento completo se ha enviado antes y ahora se est
enviando slo la notificacin de cambio de estado).
Controles de integracin PRSEND

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.
Tabla 6. Componentes predefinidos de objetos de solicitudes de compra para
procesamiento de integracin entrante
Componentes de
integracin predefinidos Valor y descripcin
Funcionalidad de clase de MaxPRProcess - Da soporte a cambios de estado. Si el estado
procesamiento de estructura actual de la solicitud de compra es aprobado, para dar
de objeto soporte a las actualizaciones la clase de procesamiento
cambiar su estado a "en espera de aprobacin", realizar las
actualizaciones y luego su estado volver al que se identifica
en el mensaje XML.
Canal de publicacin MXPRInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

82 Integracin de datos con aplicaciones externas


Objeto de orden de compra:

La estructura de objeto de MXPO permite la sincronizacin bidireccional de


informacin de rdenes de compra y soporta cambios de estado.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.
Tabla 7. Componentes predefinidos de objeto de orden de compra para procesamiento de
integracin saliente
Componentes de
integracin predefinidos Valor y descripcin
Funcionalidad de clase de Ninguno
definicin de estructura de
objeto
Canal de publicacin MXPOInterface - Utiliza reglas de proceso, el documento de
orden de compra completo slo se enva para cambios de
estado.
Reglas de proceso 1. SKIPPO - Se salta el envo del documento si se cumplen
las dos condiciones siguientes:
v El documento no se ha enviado antes.
v El nuevo estado no figuran en la lista en el control
POSEND.
2. SKIPPOUPDATE - Se salta el envo del documento
cuando se actualiza pero el estado no cambia.
3. SETSTATUSIFACE - Establece el valor del campo
STATUSIFACE en 0 (falso) para todos los estados excepto
los que figuran en la lista del control POSEND.
4. CHECKSTATUS - Slo enva los datos de cabecera de la
orden de compra si el estado cambia y el estado nuevo no
est en el control POSEND. (En este caso el documento
completo se ha enviado antes y ahora se est enviando
slo la notificacin de cambio de estado).
Controles de integracin POSEND

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Integracin de datos con aplicaciones externas 83


Tabla 8. Componentes predefinidos de objeto de orden de compra para procesamiento de
integracin entrante
Componentes de
integracin predefinidos Valor y descripcin
Funcionalidad de clase de MaxPOProcess - da soporte a cambios de estado.
procesamiento de estructura
de objeto Si el estado actual de la orden de compra es aprobado, para
dar soporte a las actualizaciones, la clase de procesamiento
cambia su estado a "en espera de aprobacin", realiza las
actualizaciones y luego su estado vuelve al que se identifica
en el mensaje XML.

Canal de publicacin MXPOInterface


Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de factura:

La estructura de objeto de MXINVOICE permite la sincronizacin bidireccional de


informacin de facturacin y da soporte a los cambios de estado.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.
Tabla 9. Componentes predefinidos de objetos de factura para el proceso de integracin saliente
Componentes de integracin
predefinidos Valor y descripcin
Funcionalidad de clase de Ninguno
definicin de estructura de objeto
Canal de publicacin MXINVOICEInterface - Utiliza reglas de proceso, el documento de factura
completo slo se enva para cambios de estado.
Reglas de proceso 1. SKIPINVOICE - Se salta el envo del documento si se cumplen las dos
condiciones siguientes:
v El documento no se ha enviado antes.
v El nuevo estado no figuran en la lista en el control IVSEND.
2. SKIPINVIOCEUPDATE - Se salta el envo del documento cuando se
actualiza pero el estado no cambia.
3. SETSTATUSIFACE - Establece el valor del campo STATUSIFACE en 0
(falso) para todos los estados excepto los que figuran en la lista del control
IVSEND.
4. CHECKSTATUS - Slo enva los datos de cabecera de la factura si el estado
cambia y el estado nuevo no est en el control IVSEND. (En este caso el
documento completo se ha enviado antes y ahora se est enviando slo la
notificacin de cambio de estado).
Controles de integracin IVSEND

84 Integracin de datos con aplicaciones externas


Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Integracin de datos con aplicaciones externas 85


Tabla 10. Componentes predefinidos de objetos de factura para el proceso de integracin entrante
Componentes de integracin
predefinidos Valor y descripcin
Funcionalidad de clase de El proceso entrante crea y actualiza lneas de INVOICECOST slo si se cumple
procesamiento de estructura de una de las siguientes condiciones:
objeto v La lnea de factura no hace referencia a una lnea de orden de compra.
v La lnea de orden de compra correspondiente no tiene una distribucin.
v La lnea de orden de compra no hace referencia a un almacn.

En los dems casos, el proceso entrante ignora la informacin de


INVOICECOST cuando se crea o se actualiza la factura.

Si el mensaje entrante proporciona INVOICETERMS, el proceso entrante


suprime los trminos antiguos y agrega los nuevos.

De manera opcional, los usuarios pueden especificar una variacin de precio


en el campo PRICEVAR de cada lnea de factura, si la coincidencia de facturas
se realiza en el sistema externo y se envan las variaciones de precio
determinadas en el sistema externo para crear transacciones de variacin para
actualizar rdenes de trabajo y almacenes. Para poder procesar estas
variaciones, debe existir un valor para OWNERSYSID en la factura entrante y
no puede ser el mismo que el valor de MAXVARS.MXSYSID.

De manera opcional, los usuarios pueden especificar una variacin de precio


en el campo PRICEVAR de cada lnea de factura, si la coincidencia de facturas
se realiza en el sistema externo y se envan las variaciones de precio
determinadas en el sistema externo para crear transacciones de variacin para
actualizar rdenes de trabajo y almacenes. Para poder procesar estas
variaciones, debe existir un valor para OWNERSYSID en la factura entrante y
no puede ser el mismo que el valor de MAXVARS.MXSYSID.

El conmutador de colaboracin IVMATCH requiere los siguientes valores:


v El valor de OWNER1SYSID es siempre THISMX.
v El valor de OWNER2SYSID es el valor de INVOICE.OWNERSYSID.

Si la evaluacin es false, las variaciones de factura a nivel de lnea se ignoran


en el proceso de la factura.

Los escenarios tpicos para utilizar la interfaz de factura son los siguientes:
v Coincidencia de facturas en el sistema (AP saliente): las facturas recibidas de
terceros, ya sea de forma electrnica o manual, se procesan en el sistema; es
decir, se comparan con las recepciones, si es aplicable, y se aprueban. De
manera alternativa, los programas de pagos creados en el sistema
provocarn la creacin de facturas aprobadas basndose en el programa.
Estas facturas aprobadas generarn el envo de un aviso de pago a un
sistema AP externo. El proceso de coincidencia tambin hace que se
publiquen las entradas de contabilidad en el libro mayor general.
v Coincidencia de facturas en el sistema externo (variaciones entrantes): el
sistema no realiza la facturacin, pero acepta las facturas que coinciden de
sistemas externos y aplica las variaciones de nuevo a las rdenes de trabajo
correspondientes, los almacenes, etc. Las entradas de contabilidad
relacionadas con los acreedores y/o las variaciones deben registrarse en el
sistema externo; no se enviarn fuera.

El principal objetivo de esta interfaz es proporcionar al sistema la informacin


de variaciones necesaria para actualizar los costes de orden de trabajo.
Canal de publicacin MXINVOICEInterface
Reglas de proceso Ninguno

86 Integracin de datos con aplicaciones externas


Tabla 10. Componentes predefinidos de objetos de factura para el proceso de integracin entrante (continuacin)
Componentes de integracin
predefinidos Valor y descripcin
Controles de integracin Ninguno

La tabla siguiente muestra un ejemplo de los valores posibles de


INVOICE.OWNERSYSID, la evaluacin que se genera y el resultado
predeterminado de la evaluacin.
Tabla 11. Ejemplo de evaluacin
Valor de Resultado
INVOICE.OWNERSYSID Evaluacin (predet.)
Nulo OWNER1SYSID=THISMX y OWNER2SYSID=THISMX False
MXSYSID OWNER1SYSID=THISMX y OWNER2SYSID=THISMX False
EXTSYSID OWNER1SYSID=THISMX y OWNER2SYSID=EXT True
Cualquier otro valor OWNER1SYSID=THISMX y OWNER2SYSID=EXT True

Reglas de proceso salientes para interfaces de rdenes de trabajo:

A diferencia de las interfaces de documentos de compras, las interfaces de


documentos de rdenes de trabajo no tienen el campo STATUSIFACE y no envan
notificaciones de cambio de estado. Primero se enva una interfaz de documentos
de rdenes de trabajo cuando el estado de una orden de trabajo cambia a
WOSTART y en cada actualizacin posterior, independientemente del estado de la
orden de trabajo.

Los usuarios pueden configurar el valor inicial en el control de WOSTART.


Cualquier estado que especifique en el control es el valor, no MAXVALUE. Si
existen varios valores sinnimos para un estado, liste todos los sinnimos
aplicables.

Objeto de orden de trabajo:

La estructura de objeto MXWO permite la sincronizacin bidireccional de


informacin de rdenes de trabajo y soporta cambios de estado.

Finalidad

El sistema enva en primer lugar una orden de trabajo cuando alcanza el estado en
el control WOSTART y luego en todas las actualizaciones posteriores. Siempre se
enva el documento de orden de trabajo entero.

La interfaz de orden de trabajo contiene toda la informacin definida por el


sistema en la orden de trabajo, pero no proporciona informacin adicional sobre los
proyectos, los datos de control financiero, el equipo ni las ubicaciones que no
forma parte de la orden de trabajo estndar. Si es necesario, puede agregar
informacin adicional median te los campos de usuario.

El sistema trata las tareas de orden de trabajo como rdenes de trabajo. Tienen
propiedades similares y se almacenan en la misma tabla. Si un usuario crea una
orden de trabajo, agrega rdenes de trabajo de tareas/nivel inferior a la orden de
trabajo y, a continuacin, aprueba la orden de trabajo. El distintivo Heredar
cambios de estado en la orden de trabajo indica si al aprobar la orden de trabajo
Integracin de datos con aplicaciones externas 87
tambin se aprueban todas sus rdenes de trabajo de tareas/nivel inferior. El valor
predeterminado es Y (s), por lo que, al aprobar una orden de trabajo, tambin se
aprueban todas las tareas u rdenes de trabajo de nivel inferior que heredan la
aprobacin del nivel superior basndose en este distintivo.

La escucha de evento saliente en el MBO de orden de trabajo recibe varios eventos


independientes, uno para cada orden de trabajo, los cuales se procesan y envan de
forma independiente. Por lo tanto, una orden de trabajo con tres tareas y dos
rdenes de trabajo de nivel inferior resulta en seis rdenes de trabajo salientes
independientes.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.
Tabla 12. Componentes predefinidos de objeto de orden de trabajo para procesamiento de
integracin saliente
Componentes de
integracin predefinidos Valor y descripcin
Funcionalidad de clase de Ninguno
definicin de estructura de
objeto
Canal de publicacin MXWOInterface - Utiliza reglas de proceso; el documento de
orden de trabajo completo nicamente se enva para cambios
de estado.
Reglas de proceso SKIPWO Se salta el envo del documento si se cumplen las
dos condiciones siguientes:
v El documento no se ha enviado antes.
v El nuevo estado no figura en la lista en el control
WOSTART.
Controles de integracin WOSTART

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.
Tabla 13. Componentes predefinidos de objeto de orden de trabajo para procesamiento de
integracin entrante
Componentes de
integracin predefinidos Valor y descripcin
Funcionalidad de clase de StatefulMicSetIn - Clase genrica que da soporte a cambios
procesamiento de estructura de estado.
de objeto
Canal de publicacin MXWOInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

88 Integracin de datos con aplicaciones externas


Objeto de detalles de la orden de trabajo:

La estructura de objeto MXWODETAIL permite la sincronizacin bidireccional de


informacin de rdenes de trabajo, incluido el material planeado, la mano de obra,
el servicio y las herramientas.

Finalidad

El sistema enva en primer lugar una orden de trabajo cuando alcanza el estado en
el control WOSTART y luego en todas las actualizaciones posteriores. Siempre se
enva el documento de orden de trabajo entero.

La relacin de MBO que se utiliza para recuperar la reserva de MBO


(INVRESERVE) es diferente de la relacin que se utiliza en la aplicacin
Seguimiento de rdenes de trabajo. Por lo tanto, el atributo modificado en el XML
no es establece para ningn valor de este MBO.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.
Tabla 14. Componentes predefinidos de objeto de detalle de orden de trabajo para
procesamiento de integracin saliente
Componentes de
integracin predefinidos Valor y descripcin
Funcionalidad de clase de MoutWORsvProcess - Proporciona el cdigo necesario para
definicin de estructura de actualizar la columna sendersysid en el MBO invreserve.
objeto
Canal de publicacin MXWODETAILInterface - Utiliza reglas de proceso; el
documento de orden de trabajo completo con informacin del
plan nicamente se enva para cambios de estado.
Reglas de proceso SKIPWO - Se salta el envo del documento si se cumplen las
dos condiciones siguientes:
v El documento no se ha enviado antes.
v El nuevo estado no figura en la lista en el control
WOSTART.
Controles de integracin WOSTART

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.
Tabla 15. Componentes predefinidos de objeto de detalle de orden de trabajo para
procesamiento de integracin entrante
Componentes de
integracin predefinidos Valor y descripcin
Funcionalidad de clase de Ninguno
procesamiento de estructura
de objeto
Canal de publicacin Ninguno
Reglas de proceso Ninguno

Integracin de datos con aplicaciones externas 89


Tabla 15. Componentes predefinidos de objeto de detalle de orden de trabajo para
procesamiento de integracin entrante (continuacin)
Componentes de
integracin predefinidos Valor y descripcin
Controles de integracin Ninguno

Objeto de jerarqua de orden de trabajo:

La estructura de objeto MXWOHIER permite la sincronizacin bidireccional de


informacin de rdenes de trabajo, incluidas las rdenes de trabajo de nivel
inferior, y tambin soporta cambios de estado. El sistema enva en primer lugar
una orden de trabajo cuando alcanza el estado en el control WOSTART y luego en
todas las actualizaciones posteriores. Siempre se enva el documento de orden de
trabajo entero.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.
Tabla 16. Componentes predefinidos de objeto de jerarqua de orden de trabajo para
procesamiento de integracin saliente
Componentes de
integracin predefinidos Valor y descripcin
Funcionalidad de clase de Ninguno
definicin de estructura de
objeto
Canal de publicacin MXWOHierInterface - Contiene una clase de filtro de
eventos, WOHierarchyEventFilter, que evita que los MBO de
nivel inferior se enven cuando se estn enviando por medio
de un MBO de nivel superior (donde tanto padre los MBO de
nivel superior como los de nivel inferior son iniciados por la
misma accin de evento).
Reglas de proceso SKIPWO - Se salta el envo del documento si se cumplen las
dos condiciones siguientes:
v El documento no se ha enviado antes.
v El nuevo estado no figura en la lista en el control
WOSTART.
Controles de integracin WOSTART

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.
Tabla 17. Componentes predefinidos de objeto de jerarqua de orden de trabajo para
procesamiento de integracin entrante
Componentes de
integracin predefinidos Valor y descripcin
Funcionalidad de clase de MaxWOHierarchyProcess - Soporta cambios de estado y
procesamiento de estructura confirma el proceso para dar soporte a la carga de varias
de objeto rdenes de trabajo relacionadas en un solo mensaje.

90 Integracin de datos con aplicaciones externas


Tabla 17. Componentes predefinidos de objeto de jerarqua de orden de trabajo para
procesamiento de integracin entrante (continuacin)
Componentes de
integracin predefinidos Valor y descripcin
Canal de publicacin MXWOHierInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objetos de la interfaz de transacciones


La infraestructura de integracin proporciona una seleccin del contenido de
integracin predefinido para objetos de la interfaz de transacciones, como recibos,
transacciones de libro mayor, informes de tiempo de mano de obra y lecturas de
medidores.

Objeto de recepciones para materiales y servicios:

La estructura de objeto de MXRECEIPT permite la sincronizacin bidireccional de


informacin de recepcin de rdenes de compra de recepciones de materiales y
servicios y tambin y soporta cambios de estado. La estructura de objeto utiliza un
objeto no persistente para dar soporte a las recepciones de materiales
(MATRECTRANS) y servicios (SERVRECTRANS).

Finalidad

En la direccin de salida, esta estructura de objeto procesa las recepciones de


rdenes de compra, las transferencias (movimientos en recepciones o recepciones
de OC internas) y las devoluciones (devoluciones a proveedores despus de la
inspeccin de recepcin o devoluciones a proveedores despus de movimientos de
aceptacin y artculos desde la ubicacin que realiza la inspeccin).

Para las recepciones que requieren inspeccin, el campo definido por el usuario
INSPECTED indica si la lnea de recepcin se ha inspeccionado en el sistema
externo. La interfaz no procesa las transferencias de forma independiente. Cada
transferencia se asocia con una recepcin.

No tiene que especificar si una recepcin de entrada es una recepcin de material o


una recepcin de servicio. El proceso de integracin utiliza POLINE para realizar la
determinacin.

Todas las cantidades, incluidas las cantidades de devolucin, deben ser positivas.

Los dos tipos de registros de transferencias se pueden identificar mediante los


valores siguientes en el campo RECEIPTREFID:
v Nulo: una recepcin en una orden de compra interna
v No nulo: un movimiento en una recepcin

No especifique un valor RECEIPTFREF para devoluciones. Las devoluciones se


procesan independientemente de la recepcin correspondiente.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Integracin de datos con aplicaciones externas 91


Tabla 18. Componentes predefinidos del objeto de recepciones para el proceso de integracin de salida
Componentes de
integracin
predefinidos Valor y descripcin
Funcionalidad de clase MoutProcess: procesa las recepciones con un tipo de despacho de RECEIPT o RETURN. Si
de definicin de no se especifica un tipo de despacho, se trata como RECEIPT.
estructura de objeto
Proceso para el tipo de despacho RECEIPT y Se requiere inspeccin = N:

Recepcin de materiales y servicios:


v Utiliza RECEIPTQUANTITY de entrada (para recepciones de materiales) o
QTYTORECEIVE (para recepciones de servicios) para crear la recepcin.
v Correlaciona REJECTEDQTY de entrada con el campo REJECTEDQTY de la recepcin.
v Ignora las otras cantidades.
v No busca en el campo INSPECTED de entrada.

Recepciones de materiales (registros MATRECTRANS):


v Solamente enva registros de tipo RECEIPT y RETURN y registros de tipo TRANSFER
que contienen un PONUM (no una transferencia de almacn). Enva solamente
recepciones nuevas, no actualizaciones a las recepciones existentes.

Recepciones de servicio (registros SERVRECTRANS):


v Enva registros de tipo RECEIPT y RETURN. Enva nuevas recepciones y actualizaciones
a las recepciones existentes.
Canal de publicacin MXRECEIPTInterface
Reglas de proceso Recepciones de servicios:

Enva registros cuando el estado es igual a un valor en el control SERVRECSTAT (valor


predeterminado COMP). Esto sucede bajo las condiciones siguientes:
v Se inserta un registro que no requiere inspeccin.
v Se actualiza un registro existente en la base de datos y el campo estado se modifica a
COMP.
Controles de El control SERVRECSTAT identifica todos los estados en los que el sistema enviar las
integracin transacciones de recepcin de servicio. Puede tener mltiples valores. De forma
predeterminada, el valor es COMP.

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

92 Integracin de datos con aplicaciones externas


Tabla 19. Componentes predefinidos del objeto de recepciones para el proceso de integracin de entrada
Componentes de integracin
predefinidos Valor y descripcin
Funcionalidad de clase de MaxRCVProcess -
procesamiento de estructura de
objeto Proceso para el tipo de despacho RECEIPT y Se requiere inspeccin = Y:

Recepciones de materiales:

INSPECTED = N:
v Utiliza solamente el campo RECEIPTQUANTITY de entrada para crear la
recepcin; ignora los valores de cantidad aceptados y rechazados.
v Crea una recepcin con STATUS = WINSP (en espera de inspeccin) y una
cantidad derivada de RECEIPTQUANTITY.

INSPECTED = Y:
v Utiliza los campos RECEIPTQUANTITY, ACCEPTEDQTY y REJECTEDQTY
de entrada para crear la recepcin.
v No permite las inspecciones o aceptaciones parciales. RECEIPTQUANTITY
debe ser igual a ACCEPTEDQTY + REJECTEDQTY.
v Crea una recepcin con STATUS = WASSET (si es una parte rotativa) o
COMP (todas las otras partes).
v En funcin de las cantidades especificadas, puede crear un mximo de tres
transacciones, una RECEIPT, una TRANSFER y una RETURN.

Recepciones de servicios:

INSPECTED = N:
v Utiliza AMTTORECEIVE de entrada (si la cantidad de pedido POLINE es
nulo) o QTYTORECEIVE (en los otros casos) para crear una recepcin.
Ignora todos los otros valores de cantidades.
v Crea una recepcin con STATUS = WINSP (en espera de inspeccin) y una
cantidad derivada de QTYTORECEIVE.

INSPECTED = Y:
v Utiliza los campos QTYTORECEIVE, ACCEPTEDQTY y REJECTEDQTY
para crear una recepcin.
v No permite las inspecciones o aceptaciones parciales. QTYTORECEIVE debe
ser igual a ACCEPTEDQTY + REJECTEDQTY.
v Crea una transaccin individual de tipo RECEIPT, con STATUS = COMP.

Proceso para el tipo de despacho RETURN:

Recepcin de materiales y servicios:


v Acepta transacciones de devolucin para una POLINE solamente si ha
habido una recepcin anterior para la misma lnea. Si Se requiere inspeccin
es igual a Y para POLINE, la recepcin debe haber sido aprobada. De lo
contrario, informa acerca de un error.
v Utiliza solamente la RECEIPTQUANTITY de entrada (para las recepciones
de materiales) o QTYTORECEIVE (para las recepciones de servicios) para
crear la recepcin; ignora todos los otros valores de cantidades.
v Crea una sola transaccin con el tipo de despacho RETURN y la cuenta del
LM de crdito como la cuenta RBNI.
Canal de publicacin MXRECEIPTInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Integracin de datos con aplicaciones externas 93


Objeto de recepcin de partes rotativas y materiales:

La estructura de objeto de MXRCVROTITM permite la sincronizacin entrante de


la informacin de recepcin de las partes, incluidas las partes rotativas.

Finalidad

Esta estructura de objeto slo da soporte al proceso entrante.

Esta interfaz no permite especificar un estado para la recepcin; el estado siempre


se supone que es COMP.

Esta interfaz vara de MXRECEIPTInterface en que slo procesa recepciones de


material y permite identificar activos rotativos serializados en el caso de las
recepciones de partes rotativas.

Puede recibir partes rotativas con o sin nmeros de activos. Si las recibe sin
nmeros de activos, debe especificar manualmente los nmeros de activo
utilizando el cuadro de dilogo Recibir partes rotativas en la aplicacin Recepcin
de compras.

Para las partes rotativas, el nmero de transacciones entrantes es uno ms que el


nmero de partes rotativas. Existe una transaccin para la cantidad de recepcin
total y una transaccin para cada parte rotativa asociada con la recepcin. Por
ejemplo, una recepcin de diez partes rotativas produce once transacciones.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.
Tabla 20. Componentes predefinidos de objetos de recepcin de partes rotativas y materiales para el proceso de
integracin saliente
Componentes de integracin
predefinidos Valor y descripcin
Funcionalidad de clase de Ninguno
definicin de estructura de objeto
Canal de publicacin Ninguno
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

94 Integracin de datos con aplicaciones externas


Tabla 21. Componentes predefinidos de objetos de recepcin de partes rotativas y materiales para el proceso de
integracin entrante
Componentes de integracin
predefinidos Valor y descripcin
Funcionalidad de clase de MaxRcvRotItmMProcess - Notifica un error si la lnea de orden de compra que
procesamiento de estructura de se est procesando tiene LINETYPE = SERVICE o STDSERVICE.
objeto
El proceso es el mismo que la funcionalidad de la clase de proceso del punto
de integracin entrante para las recepciones de material utilizando
MXRECEIPTInterface, con el siguiente proceso adicional:
v Recepciones: si la lnea de detalle es una parte rotativa y Se requiere
inspeccin = N, o INSPECTED = Y, el proceso comprueba la informacin de
activos correspondiente a la parte proporcionada en la interfaz. Si la
informacin est disponible, el proceso valida el nmero de registros de
activos para comprobar que es igual a RECEIPTQTY o ACCETPTEDQTY
(segn corresponda). Si es igual, invoca la funcionalidad de recepcin y crea
el activo si sea necesario.
v Devoluciones: si la parte que se est devolviendo es una parte rotativa,
ignora la informacin del activo.

En el sistema, la devolucin de una parte de tipo rotativo no afecta a los


activos creados por la recepcin original. Los registros de activos permanecen
sin cambiar; slo se actualizan los balances de partes (si procede).
Canal de publicacin MXRCVROTITMInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de libro mayor (LM):

La estructura de objeto de MXGLTXN permite la sincronizacin saliente de


transacciones de LM. Esta interfaz permite la publicacin de transacciones a nivel
de planta en una aplicacin de libro mayor general externa para garantizar la
reconciliacin de contabilidad.

Finalidad

Esta interfaz utiliza un MBO no persistente con datos de los siguientes


subregistros:
v TRANSRECSERV
v TRANSRECMAT
v INVTRANS
v TRANSFACTURA
v TRANSUSMAT
v LABTRANS
v TOOLSTRANS

Se utiliza la clase de filtro de eventos, GLEventFilter, para establecer los eventos en


los objetos persistentes aplicables de la lista.

El campo SOURECEMBO identifica la tabla de base de datos en la que se originan


las transacciones. Su valor se deriva del dominio de sinnimos GLSOURCEMBO.

Integracin de datos con aplicaciones externas 95


Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.
Tabla 22. Componentes predefinidos de objetos de libro mayor general para el proceso de integracin saliente
Componentes de
integracin
predefinidos Valor Descripcin
Funcionalidad de MoutGLProcess - Las recepciones de servicios incluyen las siguientes entradas:
clase de Recepciones de v Entradas de contabilidad de las recepciones de servicio no distribuidas creadas por la
definicin de servicios aplicacin de recepcin para los servicios solicitados en las rdenes de compra
estructura de (ISSUETYPE = RECEIPT, COSTINFO=1)
objeto
v Entradas de contabilidad de las recepciones de servicio distribuidas creadas por la
aplicacin de recepcin para los servicios solicitados en las rdenes de compra
(ISSUETYPE = POCOST)
v Entradas de contabilidad de los servicios de orden de compra con Recibo Requerido
= N que se facturan directamente, en lugar de recibirse (ISSUETYPE = INVOICE)
v Entradas de contabilidad de los servicios que no se comparan con las rdenes de
compra y se facturan directamente (ISSUETYPE = INVOICE)
v Transacciones de variacin de factura registradas comparadas con las recepciones de
servicio (ISSUETYPE = INVOICE)

El proceso de las recepciones de servicio (SERVRECTRANS):


v Establece SOURCEMBO en SERVRECTRANS e ISSUETYPE en el valor listado.
v Transacciones de tipo INVOICE: enva las transacciones durante la insercin.
v Transacciones de tipo POCOST y RECEIPT: si Se requiere inspeccin = N para la
POLINE correspondiente, enva las transacciones durante la insercin. Si Se requiere
inspeccin = Y, enva las transacciones cuando el estado cambia a COMP.

96 Integracin de datos con aplicaciones externas


Tabla 22. Componentes predefinidos de objetos de libro mayor general para el proceso de integracin
saliente (continuacin)
Componentes de
integracin
predefinidos Valor Descripcin
MoutGLProcess - Las recepciones de materiales incluyen las siguientes entradas:
Recepciones de v Entradas de contabilidad de las recepciones de material no distribuidas creadas por
materiales la aplicacin de recepcin para las partes/herramientas solicitadas en las rdenes de
compra (ISSUETYPE = RECEIPT, COSTINFO=1)
v Entradas de contabilidad de las recepciones de material distribuidas creadas por la
aplicacin de recepcin para las partes/herramientas solicitadas en las rdenes de
compra (ISSUETYPE = POCOST)
v Entradas de contabilidad de las transferencias de partes entre almacenes (ISSUETYPE
= TRANSFER y PONUM=NULL)
v Entradas de contabilidad de las transferencias de inspeccin de recepciones de las
partes entre el almacn de inspeccin de recepciones y el almacn de lneas de orden
de compra (ISSUETYPE = TRANSFER, RECEIPTREF!=NULL y PONUM!=NULL)
v Entradas de contabilidad de las recepciones comparadas con las rdenes de compra
internas (ISSUETYPE = TRANSFER, RECEIPTREF=NULL y PONUM!=NULL)
v Entradas de contabilidad para la devolucin de partes y materiales de mercaderas de
inspeccin de recepcin (ISSUETYPE = RETURN)
v Entradas de contabilidad para la devolucin al distribuidor desde un almacn o
lneas de orden de compra de despacho directo (ISSUETYPE = RETURN)
v Transacciones de variacin de factura registradas comparadas con las recepciones de
material (ISSUETYPE = INVOICE)
v Transaccin de contabilidad para aumentar el valor de cuenta de control
INVENTORY de la parte del kit cuando se crean los kits (ISSUETYPE = KITMAKE).
Las transacciones para aumentar la cuenta de control INVENTORY de cada parte
constituyente de un kit cuando se desarma un kit (ISSUETYPE = KITBREAK)

El proceso de recepciones de materiales (TRANSRECMAT):


v Establece SOURCEMBO en MATRECTRANS e ISSUETYPE en el valor listado.
v Enva transacciones de tipo INVOICE, RECEIPT, TRANSFER, RETURN, KITMAKE y
KITBREAK durante la insercin.
v Para las transacciones de tipo POCOST durante la insercin si el estado es COMP (es
decir, durante la insercin si Se requiere inspeccin = N y cuando el estado cambia a
COMP si Se requiere inspeccin = Y).
MoutGLProcess - Las transacciones de ajuste de inventario incluyen las siguientes entradas:
Transacciones de v Ajustes de balance actual de inventario (ITTYPE = CURBALADJ)
ajuste de inventario
v Ajustes de coste estndar/promedio de inventario (ITTYPE = STDCOSTADJ/
AVGCOSTADJ)
v Diferencia de costes cuando se desarma un kit y existe una diferencia entre el valor
del kit y la suma de los valores de los componentes del kit (ITTTYPE =
KITCOSTVAR)
v Reconciliacin de recuento fsico (ITTYPE = RECBALADJ)
v Ajuste de coste capitalizado (ITTYPE = CAPCSTADJ)
v Ajuste de recepcin de coste estndar (ITTYPE = STDRECADJ)

El proceso de ajuste de inventario (INVTRANS):


v Establece SOURCEMBO en INVTRANS e ITTYPE en el valor listado.
v No enva transacciones con ITTTYPE = INSERTITEM, CREATEASSET y PHYSCNT,
ya que se consideran registros de auditora en lugar de transacciones de contabilidad.
v Enva las dems transacciones durante la insercin.

Integracin de datos con aplicaciones externas 97


Tabla 22. Componentes predefinidos de objetos de libro mayor general para el proceso de integracin
saliente (continuacin)
Componentes de
integracin
predefinidos Valor Descripcin
MoutGLProcess - Las transacciones de factura incluyen las siguientes transacciones creadas por
Transacciones de aprobacin de factura:
factura v Transaccin TOTAL de factura (cantidad a pagar al distribuidor de la factura,
TRANSTYPE = TOTAL)
v Transacciones de impuesto de lnea de factura (cantidad de impuestos de cada cdigo
TAX para una lnea de factura, TRANSTYPE = TAX1:TAX5)
v Transaccin de variacin de moneda de factura (TRANSTYPE = CURVAR)
v Transacciones de variacin de precio de factura (TRANSTYPE = INVCEVAR)

El proceso de transaccin de factura (INVTRANS):


v Establece SOURCEMBO en INVOICETRANS y TRANSTYPE en el valor listado.
v Enva todas las transacciones cuando se crean.
MoutGLProcess - Las transacciones de despacho y devolucin de materiales incluyen las siguientes
Transacciones de entradas:
despacho y v Entradas de contabilidad para las partes despachadas desde un almacn en el sistema
devolucin de (ISSUETYPE = ISSUE)
materiales
v Entradas de contabilidad para las partes devueltas a un almacn (ISSUETYPE =
RETURN)

El proceso de despacho y devolucin de materiales (TRANSRECMAT):


v Establece SOURCEMBO en MATUSETRANS e ISSUETYPE en el valor listado.
v No enva las transacciones de despacho directo que crean las variaciones de
factura/recepcin de OP en MATUSETRANS, cuando se contabilizan en
MATRECTRANS. Identifica este tipo de transacciones por su PONUM, de forma que
la interfaz no enva todas las transacciones de MATUSETRANS que tengan una
referencia de OP.
v Enva las dems transacciones en el momento de la creacin.
MoutGLProcess - El proceso de transacciones de mano de obra (LABRTRANS):
Transacciones de v Establece SOURCEMBO en LABTRANS.
mano de obra
v Si no se necesita la aprobacin, enva los consumos reales de mano de obra en las
rdenes de trabajo durante la insercin.
v Si se necesita la aprobacin, enva la transaccin una vez aprobada (cuando
GENAPPSERVRECEIPT es Y).
MoutGLProcess - El proceso de transacciones de herramientas (TOOLTRANS):
Transacciones de v Establece SOURCEMBO en TOOLTRANS.
herramientas
v Enva el uso de las herramientas en las rdenes de trabajo durante la creacin de
TOOLTRANS
Canal de MXGLTXNInterface
publicacin
Reglas de proceso SKIPGL Omite el envo de la transaccin de libro mayor general basndose en el valor del
SOURCEMBO existente en el control GLSOURCE.
Controles de GLSOURCE
integracin

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

98 Integracin de datos con aplicaciones externas


Tabla 23. Componentes predefinidos de objetos de libro mayor general para el proceso de integracin entrante
Componentes de integracin
predefinidos Valor y descripcin
Funcionalidad de clase de Ninguno
procesamiento de estructura de
objeto
Canal de publicacin Ninguno
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de informe del tiempo de mano de obra:

La estructura de objeto MXEMPACT permite la publicacin a nivel de planta del


tiempo real notificado en el sistema para aplicaciones externas. Los consumos
reales aprobados de mano de obra se envan, y todos los consumos actuales de
mano de obra de entrada se aceptan, independientemente de su estado. El estado
de los registros existentes no se actualiza al procesar transacciones de entrada.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.
Tabla 24. Componentes predefinidos de objeto de informe del tiempo de mano de obra para procesamiento de
integracin saliente
Componentes de
integracin
predefinidos Valor y descripcin
Funcionalidad de clase Ninguno
de definicin de
estructura de objeto
Canal de publicacin MXEMPACTInterface
Reglas de proceso SKIPEMPACT - Se salta el envo del pago de mano de obra (LABTRANS) si no se ha
aprobado la transaccin (GENAPPRSERVRECEIPT = 0).
Controles de
integracin

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.
Tabla 25. Componentes predefinidos de objeto de informe del tiempo de mano de obra para procesamiento de
integracin entrante
Componentes de integracin
predefinidos Valor y descripcin
Funcionalidad de clase de MaxEmpactProcess - nicamente permite acciones Agregar. Las acciones con
procesamiento de estructura de valor nulo se procesan como acciones Agregar. LABTRANSID no se puede
objeto pasar con ningn valor porque el programa lo genera durante la accin
Agregar.
Canal de publicacin MXEMPACTInterface

Integracin de datos con aplicaciones externas 99


Tabla 25. Componentes predefinidos de objeto de informe del tiempo de mano de obra para procesamiento de
integracin entrante (continuacin)
Componentes de integracin
predefinidos Valor y descripcin
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de lectura de medidor:

La estructura de objeto MXMETERDATA permite la sincronizacin entrante de los


datos de lectura de medidor. Esta estructura de objeto slo da soporte al proceso
entrante. La interfaz no da soporte al proceso de lecturas de medidor de tareas de
orden de trabajo.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.
Tabla 26. Componentes predefinidos de objetos de lectura de medidor para el proceso de integracin saliente
Componentes de
integracin
predefinidos Valor y descripcin
Funcionalidad de clase Ninguno
de definicin de
estructura de objeto
Canal de publicacin Ninguno
Reglas de proceso Ninguno
Controles de Ninguno
integracin

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

100 Integracin de datos con aplicaciones externas


Tabla 27. Componentes predefinidos de objetos de lectura de medidor para el proceso de integracin entrante
Componentes de integracin
predefinidos Valor y descripcin
Funcionalidad de clase de MaxMeterDataProcess - La clase de proceso comprueba que se proporcionen
procesamiento de estructura de los siguientes atributos:
objeto v ID de planta
v Activo o ubicacin
v ID de medidor o punto de supervisin de condiciones
v Valor de lectura de medidor, hora y fecha de lectura, inspector

Cuando se especifica una orden de trabajo, se produce el siguiente proceso:


v Si se especifica un punto de medida, la clase de proceso identifica el
medidor de activo o ubicacin correspondiente a la planta y al punto de
medida, y crea una lectura de medidor para el medidor de activo o
ubicacin.
v Si se especifica un medidor, debe especificarse el activo o la ubicacin. Si se
especifican ambos, la clase de proceso supone que el medidor pertenece al
activo y procesa el medidor segn corresponda. Si slo se especifica el
activo o la ubicacin, se actualiza el medidor en la entidad correspondiente.

Si no se especifica una orden de trabajo, se produce el siguiente proceso:


v Si se especifica un punto de medida, se registra la lectura del punto de
medida.
v Si se especifica un medidor, debe especificarse el activo o la ubicacin. Si se
especifican ambos, la clase de proceso supone que el medidor pertenece al
activo y procesa el medidor segn corresponda. Si slo se especifica el
activo o la ubicacin, se actualiza el medidor en la entidad correspondiente.
Canal de publicacin MXMETERInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objetos del sistema


Los objetos del sistema son MBO que suelen utilizarse para la configuracin de la
aplicacin o de metadatos. La actualizacin de datos utilizando objetos del sistema
puede requerir actividades de postprocesamiento especficas, como por ejemplo la
reconfiguracin de la base de datos.

Se aplican las restricciones siguientes al uso de servicios empresariales, canales de


publicacin y estructuras de objeto:
v No puede habilitar escuchas para canales de publicacin.
v No puede procesar interfaces del sistema por medio de tablas de interfaz o
archivos sin formato.
v Debe especificar un cdigo de accin en interfaces de sistema entrantes.

Objeto de estructuras de objeto:

La estructura de objeto de MXINTOBJECT permite la sincronizacin entrante de la


definicin de estructuras de objeto, incluidos alias de columna. Las validaciones de
sistema que se aplican a usuarios que agregan, suprimen y modifican estructuras
de objeto predefinidas se aplican a la modificacin de estructuras de objeto
mediante el servicio de estructura de objeto Estructura de objeto.

Integracin de datos con aplicaciones externas 101


Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de servicio empresarial:

La estructura de objeto de MXENTSRV permite la sincronizacin entrante de la


definicin de servicios empresariales y sus correspondientes reglas de proceso y
valores de control.

Requisito previo

Antes de la creacin de servicios empresariales, asegrese de que todos los


controles utilizados por el servicio empresarial exista.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

102 Integracin de datos con aplicaciones externas


Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de canal de publicacin:

La estructura de objeto de MXIFACEOUT permite la sincronizacin entrante de la


definicin de canales de publicacin y sus correspondientes reglas de proceso y
valores de control. Antes de la creacin de canales de publicacin, asegrese de
que todos los controles utilizados por el canal de publicacin exista.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de punto final:

La estructura de objeto de MXENDPOINT permite la sincronizacin entrante de la


definicin de puntos finales.

Integracin de datos con aplicaciones externas 103


Requisito previo

Antes de la creacin de puntos finales, asegrese de que existan manejadores


utilizados por puntos finales.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de sistema externo:

La estructura de objeto de MXEXTSYSTEM permite la sincronizacin entrante de la


definicin de un sistema externo, los servicios empresariales y los canales de
publicacin utilizados por el sistema externo y sus valores de control.

Requisito previo

Antes de la creacin de sistemas externos, asegrese de que todos los servicios


empresariales, canales de publicacin, puntos finales y controles utilizados por el
sistema externo existan.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno

104 Integracin de datos con aplicaciones externas


Componentes de integracin predefinidos Valor y descripcin
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de control de integracin:

La estructura de objeto de MXIFACECONTROL permite la sincronizacin entrante


de controles de integracin y sus valores predeterminados a nivel de sistema.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de canal de invocacin:

La estructura de objeto de MXIFACEINVOKE permite la sincronizacin entrante de


una definicin de canal de invocacin.

Integracin de datos con aplicaciones externas 105


Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de cola de integracin:

La estructura de objeto de MXQUEUE permite la sincronizacin entrante de


definiciones de colas de integracin.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A

106 Integracin de datos con aplicaciones externas


Componentes de integracin predefinidos Valor y descripcin
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de definicin de mensaje:

La estructura de objeto de MXMESSAGE permite la sincronizacin entrante de


mensajes de error y de aviso del sistema.

Requisito previo

Adems de los nuevos mensajes agregados mediante esta estructura de objeto, el


archivo messages.xml se debe actualizar con el texto de mensaje correspondiente.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de configuracin de MBO:

La estructura de objeto MXOBJECTCFG permite la sincronizacin entrante de


informacin de definiciones de MBO.

Requisito previo

Utilice esta estructura de objeto con precaucin.

Integracin de datos con aplicaciones externas 107


Utilice nicamente los cdigos de accin agregar, addchange o cambiar al
sincronizar datos de entrada mediante esta estructura de objeto. No utilice la
accin sustituir salvo que sustituya por completo los datos de MAXOBJECTCFG y
MAXATTRIBUTECFG.

La accin suprimir conlleva el riesgo de suprimir registros predefinidos en las


tablas de base de datos asociadas con los MBO MAXOBJECTCFG y
MAXATTRIBUTECFG.

Hay una restriccin de configuracin entrante en las columnas CHANGED,


EAUDITENABLED, EAUDITFILTER, EAUDITTBNAME, IMPORTED,
STORAGEPARTITION, MAXOBJECTID, por lo que el valor de XML no se
establece en el MBO.

Una vez sincronizados los datos de entrada con esta interfaz, utilice la aplicacin
Configuracin de base de datos y seleccione la accin Aplicar cambios de
configuracin para que los cambios surtan efecto.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de psdi.iface.app.configure.MaxObjcfgProcess -
estructura de objeto
Si el evento MAXOBJECTCFG est creando
una vista (MAXOBJECTCFG.VIEW=1), la
clase de proceso se salta todos los MBO
MAXATTRIBUTECFG asociados con el
MAXOBJECTCFG al que se hace referencia.

Esta clase tambin retrasa la validacin


SAVE en MAXOBJECTCFG hasta que todos
sus atributos asociados se agregan
satisfactoriamente a la base de datos.
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

108 Integracin de datos con aplicaciones externas


Objeto de dominio:

La estructura de objeto de MXDOMAIN permite la sincronizacin entrante de


informacin de dominios.

Finalidad

Algunos campos de la base de datos estn asociados con listas de seleccin de


valores. Estas listas de valores definidos reciben el nombre de dominios (en
ocasiones se hace referencia a ellos como listas de valores).

Esta estructura de objeto sincroniza definiciones de dominios ALN, numricos, de


rango numrico, de tabla y cruzados.

Requisito previo

Las operaciones de actualizacin y supresin requieren que los sistemas externos


proporcionen valores de DOMAINID vlidos.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de plantilla de comunicacin:

La estructura de objeto MXCTEMPLATE permite la sincronizacin bidireccional de


plantillas de comunicacin que los usuarios pueden aprovechar para estandarizar
comunicaciones de correo electrnico y notificaciones utilizadas frecuentemente.

Integracin de datos con aplicaciones externas 109


Finalidad

Una plantilla de comunicacin es una definicin de un mensaje de correo con


asunto, mensaje e informacin del destinatario que se procesa cuando
determinados nodos se actualizan o a lo largo de rutas de direccionamiento de
flujo de trabajo especificadas entre nodos.

Esta estructura de objeto sincroniza aplicacin, cambio de estado, clase


personalizada, lnea de mandatos y acciones de valor de conjunto, pero no grupo
de accin.

Requisito previo

Las operaciones de actualizacin y supresin requieren que los sistemas externos


proporcionen un valor de ACTIONID vlido.

Esta estructura de objeto no da soporte a la creacin de grupos de accin.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin MXCTEMPLATEInterface
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de definicin de accin:

La estructura de objeto MXACTION permite la sincronizacin entrante de


definiciones de acciones de flujo de trabajo que se pueden utilizar con
escalabilidad, acuerdos de nivel de servicio (SLA) y procesos de flujo de trabajo.

110 Integracin de datos con aplicaciones externas


Finalidad

Se entiende por accin un evento que el usuario desea que el sistema inicie cuando
encuentre registros que cumplan las condiciones definidas por un punto de
escalabilidad, acuerdo de nivel de servicio o proceso de flujo de trabajo.

Esta estructura de objeto sincroniza aplicacin, cambio de estado, clase


personalizada, lnea de mandatos y acciones de valor de conjunto, pero no grupo
de accin.

Requisito previo

Las operaciones de actualizacin y supresin requieren que los sistemas externos


proporcionen un valor de ACTIONID vlido.

Esta estructura de objeto no da soporte a la creacin de grupos de accin.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de propiedades del sistema:

La estructura de objeto de MXPROP permite la sincronizacin entrante de mensajes


de propiedades y valores del sistema.

Integracin de datos con aplicaciones externas 111


Finalidad

Requisito previo

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de mdulo de integracin:

La estructura de objeto de MXIM permite la sincronizacin entrante de la


definicin de un mdulo de integracin, incluidas las propiedades y las relaciones
de OGL.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

112 Integracin de datos con aplicaciones externas


Componentes de integracin predefinidos Valor y descripcin
Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objetos de operaciones de gestin lgica (GLO):

La estructura de objeto de MXLMO2 permite la sincronizacin entrante de GLO


que incluyen atributos.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de producto de gestin de operaciones (PGO):

La estructura de objeto de MXOMP permite la sincronizacin entrante de PGO,


incluidas las relaciones con AC y configuraciones con MI y OGL.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto

Integracin de datos con aplicaciones externas 113


Componentes de integracin predefinidos Valor y descripcin
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Objeto de entrada de ejecucin:

La estructura de objeto de MXLAUNCH permite la sincronizacin entrante de


entradas de ejecucin e informacin de contexto.

Procesamiento de integracin saliente

La tabla siguiente muestra los valores predefinidos utilizados en el procesamiento


de integracin saliente.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de definicin de N/A
estructura de objeto
Canal de publicacin N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

Procesamiento de integracin entrante

La tabla siguiente muestra los valores preconfigurados utilizados en el


procesamiento de integracin entrante.

Componentes de integracin predefinidos Valor y descripcin


Funcionalidad de clase de procesamiento de N/A
estructura de objeto
Servicio empresarial N/A
Reglas de proceso Ninguno
Controles de integracin Ninguno

114 Integracin de datos con aplicaciones externas


Orden de carga de datos
Cuando utiliza la infraestructura de integracin para cargar varios conjuntos de
datos en la base de datos de la aplicacin, debe conservar las dependencias para
que los datos se carguen correctamente. Utilice la secuencia siguiente de
estructuras de objeto predefinidas como gua para determinar el orden en que debe
cargar los datos.

Estructuras de objetos
MXGLCOMP
MXCOA
MXVENDORMSTR
MXVENDOR
MXPERSON
MXPERUSER
MXCRAFT
MXLABOR
MXSTORELOC
MXCLASSIFICATION
MXITEM
MXINVENTORY
MXINVBAL
MXINVVENDOR
MXSERVITEM
MXPROJ
MXASSET
MXWO
MXWODETAIL
MXWOHIER
MXINVRES
MXEMPACT
MXINVISSUE
MXGLTXN
MXTOOLITEM
MXPC
MXMETERDATA
MXPR
MXPO
MXRECEIPT
MXRCVROTITM
MXINVOICE

Estructuras de objeto del sistema


MXINTOBJECT
MXIFACECONTROL
MXENTSRV
MXIFACEOUT
MXENDPOINT
Integracin de datos con aplicaciones externas 115
MXQUEUE
MXEXTSYSTEM
MXIFACEINVOKE
MXIM
MXLMO2
MXOMP
MXLAUNCH
MXMESSAGE
MXOBJECTCFG
MXDOMAIN
MXCTEMPLATE
MXACTION
MXPROP

Procesamiento de datos de integracin


Puede configurar componentes de integracin de modos diferentes para satisfacer
sus necesidades de integracin. Puede conseguir la integracin con varias
aplicaciones externas, y cada aplicacin requiere un enfoque de integracin distinto
que se basa en el soporte de integracin proporcionado por dicha aplicacin.

Planificacin para procesar los datos para la integracin


Antes de iniciar una transaccin de integracin, debe decidir qu componentes de
integracin utilizar. Tambin debe planificar cmo implementar estos componentes
de forma que pueda conseguir una integracin satisfactoria con el destino externo
para su integracin.

La eleccin de los componentes que va a utilizar y su implementacin suele estar


determinada por la aplicacin externa con la que se integra. Estas opciones
incluyen las consideraciones siguientes:
Tipo de datos
Defina los datos, por ejemplo, rdenes de trabajo y datos personales. Una
vez definidos, determine si hay estructuras de objeto predefinidas para
soportada cada conjunto de datos o si debe crear ms estructuras de objeto.
Direccin
Para cada conjunto de datos, en qu direccin se implementa el escenario
de integracin, el envo de transacciones salientes, la recepcin de
transacciones entrantes, o ambos? La direccin de la integracin puede
variar para cada conjunto de datos.
Intercambio de mensajes
Este factor depende de las prestaciones de la aplicacin externa y las
opciones pueden incluir los datos de integracin utilizando archivos (XML
o sin formato), llamando a servicios web y publicando XML en HTTP. El
mtodo de intercambio de datos y con qu frecuencia se realiza puede
variar para cada conjunto de datos.
Personalizacin
Cuando se intercambian los datos, es necesaria la personalizacin en la
aplicacin para transformar el contenido del mensaje o aplicar las reglas de
negocio de integracin? Si es necesaria la personalizacin, utiliza las
prestaciones de la infraestructura de integracin como, por ejemplo, clase

116 Integracin de datos con aplicaciones externas


de salida Java, scripts de automatizacin, correlaciones XSL o reglas de
proceso, o la personalizacin se implementa en la aplicacin externa?

Dependiendo de las respuestas a estas preguntas, necesitar distintos tipos de


configuraciones de componentes y API, por ejemplo:
v Estructuras de objetos
v Canales de publicacin y canales de invocacin
v Servicios empresariales
v Servicios de estructura de objeto, servicios empresariales y servicios estndar
v Servicios web
v APIs REST y OSLC
v Sistemas externos
v Puntos finales

Procesamiento de datos entrantes


La infraestructura de integracin permite el proceso asncrono y sncrono de
mensajes de integracin entrantes con los tipos de servicio siguientes; estructuras
de objeto, servicios empresariales o servicios estndar.

Para el proceso asncrono, el sistema externo establece y mantiene una conexin


hasta que el mensaje se pasa a una cola JMS. Para el proceso sncrono, el sistema
externo establece y mantiene una conexin hasta que el proceso del mensaje se
completa.

Proceso asncrono de mensajes entrantes


Durante el proceso asncrono de mensajes entrantes, una aplicacin externa llama a
un servicio empresarial y mantiene una conexin hasta que se guarda el mensaje
en una cola JMS y finaliza la conexin. Si se produce un error durante la operacin
de guardar el mensaje en la cola, la aplicacin externa es responsable de reprocesar
el mensaje.

El proceso asncrono es gestionado por colas JMS secuenciales o continuas. El


proceso en una cola secuencial garantiza el orden de entrega de mensajes,
basndose en un orden fifo (primero que entra, primero que sale). El proceso en
una cola continua entrega los mensajes en cualquier orden.

Puede utilizar servicios empresariales para dar soporte a las transacciones


siguientes:
v Importacin de datos desde un archivo sin formato o un archivo XML
v Carga de datos de tablas de interfaz
v Recepcin de un mensaje XML de una solicitud HTTP POST
v Llamada a un servicio web que est configurado para utilizar una cola JMS
v Llamada a un EJB
v Utilizacin de una conexin JMS directa

Todas estas opciones soportan el uso de un servicio empresarial, cuando el mensaje


de integracin se pasa a una cola JMS. Cuando el mensaje est en la cola, un
proceso separado que utiliza una tarea cron o un controlador por mensaje (MDB)
recoge el mensaje de la cola. El mensaje se procesa despus a travs de la capa del
servicio empresarial, la capa de estructura de objeto relacionada y se actualizan los
objetos de negocio. Puesto que los mensajes se procesan a travs de una cola JMS,

Integracin de datos con aplicaciones externas 117


no se enva ninguna respuesta a la aplicacin que llam al servicio y la operacin
de consulta no est soportada en este modelo de proceso.

Proceso sncrono de mensajes entrantes


Puede implementar la integracin entrante sncrona con una estructura de objeto,
un servicio empresarial o un servicio estndar. Estas transacciones requieren el
establecimiento y el mantenimiento de una conexin directa de la aplicacin
externa a la infraestructura de integracin mientras dure la transaccin.

La aplicacin externa mantiene la conexin 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 operacin de consulta. La infraestructura de integracin devuelve
una respuesta a la aplicacin externa que confirma si el procesamiento del mensaje
ha sido satisfactorio o anmalo.

Las opciones siguientes estn disponibles para enviar mensajes de integracin


sncrona a servicios:
v Publicacin 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 creacin, actualizacin,
supresin, sincronizacin y consulta.

Tambin puede acceder a estructuras de objeto de integracin, servicios estndar y


objetos de negocio de aplicacin utilizando la API REST o la API REST de OSLC.
Conceptos relacionados:
API de REST en la pgina 243
La API (interfaz de programacin de aplicaciones) de REST (Representational State
Transfer) proporciona una manera para que las aplicaciones externas consulten y
actualicen datos de aplicacin en motor de automatizacin de procesos de Tivoli.

Iniciacin del proceso asncrono de los datos de entrada


Para iniciar el proceso de integracin, el sistema externo utiliza uno de los mtodos
soportados para establecer una conexin. Despus 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 conexin inicial vara en funcin del mtodo de


integracin que se utiliza para la transaccin. La tabla siguiente describe los
mtodos y las conexiones disponibles que utilizan estos mtodos.

Mtodo Procedimiento de conexin

Mtodo de envo HTTP Utilice el URL siguiente:


o HTTPS
nombre_host:puerto/meaweb/esqueue/nombresisext/nombreservemp
donde:
v nombresisext es el nombre del sistema externo
v nombreservemp es el nombre del servicio empresarial

118 Integracin de datos con aplicaciones externas


Mtodo Procedimiento de conexin

EJB Inicie un EJB desde un cliente Java Platform, Enterprise Edition


utilizando el cdigo 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 mtodo. 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 fbrica de contexto

El cdigo de cliente debe crear la instancia del objeto


IntialContext predeterminado. El contexto se deriva del URL del
proveedor y la fbrica de contexto del entorno.
La caracterstica de El usuario hace clic en Importacin de datos en una aplicacin.
importacin de datos
que utiliza los archivos
XML o sin formato
Tarea cron de La tarea cron XMLFILECONSUMER o la tarea cron
importacin de datos FLATFILECONSUMER sondea el directorio de origen configurado
para la importacin 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 informacin 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 conexin, o cuando una tarea cron se ejecuta e identifica
que los datos estn preparados para la importacin, se producen los pasos
siguientes:
1. La infraestructura de integracin comprueba que el sistema externo y el
servicio empresarial sean vlidos y estn habilitados.
2. Si los mensajes estn en formato de archivo sin formato, la infraestructura de
integracin comprueba que la estructura del objeto admite estructuras sin
formato.
3. Si falla la verificacin, la infraestructura de integracin notifica el error al
remitente y no procesa los datos.

Integracin de datos con aplicaciones externas 119


4. Si la verificacin se ha realizado correctamente, la infraestructura de integracin
identifica la cola JMS entrante asignada al servicio empresarial y escribe el
mensaje en la cola.
5. La infraestructura de integracin actualiza la cabecera del mensaje JMS con los
nombres del sistema externo y el servicio empresarial.

Si una transaccin que contiene varias instancias de un registro encuentra errores,


el manejo de errores vara en funcin del mtodo de intercambio utilizado. Se
produce el manejo de errores siguientes, en funcin del tipo de intercambio:
v Solo para transacciones HTTP o EJB : si una transaccin 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 excepcin de proceso de
mensaje total y no se confirma ninguno de los registros en la base de datos.
v Solo para las transacciones de importacin de datos: si una transaccin contiene
varias instancias de un documento, por ejemplo, si contiene 10 registros de
persona, la aplicacin escribe 10 mensajes individuales en la cola JMS. Si uno de
los mensajes tiene un error de proceso, se registra una transaccin de error para
dicho mensaje y los 9 mensajes restantes se siguen procesando en la aplicacin.

Iniciacin del proceso sncrono de los datos de entrada


Para iniciar el proceso sncrono, el sistema externo utiliza uno de los mtodos
soportados para establecer una conexin. Durante el proceso de conexin, la
infraestructura de integracin comprueba que el sistema externo y el servicio
empresarial al que se hace referencia sean vlidos y estn habilitados.

El procedimiento para establecer la conexin inicial vara, en funcin del servicio


utilizado para la transaccin. La tabla siguiente describe los mtodos y las
conexiones disponibles que utilizan estos mtodos.

Mtodo Procedimiento de conexin


Mtodo de envo v Utilice el URL siguiente para las transacciones que utilizan un
HTTP o HTTPS 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 estndar:
nombre_host:puerto/meaweb/ss/nombre servicio de aplicacin
Donde nombre del servicio de aplicacin es el nombre del servicio
estndar.

120 Integracin de datos con aplicaciones externas


Mtodo Procedimiento de conexin

v Para las transacciones de servicio empresarial, inicie un EJB


EJB
desde un cliente de Java Platform, Enterprise Edition utilizando
el cdigo 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
mtodo. 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 cdigo 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 mtodo. 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 cdigo siguiente:
public byte{} action(byte[] actionData, String
maxServiceName)
El cliente puede utilizar el nombre JNDI del Enterprise
JavaBean, ejb/maximo/remote/servicio_accin, para consultar la
referencia de Enterprise JavaBean e iniciar el mtodo. 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 fbrica de contexto

El cdigo de cliente debe crear la instancia del objeto IntialContext


predeterminado. El contexto se deriva del URL del proveedor y la
fbrica 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 pgina 243
La API (interfaz de programacin de aplicaciones) de REST (Representational State
Transfer) proporciona una manera para que las aplicaciones externas consulten y

Integracin de datos con aplicaciones externas 121


actualicen datos de aplicacin en motor de automatizacin de procesos de Tivoli.

Secuencias de proceso
La misma secuencia de procesamiento se aplica a los mensajes asncronos y
sncronos que utilizan un servicio empresarial. Las secuencias de procesamiento
son diferentes para los mensajes sncronos que utilizan servicios de la estructura de
objeto o estndar.

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 integracin
con la aplicacin externa.

Para el proceso asncrono, los datos se pueden originar desde los mtodos de
intercambio siguientes:
v Tablas de interfaz
v Publicacin 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 Conexin JMS directa
v Importacin de datos de un archivo sin formato o un archivo XML

Para el proceso sncrono, los datos se pueden originar desde los mtodos de
intercambio siguientes:
v Publicacin 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 asncrono y sncrono.

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 automatizacin para manipular los datos de mensaje o puede
aplicar una correlacin XSL. El proceso personalizado se produce en el orden
siguiente:
a. Si se define un mtodo de preproceso en una clase de salida de usuario,
este mtodo se aplica en primer lugar.
b. Si se especifica una clase de salida externa, se aplica este proceso.
c. Si se define un mtodo de postproceso en una clase de salida de usuario, se
aplica este mtodo.
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 automatizacin para
manipular datos durante el proceso de estructura de objeto.

122 Integracin de datos con aplicaciones externas


b. Si las reglas de proceso se han configurado para la estructura de objeto,
estas reglas se ejecutan a continuacin.
c. Si las reglas de proceso provocan la multiplicacin 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 mtodo de preproceso en una clase de salida de
usuario, se aplica este mtodo.
b. Si se especifica una clase de salida externa, se aplica este proceso.
c. Si se define un mtodo de postproceso en una clase de salida de usuario, se
aplica este mtodo.
d. Los objetos de negocio se procesan, y los datos se guardan en la base de
datos.
5. Solo para transacciones sncronas, para las operaciones Crear, Actualizar,
Suprimir y Sincronizar, el servicio empresarial proporciona una respuesta a la
aplicacin iniciadora que incluye la informacin 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. Slo para las transacciones sncronas, en las operaciones Consultar, se devuelve
la estructura de objeto completa. Puede ejecutar clases personalizadas Java o
scripts de automatizacin para manipular los datos de respuesta, o puede
aplicar una correlacin XSL.

Integracin sncrona con un servicio de estructura de objeto:

Se puede acceder a un servicio de estructura de objeto utilizando los mtodos de


invocacin HTTP Post, EJB, y de servicio web para recibir mensajes de servicio de
estructura de objeto sncronos. Estn soportadas las operaciones de creacin,
actualizacin, supresin, sincronizacin y consulta.

El proceso de integracin que se basa en un servicio de estructura de objeto se


produce en la secuencia siguiente:
1. El sistema externo utiliza uno de los mtodos de invocacin siguientes para
iniciar la comunicacin con la infraestructura de integracin:
v Invocacin de HTTP
v Invocacin de EJB
v Invocacin de servicios web
2. La infraestructura de integracin recibe el mensaje entrante que identifica la
estructura de objeto asociada con el mensaje
3. La infraestructura de la integracin crea los objetos, basndose en la estructura
de objeto y el contenido del mensaje entrante.
4. La infraestructura de integracin aplica cualquier lgica predefinida a la
estructura de objeto.

Integracin de datos con aplicaciones externas 123


5. Los objetos se procesan y los datos se confirman en la base de datos si el
mensaje contiene una operacin de actualizacin, o los datos se devuelven al
solicitante, si el mensaje contiene una operacin de consulta.
6. Si se produce un error de procesamiento, se devuelve la respuesta con un
mensaje de error al interlocutor del servicio.

Integracin sncrona con un servicio estndar:

Se puede acceder a un servicio estndar mediante mtodos de invocacin HTTP


Post, EJB, y de servicio web para recibir mensajes de servicio estndar sncronos.

El proceso de integracin que se basa en un servicio estndar se produce en la


secuencia siguiente:
1. El sistema externo utiliza uno de los mtodos de invocacin siguientes para
iniciar la comunicacin con la infraestructura de integracin:
v Invocacin de HTTP
v Invocacin de EJB
v Invocacin de servicios web
2. Los objetos se pasan al sistema y se aplica procesamiento del sistema estndar.

Procesamiento de datos salientes


Los canales de publicacin proporcionan el proceso asncrono de mensajes salientes
que no requieren una respuesta del sistema externo. Para los mensajes salientes
que requieren una respuesta del sistema externo, puede utilizar un canal de
invocacin para proporcionar proceso sncrono.

Integracin asncrona con un canal de publicacin


La infraestructura de integracin utiliza canales de publicacin para procesar
mensajes salientes asncronos. El envo de un mensaje del canal de publicacin se
puede iniciar mediante un evento de objeto o se puede utilizar la funcin de
exportacin de datos para enviar mensajes de canal de publicacin bajo demanda.

Se configuran canales de publicacin para una estructura de objeto y se puede


habilitar la integracin basada en eventos cuando el objeto principal de la
estructura de objeto se actualiza. Se produce una actualizacin, por ejemplo,
cuando un usuario guarda un registro en una aplicacin o completa una etapa de
un proceso de flujo de trabajo. Cuando el objeto principal de una estructura de
objeto se actualiza, se inicia un evento en todos los canales de publicacin que
estn asociados a la estructura de objeto y que estn configurados para escuchar
eventos. Los usuarios pueden utilizar la caracterstica de exportacin de datos en la
aplicacin de sistemas externos para iniciar mensajes de canal de publicacin
cuando lo deseen.

Cuando un evento o una exportacin de datos inicia un mensaje de canal de


publicacin, la infraestructura de integracin realiza una secuencia de tareas:
1. Identifica la estructura de objeto y los objetos del componente que estn
asociados al canal de publicacin.
2. Construye la estructura de objeto para la transaccin y forma un mensaje XML
que se basa en el contenido de los objetos.
3. Aplica cualquier regla de proceso definida en la aplicacin Canales de
publicacin.

124 Integracin de datos con aplicaciones externas


4. Si el canal de publicacin est asociado a varios sistemas externos, crea copias
de la estructura de objeto, una para cada combinacin de canal de publicacin
y sistema externo.
5. Si alguna clase Java de proceso personalizada, algn script de automatizacin o
alguna correlacin XSL est asociado al canal de publicacin, se procesan en el
orden siguiente:
a. Ejecuta la clase de filtro de evento, si se proporciona alguno.
b. Ejecuta el mtodo previo al proceso en la clase de proceso de salida de
usuario, si se proporciona alguna.
c. Ejecuta una clase de proceso de canal de publicacin, si se proporciona
alguna.
d. ,
e. Ejecuta el mtodo posterior al proceso en la clase de salida de usuario, si se
proporciona alguna.
f. Aplica un mapa XSL, si se proporciona uno.
6. Escribe el mensaje XML en la cola saliente especificada para el sistema externo.
7. Una tarea cron recoge el mensaje de canal de publicacin y lo entrega al
sistema externo, que se basa en el punto final que se ha configurado.

Descripcin general del procesamiento de canales de publicacin:

La estructura de objeto configurada para un canal de publicacin proporciona el


contenido del mensaje del canal. El sistema externo determina cmo y dnde se
entrega el mensaje de integracin. En la capa del canal de publicacin hay capas de
procesamiento opcionales que dan soporte a la transformacin del contenido del
mensaje y a la aplicacin de reglas de negocio.

Integracin basada en eventos:

Un canal de publicacin puede iniciar un mensaje de integracin en respuesta al


procesamiento de una transaccin del sistema, como la actualizacin de un objeto.

Puede configurar canales de publicacin para escuchar eventos que se producen en


el objeto primario de la estructura de objeto relacionado activando el recuadro de
seleccin Habilitar escucha en la aplicacin de canales de publicacin. Cuando el
objeto principal de una estructura de objeto se actualiza, un mensaje de canal de
publicacin enva la informacin actualizada al sistema externo.

Cuando una actualizacin de un objeto hijo inicia una actualizacin en el objeto


principal, esta informacin tambin se enva al sistema externo. Sin embargo,
algunas actualizaciones de un objeto hijo no inician una actualizacin en el objeto
principal y, como resultado, la informacin actualizada no se enva al sistema
externo. Por ejemplo, si una estructura de objeto se ha configurado para dar
soporte a un adjunto como objeto hijo, cuando el usuario aade un adjunto, no se
notifica al sistema externo de este evento.

Para propagar un evento desde un objeto hijo al objeto principal de la estructura


de objetos, en la aplicacin de las estructuras de objetos, utilice la accin
Configuraciones avanzadas para configurar la propagacin de eventos. Cuando
configure una estructura de objetos para propagar eventos en objetos hijo hasta el
objeto principal, el objeto principal que enva la informacin actualizada al sistema
externo.

Integracin de datos con aplicaciones externas 125


Si configura la propagacin de eventos para una estructura de objetos, debe
supervisar la actividad de los mensajes con atencin, puesto que la configuracin
puede iniciar ms mensajes que los que se ha diseado el sistema externo para
procesar. Para los objetos hijo que tienen incorporada lgica para actualizar el
objeto padre, esta configuracin no tiene ningn impacto en trminos de
habilitacin o inhabilitacin de la propagacin de eventos del objeto hijo al objeto
padre.

Funcin de exportacin de datos:

El canal de publicacin soporta el proceso por lotes de datos integracin utilizando


la caracterstica de exportacin de datos.

Puede iniciar la caracterstica de exportacin de datos ejecutando una consulta en


el objeto primario de una estructura de objeto y el nmero de registros para enviar.
Si la consulta es correcta, se inicia la exportacin.

Inicie la funcin de exportacin de datos proporcionando una clusula SQL


WHERE sobre el objeto primario de una estructura de objeto en la ventana
Exportacin de datos. Tambin puede configurar el nmero de registros que se
deben enviar. Si la consulta es correcta, se inicia la exportacin y se entregan los
datos segn el punto final configurado para el canal de publicacin.

Integracin sncrona con un canal de invocacin


La infraestructura de integracin utiliza canales de invocacin para procesar
mensajes salientes sncronos que requieren una confirmacin o contenido de
respuesta de la aplicacin externa. La exportacin la inicia una clase de accin que
llama al canal de invocacin.

El envo de un mensaje de canal de invocacin es iniciado por una clase Java de


accin que se ha codificado para iniciar el canal. Por ejemplo, se utilizan canales de
invocacin para llamar a una aplicacin externa para validar datos, para iniciar un
proceso en una aplicacin externa o para recuperar datos. Un canal de invocacin
puede ser desencadenado por un control de interfaz de usuario que se ha
configurado para llamar la clase de accin que inicia el canal.

Cuando un mensaje de canal de invocacin es iniciado por una clase de accin, la


infraestructura de integracin realiza una secuencia de tareas:
1. Identifica la estructura de objeto que est asociada a cada canal de invocacin e
identifica los objetos de componente.
2. Construye la estructura de objeto para la transaccin y forma un mensaje XML
que se basa en el contenido de los objetos.
3. Si alguna clase Java de proceso personalizada, algn script de automatizacin o
alguna correlacin XSL est asociado a la solicitud del canal de invocacin, se
procesan en el orden siguiente:
a. Ejecuta el mtodo previo al proceso en la clase de proceso de salida de
usuario de la solicitud, si se proporciona alguna.
b. Ejecuta una clase de solicitud de canal de invocacin, si se proporciona una.
c. Ejecuta el mtodo posterior al proceso en la clase de salida de usuario de
solicitud, si se proporciona alguna.
d. Aplica un mapa XSL, si se proporciona uno.
4. Escribe el mensaje XML en el destino especificado por el punto final.
5. El manejador de punto final especifica el mecanismo de transporte para utilizar.

126 Integracin de datos con aplicaciones externas


6. Cuando la respuesta se recibe del punto final, si alguna clase Java
personalizada, algn script de automatizacin o alguna correlacin XSL est
asociado a la respuesta, se procesan en el orden siguiente:
a. Ejecuta el mtodo previo al proceso en la clase de proceso de salida de
usuario de respuesta, si se proporciona alguna.
b. Ejecuta una clase de proceso de respuesta de canal de invocacin, si se
proporciona alguna.
c. Ejecuta el mtodo posterior al proceso en la clase de salida de usuario de
respuesta, si se proporciona alguna.
d. Aplica un mapa XSL, si se proporciona uno.
7. Se crean objetos a partir de los datos en la estructura de objeto de respuesta y
se pasan al sistema donde se aplica el procesamiento estndar.
8. Si todos los objetos se crean satisfactoriamente a partir del proceso de
estructura de objeto de respuesta, se confirman en la base de datos.

El contenido de la respuesta puede ser gestionado por el invocador basndose en


los requisitos de integracin, por ejemplo, para actualizar datos de objeto de
negocio o mostrar la respuesta a un usuario. Se proporciona una clase de accin
predeterminada que se puede utilizar o ampliar para implementar la integracin
de un canal de invocacin.

Personalizacin de las propiedades de metadatos en un canal de invocacin:

En las clases de salida externa o las de salida de usuario del canal de invocacin,
puede actualizar datos adicionales como, por ejemplo, los valores de alteracin
temporal para los parmetros que se han configurado para un punto final.

Puede utilizar este tipo de personalizacin, por ejemplo, para derivar un parmetro
de punto final como, por ejemplo, el URL, a partir de los datos de la estructura de
objeto del canal de invocacin. Puede alterar temporalmente los valores de varias
propiedades de metadatos.

Valor Descripcin
ENDPOINT Puede alterar temporalmente este valor para
utilizar un punto final proporcionado en
lugar del punto final que se ha configurado
a travs del sistema externo.
ENDPOINTPROPS Este valor apunta a una correlacin hash que
puede contener uno o varios parmetros de
punto final con el valor de alteracin
temporal correspondiente. Si la
configuracin de punto final define que no
puede alterar temporalmente una propiedad,
los valores de alteracin temporal del
contexto de integracin se ignorarn.
TARGETOBJECT Este valor es la estructura de objeto de
destino del canal de invocacin.
SOURCEOBJECT Este valor es la estructura de objeto de
origen del canal de invocacin.

Configuracin del proceso de integracin


El proceso de mensajes de integracin se produce en varios puntos durante el
traslado de mensajes de integracin para transacciones entrantes y salientes. Al

Integracin de datos con aplicaciones externas 127


configurar el proceso de integracin, debe asegurarse de que los datos de origen y
los datos de destino estn en estructuras de datos y formatos incompatibles.

Configuracin del proceso asncrono de mensajes entrantes


mediante servicios empresariales
Los servicios empresariales utilizan el proceso asncrono para los mensajes de
entrada que no requieren una respuesta de Maximo Asset Management. Para
habilitar el proceso de servicio empresarial, puede configurar varios componentes
de integracin, que incluyen una estructura de objeto, un servicio empresarial, un
sistema externo y una tarea cron de JMS.

Acerca de esta tarea

Un sistema externo inicia una conexin y enva un mensaje que incluye los
nombres del sistema externo y del servicio empresarial. El sistema externo
mantiene la conexin mientras la infraestructura de integracin comprueba que el
servicio empresarial est habilitado para esta transaccin. Las transacciones vlidas
se colocan en la cola JMS secuencial entrante y finaliza la conexin con el sistema
externo. Una tarea cron sondea la cola JMS, enva el mensaje para el proceso del
servicio empresarial y enva el mensaje hacia adelante para un proceso de
estructura de objeto antes de que se confirme en la base de datos.

Procedimiento
1. En la aplicacin de estructuras de objeto, identifique una estructura de objeto
predefinida para utilizar o cree una.
2. En la aplicacin de servicios empresariales, identifique un servicio empresarial
predefinido para utilizar o cree uno.
3. Configure el servicio empresarial para utilizar la estructura de objeto y
especifique una operacin vlida. La operacin de consulta no es vlida para el
proceso asncrono con servicios empresariales.
4. En la aplicacin de sistemas externos, identifique un sistema externo para
utilizar o cree uno y configrelo para su servicio empresarial:
a. Configure el sistema externo para utilizar colas JMS de entrada y habilite el
sistema externo.
b. Configure el sistema externo para utilizar su servicio empresarial y habilite
el servicio.
5. Opcional: Configure el origen para el mensaje de integracin.

Origen de mensajes Configuraciones


Mensajes de archivos utilizando En la aplicacin de configuracin de la tarea cron,
una tarea cron defina la tarea cron de importacin de datos en activa.
Mensajes de una llamada de En la aplicacin de la biblioteca de servicios web, cree
servicio web un servicio web que se base en su servicio empresarial.
Mensajes de tablas de interfaz En la aplicacin de configuracin de tarea cron, defina
la tarea cron de la tabla de interfaz en activa.

6. Configure una cola para recibir los mensajes de integracin.

Tipo de cola Descripcin


Continua En el servidor de aplicaciones, configure beans
controlados por mensajes para consumir mensajes de la
cola.

128 Integracin de datos con aplicaciones externas


Tipo de cola Descripcin
Secuencial En la aplicacin Configuracin de tarea cron, establezca
la tarea cron JMS en activa para que pueda consumir
mensajes de la cola.

Configuracin del proceso asncrono de mensajes de salida


mediante canales de publicacin
Los canales de publicacin procesan mensajes de integracin salientes que no
requieren una respuesta del destino de mensaje. Para habilitar el proceso de canal
de publicacin, puede configurar varios componentes de integracin, que incluyen
una estructura de objeto, un canal de publicacin, un sistema externo y una tarea
cron.

Acerca de esta tarea

Una estructura de objeto proporciona el contenido del mensaje al canal de


publicacin. El proceso del canal de publicacin transforma el mensaje y el sistema
externo lo enva despus a su cola de destino. Una tarea cron sondea la cola
regularmente y entrega el mensaje a su destino. Las transacciones de canal de
publicacin se pueden iniciar mediante un evento como, por ejemplo, un cambio
en el estado de un objeto, o iniciando una transaccin de exportacin de datos en
la aplicacin de sistemas externos.

Procedimiento
1. En la aplicacin de estructuras de objeto, identifique una estructura de objeto
predefinida para utilizar o cree una.
2. En la aplicacin de canales de publicacin, identifique un canal de publicacin
predefinido para utilizar o cree uno.
3. Opcional: Para habilitar la integracin basada en eventos, configure un escucha
para el evento:
a. En la aplicacin de canales de publicacin, seleccione la accin Habilitar
escucha de canal de publicacin. Si la escucha est habilitada, cuando se
actualiza el objeto primario de la estructura de objeto, se inician las
transacciones de canal de publicacin.
b. Si desea que los eventos en objetos hijo inicien transacciones de canal de
publicacin, seleccione la accin Configuraciones avanzadas y configure la
propagacin del evento.
4. Opcional: En la aplicacin de canales de publicacin, revise las reglas de
proceso y aada o cambie las reglas, segn sea necesario. Las reglas de proceso
se ejecutan en el orden indicado en el campo Secuencia. Si cambia los valores
de la secuencia, las reglas se ejecutan en un orden diferente, lo cual puede tener
resultados imprevistos.
5. Opcional: Especifique los de scripts de automatizacin, archivos de clase Java
personalizada, o correlaciones XSL para proporcionar lgica personalizada
durante el proceso de transformacin.
6. En la aplicacin Sistemas externos, aada el canal de publicacin al sistema
externo y especifique la va de acceso de archivo a la cola JMS secuencial de
salida.
7. En la aplicacin de configuracin de tarea cron, habilite la instancia de
SEQOUT de la tarea cron JMSQSEQCONSUMER. La tarea cron entrega
mensajes de la cola JMS a sus destinos en el mismo orden en el que se han
recibido los mensajes en la cola.

Integracin de datos con aplicaciones externas 129


Personalizacin basada en reglas
Puede utilizar reglas de proceso para cambiar el comportamiento del proceso de
integracin predefinido sin escribir clases Java, scripts de automatizacin o
correlaciones XSL. Puede implementar reglas de proceso solo en canales de
publicacin o en servicios empresariales.

Las reglas de proceso pueden acceder a los valores de campos XML y de objetos,
conjuntos de objetos y controles de integracin y del sistema y evaluarlos. Las
reglas de proceso tambin pueden cambiar los valores de campos XML y de
objetos o detener o saltarse el procesamiento de todo o parte de un mensaje.

Definiciones de reglas para objetos y registros


Una estructura de objeto consta de uno o varios registros de objeto. Cuando se crea
un objeto, los campos de objeto se llenan a partir de los campos de registro
correspondientes antes de que se aplique el procesamiento de la aplicacin
estndar.

Durante el proceso saliente, el objeto original se llena con los campos de registro
de los campos correspondientes. A excepcin de determinados campos de
integracin genricos, los objetos del sistema no se actualizan en los mensajes
salientes.

Utilice las directrices siguientes para aplicar una regla a un registro de estructura
de objeto o a un objeto:
v Para el proceso saliente, puede aplicar reglas de proceso slo a registros de
estructura de objeto.
v Para el proceso de entrada, puede aplicar reglas de proceso a registros de
estructura de objeto o a objetos.
Si una regla de entrada cambia el valor del campo clave de un objeto, aplique
reglas al registro de la estructura de objeto.
Si una regla de entrada no evala ni manipula un objeto o un conjunto de
objetos, aplique reglas al registro de la estructura de objeto.
Si una regla de entrada evala o manipula un campo definido por el usuario,
aplique reglas al registro de la estructura de objeto.
Si una regla de entrada evala o manipula un objeto o un campo de objeto,
aplique reglas al objeto.

Aplique todas las reglas para los servicios empresariales a los objetos o a los
registros de estructura de objeto. Evite aplicar reglas tanto a objetos como a
registros de estructura de objeto. Si aplica reglas de proceso tanto a estructuras de
objeto como a objetos, el tiempo de proceso de las transacciones entrantes
aumenta.

Definiciones de regla de proceso


Una regla de proceso realiza una accin en un campo de un registro o un objeto, o
en el propio registro u objeto. Para definir una regla de proceso, en el servicio o el
canal utilizado para la transaccin, puede especificar el registro o el objeto al que
se aplica la regla.

Iniciacin de reglas de proceso:

Para una transaccin saliente, un evento de un objeto de negocio en el objeto


primario de una estructura de objeto, inicia una regla de proceso. Para una

130 Integracin de datos con aplicaciones externas


transaccin entrante, el evento que inicia una regla de proceso se identifica
mediante el valor del atributo de accin del objeto primario del mensaje XML.

Al configurar canales de publicacin y servicios de negocio, puede especificar qu


eventos utilizar para iniciar cada regla de proceso. Puede aplicar una regla de
proceso al registro primario, a un registro de nivel inferior o a un objeto, pero el
evento de que inicia la regla se debe iniciar en el objeto primario.

Puede, por ejemplo, implementar una regla de detencin en el objeto PERSON que
impida a los usuarios cambiar cualquier atributo en el registro de la persona al
especificar que la regla se aplica en la actualizacin . Con esta configuracin, los
usuarios pueden crear o suprimir registros de persona pero no los pueden
actualizar.

Para las transacciones salientes, puede configurar una o ms de las siguientes


acciones en el objeto primario en la aplicacin de canales de publicacin para que
inicie la regla:
v Insertar
v Delete
v Actualizar

Cuando se genera un mensaje saliente utilizando la funcin de exportacin de


datos o una invocacin programada del canal de publicidad, se ejecutan todas las
reglas de proceso, independientemente de los valores del evento.

Para transacciones entrantes, se puede configurar una o ms de las siguientes


acciones en el objeto primario en la aplicacin de servicios de negocio para que
inicien la regla:
v Add
v Cambiar o sustituir (equivalente de actualizar)
v Delete

Puede establecer uno de estos valores como el atributo de accin del objeto
primario para la transaccin entrante.

Acciones de regla de proceso:

Una regla de proceso puede actuar sobre un servicio empresarial o un canal de


publicacin en conjunto. Por ejemplo, una regla puede eludir un mensaje o puede
manipular el valor de un campo de datos dentro del mensaje.

Tres acciones de regla de proceso actan sobre un mensaje de servicio o canal:


detener, omitir y omitir niveles inferiores. Cuatro acciones de regla de proceso
transforman el valor en un campo dentro del mensaje de servicio o canal:
combinar, dividir, establecer y sustituir.

Acciones de procesamiento de mensajes:

Las acciones de procesamiento de mensajes detienen u omiten un mensaje entero


de un servicio empresarial o de un canal de publicacin u omiten registros enteros
del mensaje.

Integracin de datos con aplicaciones externas 131


Accin de omisin

La accin de omisin pasa por alto un mensaje que cumple criterios especificados.
Cuando se aplica una accin de omisin a un mensaje entrante, el mensaje no se
procesa y se borra de la cola entrante. Cuando una accin de omisin se aplica a
un mensaje saliente, no se graba nada en la cola y el mensaje no se enva a un
sistema externo. El procesamiento de la omisin no genera un error, pero el archivo
de registro del sistema es actualizado con la regla que caus la accin de omisin.

Una accin de omisin tiene algunas reglas predefinidas. Estas reglas buscan
valores de control de integracin para garantizar que los mensajes salientes tengan
un estado vlido antes de ser enviados al sistema externo.

Accin de detencin

La accin de detencin detiene un mensaje que cumple criterios especificados. Se


deshace un mensaje saliente y se muestra un mensaje de error. Para las
transacciones entrantes, el mensaje permanece en la cola JMS entrante. Si el error
se debi a una invocacin sncrona del servicio empresarial, se notifica el error al
programa de llamada.

No se proporcionan reglas predefinidas con una accin de detencin. Esta opcin


es un programa de utilidad para que los usuarios personalicen el comportamiento
de un servicio o canal.

Cuando sea posible, utilice la accin de omisin en lugar de la accin de detencin


para los servicios empresariales entrantes. La accin de detencin causa un error
de procesamiento y el mensaje permanece en la cola entrante o el iniciador recibe
una respuesta de error. Estos resultados no se producen cuando se utiliza la accin
de omisin.

Si una regla de procesamiento con una accin de detencin se aplica a un canal de


publicacin generado por la funcin Exportacin de datos, la accin de detencin
se trata como una accin de omisin. Si la accin de detencin se evala como
verdadera, el mensaje se omite.

Accin de omisin de niveles inferiores

Puede aplicar la accin de omisin de niveles inferiores slo a mensajes salientes


en un canal de publicacin. Aplique la regla de procesamiento en el registro u
objeto cuyos registros de nivel inferior se omitan.

Si la estructura de persona tiene el objeto de persona y los objetos de nivel inferior


de telfono y correo electrnico, puede utilizar la accin de omisin de niveles
inferiores sobre una persona para quitar los datos de telfono y correo electrnico
del mensaje. Utilice la accin de omisin de niveles inferiores cuando se produzca
un cambio de estado y el sistema externo no necesite la informacin de telfono y
correo electrnico adjuntas.

Accin de omisin de registro

Puede aplicar la accin de omisin de registro slo a mensajes salientes en un


canal de publicacin. La accin de omisin de registro suprime un registro o un
objeto que contiene la regla aplicada. Aplique la regla de procesamiento sobre el
registro o el objeto, y todos los registros y objetos de nivel inferior, que desee
omitir.

132 Integracin de datos con aplicaciones externas


Si la estructura de objeto de persona tiene un objeto de persona y un objeto de
nivel inferior de telfono, puede utilizar la accin de omisin de registro para
quitar un registro de telfono especfico del mensaje. Utilice la accin de omisin
de registro, por ejemplo, cuando desee enviar el nmero de telfono de trabajo,
pero no el nmero de telfono particular de una persona. La regla de omisin de
registro necesita una condicin que identifique un registro de telfono particular
para garantizar que el registro se omita.

Acciones de transformacin de campos:

Aplique la regla de transformacin de campos a un registro o a un objeto que


contenga el campo que se debe transformar. Una regla de transformacin de
campos se puede aplicar a un solo campo o a varios campos del registro
seleccionado.

Accin de establecimiento

La accin de establecimiento graba un valor en un campo de datos especificado.


Cuando defina la regla, especifique los datos que se deben establecer y el origen
del valor nuevo. Indique si la regla siempre graba el valor nuevo en el campo de
destino o si graba el valor nuevo slo cuando el campo es nulo (la accin
predeterminada). Puede utilizar esta accin para inicializar el valor en un campo
de datos. Si la regla siempre graba el valor nuevo en el campo de destino,
cualquier valor existente en el campo se sobrescribe.

El origen puede ser uno de los valores siguientes:


v Un control de integracin de valor
v Un valor no modificable
v Un control del sistema (en la tabla de base de datos MAXVARS)
v Otro campo del registro u objeto especificado
v Un campo en un objeto relacionado

Accin Sustituir

La accin de sustitucin sustituye un valor de un campo de datos por otro valor.


Cuando defina la regla, especifique el campo de datos que desee actualizar. El
control que utilice debe ser un control de referencia cruzada. Especifique el nombre
de un control de referencia cruzada que contenga los valores originales y de
sustitucin para el campo de datos.

Utilice esta accin cuando la base de datos y el sistema externo utilicen


identificadores diferentes para la misma entidad. Puede sustituir, por ejemplo, el
valor de SITEID en un canal de publicacin por un valor de PLANTID externo y
sustituya el valor de PLANTID externo en un servicio empresarial con el valor de
SITEID.

Accin de combinacin

La accin de combinacin concatena valores de varios campos de origen en un solo


campo de destino. Cuando defina la regla, identifique el campo de destino y los
campos de origen y la secuencia en que se deben grabar los datos de origen. Los
datos de origen pueden ser un campo de datos o un control de integracin que
contenga un valor de datos. Tambin puede especificar un control de integracin
que contenga el delimitador para separar los segmentos en el campo de destino.

Integracin de datos con aplicaciones externas 133


Utilice esta accin en una regla de procesamiento de servicio empresarial cuando la
definicin de sistema y la definicin de sistema externo de una entidad no
coincidan. Una regla de procesamiento de servicio empresarial puede combinar,
por ejemplo, un ID de distribuidor y un campo de ubicacin de distribuidor de un
sistema externo en el campo COMPANY. Una regla de procesamiento de canal de
publicacin puede utilizar entonces la accin de divisin para separar el campo
combinado en valores distintos cuando se enven datos al sistema externo.

Los campos de origen y de destino deben estar en el mismo objeto. Esta accin
siempre sobrescribe el valor existente en el campo de destino. Asegrese de que los
campos de origen y de destino sean campos alfanumricos o pueden producirse
errores de procesamiento.

Accin de divisin

La accin de divisin es lo contrario de la accin de combinacin. La accin de


divisin separa el valor de un campo en varios campos. Al definir la regla,
identifica un campo de origen, uno o varios campos de destino y cmo identifica el
procesador de regla segmentos del campo de origen.

Los campos pueden tener los orgenes siguientes:


v Un campo del registro u objeto seleccionado
v Un control de integracin que contenga el delimitador que separa los segmentos
en el campo de origen.

Los campos de origen y de destino deben existir en el mismo objeto. Esta accin
siempre sobrescribe el valor existente en los campos de destino. Asegrese de que
los campos de origen y de destino sean campos alfanumricos o pueden
producirse errores de procesamiento.

Si ha combinado varios campos en un mensaje entrante, divida el campo


combinado en campos individuales en la direccin saliente. Hay dos modos de
identificar cmo dividir el campo. Puede especificar la longitud de cada segmento
del campo de origen o puede identificar un delimitador que separe los segmentos.

Si la longitud del campo de cada segmento de los datos de origen es constante, el


procesador de reglas divide el campo de origen de izquierda a derecha, segn la
longitud del campo, la secuencia y valores que especifique. Por ejemplo, el campo
de destino A con una longitud de carcter de 6 contiene las posiciones 1-6 del
campo de origen. El campo de destino B con una longitud de carcter de 3
contiene las posiciones 7-9 del campo de origen.

Si la longitud de los segmentos del campo de origen es variable pero el campo de


origen contiene un delimitador distinto que identifica los segmentos, utilice la
opcin de separador. La opcin de separador identifica un control de integracin
que define el separador. El mismo separador debe delimitar todos los segmentos.
El procesador de reglas analiza el campo de origen de izquierda a derecha. El
procesador busca el delimitador, divide la serie en varios valores y mueva cada
valor al campo de destino designado.

Secuencia de procesamiento:

Las reglas de proceso se aplican secuencialmente para cada registro u objeto dentro
de una estructura de objeto, empezando por el objeto principal y bajando a los
objetos de nivel inferior.

134 Integracin de datos con aplicaciones externas


Si define varias reglas de proceso para un solo registro u objeto, puede modificar
la secuencia de proceso predeterminada. Su modificacin resulta especialmente
importante si una regla depende del resultado satisfactorio de una regla anterior. Si
se aplica satisfactoriamente una regla con una accin de detencin u omisin, no se
produce ninguna comprobacin adicional.

Condiciones y evaluaciones
Las reglas de proceso se aplican condicionalmente. Se debe satisfacer cualquier
condicin para que se pueda realizar el procesamiento o la accin que se
especifique en la regla.

Las condiciones pueden implicar la evaluacin o la comparacin de datos de


campos XML, un campo de objeto, un conjunto de objetos o un control de
integracin o del sistema.

Especificaciones de condiciones:

Una condicin es una agrupacin de una o varias evaluaciones. Se pueden


especificar varias condiciones y su secuencia se identifica mediante el nmero de
condicin.

Cada evaluacin devuelve un valor de verdadero o falso. Si una evaluacin


comprueba si los valores de dos campos son iguales, por ejemplo, devuelve un
valor de verdadero si los campos son iguales y un valor de falso si no son iguales.
Las condiciones tambin devuelven un valor de verdadero o falso. Si cada
evaluacin de una condicin es verdadera, la condicin es verdadera. Si alguna
evaluacin de la condicin es falsa, la condicin es falsa. Si una regla de proceso
contiene varias condiciones, slo debe ser verdadera una condicin para la accin
asociada con la regla de proceso.

Especificaciones de categoras de evaluacin:

Antes de definir las caractersticas de una evaluacin, seleccione el tipo de datos


que debe evaluarse.

La tabla siguiente describe las categoras que puede utilizar en las evaluaciones.

Categora Uso
Campo XML Evala un valor en un campo de registro de
objeto de integracin, o compara los valores
en dos campos de registro.
Campo Objeto Evala el valor en un campo de objeto o
compara los valores en dos campos en los
objetos relacionados. El campo de objeto
puede formar parte de la definicin de la
estructura de objeto. El campo de objeto
tambin puede formar parte de un objeto al
que se accede en una relacin con un objeto
en la definicin de la estructura de objeto.
Conjunto de objetos Comprueba la existencia de registros en un
objeto relacionado.
Control Evala un valor, un control de integracin
booleano o un control de sistema.

Integracin de datos con aplicaciones externas 135


Como las reglas de proceso de servicio empresarial se aplican antes de crear los
objetos, las reglas de proceso no pueden evaluar campos de objetos o conjuntos de
objetos. En sus evaluaciones, puede utilizar las siguientes combinaciones de
categoras, direcciones de proceso (entrante o saliente) y tipos de registro (registro
u objeto).

Evaluacin de
Direccin de la Evaluacin de Evaluacin de conjunto de Evaluacin de
regla de proceso campo XML campo de objeto objetos control
Salida Disponible Disponible Disponible Disponible
Entrante Disponible No disponible No disponible Disponible
(registro)
Entrante (objeto) Disponible Disponible Disponible Disponible

Campo a evaluar:

Para las evaluaciones de campos XML y de objetos, debe especificar el campo que
va a evaluar.

Para una evaluacin de objeto, debe especificar el objeto y la relacin para acceder
al campo. Si el valor del campo se deriva del objeto, que coincide con el registro,
no se requiere ninguna relacin.

Tipo de evaluacin:

En general, las evaluaciones implican la comparacin de dos valores o una


comprobacin para determinar la existencia de un objeto establecido o un valor
nulo.

La interfaz de usuario muestra un subconjunto de tipos en funcin de la categora


de evaluacin (campo XML, campo de objeto, conjunto de objetos o control). La
tabla siguiente lista los posibles tipos de evaluaciones que puede utilizar.

Tipo de evaluacin Descripcin


IGUAL El valor del campo especificado es igual que
el valor de un segundo campo (el campo de
comparacin).
NOIGUAL El valor del campo especificado no es igual
que el valor de un segundo campo (el
campo de comparacin).
MAYOR El valor del campo especificado es mayor
que el valor de un segundo campo (el
campo de comparacin).
MAYOROIGUAL El valor del campo especificado mayor o
igual que el valor de un segundo campo (el
campo de comparacin).
MENOS El valor del campo especificado es menor
que el valor de un segundo campo (el
campo de comparacin).
MENOSOIGUAL El valor del campo especificado menor o
igual que el valor de un segundo campo (el
campo de comparacin).
COMO El valor contiene el valor esperado.

136 Integracin de datos con aplicaciones externas


Tipo de evaluacin Descripcin
NOCOMO El valor no contiene el valor esperado.
ESNULL El campo especificado no contiene ningn
valor o contiene un valor nulo.
NOESNULL El campo especificado contiene un valor.
NINGUNO Esta opcin solo est disponible si el campo
Cundo evaluar est configurado como
Cambiado o No cambiado. Si NINGUNO
est seleccionado, no se requieren ms
evaluaciones.
EXISTE Existen informes en el conjunto de objetos
especificado.
NOEXISTE No existen informes en el conjunto de
objetos especificado.

Cundo evaluar un campo:

Para las evaluaciones de campos XML y campos de objetos, la regla de proceso


determina primero si se deben evaluar los datos especificados.

El sistema evala los datos comprobando el campo Evaluar cuando, que puede
tener los siguientes valores:

Valor Accin
CHANGED La evaluacin slo contina si la actividad
que ha generado el mensaje cambia el
campo especificado.
NOT CHANGED La evaluacin slo contina si la actividad
que ha generado el mensaje no cambia el
campo especificado.
ALWAYS La evaluacin contina tanto si el valor de la
actividad que ha generado el mensaje (valor
predeterminado) cambia el campo
especificado como si no. Si especifica esta
opcin, no puede especificar un tipo de
comparacin Ninguno.

Cuando se actualiza un registro, aparece un atributo changed (changed=1) en el


campo correspondiente del mensaje saliente. Este atributo determina si el campo
cumple los criterios del campo Evaluar cuando.

Este atributo no aparece en los mensajes generados por la funcin Exportacin de


datos. Las evaluaciones que se aplican cuando cambia un valor no proporcionarn
la salida correcta en un escenario de exportacin de datos.

El atributo changed no se aplica a los mensajes entrantes.

Especificacin de campos de comparacin:

La interfaz de usuario muestra subconjuntos en funcin del tipo de evaluacin


(campo XML, campo de objeto, conjunto de objetos o control). Si una regla de
proceso utiliza uno de los primeros ocho tipos de evaluacin, debe especificar el
campo (campo de comparacin) con el que realiza la comparacin.

Integracin de datos con aplicaciones externas 137


La tabla siguiente lista los tipos de campos de comparacin que puede utilizar en
las comparaciones de campos. La comparacin de un campo de origen
alfanumrico distingue entre maysculas y minsculas.

Campo Uso
Control de integracin Comparar el valor del campo especificado
con los valores de una lista o control de
integracin de valores. Si un control de lista
tiene varios valores coincidentes, la
evaluacin es verdadera. La evaluacin solo
es verdadera si el valor de campo coincide
con alguno de los valores del control de
lista.

Ejemplo: Validar el ESTADO de una orden


de compra. El valor actual en un campo
ESTADO es EAPROB y los valores
aceptables posibles que cumplen la
condicin se encuentran en un control de
lista denominado POSEND. Los valores de
POSEND son EAPROB, APROB y CERR. Si
el tipo de evaluacin es IGUAL, la
evaluacin devuelve un valor verdadero.
Valor Comparar el valor del campo especificado
con un valor predefinido. Esta opcin est
disponible para condiciones definidas por el
usuario.

Independientemente del valor de entorno


local del servidor de aplicaciones o la base
de datos, en todos los campos de decimales
se debe utilizar un punto (.) como separador
decimal. No se da formato a los nmeros
situados a la izquierda del indicador. Este
formato se aplica a los datos entrantes y
salientes. Por ejemplo 1,738,593.64 dlares
debe tener el formato siguiente: 1738593.64.

Ejemplo: Una regla de proceso compara el


valor del campo LINOC1 con el valor
REPUESTO. Si el tipo de evaluacin es
IGUAL y los dos valores son iguales, la
evaluacin devuelve un valor verdadero.
MAXVAR Comparar el valor del campo especificado
con el valor de un control de sistema (un
valor en la tabla de base de datos
MAXVARS).

Ejemplo: Evaluar el OWNERSYSID en


cualquier servicio empresarial o canal de
publicacin para determinar si es igual que
MAXVARS.MXSYSID.
Booleano Comparar el valor en el campo especificado
con un valor booleano true o false
(verdadero o falso).

138 Integracin de datos con aplicaciones externas


Campo Uso
Campo de comparacin Comparar el valor del campo especificado
con otro campo del mismo objeto.

Ejemplo: Comparar los valores


GLDEBITACCT y GLCREDITACCT en una
lnea de OC o una entrada de diario para
determinar si son iguales.
Objeto, relacin y campo Comparar el valor del campo especificado
con un campo de un objeto diferente.

Ejemplo: Comparar el valor de


OWNERSYSID del inventario en el sistema
para los valores de la combinacin
parte-almacn en una lnea de recepcin o
lnea de OC.

Controles de integracin
Los controles de integracin permiten configurar el comportamiento de cualquier
servicio empresarial o canal de publicacin segn las necesidades de
organizaciones y plantas individuales. Las reglas de proceso y las clases Java
pueden acceder a controles de integracin con fines de evaluacin.

Los controles de integracin se definen al nivel de sistema. Puede asignar el


control a uno o varios servicios empresariales y canales de publicacin. Los valores
de los controles se pueden configurar al nivel del sistema externo. Dos sistemas
externos que procesen el mismo servicio empresarial pueden compartir la misma
lgica de proceso, los mismos archivos de clase y las mismas reglas de proceso,
pero procesar los datos de modo diferente porque utilizan valores de control
diferentes.

Niveles de control:

Todos los datos maestros y documentos se almacenan en el nivel del sistema, el


nivel de organizacin o el nivel de sitio. Los datos de elementos se almacenan en
el nivel del sistema, la informacin de contabilidad en el nivel de organizacin y
las rdenes de trabajo en el nivel de planta. Entre estos niveles existen una
jerarqua implcita.

Se puede configurar un control de integracin para alterar temporalmente los


valores en cualquiera de los niveles siguientes:

Valor de control Descripcin


Nivel del sistema Un valor de nivel de sistema se aplica a
todas las organizaciones y plantas del
sistema. Si el control no se configura para
los valores de nivel de organizacin y nivel
de planta, el proceso del sistema utiliza el
valor predeterminado del sistema. Si el
control se configura para los valores de nivel
de organizacin o los valores de nivel de
planta pero no existe ninguno para una
organizacin o planta especfica, el proceso
del sistema utiliza el valor de nivel del
sistema.

Integracin de datos con aplicaciones externas 139


Valor de control Descripcin
Nivel de organizacin Un valor de nivel de organizacin se aplica
a todas las plantas del sistema dentro de
una organizacin. Si un control se configura
para los valores de nivel de organizacin
pero no existe ninguno para una
organizacin especfica, el proceso del
sistema utiliza el valor de nivel del sistema.
Nivel de planta Un valor de nivel de planta se aplica a una
planta especfica dentro de una organizacin
del sistema. Si se configura un control para
los valores de nivel de planta pero no existe
ninguno para una planta determinada, el
proceso del sistema utiliza el valor de
organizacin (si existe uno) o el valor de
nivel del sistema.

Los datos que procesan los servicios empresariales o los canales de publicacin que
utilizan un control con un valor de alteracin temporal de organizacin o planta
deben estar en el nivel de organizacin o de planta.

Tipos de controles:

Puede crear cuatro tipos de controles de integracin para satisfacer las necesidades
de su empresa.

Controles booleanos

Un control de integracin booleano especifica un valor de 0 (falso) o 1 (verdadero).

Controles de lista

Un control de integracin de lista contiene una lista de valores. Puede especificar


varios valores para el control y, opcionalmente, asignar un dominio del sistema al
control. La asignacin de un dominio garantiza la validacin de cualquier valor
especificado para dicho control, a cualquier nivel. Si no se asigna ningn dominio,
no se produce ninguna validacin de los valores especificados.

Por ejemplo, se envan rdenes de trabajo a un sistema externo slo si el estado de


la orden de trabajo es APROB (aprobado) o COMPLETO. Para determinar si se va
a enviar la orden de trabajo, el cdigo Java o la regla de proceso puede comprobar
el estado de una orden de trabajo con respecto a un control de listas que contiene
estos dos valores.

Controles de valor

Un control de integracin de valor contiene un nico valor. Puede especificar un


solo valor para el control y, opcionalmente, asignar un dominio del sistema al
control.

Controles de referencia cruzada

Un control de referencia cruzada sustituye un valor por otro. En un canal de


publicacin, un valor del sistema se convierte a un valor de un sistema externo. En
un servicio empresarial, un valor de un sistema externo se convierte a un valor del

140 Integracin de datos con aplicaciones externas


sistema. Puede asignar opcionalmente un dominio del sistema a un control de
referencia cruzada. Si se especifica un dominio, cualquier valor del sistema
especificado para el control se valida sobre dicho dominio. Si no se asigna ningn
dominio, no se produce ninguna validacin de los valores especificados.

Los controles de referencia cruzada deben tener una correlacin de uno a uno entre
el valor del sistema y el valor del sistema externo. Si dos valores del sistema estn
asociados con un valor de un sistema externo o dos valores de un sistema externo
estn asociados con un valor del sistema, se produce un error de procesamiento.

Si crea el control de referencia cruzada para que funcione como un control de


multiplicacin en un servicio empresarial, pueden existir correlaciones "de uno a
muchos". Un control de multiplicacin es un control de referencia cruzada que
copia, o multiplica, un mensaje entrante para varias organizaciones o plantas. Un
control de multiplicacin tiene un valor externo y varios valores de sistema.

Los controles de multiplicacin siempre son especficos del sistema externo. El


control se identifica como un control de multiplicacin en la ficha Servicio
empresarial de la aplicacin Servicios empresariales.

Por ejemplo, las plantas del sistema equivalen a unidades de negocio de un


sistema externo, pero los dos sistemas utilizan valores diferentes para estas
entidades. Un control de referencia cruzada puede realizar la conversin entre los
dos valores. Un control de referencia cruzada en un servicio empresarial puede
convertir el valor la unidad de negocio EX001 a la planta del sistema MX001. En
un canal de publicacin, el mismo control puede convertir MX001 a EX001.

Controles de multiplicacin

Un control de multiplicacin puede actualizar la compaa de cada organizacin en


la base de datos del sistema. Por ejemplo, utilice un control de multiplicacin para
actualizar la compaa de cada organizacin en el sistema. Las actualizaciones de
valores se producen cuando el sistema recibe datos de compaa utilizando un
servicio empresarial.

Creacin de controles nuevos:

La modificacin de valores de control al nivel del sistema externo suele ser


suficiente para personalizar el servicio empresarial predefinido o el procesamiento
del canal de publicacin. Si se implementan reglas de negocio nuevas o se
implementa un canal de publicacin y un servicio empresarial nuevo, es posible
que se necesite un control nuevo.

Siga las directrices siguientes cuando cree controles nuevos:


v Los nombres de los controles deben ser exclusivos.
v Para utilizar los controles como componentes de una regla de proceso y
establecer un valor al nivel del sistema externo, asocie controles con un canal de
publicacin o un servicio empresarial.
v Cuando asocie un canal de publicacin o un servicio empresarial a un sistema
externo, todos los controles asociados se copian al nivel del sistema externo.
Puede asignar valores al nivel del sistema externo.

Configuracin de reglas de proceso


Puede configurar reglas de proceso para una estructura de objeto en la aplicacin
Canales de publicacin o en la aplicacin Servicios empresariales.

Integracin de datos con aplicaciones externas 141


Definicin de evaluaciones de control de integracin o de control de sistema:

Las evaluaciones de control se utilizan para comparar un valor de un campo


especfico con el valor de un control de integracin. Tambin puede utilizar una
evaluacin de control para comparar el valor de un campo especfico con un valor
de control de sistema (un valor MAXVARS).

Acerca de esta tarea

Si evala un control de integracin, deber ser un control de tipo valor o booleano.

Procedimiento
1. En la aplicacin Servicios empresariales o Canales de publicacin, visualice el
registro de servicio o canal al que se aplica la evaluacin.
2. En la ventana de tabla Subregistros de estructura de objeto, seleccione la
estructura de objeto a la que se aplica la evaluacin.
3. Lleve a cabo una de estas acciones:
v Para un servicio empresarial, pulse en Agregar/Modificar condiciones en la
ficha Reglas de proceso de estructura de objeto o en la ficha Reglas de
proceso de objetos.
v Para un canal de publicacin, pulse en Agregar/Modificar condiciones en la
ventana de tabla Reglas de proceso para subregistro.
4. En la ventana de tabla Condiciones, pulse en Fila nueva.
5. En el campo Condiciones, especifique un valor. El valor de condicin
determina el orden en el cual la infraestructura de integracin evala las
condiciones.
6. Para comparar el valor de control con un valor de campo, seleccione uno de los
botones de radio siguientes y especifique valores en los campos
correspondientes.
v Control de integracin
v MAXVAR
7. Especifique valores en los campos siguientes:

Opcin Descripcin
Tipo de evaluacin Define el tipo de evaluacin que se realiza
en el campo XML.
Valor El valor que se utiliza en la evaluacin de
control.

8. Pulse Aceptar.

Definicin de evaluaciones de campos de objetos:

Puede utiliza una evaluacin de campo de objeto para evaluar el valor de un


campo en cualquier objeto que se haya incluido en la definicin de una estructura
de objeto. Tambin puede evaluar otros objetos de negocios a los que se pueda
acceder utilizando una clusula WHERE.

Acerca de esta tarea

Independientemente del valor de entorno local del servidor de aplicaciones o la


base de datos, en todos los campos de decimales se debe utilizar un punto (.) como

142 Integracin de datos con aplicaciones externas


separador decimal. Los nmeros situados a la izquierda del indicador no se
formatean. Este formato se aplica a los datos entrantes y salientes. Por ejemplo,
$1,738,593.64 debe ser 1738593.64.

Puede utilizar una evaluacin de campo de objeto para realizar las evaluaciones
siguientes:
v Comprobar si el campo es o no es nulo
v Comparar el valor del campo de objeto con el valor de un control de integracin
o un control del sistema
v Comparar el valor del campo de objeto con un valor predefinido

Si los datos no satisfacen la comparacin, la evaluacin devuelve un resultado de


falso. Si los datos satisfacen la comparacin, la evaluacin devuelve un resultado
de verdadero.

Procedimiento
1. En la aplicacin Canales de publicacin, visualice el registro de canal al que se
aplica la evaluacin.
2. En la ventana de tabla Subregistros de estructura de objeto, seleccione la
estructura de objeto a la que se aplica la evaluacin.
3. En la ventana de tabla Reglas de proceso para subregistro, pulse en
Agregar/Modificar condiciones.
4. En la ventana de tabla Condiciones, pulse en Fila nueva.
5. En el campo Condiciones, especifique un valor. El valor de condicin
determina el orden en el cual la infraestructura de integracin evala las
condiciones.
6. En la ficha Campo de objeto, pulse en Fila nueva.
7. Especifique valores en los campos siguientes:

Opcin Descripcin
Objeto El objeto de negocios que contiene el campo
que se evala.
Relacin de objeto La relacin entre el objeto de negocios
definido y el objeto de negocios de la regla.
Campo El campo de objeto de negocios que se
evala.
Tipo de evaluacin El tipo de evaluacin que se realiza en el
campo del objeto de negocios.
Evaluar cuando Con qu frecuencia se realiza la evaluacin.

Especifique un valor de objeto de negocios slo si no est en el objeto de


negocios en el cual se ha creado la regla.
8. Para comparar el valor del campo de objeto de negocios con otro valor,
seleccione uno de los botones de seleccin siguientes y especifique valores en
el campo correspondiente.
v Control de integracin
v Valor
v MAXVAR
9. Pulse Aceptar.
10. Pulse en Guardar canal de publicacin.

Integracin de datos con aplicaciones externas 143


Definicin de evaluaciones de conjuntos de objetos:

Una evaluacin de conjunto de objetos le permite determinar si existen registros en


una relacin entre dos objetos de negocios. Si la relacin devuelve un conjunto de
objetos de negocios, la evaluacin devuelve un resultado verdadero.

Procedimiento
1. En la aplicacin Canales de publicacin, visualice el registro de canal al que se
aplica la evaluacin.
2. En la ventana de tabla Subregistros de estructura de objeto, seleccione la
estructura de objeto a la que se aplica la evaluacin.
3. En la ventana de tabla Reglas de proceso para subregistro, pulse en
Agregar/Modificar condiciones.
4. En la ventana de tabla Condiciones, pulse en Fila nueva.
5. En el campo Condiciones, especifique un valor. El valor de condicin
determina el orden en el cual la infraestructura de integracin evala las
condiciones.
6. En la ficha Conjunto de objetos, pulse en Fila nueva.
7. Especifique valores en los campos siguientes:

Opcin Descripcin
Objeto El objeto de negocios que contiene el campo
que se evala.
Relacin de objeto La relacin entre el objeto de negocios
definido y el objeto de negocios de la regla.
Tipo de evaluacin El tipo de evaluacin que se realiza en el
campo del objeto de negocios.

8. Pulse Aceptar.
9. Pulse en Guardar canal de publicacin.

Definicin de evaluaciones de campos XML:

Puede utilizar una evaluacin de campo XML para evaluar un valor en un


subregistro de estructura de objeto. Cuando utilice una evaluacin de campo XML,
puede comprobar si un campo es nulo y comparar valores en un campo de objeto
de negocios con un control de integracin, un valor de sistema o un valor
predefinido.

Procedimiento
1. En la aplicacin Servicios empresariales o Canales de publicacin, visualice el
registro de servicio o canal al que se aplica la evaluacin.
2. En la ventana de tabla Subregistros de estructura de objeto, seleccione la
estructura de objeto a la que se aplica la evaluacin.
3. Lleve a cabo una de estas acciones:
v Para un servicio empresarial, pulse en Agregar/Modificar condiciones en la
ficha Reglas de proceso de estructura de objeto o en la ficha Reglas de
proceso de objetos.
v Para un canal de publicacin, pulse en Agregar/Modificar condiciones en la
ventana de tabla Reglas de proceso para subregistro.
4. En la ventana de tabla Condiciones, pulse en Fila nueva.

144 Integracin de datos con aplicaciones externas


5. Opcional: En el campo Condiciones, especifique un valor. El valor de condicin
determina el orden en el cual la infraestructura de integracin evala las
condiciones.
6. En la ficha Campo XML, pulse en Fila nueva.
7. Especifique valores en los campos siguientes:

Opcin Descripcin
Campo El campo XML que se evala.
Tipo de evaluacin El tipo de evaluacin que se realiza en el
campo XML.
Evaluar cuando Con qu frecuencia se realiza la
evaluacin.

8. Para comparar el valor del campo XML con otro valor, seleccione uno de los
botones de seleccin siguientes y especifique valores en el campo
correspondiente.
v Control de integracin
v Valor
v MAXVAR
v Campo de comparacin
9. Pulse Aceptar.

Definicin de las reglas de proceso:

Puede definir una regla de proceso para realizar el proceso de servicios


empresariales personalizados y el canal de publicacin. Cuando utilice una regla
de proceso, puede realizar el proceso de entrada y salida personalizado sin utilizar
una clase Java.

Antes de empezar

Antes de crear una regla de proceso, debe tener en cuenta la definicin de:
v Si una regla de servicio empresarial o canal de publicacin evala un campo
XML o un campo de objeto empresarial.
v El subregistro especfico u objeto empresarial en el que se va a definir la regla.
v Las acciones que desencadenan la regla.

Procedimiento
1. En la aplicacin Servicios empresariales o Canales de publicacin, visualice el
registro de servicio o canal al que se aplica la regla.
2. En la ventana de tabla Subregistros de estructura de objeto, seleccione el
subregistro de estructura de objeto al que se aplica la regla.
3. Para un servicio empresarial, realice una de las acciones siguientes:
v En la ficha Reglas de proceso de estructura de objeto, pulse Fila nueva para
definir una regla de proceso de entrada en una estructura de objeto.
v En la ficha Reglas de proceso de objeto, pulse Fila nueva para definir una
regla de proceso de entrada en un objeto empresarial.
4. Para un canal de publicacin, pulse Fila nueva en la ficha Reglas de proceso
para subregistro para definir una regla de proceso de salida en un objeto
empresarial.
5. En el campo Regla, escriba un identificador de regla.

Integracin de datos con aplicaciones externas 145


6. En el campo Accin, escriba un valor.
7. Para cambiar el orden en el que la aplicacin aplica las reglas de proceso de un
objeto, cambie el valor en el campo Secuencia. La infraestructura de integracin
aplica las reglas secuencialmente comenzando por el objeto de nivel principal.
8. Realice una o ms de las siguientes acciones.
v Seleccione o desmarque la casilla de verificacin Aplicar al insertar objeto
principal.
v Seleccione o desmarque la casilla de verificacin Aplicar al actualizar objeto
principal.
v Seleccione o desmarque la casilla de verificacin Aplicar al suprimir objeto
principal.
Los valores anotados determinan si la infraestructura de integracin se aplica a
la regla de proceso cuando una fila se inserta, actualiza o suprime en el objeto
empresarial principal de la estructura de objeto.
9. Pulse Guardar servicio empresarial o Guardar canal de publicacin.

Habilitacin de reglas de proceso:

Debe habilitar una regla de proceso para poderla aplicar a objetos de servicio
empresarial o de canal de publicacin. Una regla de proceso habilitada indica que
est lista para llevar a cabo procesos personalizados de entrada y salida.

Acerca de esta tarea

Si inhabilita una regla de proceso predefinida, se pueden producir errores de


proceso de infraestructura de integracin.

Procedimiento
1. En la aplicacin Servicios empresariales o Canal de publicacin, visualice el
servicio o el canal con la regla de proceso que desea habilitar.
2. En la ventana de tabla Subregistros de estructura de objeto, seleccione el objeto
al que se aplica la regla.
3. Especifique si desea habilitar o inhabilitar la regla de proceso.

Opcin Habilitado
Habilitado Seleccionado
Inhabilitado Sin seleccionar

Para el servicio empresarial, puede habilitar o inhabilitar la regla de proceso en


las fichas Reglas de proceso de estructura de objeto o Reglas de proceso de
objetos. Para el canal de publicacin, puede habilitar o inhabilitar la regla de
proceso en la ficha Reglas de proceso para subregistro.
4. Pulse en Guardar servicio empresarial o Guardar canal de publicacin.

Adicin de controles:

Los controles de integracin se utilizan para configurar el comportamiento de


cualquier servicio empresarial o canal de publicacin segn las necesidades de
organizaciones y plantas individuales. Los tipos de control incluyen el control
booleano, controles de referencia cruzada, control de lista y controles de valores.

146 Integracin de datos con aplicaciones externas


Adicin de controles booleanos:

Puede agregar un control de tipo booleano cuando necesite un control de


integracin que especifique un valor de verdadero o falso. Un servicio empresarial
o un canal de publicacin puede utilizar este control booleano en sus evaluaciones
de reglas de procesamiento. El valor de verdadero o falso que asigna al control
determina si un servicio empresarial o un canal de publicacin aplican una regla
de proceso en una transaccin.

Procedimiento
1. En la aplicacin Servicios empresariales, en el men Seleccionar accin,
seleccione Crear controles de integracin.
2. Pulse en Agregar control nuevo > Agregar nuevo control booleano.
3. En el campo Control de integracin, especifique el identificador para el control
booleano.
4. Especifique si desea que el control booleano tenga un valor predeterminado de
verdadero o falso.

Opcin Valor predeterminado Verdadero


Valor verdadero Seleccionado
Valor falso Sin seleccionar

5. Pulse en Aceptar para cerrar el cuadro de dilogo Control booleano.


6. Pulse en Aceptar para cerrar el cuadro de dilogo Crear controles de
integracin.

Ejemplo

Puede utilizar un control booleano para indicar si los servicios empresariales o los
canales de publicacin reciben o envan transacciones de orden de compra. Puede
establecer una accin de regla de proceso en un servicio empresarial o canal de
publicacin para saltarse una transaccin. Si el valor predeterminado que asigna al
control booleano es verdadero y la evaluacin de regla de proceso es verdadera, el
servicio empresarial o canal de publicacin reciben y envan actualizaciones de
transacciones de orden de compra.

Qu hacer a continuacin

Puede asociar un control de integracin con un servicio empresarial o un canal de


publicacin en la aplicacin Servicios empresariales o Canales de publicacin. Estas
asociaciones ponen los controles de integracin a disposicin del procesamiento de
mensajes entrante y salientes. Tambin puede asociar un control de integracin a
un sistema externo en la aplicacin Sistemas externos. El valor definido en el
control al nivel externo sobrescribe el valor de control definido en el servicio
empresarial o el nivel de canal de publicacin.

Adicin de controles de referencia cruzada:

Puede agregar un control tipo referencia cruzada cuando necesite un control de


integracin que sustituya un valor por otro. Puede sustituir un valor en los
mensajes entrantes o salientes y en varias organizaciones o plantas. Un control de
referencia cruzada puede realizar la conversin entre un valor del sistema de
gestin de activos y un valor del sistema externo.

Integracin de datos con aplicaciones externas 147


Acerca de esta tarea

Un canal de publicacin utiliza un control de referencia cruzada para convertir un


valor de sistema de gestin de activos saliente a un valor de sistema externo. Un
servicio empresarial utiliza un control de referencia cruzada para convertir un
valor de sistema externo entrante a un valor de sistema de gestin de activos. Si
utiliza sinnimos, especifique el valor externo como valor de control, no el valor
interno de la aplicacin. Debe utilizar un punto (.) como marcador de posicin
decimal al introducir decimales como valor de control. Los nmeros situados a la
izquierda del indicador no se convierten. Por ejemplo, $1,738,593.64 debe ser
1738593.64.

Procedimiento
1. En la aplicacin de servicios empresariales o canales de publicacin, seleccione
la accin Crear controles de integracin.
2. Pulse en Agregar control nuevo > Agregar nuevo control XRef.
3. Especifique valores en los campos siguientes:

Opcin Descripcin
Control de integracin El identificador del control de valor.
Dominio El dominio que se utiliza para comprobar
los valores especificados para el control de
integracin.

4. En la ventana de tabla Valores, pulse en Fila nueva.


5. Especifique valores en los campos siguientes:

Opcin Descripcin
Valor predeterminado El valor que se convierte a un valor de
sistema externo o a partir de un valor de
sistema externo.
Valor externo predeterminado El valor externo que se convierte en el
valor predeterminado o a partir del valor
predeterminado.

6. Pulse en Aceptar para cerrar el cuadro de dilogo Control de referencia


cruzada.
7. Pulse en Aceptar para cerrar el cuadro de dilogo Crear controles de
integracin.

Ejemplo

Las plantas del sistema de gestin de activos corresponden a unidades


empresariales del sistema externo, aunque dos sistemas externos distintos utilizan
valores diferentes para estas entidades. Un control de referencia cruzada puede
realizar la conversin entre los dos valores que no coinciden y el valor del sistema
de gestin de activos.

Un control de referencia cruzada en un servicio empresarial puede convertir el


valor de planta del sistema externo EX001 en un valor de planta del sistema de
gestin de activos MX001.

148 Integracin de datos con aplicaciones externas


Qu hacer a continuacin

Puede asociar un control de integracin con un servicio empresarial o un canal de


publicacin en la aplicacin Servicios empresariales o Canales de publicacin. Estas
asociaciones ponen los controles de integracin a disposicin del procesamiento de
mensajes entrante y salientes. Tambin puede asociar un control de integracin a
un sistema externo en la aplicacin Sistemas externos. El valor definido en el
control al nivel externo sobrescribe el valor de control definido en el servicio
empresarial o el nivel de canal de publicacin.

Adicin de controles de lista:

Puede crear un control de integracin de tipo de lista cuando necesite un control


que contenga una lista de valores. Un servicio empresarial o un canal de
publicacin puede utilizar este control de lista en sus evaluaciones de reglas de
procesamiento. La regla se puede saltar el procesamiento de la transaccin cuando
el valor del campo de datos no coincide con ninguno de los valores de control de
lista definidos.

Acerca de esta tarea

Debe utilizar un punto (.) como marcador de posicin decimal al introducir


decimales como valor de control. Los nmeros situados a la izquierda del
indicador no se convierten. Por ejemplo, $1,738,593.64 debe ser 1738593.64.

Procedimiento
1. En la aplicacin Servicios empresariales, en el men Seleccionar accin,
seleccione Crear controles de integracin.
2. Pulse en Agregar control nuevo > Agregar nuevo control de lista.
3. Especifique valores en los campos siguientes:

Opcin Descripcin
Control de integracin El identificador del control de valor.
Dominio El dominio que se utiliza para comprobar
los valores especificados para el control de
integracin.

4. En la ventana de tabla Valores, pulse en Fila nueva.


5. En el campo Valor predeterminado, especifique un valor para la evaluacin.
6. Pulse en Aceptar para cerrar el cuadro de dilogo Control de lista.
7. Pulse en Aceptar para cerrar el cuadro de dilogo Crear controles de
integracin.

Ejemplo

Las rdenes de trabajo se envan a un sistema externo slo si el estado de la orden


de trabajo es APROB (aprobado) o COMPLETO. La regla de proceso puede comprobar el
estado de una orden de trabajo sobre un control de lista que contiene estos dos
valores de estado. Si el estado de una orden de trabajo no coincide con los dos
valores de control de lista, la transaccin de orden de trabajo no se enva al sistema
externo.

Integracin de datos con aplicaciones externas 149


Qu hacer a continuacin

Puede asociar un control de integracin con un servicio empresarial o un canal de


publicacin en la aplicacin Servicios empresariales o Canales de publicacin. Estas
asociaciones ponen los controles de integracin a disposicin del procesamiento de
mensajes entrante y salientes. Tambin puede asociar un control de integracin a
un sistema externo en la aplicacin Sistemas externos. El valor definido en el
control al nivel externo sobrescribe el valor de control definido en el servicio
empresarial o el nivel de canal de publicacin.

Adicin de controles de valor:

Puede crear un control de integracin de tipo de valor cuando necesite un control


que contenga un nico valor. Un servicio empresarial o un canal de publicacin
puede utilizar este control de valor en sus evaluaciones de reglas de
procesamiento. La regla se puede saltar el procesamiento de la transaccin cuando
el valor del campo de datos no coincide con el valor de control definido.

Acerca de esta tarea

Puede proporcionar un valor de control predeterminado y asignar un dominio al


control para asegurarse de que se validan todos los valores entrados para dicho
control.

Procedimiento
1. En el men Seleccionar accin de la aplicacin Servicios empresariales o
Canales de publicacin, seleccione Crear controles de integracin.
2. Pulse en Agregar control nuevo > Agregar nuevo control de valor.
3. Especifique valores en los campos siguientes:

Opcin Descripcin
Control de integracin El identificador del control de valor.
Dominio El dominio que se utiliza para comprobar
los valores especificados para el control de
integracin.
Valor predeterminado El valor predeterminado del control de
integracin.

4. Pulse en Aceptar para cerrar el cuadro de dilogo Control de valor.


5. Pulse en Aceptar para cerrar el cuadro de dilogo Crear controles de
integracin.

Ejemplo

El sistema de gestin de activos slo recibe las rdenes de compra si el valor del
tipo de empresa es EX. Para determinar si la orden de compra se ha recibido, la
regla de procesamiento puede comprobar el valor del tipo de empresa
comparndolo con el valor definido en el control. Si el valor de empresa EX no
coincide con el valor contenido en el control la transaccin de orden de compra no
se enva al sistema de gestin de activos.

150 Integracin de datos con aplicaciones externas


Qu hacer a continuacin

Puede asociar un control de integracin con un servicio empresarial o un canal de


publicacin en la aplicacin Servicios empresariales o Canales de publicacin. Estas
asociaciones ponen los controles de integracin a disposicin del procesamiento de
mensajes entrante y salientes. Tambin puede establecer un control de integracin
en un sistema externo en la aplicacin Sistemas externos. El valor definido en el
control al nivel del sistema externo sobrescribe el valor de control definido en el
servicio empresarial o el nivel de canal de publicacin.

Asociacin de controles de integracin con servicios empresariales o canales de


publicacin:

Puede asociar controles de integracin con un servicio empresarial o un canal de


publicacin para que el control est disponible para el proceso de mensajes
entrantes y salientes. Un servicio empresarial o un canal de publicacin puede
tener una asociacin con uno o varios controles de integracin.

Acerca de esta tarea

Cuando asocia un control de integracin con un servicio empresarial o un canal de


publicacin, puede alterar temporalmente los valores predefinidos de los controles
que se establecen a nivel de canal o servicio. Puede definir controles de integracin
globalmente y configurar los controles para cada sistema externo, conforme a los
requisitos de plantas y organizaciones individuales.

Procedimiento
1. En la aplicacin Servicios empresariales o Canales de publicacin, visualice el
servicio o el canal con el que desea asociar un control de integracin.
2. Seleccione la accin Asociar controles de integracin.
3. Lleve a cabo una de estas acciones:

Opcin Descripcin
Seleccionar controles de integracin 1. Pulse Fila nueva.
individualmente
2. En el campo Control de integracin,
especifique un valor de control.
Seleccionar varios controles de 1. Pulse Seleccionar controles.
integracin
2. Seleccione los controles adecuados.
3. Pulse Aceptar.

4. Pulse Aceptar para cerrar el cuadro de dilogo Asociar controles de integracin.

Gestin de datos en campos de subregistro:

Como parte de una integracin, puede trabajar con los valores en un solo campo
de datos de origen para establecer el valor, combinar el valor, dividir el valor o
sustituir el valor.

Establecimiento de valores de campo de subregistro:

Puede asignar un valor a un campo de datos especificado para sobrescribir el valor


existente en el campo de datos. Puede indicar si un valor siempre se asigna o si
slo se asigna cuando el campo de datos de destino es nulo.

Integracin de datos con aplicaciones externas 151


Antes de empezar

Para poder establecer valores de campo de subregistro, primero debe crear una
regla de procesamiento que contenga una accin de establecimiento.

Procedimiento
1. En la aplicacin Servicios empresariales o Canales de publicacin, visualice el
registro de servicio o canal al que se aplica la accin de establecer un campo de
subregistro.
2. En la ficha Servicio empresarial o Canal de publicacin, seleccione la regla de
proceso a la que se aplica la accin de establecer un campo de subregistro.
3. Lleve a cabo una de estas acciones:
v Para un servicio empresarial, pulse en Campos de subregistro en la ficha
Reglas de proceso de estructura de objeto o en la ficha Reglas de proceso de
objetos.
v Para un canal de publicacin, pulse en Campos de subregistro en la ventana
de tabla Reglas de proceso para subregistro.
4. Pulse Fila nueva.
5. En el campo Campo, escriba el nombre del campo de datos de destino. Este
valor define el campo que desea sustituir.
6. Especifique si un valor siempre se asigna o si slo se asigna cuando el campo
de datos de destino es nulo.

Opcin Reemplazar cuando sea nulo


Asignar cuando el campo de datos sea Seleccionado
nulo
Asignar siempre Sin seleccionar

7. Para especificar el campo de origen, seleccione uno de los botones de seleccin


siguientes y especifique valores en los campos correspondientes:
v Control de integracin
v MAXVAR
v Campo
v Objeto
8. Pulse Aceptar.

Combinacin de valores de campos de subregistro:

Puede combinar los valores de dos o ms controles de integracin o campos de


datos de origen en un nico campo de destino. Puede combinar los valores cuando
no hay coincidencia entre un valor del sistema de gestin de activos y el valor del
sistema externo. Por ejemplo, una clave de sistema externo de dos partes puede
correlacionarse con una clave de parte nica en el sistema de gestin de activos.

Antes de empezar

Para poder combinar valores de campo de subregistro, primero debe crear una
regla de proceso que contenga una accin de combinacin.

152 Integracin de datos con aplicaciones externas


Acerca de esta tarea

Los campos de origen y de destino deben estar en el mismo objeto. Esta accin
siempre sobrescribe el valor existente en el campo de destino. Asegrese de que los
campos de origen y de destino son alfanumricos, de lo contrario, se pueden
producir errores de proceso.

Procedimiento
1. En la aplicacin Servicios empresariales o Canales de publicacin, visualice el
registro de servicio o canal al que se aplica la accin de combinacin de un
campo de subregistro.
2. En la ficha Servicio empresarial o Canal de publicacin, seleccione la regla de
proceso a la que se aplica la accin de combinacin de un campo de
subregistro.
3. Lleve a cabo una de estas acciones:
v Para un servicio empresarial, pulse en Campos de subregistro en la ficha
Reglas de proceso de estructura de objeto o en la ficha Reglas de proceso de
objetos.
v Para un canal de publicacin, pulse en Campos de subregistro en la ventana
de tabla Reglas de proceso para subregistro.
4. En la ventana de tabla Campos de subregistro objetivo, lleve a cabo uno de
estas acciones:

Opcin Descripcin
Seleccione campos de destino 1. Pulse Fila nueva.
individualmente
2. En el campo Campo, especifique un
campo de datos de destino.
3. En el campo Control de integracin de
separador, especifique un valor
delimitador que separe los segmentos del
campo de destino.
Seleccione varios campos de destino a la 1. Pulse en Seleccionar campo.
vez
2. Seleccione los campos adecuados.
3. Pulse Aceptar.
4. En el campo Control de integracin de
separador, especifique un valor
delimitador que separe los segmentos del
campo de destino.

5. En la ventana de tabla Campos de subregistro fuente para destino, lleve a cabo


uno de estas acciones:

Integracin de datos con aplicaciones externas 153


Opcin Descripcin
Seleccione campos de origen 1. Pulse Fila nueva.
individualmente
2. Seleccione uno de los siguientes botones
de radio y especifique valores en los
campos adecuados:
v Campo
v Control de integracin
3. Especifique un valor en el campo
Secuencia para definir el orden en que la
aplicacin mueve segmentos del campo
de origen a los campos de destino.
Seleccione varios campos de origen a la vez 1. Pulse en Seleccionar campo.
2. Seleccione los campos adecuados.
3. Pulse Aceptar.
4. Especifique un valor en el campo
Secuencia para definir el orden en que la
aplicacin mueve segmentos del campo
de origen a los campos de destino.

6. Pulse Aceptar.

Divisin de valores de campos de subregistro:

Puede dividir el valor de un nico campo de datos de origen en varios campos de


destino. Puede dividir los valores cuando no hay coincidencia entre un valor del
sistema de gestin de activos y el valor del sistema externo. Por ejemplo, una clave
del sistema de gestin de activos de una parte se puede correlacionar con una
clave de dos partes en el sistema externo.

Antes de empezar

Para poder dividir valores de campo de subregistro, primero debe crear una regla
de proceso que contenga una accin de divisin.

Procedimiento
1. En la aplicacin Servicios empresariales o Canales de publicacin, visualice el
registro de servicio o canal al que se aplica la accin de divisin de un campo
de subregistro.
2. En la ficha Servicio empresarial o Canal de publicacin, seleccione la regla de
proceso a la que se aplica la accin de divisin de un campo de subregistro.
3. Lleve a cabo una de estas acciones:
v Para un servicio empresarial, pulse en Campos de subregistro en la ficha
Reglas de proceso de estructura de objeto o en la ficha Reglas de proceso de
objetos.
v Para un canal de publicacin, pulse en Campos de subregistro en la ventana
de tabla Reglas de proceso para subregistro.
4. En la ventana de tabla Campos de subregistro objetivo, lleve a cabo uno de
estas acciones:

154 Integracin de datos con aplicaciones externas


Opcin Descripcin
Seleccione campos de destino 1. Pulse Fila nueva.
individualmente
2. En el campo Campo, especifique un
campo de datos de destino.
3. En el campo Control de integracin de
separador, especifique un valor
delimitador que separe los segmentos
del campo de destino.
Seleccione varios campos de destino a la 1. Pulse en Seleccionar campo.
vez
2. Seleccione los campos adecuados.
3. Pulse Aceptar.
4. En el campo Control de integracin de
separador, especifique un valor
delimitador que separe los segmentos
del campo de destino.

5. En la ventana de tabla Campos de subregistro objetivo para fuente, lleve a cabo


uno de estas acciones:

Opcin Descripcin
Seleccione campos de origen 1. Pulse Fila nueva.
individualmente
2. En el campo Campo, escriba el nombre
del campo de destino que recibe el
primer o el siguiente segmento de los
datos de origen.
3. Si no especific ningn valor en el
campo Control de integracin del
separador, especifique un nmero en el
campo Longitud de campo.
4. Especifique un valor en el campo
Secuencia para definir el orden en que
la aplicacin mueve segmentos del
campo de origen a los campos de
destino.
Seleccione varios campos de origen a la 1. Pulse en Seleccionar campo.
vez
2. Seleccione los campos adecuados.
3. Pulse Aceptar.
4. Si no especific ningn valor en el
campo Control de integracin del
separador, especifique un nmero en el
campo Longitud de campo.
5. Especifique un valor en el campo
Secuencia para definir el orden en que
la aplicacin mueve segmentos del
campo de origen a los campos de
destino.

6. Pulse Aceptar.

Sustitucin de valores de campos de subregistro:

Puede sustituir un valor de un campo de datos por otro valor. Puede sustituir un
valor cuando el sistema externo y el sistema de gestin de activos tienen

Integracin de datos con aplicaciones externas 155


identificadores distintos para la misma entidad. Por ejemplo, un identificador de
planta de un sistema externo se puede convertir en un identificador de planta del
sistema de gestin de activos.

Antes de empezar

Para poder sustituir valores de campo de subregistro, primero debe crear una regla
de proceso que contenga una accin Sustituir. Tambin debe crear un control de
referencia cruzada que contenga los valores originales y nuevos para el campo de
datos.

Procedimiento
1. En la aplicacin Servicios empresariales o Canales de publicacin, visualice el
registro de servicio o canal al que se aplica la accin sustituir un campo de
subregistro.
2. En la ficha Servicio empresarial o Canal de publicacin, seleccione la regla de
proceso a la que se aplica la accin sustituir un campo de subregistro.
3. Lleve a cabo una de estas acciones:
v Para un servicio empresarial, pulse en Campos de subregistro en la ficha
Reglas de proceso de estructura de objeto o en la ficha Reglas de proceso de
objetos.
v Para un canal de publicacin, pulse en Campos de subregistro en la ventana
de tabla Reglas de proceso para subregistro.
4. Pulse Fila nueva.
5. En el campo Campo, escriba el nombre del campo de datos de destino. Este
valor define el campo que desea sustituir.El campo de destino debe encontrarse
en el objeto de subregistro que se muestra en la parte superior del cuadro de
dilogo.
6. En el campo Control de integracin, especifique el nombre del control tipo
referencia cruzada que contenga los valores originales y nuevos para el campo
de destino.
7. Pulse Aceptar.

Personalizacin basada en cdigo


La infraestructura de integracin proporciona marcadores en flujos de transaccin
donde puede insertar su propio cdigo para proporcionar lgica que personaliza el
proceso de transacciones. Puede insertar clases o scripts de automatizacin Java en
puntos seleccionados del proceso de estructuras de objeto, canales de publicacin,
servicios empresariales y canales de invocacin. Tambin puede utilizar mapas XSL
para transformar mensajes.

Al crear o actualizar un archivo de clase Java, debe volver a crear y desplegar el


archivo EAR de la aplicacin antes de que los componentes de la integracin
puedan utilizarlo. Puede escribir un script en uno de los lenguajes de script
soportados en la aplicacin de scripts de automatizacin, o bien puede importar un
script que ha creado externamente y puede activalo para su uso inmediato.
Cuando cree o actualice un mapa XSL, puede almacenarlo en el archivo EAR de la
aplicacin o en un directorio del sistema de archivos.

Cuando el cdigo de personalizado se ha configurado para ser utilizado, la


infraestructura de integracin llama al cdigo en el punto apropiado durante el
proceso de transaccin.

156 Integracin de datos con aplicaciones externas


Puede descargar clases Java o archivos XSL de ejemplo desde IBM Tivoli Open
Process Automation Library (OPAL).

Personalizacin de clases y mtodos Java


Puede ampliar el proceso estndar de mensajes salientes y entrantes utilizando
clases Java. Existen varios marcadores en los flujos de proceso de mensajes donde
puede insertar cdigo Java personalizado para afectar al contenido del mensaje, su
proceso o a ambos.

Clases de salida externas:

Las clases de salida externas proporcionan una clase base, ExternalExit, que puede
ampliar para personalizar el proceso del canal de publicacin, el servicio
empresarial y el canal de invocacin.

Para mensajes salientes, la entrada en la clase de salida externa es el elemento


irData del mensaje XML. La salida del proceso de la clase es el elemento erData
del mensaje XML que se entrega al destino. Para mensajes entrantes, la entrada en
la clase de salida externa es el elemento erData del mensaje entrante. La salida es
el elemento irData que se entrega a la estructura de objeto relacionada para su
proceso en Maximo Asset Management.

Para utilizar una clase de salida externa para la personalizacin, especifique su


clase Java en el campo Campo de proceso en la aplicacin de canales de
publicacin o en la aplicacin de canales de invocacin.

Un enfoque alternativo para la personalizacin de la integracin es implementar


una clase de salida de usuario. Si est instalado un adaptador para Oracle o SAP,
se proporciona las clases de proceso predefinidas y las personalizaciones se deben
realizar mediante el uso de la clase de salida de usuario. Cuando no existen clases
de proceso predefinidas, puede elegir si desea implementar cdigo personalizado
en la clase de salida externa o la clase de salida de usuario.

Clases de salida de usuario:

Para las transacciones entrantes y salientes en un canal de publicacin, un servicio


empresarial, o un canal de invocacin, una clase de salida de usuario puede tener
un mtodo previo al procesador y un mtodo posterior al procesador. Para las
transacciones entrantes, la clase de salida de usuario puede tener un mtodo
adicional que procesa objetos de negocio justo antes de que se confirmen en la base
de datos.

Mtodo de procesamiento previo para transacciones salientes:

La entrada para el primer punto de salida de usuario saliente es el XML generado


por la estructura de objeto. Si tiene una clase de proceso de adaptador ERP, puede
utilizar cualquier mtodo previo al proceso o posterior para implementar su lgica
personalizada, en funcin de su requisito.

Mediante el uso del punto de salida previo al proceso, puede cambiar datos en el
mensaje que posteriormente alteran la lgica del proceso de una clase de proceso
cuando se implementa.

La personalizacin de mensajes salientes se puede realizar en el mtodo de


preprocesador utilizando el mtodo siguiente:
public StructureData setUserValueOut(StructureData irData)

Integracin de datos con aplicaciones externas 157


Este mtodo puede realizar el proceso siguiente:
v Validar datos.
v Cambiar datos del sistema cambiando el registro de IR que se enva al sistema
externo.
v Impedir que el mensaje se enve desde Maximo Asset Management emitiendo
una excepcin del sistema. Todo el mensaje se retrotrae. Si el mensaje ha sido
iniciado por un evento, tambin se retrotrae todo el mensaje, incluido cualquier
cambio que realice en una aplicacin.
v Impedir que se enve el mensaje al sistema externo emitiendo una excepcin
SKIP_TRANSACTION.
v Registrar la transaccin.

Mtodo de procesamiento posterior para transacciones saliente:

En el mtodo de proceso posterior de la salida de usuario, el elemento IR de la


estructura de objeto y el elemento ER de la salida XML de la clase de proceso estn
ambos disponibles para el proceso.

Utilice el mtodo siguiente para personalizar los mensajes salientes.


public StructureData setUserValueOut(StructureData irData, StructureData erData)

El mtodo puede realizar los procesos siguientes:


v Validar datos.
v Cambiar datos cambiando el registro ER que se ha enviado al sistema externo.
v Correlacionar datos adicionales del elemento irData con el elemento erData.
v Impedir que la transaccin se enve desde Maximo Asset Management emitiendo
una excepcin del sistema. Todo el mensaje se retrotrae. Si el mensaje ha sido
iniciado por un evento, tambin se retrotrae todo el mensaje, incluido cualquier
cambio que realice en una aplicacin.
v Impedir que se enve el mensaje al sistema externo emitiendo una excepcin
SKIP_TRANSACTION.
v Registrar la transaccin.

Identifique la clase de salida de usuario del canal de publicacin en la aplicacin


de canales de publicacin.

Mtodo de procesamiento previo para transacciones entrantes:

En el mtodo de procesamiento previo para transacciones entrantes, la entrada es


el mensaje XML que se entrega desde el sistema externo. Si es necesario, puede
cambiar datos en el mensaje para afectar a la lgica de proceso en la clase de
proceso.

La personalizacin de la transaccin entrante se puede realizar en la primera salida


mediante el uso del mtodo siguiente:
public StructureData setUserValueIn(StructureData erData)

Este mtodo puede realizar el proceso siguiente:


v Validar datos.
v Cambiar datos externos cambiando el registro ER antes de que se correlacione
con el registro IR y se guarde en el sistema.

158 Integracin de datos con aplicaciones externas


v Detener el procesamiento adicional de la transaccin emitiendo una excepcin.
Para los mensajes basados en cola, la transaccin permanece en la cola para que
se vuelva procesar. Para los mensajes que no estn basados en cola, los mensajes
se devuelven al cliente que ha iniciado el servicio empresarial.
v Impida que el mensaje se procese en Maximo Asset Management lanzando una
excepcin SKIP_TRANSACTION. En este caso, el mensaje no se guarda en el
sistema. Para los mensajes que estn basados en cola, el mensaje se elimina de la
cola.
v Registrar la transaccin.

Mtodo de procesamiento posterior para transacciones entrantes:

En el mtodo de procesamiento posterior para transacciones entrantes, ambos


registros, IR y ER, estn disponibles para el proceso.

La personalizacin de la transaccin entrante se puede realizar en el flujo posterior


al proceso utilizando el mtodo siguiente:
public StructureData setUserValueIn(StructureData irData, StructureData erData)

El mtodo puede realizar los procesos siguientes:


v Validar datos.
v Cambiar datos externos cambiando el registro de IR que se debe guardar en el
sistema.
v Correlacionar datos adicionales del registro de ER al registro de IR.
v Detener el procesamiento adicional de la transaccin emitiendo una excepcin.
Para los mensajes que se basan en cola, la transaccin permanece en la cola para
volver a procesarse. Para los mensajes que no estn basados en cola, los
mensajes se devuelven al cliente que ha iniciado el servicio empresarial.
v Impedir que el mensaje se procese en Maximo Asset Management emitiendo una
excepcin skip_transaction. En este caso, el mensaje no se guarda en el sistema.
Para los mensajes que estn basados en cola, el mensaje se elimina de la cola.
v Registrar la transaccin.

Identifique la clase de salida de usuario del servicio empresarial en la aplicacin de


servicios empresariales.

Procesamiento de objetos de negocios en transacciones entrantes:

La clase de salida de usuario de un servicio empresarial tiene un mtodo adicional,


setUserMboIn, que permite el proceso personalizado en el punto en que los objetos
de negocio se han creado a partir del XML de estructura de objeto, pero todava no
se han guardado en la base de datos.

Se llama a esta salida de usuario despus del proceso del sistema y se puede
ejecutar en los objetos que se han creado mediante el mtodo siguiente:
public void setUserMboIn(MboRemote mbo)

El parmetro de objeto es una referencia a un objeto primario de la estructura de


objeto.

Se llama a este mtodo una sola vez para el objeto primario. Para una transaccin
XML con varios nombres, se llama a la salida de objeto una vez para cada nombre.

El mtodo puede realizar los procesos siguientes:

Integracin de datos con aplicaciones externas 159


v Validar datos.
v Impedir que la transaccin se guarde en el sistema emitiendo una excepcin del
sistema. Para mensajes basados en cola, la transaccin permanece en la cola y se
reintenta.
v Registrar la transaccin.

Puede identificar la clase de salida de usuario en la aplicacin de servicios


empresariales.

Clases de filtro de eventos:

Para las transacciones asncronas salientes que utilizan canales de publicacin,


puede ejecutar una clase Java personalizada o un script de automatizacin
utilizando una clase de filtro de eventos. El proceso para una clase de filtro de
eventos se produce antes de la serializacin de datos en la capa de la estructura de
objetos para un mensaje saliente. La clase de filtro de eventos puede insertar lgica
que afecte a la creacin de un mensaje de integracin en este punto del proceso.

Un uso comn de la clase de filtro de eventos es incluir lgica que elimina campos
u objetos no deseados de un mensaje para reducir la cantidad de datos en el
proceso de serializacin. Otro uso comn de la clase es alterar temporalmente la
lgica de recursividad predeterminada que impide que un evento de una
integracin entrante enve un mensaje de integracin saliente. Alterar
temporalmente el comportamiento predeterminado en este escenario puede
permitir que se inicie un mensaje saliente desde un evento desencadenado por un
mensaje entrante.

Clases de salida de manejador:

Se proporcionan varios mtodos predefinidos, o manejadores, de forma que puede


enviar datos a un sistema externo, incluyendo HTTP, una llamada de enterprise
Java bean y tablas de interfaz. Algunos de estos mtodos tienen marcadores de
salida de usuario que estn disponibles para la personalizacin.

Clase de salida de usuario de procesamiento de enterprise bean:

Puede utilizar un marcador de salida para la personalizacin de clase cuando un


enterprise bean enva transacciones a un sistema externa. Esta clase de salida es
opcional y se llama a ella antes de llamar al enterprise bean.

La implementacin de esta clase Java debe resolver la firma del mtodo del
enterprise bean que ha iniciado este manejador y los parmetros que requiere el
mtodo. Si no se especifica ningn valor para esta propiedad, el sistema aplica una
salida predeterminada denominada DefaultEJBExit. Esta salida predeterminada
intenta resolver la firma de mtodo del enterprise bean y sus parmetros.

Esta clase debe implementar la interfaz psdi.iface.router.EJBExit y los mtodos


siguientes:
v El mtodo getClassParams() devuelve la firma del mtodo en la forma de una
matriz de clases Java:
public Class[] getClassParams()
v El mtodo getObjectParams devuelve una matriz de los parmetros de los
enterprise beans como una matriz de objetos Java:
public Object[] getObjectParams(byte[] data, String interfaceName, String
destinationName)

160 Integracin de datos con aplicaciones externas


v Despus de la invocacin correcta del enterprise bean, se llama al mtodo
responseOk() con un objeto como respuesta a la invocacin:
public void responseOk(Object response)throws MXException
v Si se encuentra un error durante la invocacin del enterprise bean, se llama al
mtodo responseError() con la excepcin originaria como parmetro:
public void responseError(Exception e)
throws MXException

Puede especificar el nombre completo de la clase Java en la propiedad EJBEXIT del


punto final que implementa el manejador del enterprise bean.

Clase de salida de usuario de procesamiento de HTTP:

Cuando se envan transacciones salientes a un sistema externo utilizando HTTP, se


puede utilizar un marcador de salida HTTP para la personalizacin. Esta clase de
salida es opcional y se llama a ella como parte de la respuesta de la llamada HTTP.

La clase de salida de proceso HTTP se ejecuta cuando se devuelve una respuesta a


HTTP Post desde un sistema externo. En la implementacin predeterminada de la
clase psdi.iface.router.DefaultHTTPExit, el cdigo de respuesta que se recibe del
sistema externo se compara con un rango de cdigos de respuesta. El rango que es
utilizado por la implementacin predeterminada est entre 200 - 299. Si el cdigo
est fuera de dicho rango, la transaccin no se ha entregado al sistema externo y se
emite una excepcin.

Con algunos sistemas externos, la respuesta de una llamada HTTP se interpreta


para ver si el sistema externo ha aceptado el mensaje. La lgica de interpretacin
se puede implementar en la clase de salida HTTP.

Si el mensaje del canal de publicacin no se acepta, el cdigo debe emitir una


excepcin. El mensaje de la cola saliente se marca como un error y no se elimina
de la cola. Si el mensaje se acepta, el mensaje se elimina de la cola saliente. Si el
mensaje del canal de invocacin falla, la excepcin se devuelve al invocador del
canal y el invocador maneja la excepcin de acuerdo con los requisitos de diseo.

La clase de salida de procesamiento HTTP debe implementar la interfaz


psdi.iface.router.HTTPExit e implementar el mtodo siguiente:

public void processResponseData(int responseCode, String responseMsg,


byte[] msgBodyData)

Si es necesario, esta clase puede interpretar el cdigo de respuesta y emitir una


excepcin. La clase puede realizar las acciones siguientes:
v Comprobar el cdigo de respuesta de la publicacin HTTP.
v Si el cdigo de respuesta est en el rango de error, la excepcin se registra en el
nivel ERROR y se lanza una excepcin del sistema.
v Si el cdigo de respuesta es vlido, la transaccin se registra al nivel de
DEPURACIN.

Debe especificar el nombre completo de la clase Java en la propiedad HTTPEXIT del


punto final que implementa la cabecera HTTP.

Integracin de datos con aplicaciones externas 161


Clase de salida de usuario de procesamiento de JMS:

Cuando se envan transacciones del sistema a un sistema externo mediante JMS, se


puede utilziar un marcado de salida para la personalizacin. Esta clase de salida es
opcional y se llama a ella antes de llamar al JMS.

Esta clase debe implementar la clase psdi.iface.router.JMSExit y el mtodo


siguiente:

public Map getMessageProperties(Map metaData, (byte[] data, Map


origProps)throws MXException

Este mtodo puede realizar los procesos siguientes:


v Cambiar las propiedades del mensaje JMS
v Dividir los datos en mltiples propiedades, para que coincida con el mensaje
JMS

Puede especificar el nombre completo de la clase Java en la propiedad JMSEXIT


del punto final que implementa el manejador JMS.

Clase de salida de usuario de procesamiento de servicio web:

Puede utilizar un marcador de salida para la personalizacin al enviar


transacciones del sistema a un sistema externo utilizando un servicio web. Esta
clase de salida es opcional y se llama antes de que se inicie el servicio web.

Esta clase debe implementar la interfaz psdi.iface.router.WSExit y los mtodos


siguientes:
Mtodo getServiceName()
El mtodo getServiceName() devuelve el nombre de servicio del servicio
web para iniciar:
public String getServiceName(Map metaData, String endpointURL,
String serviceName, String interfaceName, String targetNameSpace)
throws MXException
Mtodo getEndpointURL()
El mtodo getEndpointURL() devuelve el URL de punto final del servicio
web para iniciar:
public String getEndpointURL(Map metaData, String endpointURL,
String serviceName, String interfaceName, String targetNameSpace)
throws MXException
Mtodo responseOk()
Se llama al mtodo responseOk() tras una invocacin correcta del servicio
web externo.
public void responseOk(org.w3c.dom.Document response) throws
MXException
Mtodo responseError()
Si se encuentra un error durante la invocacin del servicio web, se llama al
mtodo responseError() con la excepcin de origen como parmetro:
public void responseError(Exception e) throws MXException

162 Integracin de datos con aplicaciones externas


Mtodo getOneWayWsInfo()
El mtodo getOneWayWsInfo() devuelve un valor booleano que especifica si
el servicio web para iniciar es unidireccional:
public boolean getOneWayWsInfo(Map metaData, String endpointURL,
String serviceName, String interfaceName, String targetNameSpace,
boolean oneWayWs) throws MXException
Mtodo getSoapAction()
El mtodo getSoapAction() devuelve la cabecera HTTP SOAPAction para
utilizar para iniciar el servicio web:
public String getSoapAction(Map metaData, String endpointURL, String
serviceName, String interfaceName, String targetNameSpace, String
soapAction) throws MXException

Debe especificar el nombre completo de la clase Java en la propiedad WSEXIT del


punto final que implementa el manejador del servicio web.

La clase psdi.iface.router.DefaultWSExit es una implementacin predeterminada


de la interfaz WSExit. Esta clase altera temporalmente el mtodo getEndpointURL()
para concatenar el nombre del servicio al final del URL de punto final para formar
el nuevo URL de punto final.

Personalizacin con scripts de automatizacin


Puede utilizar scripts de automatizacin en lugar de clases Java para ampliar las
clases de proceso Java principales para componentes de integracin predefinidos.
Puede utilizar scripts de automatizacin para aplicar lgica personalizada en
diversos puntos durante el proceso de estructuras de objetos, canales de
publicacin, servicios empresariales y canales de invocacin.

Defina scripts de automatizacin para la integracin utilizando la aplicacin de


scripts de automatizacin. La definicin de un script para la integracin identifica
con qu componente de integracin est asociado el script y en qu punto del flujo
del proceso se ejecuta el script. Para probar scripts, puede establecer el nivel de
registro en depuracin, activar el script y utilizar la caracterstica de importacin o
exportacin de datos para iniciar una transaccin de integracin.

Creacin de scripts de automatizacin para la integracin:

Un script de automatizacin pueden personalizar el proceso de mensajes de


integracin para transacciones entrantes y salientes. Debe asociar un script de
automatizacin con un componente de integracin y configurar cuando insertarlo
en el proceso de integracin.

Procedimiento
1. En la aplicacin Scripts de automatizacin, seleccione la accin Crear > Script
para la integracin.
2. Especifique un componente de integracin para asociar con el script de
automatizacin y, despus, especificar el punto de insercin para el script.
3. Opcional: Active el recuadro de seleccin Activar si desea que el script se active
inmediatamente.
4. Opcional: Especifique el nivel de registro que de aplicarse cuando se ejecute el
script. A efectos de prueba, si define el nivel de registro en depuracin, los
registros contienen informacin til que le ayuda a resolver cualquier
problema.

Integracin de datos con aplicaciones externas 163


5. Especifique el lenguaje del script.
6. Especifique el script directamente en el campo Cdigo origen o navegue hasta
la ubicacin donde est almacenado el script y pulse Importar.
7. Pulse Crear.

Personalizacin del proceso de estructuras de objeto con scripts de


automatizacin:

El proceso de la estructura de objeto soporta el uso simultneo de scripts de


automatizacin y clases Java para la personalizacin. Los scripts de automatizacin
definidos para una estructura de objeto pueden afectar al proceso de datos que se
procesan directamente a travs de la estructura de objeto, como por ejemplo la API
de REST, o a travs de otros componentes de integracin, como por ejemplo
canales de publicacin y servicios empresariales.

Puntos de insercin para la personalizacin del proceso de estructuras de objeto con scripts
de automatizacin:

Puede insertar proceso basado en script en las clases de definicin Java y clases de
proceso Java que transforman estructuras de objeto durante el proceso de
integracin.

La ilustracin muestra la insercin de scripts de automatizacin durante el proceso


entrante y saliente de estructuras de objeto.

Maximo Asset Management

Maximo Integration Framework

Estructuras de objetos

Proceso de salida
Componentes de
integracin
Objetos de negocio

Clase de Script de
definicin automatiz. - Canales de publicacin
Java - Servicios empresariales
- Canales de invocacin
- API de REST y OSLC
- Servicios web
Proceso de entrada - Interacciones de
servicios web
Clase de - Importacin y exportacin
Script de de aplicaciones
proceso automatiz. - Gestor de migraciones
Java

Proceso de salida Orgenes y destinos


Proceso de entrada de integracin
- Archivos (p. e.,
hojas de clculo)
- Aplicaciones Maximo
- Sistemas externos

El proceso de estructura de objeto saliente implementa una clase de definicin Java


que permite la insercin de proceso personalizado durante la serializacin de datos
de objeto de negocio en un mensaje XML. Tambin puede implementar un script

164 Integracin de datos con aplicaciones externas


de automatizacin para personalizar el proceso de la estructura de objeto. La
infraestructura de integracin soporta la personalizacin de una estructura de
objeto para que sea una clase Java, un script de automatizacin o ambos
simultneamente.

El proceso de estructura de objeto entrante implementa una clase de proceso Java


que permite la insercin del proceso personalizado de datos del mensaje XML
entrante antes de que se correlacionen con los datos de objeto de negocio. Adems
de la clase de proceso Java, puede implementar un script de automatizacin para
personalizar el proceso en la estructura de objeto.

Proceso de salida de estructuras de objetos:

El proceso de estructuras de objeto de salida realiza la serializacin de datos de


objetos de negocio (mbo) en un mensaje XML. Durante este proceso, un script de
automatizacin puede insertar lgica de proceso personalizada para cambiar el
comportamiento de proceso predeterminado de la estructura de objeto. El script se
puede utilizar en lugar de la clase de definicin Java o se puede utilizar con ella.

En la serializacin se utilizan funciones como skipMbo(ctx). En el nombre de la


funcin, ctx es el objeto de la funcin preparada por la infraestructura de
integracin y comunica datos entre la infraestructura de la integracin y el script
de automatizacin. Un script de automatizacin puede afectar al proceso de los
datos y comunicar los cambios a la infraestructura de integracin.

La serializacin incluye las funciones siguientes, que los scripts de automatizacin


pueden utilizar para insertar lgica personalizada en el proceso de los datos:
skipMbo(ctx)
Filtra datos de objeto del mensaje XML. Las API estn disponibles para
filtrar datos del mensaje XML, seguir procesando los datos que desea en el
mensaje XML y completar el proceso de la estructura del objeto una vez
filtrados los datos. Por ejemplo, si la estructura del objeto est
construyendo un mensaje XML para una orden de compra, un script de
automatizacin puede insertar lgica que filtra los datos de la lnea de la
orden de compra donde el tipo de lnea es para lneas de servicio.
skipCols(ctx)
Filtra una columna o varias columnas de la estructura de objeto. Por
ejemplo, si la estructura del objeto est construyendo un mensaje XML
para un activo, un script de automatizacin puede insertar una lgica que
filtra una serie de columnas que no son necesarias para el sistema que
recibir el mensaje XML.
overrideValues(ctx)
Establece el valor de un campo de estructura de objeto en el mensaje XML.
Por ejemplo, si la estructura del objeto est construyendo un mensaje XML
para un activo, un script de automatizacin PUEDE insertar una lgica que
puede filtrar una serie de columnas que no son necesarias para el sistema
que recibir el mensaje XML que se ha creado.

Funciones para el proceso saliente de estructuras de objetos:

Las funciones skipMBO(c), skipCols(ctx) y overrideValues(ctx) se utilizan en los


scripts de automatizacin para el proceso saliente de estructuras de objetos. Cada
funcin tiene sus propias API, que estn disponibles para procesar los datos de la
estructura de objeto. Todos los scripts de ejemplo estn escritos en Jython.

Integracin de datos con aplicaciones externas 165


Omitir el proceso de objetos de negocio utilizando la funcin skipMbo(ctx):

La funcin skipMbo(ctx) filtra datos del mensaje XML que se crea durante el
proceso de serializacin. La funcin skipMbo(ctx) puede filtrar un objeto de
negocio Maximo, seguir procesando el mensaje una vez omitido un objeto de
negocio o terminar el proceso del mensaje en el punto de ejecucin.

API ctx.skipMbo()

La API ctx.skipMbo() filtra el proceso de cualquier objeto de negocio Maximo en el


mensaje XML.

Por ejemplo, el script siguiente se ejecuta en la API ctx.skipMbo() y filtra todas las
lneas de orden de compra y sus datos de coste de orden de compra relacionados
para la lnea de la orden de compra 1234.
def skipMbo(ctx):
if ctx.getMboName()=='POLINE' and ctx.getMbo().getString("itemnum")=="1234":
ctx.skipMbo()

Si utiliza la API ctx.skipMbo() en el objeto raz o primario de la estructura de


objeto, cualquier objeto de negocio que cumpla los criterios de la sentencia IF se
filtrar del mensaje XML.

API ctx.process()

La API ctx.process() sigue procesando lneas que no se filtran mediante la API


ctx.skipMbo(), por ejemplo:
def skipMbo(ctx):
if ctx.getMboName()=='POLINE' and ctx.getMbo().getString("itemnum")=="1234":
ctx.skipMbo()
else
ctx.process()

La ejecucin de la API ctx.process() en una fila de datos permite la serializacin de


datos. Si la clase de definicin Java omite dicha fila de datos, la API ctx.process()
altera temporalmente la clase de definicin Java y permite la serializacin de datos.

API ctx.complete()

Cuando se invoca la API ctx.complete(), el proceso saliente de la estructura de


objeto se detienen para la instancia actual del objeto de negocio, para las instancias
de los objetos de negocio hijo y para las instancias de sus objetos de negocio del
mismo nivel.

Por ejemplo, el objeto PO consta de los objetos hijo POLINE y POTERM. El objeto
POLINE consta de un objeto hijo POCOST. Cuando se invoca la API ctx.complete()
en el objeto PO, los objetos POLINE, POTERM y POCOST que estn relacionados
con dicha PO no se procesan.

En el script de ejemplo siguiente, cualquier orden de compra que tenga un estado


de complete se procesa sin la serializacin de sus datos de lnea de orden de
compra.
def skipMbo(ctx):
if ctx.getMboName()=='PO' and ctx.getMbo().getString("status")=="COMPLETE":
ctx.complete()
else
ctx.process()

166 Integracin de datos con aplicaciones externas


Omitir el proceso de columnas en objetos de negocio utilizando la funcin skipCols(ctx):

La funcin skipCols(ctx) filtra las columnas de un objeto de negocio de Maximo


del proceso del mensaje XML. La API ctx.skipCol(String) puede aceptar un
argumento de serie para filtrar una sola columna o varios argumentos de serie
separados con una coma para filtrar varias columnas.

La API ctx.skipCol(String) puede filtrar una sola columna de un objeto de negocio


de Maximo. El siguiente script de ejemplo filtra la columna de descripcin del
objeto ASSET:
def skipCols(ctx):
if ctx.getMboName()==ASSET:
ctx.skipCol("description")

Tambin puede utilizar la API ctx.skipCol(String) para filtrar varias columnas. El


siguiente script de ejemplo filtra las columnas de descripcin y nmero de activo
del objeto ASSET:
def skipCols(ctx):
if ctx.getMboName()==ASSET:
ctx.skipCol("description",assetnum)

La API ctx.skipCol(String) puede filtrar la columna de un objeto hijo en una


estructura de objeto. Por ejemplo, el siguiente script filtra la columna
METERNAME del objeto ASSETMETER:
def skipCols(ctx):
if ctx.getMboName()==ASSETMETER:
ctx.skipCol("metername)

Tambin puede utilizar la API ctx.skipCol(String) para filtrar columnas basadas en


un valor especificado. Por ejemplo, el siguiente script filtra la columna de
descripcin cuando el atributo assettag tiene un valor de 12593:
def skipCols(ctx):
if ctx.getMboName()==ASSET and ctx.getMbo().getString("assettag")=="12593":
ctx.skipCol("description")

Definir valores en campos utilizando la funcin overrideValues(ctx):

La funcin overrideValues(ctx) establece el valor de un campo del mensaje XML.

La API ctx.overrideCol() define el valor del campo en el mensaje XML. Por


ejemplo, el script siguiente establece el valor del ID de sitio en ABC:
def overrideValues(ctx):

if ctx.getMboName()==ASSET:
ctx.overrideCol("SITEID","ABC")

En el script de ejemplo siguiente, si el campo de descripcin de una orden de


compra est vaco, el campo de descripcin se establece en el nmero de orden de
compra:
def overrideValues(ctx):
if ctx.getMboName()=='PO':
mbo = ctx.getMbo()
if mbo.isNull("description"):
ctx.overrideCol("DESCRIPTION",mbo.getString("ponum"))

Integracin de datos con aplicaciones externas 167


Clases de definicin Java y scripts de automatizacin:

Puede utilizar una clase de definicin Java y un script de automatizacin


simultneamente en una estructura de objeto. La clase de definicin Java se ejecuta
antes que el script de automatizacin para cada funcin.

Algunas de las estructuras de objeto que estn incluidas en la infraestructura de


integracin y en el gestor de migracinproporcionan clases de definicin Java que
filtran datos. Por ejemplo, la estructura de objeto de elemento filtra los elementos
que son del tipo TOOL. Cuando un script de automatizacin se implementa con
una clase de definicin Java, el script de automatizacin puede alterar
temporalmente el filtrado de la clase de definicin Java y eliminar el filtrado de la
clase Java o cambiar los criterios de filtro para excluir o incluir ms datos en el
mensaje XML.

Por ejemplo, la clase de definicin Java de la estructura del objeto MXOPERLOC


filtra las ubicaciones del tipo LABOR al tiempo que permite que se incluyan
ubicaciones del tipo OPERATING en el mensaje. Puede cambiar el filtrado, aadir
ms filtros o sustituir el filtrado predeterminado. El script de ejemplo siguiente
cambia el proceso para filtrar las ubicaciones del tipo OPERATING y sigue
procesando ubicaciones del tipo LABOR:
def skipMbo(ctx):
if ctx.getMboName()==LOCATIONS:
if ctx.getMbo().getString("type")=="LABOR":
ctx.process()
if ctx.getMbo().getString("type")=="OPERATING":
ctx.skipMbo()

El script de ejemplo siguiente aade ms filtrado para la estructura de objeto


MXOPERLOC filtrando el COURIER:
if ctx.getMboName()==LOCATIONS:
if ctx.getMbo().getString("type")=="COURIER":
ctx.skipMbo()

El script de ejemplo siguiente sustituye el filtrado de clase de definicin de modo


que slo se filtren ubicaciones de tipo COURIER:
def skipMbo(ctx):
if ctx.getMboName()==LOCATIONS:
if ctx.getMbo().getString("type")=="COURIER":
ctx.skipMbo()
else:
ctx.process()

Proceso de entrada de estructuras de objetos:

El proceso de mensajes de entrada por parte de la infraestructura de integracin


admite el uso de scripts de automatizacin en la estructura de objeto para dar
soporte a lgica personalizada. Este uso de scripts de automatizacin permite la
personalizacin de cualquier mensaje de integracin entrante que utilice una
estructura de objeto y la personalizacin del proceso de los datos del gestor de
migracin.

Para el proceso de integracin, un script que se implementa en la estructura de


objeto se aplica a los mensajes de los orgenes siguientes:
v Importacin de datos
v REST
v Importacin de aplicaciones

168 Integracin de datos con aplicaciones externas


v Servicio web
v OSLC
v Servlet de integracin
v Tablas de integracin

La estructura de objeto da soporte a una clase de proceso Java o a un script de


automatizacin. Puede utilizar una clase de proceso Java, un script de
automatizacin o ambos en la misma estructura de objeto. El proceso da soporte a
funciones que se encuentran en el archivo de clase o en el script de
automatizacin.

Un contexto (ctx) se pasa entre la clase de proceso de la estructura de objeto


entrante y el script de automatizacin, que implementa el cdigo personalizado. El
contexto est soportado bidireccionalmente. Hay API predefinidas disponibles para
el contexto. La infraestructura del script proporciona una clase Java incorporada
que prepara un contexto.

Todos los ejemplos y fragmentos de cdigo siguientes utilizan JavaScript. Puede


implementar la lgica en los puntos siguientes del proceso:
v Antes del proceso de un objeto de negocio de Maximo. Por ejemplo, la funcin
beforeProcess(ctx) se procesan una vez para cada nombre del mensaje de entrada
antes de crear los objetos de negocio relacionados con el mensaje.
v Durante el proceso de un objeto de negocio de Maximo. Por ejemplo, la funcin
beforeCreateMboSet(ctx) se procesa secuencialmente para cada objeto dentro de
cada nombre del mensaje de entrada. Otras funciones que se procesan
secuencialmente incluyen afterCreateMboSet(ctx), mboRules(ctx),
beforeMboData(ctx) y afterMboData(ctx).
v Despus de completar el proceso de los objetos de negocio de Maximo. Por
ejemplo, las funciones preSaveRules(ctx) y changeStatus(ctx) se procesan una vez
para cada nombre del mensaje de entrada despus de crear los objetos de
negocio.

En la aplicacin de scripts de automatizacin, puede crear un script para que la


integracin lo incluya en el proceso de estructura de objeto.

Funciones para el proceso de entrada de estructuras de objetos:

Cada funcin proporciona las API que puede utilizar para personalizar el proceso
de los datos de la estructura de objeto.

Omitir o cambiar el proceso de mensajes utilizando la funcin beforeProcess(ctx):

La funcin beforeProcess(ctx) proporciona un punto de inyeccin para ejecutar la


lgica del script de automatizacin antes de crear objetos de negocio.

Por ejemplo, puede saltar el proceso de un mensaje que se basa en la evaluacin


de los datos del mensaje XML. Otro ejemplo es cambiar el atributo de accin para
el mensaje de Sincronizar a Crear.

El ejemplo de JavaScript siguiente define la accin del mensaje en sincronizacin


(Sync):
function beforeProcess(ctx)
{
ctx.setMsgType("Sync");
}

Integracin de datos con aplicaciones externas 169


Crear conjuntos de objetos de negocio utilizando la funcin beforeCreateMboSet(ctx):

La funcin beforeCreateMBOSet(ctx) procesa los datos de entrada antes de que la


infraestructura cree los objetos de negocio o conjuntos de objetos de negocio de
Maximo y puede operar en todos los objetos de negocio de la estructura de objeto.

Si un script de automatizacin que est procesando una estructura de objeto crea


un conjunto de objetos de negocio, la funcin createMboSet() en la clase base se
pasa por alto. El proceso de un objeto de negocio hijo soporta el acceso al objeto
padre utilizando la funcin getParentMbo().

Tambin puede utilizar la funcin beforeCreateMboSet(ctx) para crear


condicionalmente el objeto de negocio que se basa en los datos que se incluyen en
el mensaje XML.

No se puede crear un objeto de negocio hijo que sea independiente de su objeto de


negocio padre.

El ejemplo siguiente muestra cmo crear un objeto de negocio hijo a partir de un


objeto de negocio padre.
importPackage(Packages.psdi.server);
function beforeCreateMboSet(ctx)
{
var struc=ctx.getData();
var ponum=struc.getCurrentData("PO",ctx.getUserInfo();
var siteid=struc.getCurrentData("SITEID");
var poSet = MXServer.getMXServer().getMboSet("PO",ctx.getUserInfo());
poSet.setQbeExactMatch(true);
poSet.setQbe("ponum",ponum);
poSet.setQbe("siteid",siteid);
var poMbo = poSet.moveFirst();
var polineSet = poMbo.getMboSet("POLINE");
ctx.setMboSet(polineSet);
}

Cambie objetos de negocio o conjuntos de objetos de negocios utilizando la funcin


afterCreateMboSet(ctx):

La funcin afterCreateMboSet(ctx) procesa la estructura de objeto de entrada


despus de que la infraestructura cree el objeto de negocio de Maximo o el
conjunto de objetos de negocio.

La funcin afterCreateMboSet(ctx) est disponible para operar en todos los objetos


de negocio de la estructura de objeto. Esta funcin puede cambiar el objeto de
negocio o conjunto de objetos de negocio que la infraestructura ha creada o puede
inyectar ms objetos de negocio en el conjunto de objetos de negocio.

El ejemplo siguiente define una propiedad MboSet para indicar que la ubicacin
creada tiene un tipo de Almacn. Esta lgica sustituye a la lgica predeterminada
que se encuentra en la clase de proceso MXSTORELOC.
importPackage(Packages.psdi.server);
function afterCreateMboSet(ctx)
{
var loc type = MXServer.getMXServer().getMaximoDD().getTranslator()
.toInternalString("LOCTYPE",ctx.getData().getCurrentData("TYPE"));

if (loc Type=="STOREROOM")
{
ctx.getPrimaryMboSet().setStoreroom();
}
else

170 Integracin de datos con aplicaciones externas


{
ctx.getPrimaryMboSet().setNonStoreroom();
}
}

Cambiar el proceso de reglas utilizando la funcin mboRules(ctx):

La funcin mboRules(ctx) puede saltarse el proceso de un objeto de negocio,


saltarse una transaccin, continuar el proceso o crear un objeto de negocio. Esta
funcin opera antes de la creacin de cada objeto de negocio de Maximo.

El ejemplo siguiente muestra cmo saltarse una transaccin:


function mboRules(ctx)
{
ctx.skipTxn();
}

Definir valores en campos utilizando la funcin beforeMboData(ctx):

La funcin beforeMboData(ctx) est disponible cuando se crea el objeto de negocio


de Maximo, pero antes de que la infraestructura de integracin establezca los
valores del objeto de negocio. El proceso de la estructura de objeto puede cambiar
el valor de los datos del objeto de negocio. El proceso tambin puede definir
distintivos en los campos como, por ejemplo, el distintivo samevaluevalidation,
que desencadena validaciones de campo, aunque el valor del campo se haya
definido con el valor actual del campo.

Aadir objetos de negocio y cambiar valores en campos utilizando la funcin


afterMboData(ctx):

La funcin afterMboData(ctx) implementa lgica personalizada para crear un


objeto de negocio de Maximo adicional relacionado para su inclusin en
transaccin o cambiar datos en un objeto de negocio de Maximo. La funcin est
disponible una vez que se ha creado el objeto de negocio y que se han definido los
valores en el objeto de negocio de Maximo mediante la infraestructura de
integracin.

Si las columnas de la estructura de objeto estn restringidas, puede utilizar la


funcin afterMboData(ctx) para suministrar la lgica para establecerlas en lugar de
que la infraestructura de integracin establezca los valores.

En el ejemplo siguiente, se crea un activo con el campo de descripcin establecido


en una concatenacin del campo EXTERNALREFID y del campo de descripcin que se
pasa desde la estructura de objeto:
importPackage(Packages.psdi.server);
importPackage(Packages.psdi.mbo);
function afterMboData(ctx)
{
var mbo = ctx.getMbo();
var struc = ctx.getData();
mbo.setValue("description", "FROM: "+struc.getCurrentData("EXTERNALREFID")+ " DESC: "+struc.getCurrentData("DESCRIPTION"));
}

Cambiar la transaccin antes de guardarla en la base de datos utilizando la funcin


preSaveRules(ctx):

La funcin preSaveRules(ctx) permite un proceso adicional que est relacionado


con la transaccin en su totalidad. Puede utilizar la funcin preSaveRules(ctx) para
crear un objeto relacionado y aadirlo a la transaccin. La funcin se invoca antes
de la accin Guardar y se invoca para cada nombre en el mensaje.

Integracin de datos con aplicaciones externas 171


Cambiar estado o fecha de estado utilizando la funcin changeStatus(ctx):

La funcin changeStatus(ctx) implementa un cambio de estado fuera de la clase


statefulMicSetIn que est disponible en la infraestructura de integracin. Tambin
puede utilizar esta funcin para establecer la fecha de estado con un valor en lugar
de utilizar la fecha del sistema.

Para que el script de automatizacin utilice la funcin changeStatus(ctx), la clase


statefulMicSetin o la clase que ampla la clase statefulMicSetin debe estar
registrada como la clase de proceso en la estructura del objeto. Puede utilizar esta
funcin para dar soporte a un cambio de estado de cinco parmetros. La clase base
slo da soporte a tres parmetros.

El ejemplo siguiente define el campo memo que est relacionado con la accin de
cambio de estado en un valor de serie si el campo NP_STATUSMEMO no
contiene ningn valor:
importPackage(Packages.psdi.server);
importPackage(Packages.psdi.mbo);

function changeStatus(ctx)
{
var mbo = ctx.getMbo();
var struc = ctx.getData();
var stat = struc.getCurrentData("STATUS");
var memo = struc.getCurrentData("NP_STATUSMEMO");
if(struc.isCurrentDataNull("NP_STATUSMEMO"))
{
memo = "Status change via Integration";
}
mbo.changeStatus(stat, MXServer.getMXServer().getDate(), memo, MboCon-stants.NOACCESSCHECK);
}

APIs de contexto para el proceso de entrada de estructuras de objetos:

Un contexto (ctx) es un objeto que proporciona mtodos de conveniencia para


scripts de automatizacin para pasar datos o acciones de desencadenante. El
contexto est soportado bidireccionalmente. Hay API predefinidas disponibles para
el contexto, y cada funcin puede utilizar contextos diferentes.

Un script de automatizacin requiere mtodos de contexto para implementar la


lgica de proceso. Se pasa un contexto entre el proceso de la estructura de objeto y
el script de automatizacin, que implementa el cdigo personalizado. La tabla
siguiente muestra las API de contexto y el uso habitual de las API para cada una
de las funciones:
Tabla 28. API de contexto utilizadas por las funciones
beforeProcess beforeCreateMBOSet afterCreateMboSet mboRules beforeMboData afterMboData preSaveRules changeStatus
APIs de contexto (ctx) (ctx) (ctx) (ctx) (ctx) (ctx) (ctx) (ctx)
ctx.setMsgType() U
ctx.getProcessTable() U U U U U
ctx.setProcessTable(String U
ProcessTable)
ctx.setMboSet(MboSet mboSet) U
ctx.setMbo(Mbo mbo) U
ctx.getData() U U U U U U U U
ctx.getMosDetailInfo() U U U U U U U
ctx.setSkipBaseAdditionalRules() U
ctx.skipMbo() U
ctx.skipTxn() U U U U U U U U
ctx.complete() U
ctx.process() U
ctx.getUserInfo() U U U U U U U U
ctx.getParentMbo() U U U U U
ctx.isPrimary() U U U U U U U
ctx.bypassMbo() U

172 Integracin de datos con aplicaciones externas


Tabla 28. API de contexto utilizadas por las funciones (continuacin)
beforeProcess beforeCreateMBOSet afterCreateMboSet mboRules beforeMboData afterMboData preSaveRules changeStatus
APIs de contexto (ctx) (ctx) (ctx) (ctx) (ctx) (ctx) (ctx) (ctx)
ctx.getMsgType() U U U U U U U U
ctx.getPrimaryMboSet() U U U U U U
ctx.getPrimaryMbo() U U U U
ctx.processAsUpdate() U
ctx.processAsAdd() U
ctx.processAsAddAtEnd() U
ctx.log () U U U U U U U U

Las siguientes API estn disponibles para el proceso de datos de entrada:


ctx.getMosDetailInfo()
Proporciona informacin sobre la memoria cach de diccionario de datos
para la infraestructura de integracin para la estructura de objeto que se
est procesando.
ctx.skipMbo()
Se salta el proceso de un objeto de negocio de Maximo.
ctx.skipTxn()
Se salta el proceso de una transaccin entera, como por ejemplo de un
mensaje.
ctx.complete()
Finaliza el proceso de la estructura de objeto en el punto de la ejecucin, lo
que significa que los datos hijo no se procesan.
ctx.process()
Contina el proceso en el punto de la ejecucin. Esta API se utiliza
normalmente como parte de la lgica condicional.
ctx.getParentMbo()
Recupera el objeto de negocio padre. Esta API se puede utilizar desde un
objeto hijo cuyo objeto de negocio an no se ha creado.
ctx.isPrimary()
Identifica si el objeto de negocio actual es el objeto de negocio de nivel raz
de la estructura de objeto.
ctx.getUserInfo()
Recupera informacin de usuario, que es necesaria si un script est
creando un objeto de negocio.
ctx.bypassMbo()
Omite la creacin del objeto de negocio y contina con el objeto de negocio
siguiente que se est procesando.
ctx.getMsgType()
Proporciona acceso al tipo de mensaje, como por ejemplo Sincronizacin o
Creacin.
ctx.setMsgType()
Establece el tipo de mensaje, como por ejemplo Sincronizacin o Creacin.
Esta API se puede utilizar antes de que empiece el proceso.
ctx.getData()
Proporciona acceso a StructureData, que es el mensaje XML.
ctx.setMboSet(MboSet mboSet)
Establece valores en un conjunto de objetos de negocio.
ctx.setMbo(Mbo mbo)
Establece valores en un objeto de negocio.

Integracin de datos con aplicaciones externas 173


ctx. getPrimaryMboSet()
Recupera el objeto de negocio raz de una estructura de objeto durante el
proceso de un objeto de negocio hijo.
ctx.setProcessTable(String processTable)
Establece la tabla para un proceso. El mtodo se utiliza si tiene un objeto
de negocio no persistente como, por ejemplo, MXRECEIPT, que tiene una
loga de proceso para determinar si la tabla MATRECTRANS o la tabla
SERVRECTRANS se actualiza. La API ctx.setProcessTable(String
processTable) se utiliza en la funcin beforeProcess(ctx).
ctx.getProcessTable()
Recupera el nombre de tabla establecido por la API
ctx.setProcessTable(String processTable).
ctx.setSkipBaseAdditionalRules()
Aade lgica personalizada a la funcin preSaveRules(ctx) para operar en
una estructura de objeto completa que est ahora preparada en el proceso.
ctx.processAsUpdate()
Establece la accin de proceso de un objeto de negocio en la accin
Actualizar en lugar de la accin Agregar o Suprimir.
ctx.processAsAdd()
Establece la accin de proceso de un objeto de negocio en la accin
Agregar en lugar de la accin Suprimir o Actualizar.
ctx.processAsAddAtEnd()
Establece la accin de proceso de un objeto de negocio en la accin
Agregar en lugar de la accin Actualizar o Suprimir y crea el objeto de
negocio al final de la coleccin en lugar de al principio de la coleccin.
ctx.log ()
Ejecuta una sentencia de registro desde un contexto de proceso de
estructura de objeto.

Personalizacin del proceso de canal y servicio mediante scripts de


automatizacin:

Cuando se crea un script de automatizacin, se identifica el canal o el servicio


donde se ejecuta el script. Tambin se especifica dnde se debe insertar el script
durante el flujo de proceso.

Puntos de personalizacin durante el proceso de canales de publicacin:

Los canales de publicacin procesan mensajes de integracin salientes que no


requieren una respuesta. La clase de proceso Java que est asociada a un canal de
publicacin incluye varios ganchos donde puede insertar cdigo para proporcionar
lgica personalizada.

La ilustracin muestra los puntos de personalizacin durante el proceso saliente de


mensajes de integracin utilizando canales de publicacin.

174 Integracin de datos con aplicaciones externas


Maximo Asset Management

Maximo Integration Framework

Canales de publicacin
Clase de
salida de Script de
usuario Java automatiz.
(antes
del mtodo)
Objetos de negocio

Estructuras de objetos
Clase de
Proceso de salida Script de
proceso
automatiz.
Java
Clase de
Script de Clase de
definicin
automatiz. salida de
Java Script de
usuario Java automatiz.
(despus del
mtodo)

Clase de
Script de
filtro de
automatiz.
eventos Java

Proceso de salida Cola JMS

Destinos de integracin
- Archivos (p. e.,
hojas de clculo)
- Sistemas externos

Despus de que el proceso de estructura de objeto construya el mensaje de


integracin, ste se reenva al canal de publicacin asociado. Puede aadir lgica
personalizada en los puntos siguientes durante el proceso del canal de publicacin:
v Clase de salida externa
v Clase de salida de usuario que se ejecuta antes de la clase de salida externa
v Clase de salida de usuario que se ejecuta despus de la clase de salida externa
v Clase de filtro de eventos
A continuacin, el mensaje se enva a la cola JMS para la entrega al destino.

Al configurar un script de salida externa o de salida de usuario para un canal de


publicacin, una clase Java predefinida se inserta en el canal que se utiliza para
ejecutar el script. Las clases predefinidas son la clase
com.ibm.tivoli.maximo.script.ScriptExternalExit y la clase
com.ibm.tivoli.maximo.script.ScriptUserExit. No puede implementar un script y
una clase Java en el mismo punto de proceso. Si intenta crear un script en un
punto de proceso donde est configurada una clase Java, no puede guardar el
script.

Puntos de personalizacin durante el proceso de servicios empresariales:

Los servicios empresariales proporcionan proceso asncrono y sncrono de mensajes


de integracin entrantes. Puede insertar cdigo para proporcionar lgica
personalizada a la clase de proceso de solicitud Java para el proceso entrante y a la
clase de proceso de respuesta Java para el proceso saliente.

Integracin de datos con aplicaciones externas 175


La ilustracin muestra los puntos de personalizacin durante el proceso entrante y
saliente de mensajes de integracin utilizando los servicios empresariales.

Maximo Asset Management

Maximo Integration Framework


Respuestas de servicio empresarial

Clase de salida
de usuario Java Script de automatiz.
(antes del mtodo)

Estructuras de objetos Clase de proceso Script de automatiz.


Java
Proceso de salida
Clase de salida
Objetos de negocio

Clase de Script de de usuario Java Script de automatiz.


definicin automatiz. (desp. del mtodo)
Java

Solicitudes de servicio empresarial


Proceso de entrada
Clase de Clase de salida
Script de de usuario Java Script de automatiz.
proceso automatiz.
Java (antes del mtodo)

Clase de proceso Script de automatiz.


Java

Clase de salida
de usuario Java Script de automatiz.
(desp. del mtodo)

Proceso de salida
Cliente externo
Proceso de entrada
Iniciar Start (inicio de transaccin)

Para los mensajes asncronos que no requieren una respuesta, un servicio externo
abre una conexin para enviar una solicitud de servicio empresarial. Cuando la
solicitud se valida, el mensaje se deposita en una cola JMS para el proceso de
servicios empresariales. Para los mensajes sncronos que requieren una respuesta,
el servicio externo mantiene una conexin continua durante la transaccin, hasta
que se recibe la respuesta.

En la aplicacin Scripts de automatizacin, al configurar un script de


automatizacin para un servicio empresarial, se especifica uno de los siguientes
puntos de insercin para el script:
v Puntos de insercin para el proceso asncrono de entrada:
Solicitud, entrante: clase de salida de usuario que se ejecuta antes que la clase
de salida externa
Solicitud, entrante: clase de salida externa
Solicitud, entrante: clase de salida de usuario que se ejecuta despus que la
clase externa
v Puntos de insercin para el proceso sncrono de entrada, donde no es necesaria
una respuesta:
Solicitud, entrante: clase de salida de usuario que se ejecuta antes que la clase
de salida externa
Solicitud, entrante: clase de salida externa
Solicitud, entrante: clase de salida de usuario que se ejecuta despus que la
clase externa

176 Integracin de datos con aplicaciones externas


Respuesta, saliente: clase de salida de usuario que se ejecuta antes que la
clase de salida externa
Respuesta, saliente: clase de salida externa
Respuesta, saliente: clase de salida de usuario que se ejecuta despus que la
clase externa

Al configurar un script de salida externa o de salida de usuario para la solicitud o


la respuesta de un servicio externo, se inserta una clase Java predefinida que
ejecuta el script. Las clases predefinidas son la clase
com.ibm.tivoli.maximo.script.ScriptExternalExit y la clase
com.ibm.tivoli.maximo.script.ScriptUserExit. No puede implementar un script y
una clase Java en el mismo punto de proceso. Si intenta crear un script en un
punto de proceso donde est configurada una clase Java, no puede guardar el
script.

Puntos de personalizacin durante el proceso de canales de invocacin:

Los canales de invocacin procesan mensajes de integracin salientes que requieren


una respuesta. La clase de solicitud del canal de invocacin y la clase de respuesta
del canal de invocacin incluyen varios ganchos donde puede insertar cdigo para
proporcionar lgica personalizada.

La ilustracin muestra los puntos de personalizacin durante el proceso entrante y


saliente de mensajes de integracin mediante el uso de canales de invocacin.

Maximo Asset Management

Maximo Integration Framework


Solicitudes de canal de invocacin

Clase de salida
de usuario Java Script de automatiz.
(antes del mtodo)

Estructuras de objetos Clase de proceso Script de automatiz.


Java
Proceso de salida
Clase de salida
Objetos de negocio

Clase de Script de de usuario Java Script de automatiz.


definicin automatiz. (desp. del mtodo)
Java

Respuestas de canal de invocacin


Proceso de entrada
Clase de Clase de salida
Script de de usuario Java Script de automatiz.
proceso automatiz.
Java (antes del mtodo)

Clase de proceso Script de automatiz.


Java

Clase de salida
de usuario Java Script de automatiz.
(desp. del mtodo)

Proceso de salida
Servicios externos
Proceso de entrada
Iniciar Start (inicio de transaccin)

Cuando una accin de usuario de Maximo Asset Management inicia una


transaccin de integracin de salida que requiere una respuesta, un canal de
invocacin proporciona el proceso de integracin de solicitudes y respuestas.

Integracin de datos con aplicaciones externas 177


En la aplicacin Scripts de automatizacin, al configurar un script de
automatizacin para un canal de invocacin, se especifica uno de los siguientes
puntos de insercin para el script:
v Solicitud, saliente: clase de salida de usuario que se ejecuta antes que la clase de
salida externa
v Solicitud, saliente: clase de salida externa
v Solicitud, saliente: clase de salida de usuario que se ejecuta despus que la clase
de salida externa
v Respuesta, entrante: clase de salida de usuario que se ejecuta antes que la clase
de salida externa
v Respuesta, entrante: clase de salida externa
v Respuesta, entrante: clase de salida de usuario que se ejecuta despus que la
clase de salida externa

Al configurar un script de salida externa o de salida de usuario para la solicitud o


la respuesta de un canal de invocacin, se inserta una clase Java predefinida que
ejecuta el script. Las clases predefinidas son la clase
com.ibm.tivoli.maximo.script.ScriptExternalExit y la clase
com.ibm.tivoli.maximo.script.ScriptUserExit. No puede implementar un script y
una clase Java en el mismo punto de proceso. Si intenta crear un script en un
punto de proceso donde est configurada una clase Java, no puede guardar el
script.

Ejemplos de utilizacin de scripts de automatizacin durante el proceso por parte de canales


y servicios:

El proceso de canales y servicios toma un registro de datos del sistema de origen


como valor de entrada, manipula los datos segn sea necesario y crea un registro
de datos para el sistema de destino. Los scripts Python de ejemplo consultan datos
de entrada y proporcionan lgica para manipular los datos antes de construir los
datos de salida.

Cuando Maximo Asset Management inicia una transaccin de integracin, la


estructura de objeto proporciona un elemento de datos de registro internos (irData)
a un canal de publicacin o un canal de invocacin. El proceso manipula el
elemento irData y construye un elemento de datos de registro externos (erData)
antes de que el mensaje se enve a su destino. Las transacciones del canal de
invocacin pueden requerir una respuesta del sistema externo. El proceso de la
respuesta pasa el elemento erData al canal de invocacin, que manipula los datos
de respuesta y construye el elemento irData.

Cuando un sistema externo inicia una transaccin de integracin, el mensaje


proporciona un elemento erData a un servicio empresarial. El proceso manipula el
elemento erData y construye un elemento irData antes de que el mensaje se enve
a la estructura de objeto asociado. Para los mensajes que requieren una respuesta,
la estructura del objeto proporciona el elemento irData al servicio empresarial. El
proceso manipula los datos y construye el elemento erData que se enva a su
destino.

Los ejemplos constan de scripts simples que se pueden utilizar para fines de
prueba. Puede utilizar las caractersticas de importacin y exportacin de datos en
la aplicacin de sistemas externos para que las transacciones empiecen a probar
scripts.

178 Integracin de datos con aplicaciones externas


Ejemplo: Script que cambia la descripcin de activos operativos en transacciones
salientes

En este escenario, la estructura de objeto MXASSET proporciona irData al canal de


publicacin MYASSET para el proceso. Un script de automatizacin se ha
configurado para ejecutarse ne la clase de salida externa del canal de publicacin.
El script comprueba el estado del activo en el elemento irData. Si el activo est en
estado operativo, el script inserta un valor en el campo de descripcin e imprime
un mensaje en el archivo de registro. El elemento erData se construye y se enva al
sistema externo.
if irData.getCurrentData("STATUS") == OPERATING :
irData.setCurrentData("DESCRIPTION","hello")
print "MYASSET description change"

Ejemplo: Script que cambia la descripcin activos operativos en transacciones


entrantes

En este ejemplo, el servicio empresarial MYASSET procesa un mensaje de entrada


para la estructura de objeto MXASSET. Un script de automatizacin inserta un
script en la clase de salida externa del servicio empresarial. El script comprueba el
estado del activo en el elemento erData. Si el activo est en estado operativo, el
script inserta un valor en el campo de descripcin e imprime un mensaje en el
archivo de registro. El elemento irData se construye y se enva a la estructura del
objeto asociada para el proceso.
if erData.getCurrentData("STATUS") == OPERATING:
erData.setCurrentData("DESCRIPTION","hello inbound")
print "MYASSET inbound description has changed"

Ejemplo: Script que cambia la descripcin de lneas en una orden de compra


utilizando una variable de script automatizacin

En este ejemplo, la estructura del objeto MXPO proporciona el elemento irData al


canal de publicacin MYPO para el proceso. Un script de automatizacin se ha
configurado para ejecutarse ne la clase de salida externa del canal de publicacin.
Un valor literal, world, se define como una variable de entrada en el script de
automatizacin. El script consulta el elemento irData para las rdenes de compra
que contienen lneas de orden de compra. El script numera cada lnea de la orden
de compra en una secuencia que empieza con el 1, establece hello como valor en el
campo de descripcin y aade la variable de entrada desde el script de
automatizacin. El script actualiza la orden de compra padre antes de que se
construya el elemento erData y se enve al sistema externo.
lines = irData.getChildrenData("POLINE")
i = 0
if lines is not None:
for value in lines:
++i
irData.setAsCurrent(lines,i);
irData.setCurrentData("DESCRIPTION","hello"+world)
irData.setParentAsCurrent()

Ejemplo: Script que salta transacciones en funcin del estado de los registros

En este ejemplo, la estructura del objeto MXPO se enva al canal de publicacin


MYPO2 para el proceso. Un script de automatizacin se ha configurado para
ejecutarse en la clase de salida de usuario antes de que se ejecute la clase de salida
externa. El script consulta el elemento irData para las rdenes de compra con un
estado de WAPPR y omite el proceso de estas rdenes de compra.

Integracin de datos con aplicaciones externas 179


if irData.getCurrentData("STATUS") == WAPPR :
errorgroup = "iface"
errorkey ="SKIP_TRANSACTION"

Ejemplo: Script que imprime informacin de transaccin en un archivo de


registro para facilitar la resolucin de problemas

En este ejemplo, la estructura de objeto MXASSET proporciona irData al canal de


publicacin MYASSET2 para el proceso. Se ha configurado un script de
automatizacin para ejecutarse en la clase de salida externa. El script consulta el
elemento irData para activos con un estado operativo, imprime informacin de la
transaccin en un archivo de registro y construye el elemento erData sin realizar
ningn cambio. Para imprimir informacin sobre la transaccin, debe establecer el
nivel de registro en depuracin. En la aplicacin Registro, el registrador se
establece en scripts de automatizacin y el nivel de registro se establece en
DEBUG. En la aplicacin Scripts de automatizacin, el nivel de registro del script
se establece en DEBUG.
if irData.getCurrentData("STATUS") == OPERATING :
print "Test script
variable VAR_EXIT_IFACETYPE " + ifaceTypeprint "Test script
variable VAR_EXIT_IFACENAME " + ifaceNameprint "Test script
variable VAR_EXIT_EXTSYSTEM " + extSystemprint "Test script
variable VAR_EXIT_MESSAGETYPE " + messageTypeprint "Test script
variable VAR_EXIT_EXTSYSTEM " + extSystemprint "Test script
variable VAR_EXIT_OSNAME " + osNameprint "Test script

Cuando se exporta un activo, la siguiente informacin de depuracin se imprime


en un archivo de registro:
18 Mar 2014 11:35:06:877 [DEBUG] [MXServer] [CID-MXSCRIPT-2022] execution completed
for cached compiled script PUBLISH.MYASSET.EXTEXIT.OUT for launch point null
Test script variable VAR_EXIT_IFACETYPE MAXIMO
Test script variable VAR_EXIT_IFACENAME MYASSET2
Test script variable VAR_EXIT_EXTSYSTEM MYEXTSYS
Test script variable VAR_EXIT_MESSAGETYPE Publish
Test script variable VAR_EXIT_OSNAME MXASSET

Correlacin XSL
Para las transacciones salientes, puede implementar un archivo XSL para
manipular los datos que se envan al sistema externo una vez completado el
proceso de la salida Java. Para las transacciones entrantes, puede implementar un
archivo XSL para manipular los datos que se van a definir en la estructura de
objeto una vez completado el proceso de salida Java.

El archivo XSL siempre se llama con el mensaje XML que es la salida del proceso
de salida Java. Puede registrar el archivo XSL en el archivo EAR de la aplicacin
en el directorio businessobjects/classes/ o puede hacer referencia a ste
utilizando una va de acceso de archivo de directorio que no forma parte del
archivo EAR de la aplicacin.

Omita la extensin de archivo .xsl para registrar el archivo en el directorio


businessobjects/classes/psd/iface/xsl, por ejemplo:
psdi.iface.xsl.mapping

Incluya la extensin de archivo .xsl para registrar el archivo en un directorio de


archivos al que el servidor de aplicaciones pueda acceder, como por ejemplo:
c:/psdi/iface/xsl/mapping.xsl

180 Integracin de datos con aplicaciones externas


Clase de salida de usuario de tabla de interfaz
Cuando utilice tablas de interfaz para recibir mensajes de un sistema externo,
puede realizar la personalizacin en el programa de sondeo que recupera los datos
de la tabla de interfaz y enva datos al sistema.

El gestor de tareas cron ejecuta el programa de sondeo de tablas de interfaz. La


tarea cron IFACETABLECONSUMER tiene una propiedad EXITCLASS opcional
donde puede especificar el nombre completo de una clase de salida Java.

La lista de estructuras de datos Java representa el registro de las tablas de interfaz,


donde el primer elemento siempre es la accin del mensaje. Los elementos
restantes de la lista son las estructuras de datos correlacionadas y cada correlacin
representa una fila en la tabla de interfaz para cada mensaje. Las claves de la
correlacin son los nombres de columna y los valores son los valores de columna
correspondientes. Todos los valores de la columna se convierten a su formato de
serie localizada antes de definirse en la correlacin.

La clase EXITCLASS debe implementar la interfaz


psdi.iface.intertables.IfaceTbExit y los mtodos siguientes:
v public void beforeQueue(long transid, String extSys, String ifaceName,
List data, Connection conn)
Se llama a este mtodo despus de que se reciban los datos son recibidos de la
tabla de interfaz y antes de que los datos se inserten en una de las colas
entrantes.
v public void afterCommit(long transid, String extSys, String ifaceName,
Connection conn)
Se llama a este mtodo una vez insertados los datos en una cola entrante y una
vez suprimidos de la tabla de cola de interfaz y de que se haya realizado la
confirmacin de la base de datos.
v public void afterRollback(long transid, String extSys, String ifaceName,
Connection conn)
Este mtodo es similar al mtodo afterCommit, pero se llama a l si la
transaccin se deshace.

Esta clase puede realizar los procesos siguientes:


v Validar datos.
v Cambiar datos externos cambiando el registro de IR que se debe guardar en el
sistema.
v Impedir que la transaccin se guarde en la cola emitiendo una excepcin. En
este caso, la transaccin permanece en la tabla MXIN_INTER_TRANS con el
mensaje de error y se vuelve a procesar.
v Impedir que se enve el mensaje al sistema externo emitiendo una excepcin
skip_transaction. En este caso, el sistema no guarda el mensaje; el mensaje se
elimina de la cola.
v Registrar la transaccin

La salida de usuario que utiliza el mtodo afterCommit o afterRollback puede


realizar los procesos siguientes:
v Realizar el procesamiento personalizado y la limpieza.
v Registrar la transaccin.

Esta clase se identifica en la aplicacin Configuracin de tarea cron.

Integracin de datos con aplicaciones externas 181


Configuracin de la infraestructura de integracin
La configuracin de la infraestructura de integracin incluye la configuracin de
propiedades del sistema relacionadas, colas JMS y seguridad. La implementacin
de escenarios de integracin requiere un conocimiento de la configuracin de colas
JMS en el servidor de aplicaciones y conocimiento de J2EE y soporte de seguridad
de productos.

Propiedades del sistema de integracin


Las propiedades del sistema definen el comportamiento y las caractersticas de la
infraestructura de integracin. Para revisar o cambiar las propiedades de la
infraestructura de integracin, fltrelas en la aplicacin Propiedades del sistema.

Propiedades generales de integracin

Para ver una lista de propiedades generales de integracin, especifique mxe.int


como trmino de filtro en la aplicacin Propiedades del sistema. Para las
propiedades booleanas (true/false), un valor 0 significa false y un valor 1 significa
true.
Tabla 29. Propiedades generales de integracin
Propiedad Descripcin Valor predeterminado
mxe.int.containerdeploy Despliega servicios web en el contenedor del servidor 0
de aplicaciones. Cuando se establece en 0 (false), los
servicios web se despliegan en el contenedor del
producto.
mxe.int.credentialmapperclassname El nombre de clase de correlacionador de credenciales
es un archivo de clase que puede utilizarse para
correlacionar informacin de credenciales cuando se
implementa un mdulo de integracin.
mxe.int.genboolasbool Generar booleano como booleano de esquema. 1
mxe.int.globaldir Especifica el directorio global de integracin. 1
mxe.int.queueusercachesize Nmero de usuarios almacenados en la memoria 10
cach para los mensajes de cola entrantes.
mxe.int.resolveschema Resuelve todas las inclusiones de esquema para que 1
contengan una definicin de esquema incorporado.
mxe.int.servicedeployer La clase de desplegador de servicios web es una clase
Java personalizada para el despliegue de servicios
web cuando no se utiliza la clase de desplegador
predeterminada.
mxe.int.uddiinqurl Representa el URL de consulta de registro UDDI de
integracin.
mxe.int.uddiname Representa el ID de usuario del registro UDDI de
integracin.
mxe.int.uddipassword Contrasea de registro UDDI de integracin.
mxe.int.uddipuburl URL de publicacin de registro UDDI de integracin.
mxe.int.validatedbupdates Valida las actualizaciones de las bases de datos 1
realizadas por la integracin. Cuando se establece en
1 (true), la supresin de objetos de negocio, atributos,
ndices y relaciones realizada por el usuario en la
aplicacin Configuracin de base de datos se valida
con el contenido de integracin. La validacin
garantiza que ningn componente de integracin haga
referencia a los datos que se estn suprimiendo. Si
existe una referencia, el usuario no puede completar
la accin de supresin.

182 Integracin de datos con aplicaciones externas


Tabla 29. Propiedades generales de integracin (continuacin)
Propiedad Descripcin Valor predeterminado
mxe.int.validatemmpackage Valida las actualizaciones de la base de datos del 0
gestor de migracin realizadas por la integracin.
mxe.int.verifywebappurl Verifica el URL de aplicacin web cuando se generan 1
archivos de esquema.
mxe.int.webappurl Representa el URL de aplicacin web de integracin. http://localhost:9998/meaweb
Configure esta propiedad para que contenga el
nombre de host y el nmero de puerto correctos.
mxe.int.wsdlcurrentschema Muestra la definicin de esquema actual en WSDL. 1
mxe.int.wsdlincludesschema Incluye el esquema directamente en WSDL. 1
mxe.int.wsdlnamespace Representa el espacio de nombres WSDL de http://www.ibm.com/maximo/wsdl
integracin.
mxe.int.xmlnamespace Representa el espacio de nombres XML de http://www.ibm.com/maximo
integracin.
mxe.int.binarytext Convierte un valor de texto en un valor codificado en 10
base 64.
mxe.int.defaultaction La accin predeterminada para la importacin de AddChange
archivos sin formato.
mxe.int.defaultoperation La operacin predeterminada para la exportacin de Sincronizacin
aplicaciones.
mxe.int.dfltuser Representa el usuario de inicio de sesin mxintadm
predeterminado de integracin.
mxe.int.doclink.maxfilesize Representa el tamao mximo de archivo (MB) para 10
los adjuntos que se incluyen como parte de un
mensaje de integracin.
mxe.int.enabledatemillis Permite la fecha con la parte de milisegundos. 0
mxe.int.expupdatesender Actualiza el campo SENDERSYSID en el objeto 0
primario durante la exportacin de datos.
mxe.int.extracttrycount El Recuento de reintentos de extraccin de archivos es 0
el nmero de veces que se reintenta un mensaje de
error durante la importacin de datos cuando se
utiliza la gestin de errores basada en archivos.
mxe.int.flatfiledelimiter Delimitador de texto del archivo sin formato de ,
integracin es el valor de delimitador predeterminado
que se utiliza para la habilitacin de importacin de
aplicaciones y la importacin de datos.
mxe.int.flatfilenewline Retiene el nuevo carcter de lnea en archivos sin 0
formato. Para los campos que pueden contener
caracteres de nueva lnea como, por ejemplo, las
descripciones, los caracteres se mantienen en los
mensajes de integracin cuando el valor de la
propiedad es 1 (true).
mxe.int.interactiveimport Realiza la importacin de la aplicacin de forma 0
interactiva.
mxe.int.keyresponse Proporciona un contenido de respuesta para los 1
mensajes de integracin entrantes de todas las
operaciones. Cuando se establece en 1 (true), se
proporciona un contenido de respuesta, que incluye
los valores de clave de objeto primaria, para todas las
operaciones de servicio. Cuando se establece en 0
(false), slo se proporciona un contenido de respuesta
para las operaciones Consultar y Crear.
mxe.int.maxextractdocs Representa el nmero de documentos de error que se 1000
graban en cada archivo temporal al crear un archivo
de extraccin.
mxe.int.mdbdelay Representa el tiempo de espera en milisegundos antes -1
de procesar un mensaje de la cola de errores.

Integracin de datos con aplicaciones externas 183


Tabla 29. Propiedades generales de integracin (continuacin)
Propiedad Descripcin Valor predeterminado
mxe.int.propagateuser Propaga el usuario autenticado a travs de la cola 0
entrante. Cuando se establece en 1 (true), el usuario
del mensaje de integracin se guarda con el mensaje
de la cola y se utiliza durante el proceso del mensaje
porque se procesa desde la cola en los objetos de
negocio.
mxe.int.savemessage Indica que se guarde el mensaje JMS. 0
mxe.int.setclobasaln Controla el recorte de caracteres que se envan a las 0
tablas de interfaz.
mxe.int.textqualifier El calificador de texto de archivo sin formato es el "
valor de calificador de texto predeterminado en la
habilitacin de la importacin de aplicaciones y en la
importacin de datos.
mxe.int.updatecoafromglcomp Actualiza el Plan contable que contiene un 1
componente identificado. Cuando se establece en 1
(true), el proceso de los datos de componente de LM
entrantes inicia actualizaciones relacionadas en los
datos del plan contable que hagan referencia al
componente de LM.
mxe.int.usescientific Utiliza notacin cientfica para los valores dobles. 1
mxe.int.validatexmltext Valida el valor de elementos XML para los caracteres 0
XML no vlidos. Cuando se establece en 1 (true), se
valida un mensaje saliente para garantizar que todos
los datos del mensaje utilizan caracteres XML vlidos.
Si hay mensajes con caracteres no vlidos, la
operacin se detiene y no se entrega ningn mensaje
saliente.
mxe.int.whereclausepolicy Establece la poltica de clusula Where para una parse
consulta de integracin.
mxe.int.adminfromemail La direccin de correo electrnico (FROM) desde la
administracin de integracin, que se utiliza como
direccin de correo electrnico Desde cuando la
integracin inicia un correo electrnico. Debe ser un
formato de direccin de correo electrnico vlido, por
ejemplo, from@example.com.
mxe.int.admintoemail La direccin de correo electrnico (TO) para la
administracin de integracin, que se utiliza como
direccin de correo electrnico Para cuando la
integracin inicia un correo electrnico. Debe ser un
formato de direccin de correo electrnico vlido, por
ejemplo, to@example.com. Puede proporcionar ms de
una direccin de correo electrnico en una lista
separada por comas.

Tabla 30. Propiedades generales de integracin.


Quin puede editar la
Propiedad Descripcin Valor predeterminado propiedad
mxe.int.containerdeploy 0 Administrador global
Despliega servicios web en el contenedor del
servidor de aplicaciones. Cuando se establece en
0 (false), los servicios web se despliegan en el
contenedor del producto.
mxe.int.credentialmapperclassname Administrador global
El nombre de clase de correlacionador de
credenciales es un archivo de clase que puede
utilizarse para correlacionar informacin de
credenciales cuando se implementa un mdulo de
integracin.
mxe.int.genboolasbool 1 Administrador global
Generar booleano como booleano de esquema.

184 Integracin de datos con aplicaciones externas


Tabla 30. Propiedades generales de integracin (continuacin).
Quin puede editar la
Propiedad Descripcin Valor predeterminado propiedad
mxe.int.globaldir 1 Administrador global
Especifica el directorio global de integracin.
mxe.int.queueusercachesize 10 Administrador global
Nmero de usuarios almacenados en la memoria
cach para los mensajes de cola entrantes.
mxe.int.resolveschema 1 Administrador global
Resuelve todas las inclusiones de esquema para
que contengan una definicin de esquema
incorporado.
mxe.int.servicedeployer Administrador global
La clase de desplegador de servicios web es una
clase Java personalizada para el despliegue de
servicios web cuando no se utiliza la clase de
desplegador predeterminada.
mxe.int.uddiinqurl Administrador global
Representa el URL de consulta de registro UDDI
de integracin.
mxe.int.uddiname Administrador global
Representa el ID de usuario del registro UDDI de
integracin.
mxe.int.uddipassword Administrador global
Contrasea de registro UDDI de integracin.
mxe.int.uddipuburl Administrador global
URL de publicacin de registro UDDI de
integracin.
mxe.int.validatedbupdates 1 Administrador global
Valida las actualizaciones de las bases de datos
realizadas por la integracin. Cuando se establece
en 1 (true), la supresin de objetos de negocio,
atributos, ndices y relaciones realizada por el
usuario en la aplicacin Configuracin de base de
datos se valida con el contenido de integracin.
La validacin garantiza que ningn componente
de integracin haga referencia a los datos que se
estn suprimiendo. Si existe una referencia, el
usuario no puede completar la accin de
supresin.
mxe.int.verifywebappurl 1 Administrador global
Verifica el URL de aplicacin web cuando se
generan archivos de esquema.
mxe.int.webappurl http://localhost:9998/ Administrador global
Representa el URL de aplicacin web de meaweb
integracin. Configure esta propiedad para que
contenga el nombre de host y el nmero de
puerto correctos.
mxe.int.wsdlcurrentschema 1 Administrador global
Muestra la definicin de esquema actual en
WSDL.
mxe.int.wsdlincludesschema 1 Administrador global
Incluye el esquema directamente en WSDL.
mxe.int.wsdlnamespace http://www.ibm.com/maximo/ Administrador global
Representa el espacio de nombres WSDL de wsdl
integracin.
mxe.int.xmlnamespace http://www.ibm.com/maximo Administrador global
Representa el espacio de nombres XML de
integracin.
mxe.int.binarytext 10 Administrador global,
Convierte un valor de texto en un valor administrador de
codificado en base 64. inquilinos
mxe.int.defaultaction AddChange Administrador global,
La accin predeterminada para la importacin de administrador de
archivos sin formato. inquilinos

Integracin de datos con aplicaciones externas 185


Tabla 30. Propiedades generales de integracin (continuacin).
Quin puede editar la
Propiedad Descripcin Valor predeterminado propiedad
mxe.int.defaultoperation Sincronizacin Administrador global,
La operacin predeterminada para la exportacin administrador de
de aplicaciones. inquilinos
mxe.int.dfltuser mxintadm Administrador global,
Representa el usuario de inicio de sesin administrador de
predeterminado de integracin. inquilinos
mxe.int.doclink.maxfilesize 10 Administrador global,
Representa el tamao mximo de archivo (MB) administrador de
para los adjuntos que se incluyen como parte de inquilinos
un mensaje de integracin.
mxe.int.enabledatemillis 0 Administrador global,
Permite la fecha con la parte de milisegundos. administrador de
inquilinos
mxe.int.expupdatesender 0 Administrador global,
Actualiza el campo SENDERSYSID en el objeto administrador de
primario durante la exportacin de datos. inquilinos
mxe.int.extracttrycount 0 Administrador global,
El Recuento de reintentos de extraccin de administrador de
archivos es el nmero de veces que se reintenta inquilinos
un mensaje de error durante la importacin de
datos cuando se utiliza la gestin de errores
basada en archivos.
mxe.int.flatfiledelimiter , Administrador global,
Delimitador de texto del archivo sin formato de administrador de
integracin es el valor de delimitador inquilinos
predeterminado que se utiliza para la habilitacin
de importacin de aplicaciones y la importacin
de datos.
mxe.int.flatfilenewline 0 Administrador global,
Retiene el nuevo carcter de lnea en archivos sin administrador de
formato. Para los campos que pueden contener inquilinos
caracteres de nueva lnea como, por ejemplo, las
descripciones, los caracteres se mantienen en los
mensajes de integracin cuando el valor de la
propiedad es 1 (true).
mxe.int.interactiveimport 0 Administrador global,
Realiza la importacin de la aplicacin de forma administrador de
interactiva. inquilinos
mxe.int.keyresponse 1 Administrador global,
Proporciona un contenido de respuesta para los administrador de
mensajes de integracin entrantes de todas las inquilinos
operaciones. Cuando se establece en 1 (true), se
proporciona un contenido de respuesta, que
incluye los valores de clave de objeto primaria,
para todas las operaciones de servicio. Cuando se
establece en 0 (false), slo se proporciona un
contenido de respuesta para las operaciones
Consultar y Crear.
mxe.int.maxextractdocs 1000 Administrador global,
Representa el nmero de documentos de error administrador de
que se graban en cada archivo temporal al crear inquilinos
un archivo de extraccin.
mxe.int.mdbdelay -1 Administrador global,
Representa el tiempo de espera en milisegundos administrador de
antes de procesar un mensaje de la cola de inquilinos
errores.
mxe.int.propagateuser 0 Administrador global,
Propaga el usuario autenticado a travs de la cola administrador de
entrante. Cuando se establece en 1 (true), el inquilinos
usuario del mensaje de integracin se guarda con
el mensaje de la cola y se utiliza durante el
proceso del mensaje porque se procesa desde la
cola en los objetos de negocio.
mxe.int.savemessage 0 Administrador global,
Indica que se guarde el mensaje JMS. administrador de
inquilinos

186 Integracin de datos con aplicaciones externas


Tabla 30. Propiedades generales de integracin (continuacin).
Quin puede editar la
Propiedad Descripcin Valor predeterminado propiedad
mxe.int.setclobasaln 0 Administrador global,
Controla el recorte de caracteres que se envan a administrador de
las tablas de interfaz. inquilinos
mxe.int.textqualifier " Administrador global,
El calificador de texto de archivo sin formato es administrador de
el valor de calificador de texto predeterminado en inquilinos
la habilitacin de la importacin de aplicaciones y
en la importacin de datos.
mxe.int.updatecoafromglcomp 1 Administrador global,
Actualiza el Plan contable que contiene un administrador de
componente identificado. Cuando se establece en inquilinos
1 (true), el proceso de los datos de componente
de LM entrantes inicia actualizaciones
relacionadas en los datos del plan contable que
hagan referencia al componente de LM.
mxe.int.usescientific 1 Administrador global,
Utiliza notacin cientfica para los valores dobles. administrador de
inquilinos
mxe.int.validatexmltext 0 Administrador global,
Valida el valor de elementos XML para los administrador de
caracteres XML no vlidos. Cuando se establece inquilinos
en 1 (true), se valida un mensaje saliente para
garantizar que todos los datos del mensaje
utilizan caracteres XML vlidos. Si hay mensajes
con caracteres no vlidos, la operacin se detiene
y no se entrega ningn mensaje saliente.
mxe.int.whereclausepolicy parse Administrador global,
Establece la poltica de clusula Where para una administrador de
consulta de integracin. inquilinos
mxe.int.adminfromemail Administrador de
La direccin de correo electrnico (FROM) desde arrendatarios
la administracin de integracin, que se utiliza
como direccin de correo electrnico Desde
cuando la integracin inicia un correo electrnico.
Debe ser un formato de direccin de correo
electrnico vlido, por ejemplo,
from@example.com.
mxe.int.admintoemail Administrador de
La direccin de correo electrnico (TO) para la arrendatarios
administracin de integracin, que se utiliza
como direccin de correo electrnico Para cuando
la integracin inicia un correo electrnico. Debe
ser un formato de direccin de correo electrnico
vlido, por ejemplo, to@example.com. Puede
proporcionar ms de una direccin de correo
electrnico en una lista separada por comas.

Propiedades de integracin de REST

Para ver una lista de propiedades de integracin de la API de REST, especifique


mxe.rest como trmino de filtro en la aplicacin Propiedades del sistema. Para las
propiedades booleanas (true/false), un valor 0 significa false y un valor 1 significa
true.
Tabla 31. Propiedades de integracin de la API de REST
Propiedad Descripcin Valor predeterminado
mxe.rest.format.json.mimetypes Los tipos MIME soportados por application/json
REST para JSON.
mxe.rest.format.xml.mimetypes Los tipos MIME soportados por application/xml,text/xml
REST para JSON.
mxe.rest.handler.mbo El manejador de recursos MBO com.ibm.tivoli.maximo.rest.
de REST. MboResourceRequestHandler

Integracin de datos con aplicaciones externas 187


Tabla 31. Propiedades de integracin de la API de REST (continuacin)
Propiedad Descripcin Valor predeterminado
mxe.rest.handler.os El manejador de recursos de com.ibm.tivoli.maximo.rest.
estructura de objeto de REST. OSResourceRequestHandler
mxe.rest.handler.ss El manejador de recursos de com.ibm.tivoli.maximo.rest.
servicio estndar de REST. MaxServiceResourceRequestHandler
mxe.rest.serializer.mbo. El serializador REST para el com.ibm.tivoli.maximo.rest.
imglib.image MBO imagelib para el formato ImageLibSerializer
de imagen.
mxe.rest.serializer.mbo.json El serializador REST para MBO com.ibm.tivoli.maximo.rest.
para el formato JSON. MboJSONSerializer
mxe.rest.serializer.mbo.xml El serializador REST para MBO com.ibm.tivoli.maximo.rest.
para el formato xml. MboXMLSerializer
mxe.rest.serializer.os.json El serializador REST de las com.ibm.tivoli.maximo.rest.
estructuras de objetos para el OSJSONSerializer
formato JSON.
mxe.rest.serializer.os.xml El serializador REST de las com.ibm.tivoli.maximo.rest.
estructuras de objetos para el OSXMLSerializer
formato xml.
mxe.rest.serializer.ss.json El serializador REST de servicios com.ibm.tivoli.maximo.rest.
estndar para el formato JSON. ServiceMethodResponseJSONSerializer
mxe.rest.serializer.ss.xml El serializador REST de servicios com.ibm.tivoli.maximo.rest.
estndar para el formato xml. ServiceMethodResponseXMLSerializer
mxe.rest.webappurl URL de autenticacin por testigo
de aplicacin web.
mxe.rest.mbo.blockaccess Bloquea el acceso a la lista de
MBO separados por comas.
mxe.rest.mbo.defaultformat El formato predeterminado de xml
REST para todos los MBO.
mxe.rest.mbo.imglib.defaultformat El formato predeterminado de image
REST para el MBO imglib.
mxe.rest.os.blockaccess Bloquea el acceso a la lista de 10
estructuras de objetos separadas
por comas.
mxe.rest.os.defaultformat El formato predeterminado de xml
REST para todas las estructuras
de objetos.
mxe.rest.ss.defaultformat El formato predeterminado de xml
REST para todas las respuestas
de servicios estndar
mxe.rest.supportedformats Los formatos soportados de xmljsonimage
REST para una respuesta.
mxe.rest.whereclausepolicy Establece la poltica de clusula parse
where para la consulta REST.

Propiedades de integracin de OSLC

Para ver una lista de propiedades de integracin de OSLC, especifique mxe.oslc


como trmino de filtro en la aplicacin Propiedades del sistema. Para las
propiedades booleanas (true/false), un valor 0 significa false y un valor 1 significa
true.
Tabla 32. Propiedades de integracin de OSLC
Propiedad Descripcin Valor predeterminado
mxe.oslc.dfltconsumerversion La versin de OSLC predeterminada que 2
el consumidor utiliza.

188 Integracin de datos con aplicaciones externas


Tabla 32. Propiedades de integracin de OSLC (continuacin)
Propiedad Descripcin Valor predeterminado
mxe.oslc.dfltversion La versin de OSLC predeterminada para 2
un proveedor de OSLC.
mxe.oslc.enableprovider Habilita el proveedor OSLC. 1
mxe.oslc.idleexpiry Indica el tiempo de caducidad 300
desocupado.
mxe.oslc.webappurl El URL pblico del proveedor. http://localhost/maximo/oslc/
mxe.oslc.collectioncount Aade el recuento total de la coleccin de 0
OSLC.
mxe.oslc.defaultep El punto final OSLC predeterminado. OSLCDEFAULT
mxe.oslc.defaultformat El formato predeterminado para OSLC. oslcjson
mxe.oslc.errorresponse El formato de respuesta de error de 1
OSLC.
mxe.oslc.preferproviderdesc Dar preferencia a la descripcin del false
proveedor de OSLC para los URL
combinados de registro de recursos.
mxe.oslc.prefersmallpreview Dar preferencia a la vista previa pequea false
para el Consumidor OSLC.
mxe.oslc.prettyjson JSON impreso. 0
mxe.oslc.prettyrdf RDF impreso. 0
mxe.oslc.prqueryep El punto final de consulta de registro de PROVIDERREGISTRY
proveedor.
mxe.oslc.prcreateep Es el punto final de creacin del registro
de proveedores.

Configuracin de colas JMS


Las transacciones asncronas que se intercambian utilizando canales de publicacin
o servicios empresariales utilizan colas JMS (Java Message Service) para
intercambiar datos con un sistema externo.

Para el procesamiento entrante, cuando se recibe un mensaje de servicio


empresarial, el mensaje se graba inmediatamente en una cola JMS y el interlocutor
del servicio se libera de la transaccin. El mensaje se procesa desde la cola JMS
entrante, mediante los objetos de negocios de la aplicacin, y se guarda en la base
de datos. Los mensajes permanecen en una cola entrante hasta que se procesan
correctamente o hasta que se suprimen de la cola. Una estrategia comn para la
implementacin de colas entrantes consiste en aislar las colas y los consumidores
de cola a un servidor o clster de servidores distinto. Esta estrategia garantiza que
el procesamiento de mensajes entrantes no tenga un impacto de rendimiento para
los usuarios de la aplicacin.

Para el proceso saliente, los mensajes enviados utilizando un canal de publicacin


se graban una cola JMS y el usuario que ha iniciado el mensaje se libera de la
transaccin. El mensaje se procesa desde la cola JMS saliente que utiliza el punto
final configurado, y se entrega a la aplicacin externa. Los mensajes permanecen en
la cola saliente hasta que se entregan correctamente a la aplicacin externa o hasta
que se suprimen de la cola.

Existen tres colas de mensajes predeterminadas:


v Una cola secuencial saliente
v Una cola secuencial entrante
v Una cola continua entrante

Integracin de datos con aplicaciones externas 189


Una implementacin de cola JMS puede operar en un solo servidor de aplicaciones
o a travs de un clster de servidores de aplicaciones.

Creacin y configuracin de una cola


Puede optar por utilizar una sola cola JMS para varios sistemas externos o crear
una cola distinta para cada sistema externo que utilice. La creacin y configuracin
de colas implica varios pasos. Puede utilizar las colas predeterminadas o crear
colas adicionales, segn sus necesidades de integracin.

Acerca de esta tarea

Se utilizan colas distintas para dar soporte a las transacciones salientes y las
transacciones entrantes. Configure una cola para dar soporte a las transacciones
entrantes o salientes, no a ambas. Configure colas salientes para el uso con canales
de publicacin y configure colas entrantes para el uso con servicios empresariales.

Procedimiento
1. Cree y configure la cola de mensajes en el servidor de aplicaciones. Las colas
JMS se pueden configurar automtica o manualmente en WebSphere
Application Server. Las colas JMS se deben configurar manualmente en
WebLogic Server.
2. En la aplicacin Sistemas externos, agregue propiedades a la cola. Puede crear
colas adicionales para satisfacer las necesidades del sistema. Si no utiliza las
colas predeterminadas, utilice un proveedor de servidor de aplicaciones para su
configuracin de cola.
3. En la aplicacin Sistemas externos, configure el sistema externo y los servicios
empresariales para utilizar las colas.

Propiedades de la cola:

En la aplicacin Sistemas externos, puede configurar varias propiedades para cada


cola JMS.

Propiedad Descripcin
Nombre JNDI de cola Hace referencia al nombre JNDI (Java
Naming and Directory Interface) que se ha
configurado en el servidor de aplicaciones.
Se proporciona un valor predeterminado.
Nombre de fbrica de conexiones de cola Hace referencia al nombre de la fbrica de
conexiones que se ha configurado en el
servidor de aplicaciones. Se proporciona un
valor predeterminado.
Fbrica de contexto inicial Un valor que debe configurar cuando no
utiliza las colas predeterminadas y no utiliza
un servidor de aplicaciones proporcionado.
URL de proveedor Un valor que debe configurar cuando no
utiliza las colas predeterminadas y no utiliza
un servidor de aplicaciones proporcionado.
ID de usuario El ID de usuario que se configura cuando se
protege la cola en el servidor de
aplicaciones.
Contrasea La contrasea que se configura cuando se
protege la cola en el servidor de aplicaciones
para el ID de usuario.

190 Integracin de datos con aplicaciones externas


Propiedad Descripcin
Entrada Identifica si la cola se utiliza para el proceso
entrante. Si el valor entrante es nulo, el
sistema utiliza la cola para el proceso
saliente.
Secuencial Identifica si la cola es una cola secuencial. Si
el valor secuencial es nulo, el sistema utiliza
la cola para el proceso de colas continuas.
Comprimir Identifica si los mensajes se comprimen
cuando se graban en la cola y se
descomprimen cuando se extraen de la cola.
La compresin reduce significativamente los
tamaos de los mensajes. Para la
compresin, se utilizan las API (java.util.zip)
Inflater y Deflater de Java estndar.
Recuento de intentos mximo Identifica cuntas veces la infraestructura de
integracin intenta volver a procesar un
mensaje si encuentra un error. El sistema
contina reintentando el mensaje hasta que
se alcance el valor del recuento. El valor de
esta propiedad debe establecerse en cero
cuando se implementa una cola de errores.

Colas secuenciales
La cola secuencial es una cola JMS que utiliza una tarea cron de sistema
predefinida para consumir los mensajes. Los mensajes en las colas secuenciales se
procesan en orden estricto de primero en entrar, primero en salir, lo que garantiza
que los mensajes se procesen en el orden en el que se han generado y recibido.

Cuando un mensaje produce un error, el sistema genera un error que puede


gestionarse en la aplicacin Nuevo proceso de mensajes y no procesa los siguientes
mensajes de la cola hasta que se borre el error.

Puede configurar dos colas secuenciales de sistema para el proceso de mensajes


entrante y salientes. Una tarea cron predefinida, JMSQSEQCONSUMER, sondea las
colas. La tarea tiene dos instancias, una que sondea la cola entrante y otra que
sondea la cola saliente. Si crea colas secuenciales adicionales, puede configurar
instancias adicionales de la tarea cron para que apunten a las colas adicionales.

La tabla siguiente muestra los parmetros de tarea cron que puede configurar.

Parmetro Descripcin
MESSAGEPROCESSOR Clase Java que procesa los mensajes de la
cola. El sistema proporciona esta clase.
QUEUENAME Nombre JNDI de la cola, cuando la cola se
crea en el servidor de aplicaciones.
SELECTOR La clusula WHERE para configurar una
instancia de la tarea cron para procesar un
subconjunto de mensajes en la cola. Este
parmetro es opcional.

Integracin de datos con aplicaciones externas 191


Parmetro Descripcin
TARGETENABLED Asegrese de que el valor est en el valor
predeterminado de 0 (false). La
funcionalidad de este distintivo es
reemplazada por la funcionalidad de
donotrun. Utilice el parmetro donotrun en
la infraestructura de la tarea cron para
controlar en qu servidores se ejecuta la
tarea cron.

Colas continuas
Una cola continua es una cola JMS con un bean controlado por mensaje (MDB)
como consumidor. Una cola continua est predefinida slo para servicios
empresariales y utiliza el procesamiento multihebra para proporcionar un mejor
rendimiento del sistema. Una cola continua no garantiza el orden de procesamiento
de los mensajes como en el caso de una cola secuencial.

Cuando el procesamiento de mensajes causa un error que se puede gestionar en la


aplicacin de reprocesamiento de mensajes, el sistema genera un mensaje de error
y luego contina procesando los mensajes siguientes en la cola. Hay una cola
continua predeterminada para procesar los mensajes entrantes. Puede optar por
implementar colas continuas adicionales, segn sus necesidades de integracin.

Habilitacin de beans de mensaje:

Los beans de mensaje del servidor de aplicaciones actan como el consumidor de


mensajes desde una cola continua. Para habilitar los beans de mensaje para dar
soporte a la cola continua, debe eliminar comentarios de las lneas de los archivos
de despliegue XML en el servidor de aplicaciones.

Procedimiento
1. En los entornos WebSphere Application Server y WebLogic Server, descomente
las siguientes lneas de cdigo del archivo ejb-jar.xml, ubicado en la carpeta
...\applications\maximo\mboejb\ejbmodule\META-INF\:
<!-- MEA ejb for MDB
<message-driven id="MessageDriven_JMSContQueueProcessor_1">
<ejb-name>JMSContQueueProcessor-1</ejb-name>
<ejb-class>psdi.iface.jms.JMSContQueueProcessor</ejb-class>
<transaction-type>Container</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
<env-entry>
<env-entry-name>MESSAGEPROCESSOR</env-entry-name>
<env-entry-type>java.lang.String </env-entry-type>
<env-entry-value>psdi.iface.jms.QueueToMaximoProcessor</env-entry-value>
</env-entry>
</message-driven>

-->
<!-- MEA ejb for MDB
<container-transaction>
<method>
<ejb-name>JMSContQueueProcessor-1</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
-->

192 Integracin de datos con aplicaciones externas


2. Elimine los comentarios de las lneas siguientes del archivo
...\applications\maximo\mboejb\ejbmodule\META-INF\ibm-ejb-jar-bnd.xmi en
un entorno de WebSphere Application Server:
<!-- MEA ejb for MDB
<ejbBindings xmi:type="ejbbnd:MessageDrivenBeanBinding"
xmi:id="MessageDrivenBeanBinding_1" activationSpecJndiName="intjmsact">
<enterpriseBean xmi:type="ejb:MessageDriven"
href="META-INF/ejb-jar.xml#MessageDriven_JMSContQueueProcessor_1"/>
</ejbBindings>-->
3. Elimine los comentarios de las lneas siguientes en el archivo
...\applications\maximo\mboejb\ejbmodule\META-INF\weblogic-ejb-jar.xml
en un entorno de WebLogic Server:
<!-- MEA MDB
<weblogic-enterprise-bean>
<ejb-name>JMSContQueueProcessor-1</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>3</max-beans-in-free-pool>
</pool>
<destination-jndi-name>jms/maximo/int/queues/cqin</destination-jndi-name>
<connection-factory-jndi-name>jms/maximo/int/cf/intcf
</ connection-factory-jndi-name>
</message-driven-descriptor>
<transaction-descriptor>
<trans-timeout-seconds>600</trans-timeout-seconds>
</transaction-descriptor>
<jndi-name>JMSContQueueProcessor-1</jndi-name>
</weblogic-enterprise-bean>
-->
4. Una vez realizados los cambios en los archivos XML, debe volver a compilar el
archivo EAR y volverlo a desplegar en el servidor de aplicaciones para que los
cambios surtan efecto.

Rendimiento de la cola de continua:

Para mejorar el rendimiento de la cola, puede aumentar el nmero de beans


controlados por mensaje para una cola e introducir servidores de aplicaciones
adicionales en un clster. Puesto que el procesamiento de mensajes es multihebra,
se pueden producir errores debido al orden aleatorio del procesamiento.

Los ejemplos siguientes describen errores que se pueden producir. En ambos casos,
el procesamiento de gestin de errores de integracin puede reprocesar
satisfactoriamente el error antes de que el administrador del sistema pueda
examinarlo.

Por ejemplo, carga por lotes un gran volumen de mensajes de partes y de


inventario en la cola continua, y existen varios registros de inventario para el
mismo nmero de parte. Si un mensaje de inventario para el Elemento A se
procesa antes de que se procese el mensaje de parte que agrega el Elemento A al
sistema, el mensaje de inventario produce un error porque el Elemento A no existe.
El procesamiento contina con el siguiente mensaje.

Finalmente, el mensaje de la parte para el Elemento A se procesa y la Parte A se


agrega al sistema. El mensaje anmalo se puede procesar entonces correctamente.
En este caso, el error se corrige sin intervencin manual.

Este tipo de situacin se puede producir cuando se cargan mensajes relacionados


en la cola continua al mismo tiempo. Dicha situacin es ms probable que ocurra

Integracin de datos con aplicaciones externas 193


cuando el volumen de transacciones sea elevado pero tambin se puede producir
siempre que dos mensajes procesen datos relacionados simultneamente.

Por ejemplo, dos mensajes intentan actualizar el mismo registro del sistema al
mismo tiempo. Un mensaje resulta satisfactorio y el otro falla. No obstante, el
procesamiento de gestin de errores del sistema debe procesar el segundo mensaje
despus de que la primera actualizacin haya finalizado.

Configuracin de beans de mensaje:

Las ampliaciones especficas del servidor controlan el nmero mximo de beans


que puede crear.

Configuracin de beans de mensaje en WebSphere Application Server:

De forma predeterminada, el servidor est configurado para tener cinco beans


controlados por mensaje.

Procedimiento
1. En la consola de administracin, seleccione la especificacin de activacin de
JMS.
2. Seleccione intjmsact.
3. Especifique un valor en el campo Nmero mximo de puntos finales
simultneos.

Configuracin de beans de mensaje en WebLogic Server:

De forma predeterminada, WebLogic Server est configurado para tener tres beans
controlados por mensaje.

Procedimiento
1. Abra el archivo weblogic-ejb-jar.xml en un editor de texto.
2. Busque las lneas de cdigo siguientes:
<pool>
<max-beans-in-free-pool>3</max-beans-in-free-pool>
</pool>
3. Sustituya el valor 3 por un valor diferente si es necesario. Empiece con un
nmero relativamente bajo de beans controlados por mensaje y supervise el
rendimiento.
4. Modifique el archivo para aumentar el nmero de beans controlados por
mensaje incrementalmente hasta que est satisfecho con el rendimiento de
procesamiento de los mensajes en la cola continua.

Qu hacer a continuacin

Si el rendimiento del sistema es deficiente, puede resolver algunas cuestiones de


rendimiento del sistema agrupando los servidores en clster y aislando el
procesamiento de mensajes entrantes a un clster de servidor especfico.

Almacenamiento en antememoria de mensajes:

El procesamiento de la cola continua utiliza la propiedad de Tamao de lote


mximo, en la definicin de la Especificacin de activacin, para controlar el
nmero de mensajes recibidos del motor de mensajera en un solo lote.

194 Integracin de datos con aplicaciones externas


Si hay tres beans controlados por mensaje habilitados y el tamao de lote es de 10,
se pueden almacenar en memoria cach hasta 30 mensajes. Pruebe con valores
diferentes para garantizar que el valor que establezca no afecte a los usuarios de la
aplicacin ni a los procesos del servidor.

Se puede procesar un nmero ilimitado de mensajes si se establece un valor de


Tamao de lote mximo de -1 en un entorno de WebLogic Server.

Si piensa utilizar una cola de errores de WebSphere Application Server, utilice el


valor predeterminado para el tamao de lote.

Configuracin de una cola de errores para la cola continua:

Puede implementar una cola de errores en el servidor de aplicaciones que traslade


un mensaje de la cola principal a una cola secundaria cuando un mensaje resulte
errneo. A menos que su escenario de integracin soporte un volumen muy bajo
de mensajes, configure una cola de errores para permitir el procesamiento de
mensajes mediante la cola continua.

Una cola continua utiliza MDB para consumir mensajes. Cuando un mensaje
resulta errneo, los MDB siguen consumiendo los mensajes errneos, hasta
despus de que los mensajes alcancen el recuento de intentos mximo configurado
para el procesamiento. La seleccin continua de estos mensajes consume recursos
del sistema y puede frenar, o incluso impedir, el procesamiento de otros mensajes.
La configuracin de una cola de errores para la cola continua ayuda a evitar
retardos de rendimiento o cuellos de botella de transacciones pasando los mensajes
errneos a una cola secundaria.

Configuracin de una cola de errores en WebSphere Application Server:

Puede configurar una cola continua para que tenga una cola de errores
correspondiente. Si un mensaje encuentra un error, se mueve fuera de la cola
continua a la cola de errores, donde se cumple el nmero de reintentos definido en
el parmetro Nmero mximo de entregas con error. La cola continua procesa los
nuevos mensajes de cola.

Acerca de esta tarea

El proveedor del sistema debe realizar esta tarea en nombre del arrendatario.

Procedimiento
1. Configure un destino de cola de errores en el mismo miembro de bus donde
reside la cola continua.
2. Configure la definicin de destino de cola continua para que tenga un destino
de excepcin. El destino de excepcin debe apuntar al destino de cola de
errores que ha definido.
3. En la cola de errores, agregue un destino de excepcin que apunte a s mismo.
Los errores de la cola de errores pasan de la parte superior de la cola de errores
a la parte inferior de la cola de errores. Los mensajes con error se reintentan
continuamente.
4. Abra el archivo ejb-jar.xml en un editor de texto para habilitar la propiedad
MDBDELAY. Para evitar un uso excesivo de los recursos de sistema durante el
nuevo proceso de mensajes, la propiedad MDBDELAY retarda el proceso de los
mensajes.

Integracin de datos con aplicaciones externas 195


5. Elimine el comentario de las siguientes lneas de cdigo y establezca el valor
correspondiente:
<env-entry>
<env-entry-name>MDBDELAY</env-entry-name>
<env-entry-type>java.lang.Long </env-entry-type>
<env-entry-value>30000</env-entry-value>
</env-entry>

El valor predeterminado es 30 segundos (30000 milisegundos).


6. Abra el archivo ibm-ejb-jar-bnd.xmi y elimine el comentario de las siguientes
lneas de cdigo para habilitar los beans controlados por mensajes en la cola de
errores.
<!-- MEA MDB para la cola de errores
<ejbBindings xmi:type="ejbbnd:MessageDrivenBeanBinding"
xmi:id="MessageDrivenBeanBinding_1" activationSpecJndiName="intjmsacterr">
<enterpriseBean xmi:type="ejb:MessageDriven"
href="META-INF/ejb-jar.xml#MessageDriven_JMSContQueueProcessor_2"/>
</ejbBindings>
-->

Errores de cola continua en WebLogic Server:

La cola de WebLogic Server tiene una propiedad de reentrega que puede controlar
cmo se reprocesan los mensajes errneos. La propiedad de retardo de reentrega
representa la hora entre el momento en que el informa de un error y el momento
en que el mensaje se vuelve a procesar.

No puede ver el mensaje en la cola durante la cantidad de tiempo que haya


especificado en la propiedad de retardo de reentrega. El retardo de reentrega
mejora el rendimiento del sistema. Los mensajes que no sean mensajes errneos se
pueden procesar durante la cantidad de tiempo que definida en la propiedad de
retardo de reentrega. El retardo de procesamiento se aplica al mensaje y no a la
hebra que procesa el mensaje.

Si establece la propiedad de tamao de lote a -1 (ilimitado) y la propiedad de


retardo de reentrega en 30 segundos (30.000 milisegundos), los mensajes nuevos se
pueden procesar en la cola. El procesamiento contina aunque se est
reprocesando un gran nmero de errores.

La misma fbrica de conexiones se utiliza tanto para las colas secuenciales como
para las continuas. Para evitar problemas de procesamiento del consumidor
secuencial, establezca el valor de retardo de reentrega en la configuracin de la
cola de destino. No establezca la configuracin del nivel de la fbrica de
conexiones.

Si el nmero de veces que un mensaje errneo se procesa supera el recuento de


intentos configurado, se detiene el procesamiento del mensaje y ste se redirige
para la gestin de errores.

Como alternativa, puede implementar una cola de errores. Para implementar una
cola de errores, debe quitar las marcas de comentario para la colas de errores en
los archivos ejb-jar.xml y weblogic-ejb-jar.xml.

Formato de mensaje de cola


Los mensajes que la infraestructura de integracin carga en las colas JMS tienen
componentes y formatos definidos. El cuerpo del mensaje contiene el mensaje XML
que se procesa en el sistema o se enva al sistema externo.

196 Integracin de datos con aplicaciones externas


Cabecera de mensaje

La cabecera de mensaje puede contener el ID de mensaje JMS y valores estndar


de cabecera JMS.

Cabecera Descripcin
JMSMessageID Un ID de mensaje generado por el sistema.
JMSRedelivered Identifica si se ha reprocesado el mensaje.

Propiedades del mensaje

Las propiedades contienen las siguientes propiedades del proveedor JMS y de la


infraestructura de integracin. Las propiedades de la infraestructura de integracin
son de tipo de datos de cadena.

Propiedad Descripcin
MEAMessageID El ID de mensaje generado por la
infraestructura de integracin.
destjndiname El nombre de la cola o tema donde se graba
el mensaje.
INTERFACE El nombre del canal de publicacin (cola de
salida) y el servicio empresarial (cola de
entrada).
destination El nombre del sistema externo para mensajes
de salida.
SENDER El nombre del sistema externo para mensajes
de entrada.
USER El nombre del usuario que est asociado con
el mensaje de integracin de entrada. Este
valor se puede utilizar para la seguridad de
autorizacin, si es necesario.
compressed Indica si el mensaje est comprimido. Los
valores pueden ser true o false. El valor
predeterminado es false.

Para la descompresin se utilizan las API


Inflater y Deflater de Java (java.util.zip).
uncompressed_length Almacena el tamao de la carga til de
mensaje original antes de la compresin.
Este valor debe cumplir con el tipo de
esquema int [xsd:int] y solamente est
presente cuando la propiedad comprimida
se establece en true.
MSG_TRK_ENABLED Valor interno.
MSG_OP_MODE El nombre de punto final para los mensajes
de salida. La serie fija MXJMS para los
mensajes de entrada.
MSG_TRK_STORE_MSG Valor interno.
MSG_TRK_EXTSYS El nombre del sistema externo para mensajes
de entrada y de salida.
Msgkeyval Una clave de mensajes de nombre de campo.

Integracin de datos con aplicaciones externas 197


Propiedad Descripcin
searchfieldval Un valor de campo de bsqueda separado
por comas.
msgoperation Indica si el canal de publicacin o el servicio
empresarial contiene una operacin de
sincronizacin, creacin, actualizacin o
supresin.
msgstatus Indica si el mensaje tiene un valor de estado
RECEIVED, ERROR, DELETED o
PROCESSED.
msgerrmsg Contiene el texto del mensaje de excepcin.

Mensajes en formato de texto:

Los mensajes que la infraestructura de integracin graba en una cola estn, de


forma predeterminada, en formato de byte. Puede utilizar la aplicacin Sistemas
externos para asegurar que tambin se da soporte a los mensajes en formato de
texto.

Para dar soporte a los mensajes en formato de texto, seleccione el recuadro de


seleccin Texto en la ventana Agregar/modificar colas en la aplicacin Sistemas
externos. Cuando una cola est configurada para dar soporte a mensajes en
formato de texto, todos los mensajes posteriores que un componente de integracin
graba en la cola estn en formato javax.jms.TextMessage en lugar de en el formato
javax.jms.BytesMessage predeterminado.

Cuando la cola est configurada para mensajes en formato de texto, el campo


Codificacin de mensaje de texto en la aplicacin Sistemas externos identifica la
codificacin de los mensajes en formato de texto en cualquiera de las colas de
entrada configuradas para el sistema externo. Cuando no se proporciona ningn
valor, se da por supuesto que los mensajes estn codificados en UTF-8. Los
mensajes que se graban en la cola de salida siempre estn codificados con UTF-8.

Selectores de colas
Los selectores actan como clusulas WHERE en el consumidor de colas JMS. Los
selectores se pueden aplicar a las cabeceras de mensajes y las propiedades de una
cola secuencial o continua.

La tabla siguiente lista cmo puede utilizar los selectores continuos en el


consumidor de colas JMS.

Tipo de cola Dnde identificar el selector


Cola secuencial Se especifica como una propiedad de la
tarea cron.
Cola continua Se especifica en el cdigo ejb-jar.xml del
bean controlado por mensaje.

Aplicar selectores divide una cola en colas ms pequeas, cada una de las cuales
contiene un subconjunto de los datos que utiliza cada tarea cron o bean controlado
por mensajes. Un error de un subconjunto de los datos no detiene el proceso en los
otros de una cola secuencial.

198 Integracin de datos con aplicaciones externas


Aunque los selectores proporcionan flexibilidad a la hora de separar el proceso de
las transacciones, afectan el rendimiento del proceso de sondeo. Dependiendo del
volumen de transacciones, puede preferir la implementacin de mltiples colas, en
lugar de una cola con mltiples selectores. Con mltiples colas se suele mejorar el
rendimiento.

Puede aadir la sentencia siguiente a la propiedad SELECTOR de la instancia


EQQIN de JMSQSEQCONSUMER para indicar a la tarea cron que procese las
transacciones MXPOInterface y MXPRInterface desde el sistema externo
correspondiente:
SENDER=EXTSYS1 and INTERFACE in ('MXPOInterface, 'MXPRInterface)

Aada el contenido siguiente a la configuracin del bean de mensajes en el archivo


ejb-jar.xml para indicar al bean controlado por mensajes que procese las
transacciones MXPOInterface y MXPRInterface desde el sistema externo
correspondiente:
<message-selector>
SENDER=EXTSYS1 AND INTERFACE IN ('MXPOInterface, 'MXPRInterface)
</message-selector>

Si dos sistemas externos envan datos a una cola secuencial de entrada, un error en
cualquier registro detiene el proceso de todas las transacciones de dicha cola para
mantener un orden de proceso de tipo primero en entrar, primero en salir. Cree
mltiples instancias de una tarea cron, con un selector para cada una que procese
un sistema externo diferente, para impedir que un error en un sistema detenga las
transacciones del segundo sistema.

Asegrese de que las clusulas where de los selectores identifiquen los conjuntos
de transacciones exclusivos mutuamente en una cola secuencial. Incluya todas las
transacciones que se insertan en las colas para asegurarse de que todos los
mensajes se procesan en el orden de primero en entrar, primero en salir.

Visualizacin y supresin de mensajes en una cola JMS


Puede ver una lista de los mensajes en colas JMS, descargar estos mensajes para
ver su contenido y puede suprimir mensajes de colas configuradas. Al ver o
suprimir mensajes, puede aplicar un selector para limitar los mensajes devueltos
para el procesamiento.

Acerca de esta tarea

Los mensajes que un bean controlado por mensaje est procesando actualmente a
una cola continua o que una tarea cron JMS est procesando a una cola secuencial
no estn disponibles para verlos o suprimirlos. Puede desactivar la tarea cron para
detener el procesamiento de mensajes a una cola secuencial. Los beans controlados
por mensaje procesan continuamente mensajes y el nmero de mensajes
procesados puede variar. A menos que inhabilite los beans controlados por
mensaje, es probable que no todos los mensajes se puedan ver o suprimir. Si ve o
suprime mensajes mientras los beans controlados por mensaje estn habilitados, es
posible que no todos los mensajes estn disponibles para el procesamiento.

Procedimiento
1. En la aplicacin Sistemas externos, seleccione la accin Agregar/modificar
colas.
2. Seleccione una cola y pulse en el botn Ver datos en cola o en el botn
Suprimir datos en cola.

Integracin de datos con aplicaciones externas 199


3. Opcional: Si selecciona la opcin Ver datos en cola, puede especificar un
nmero en el campo Recuento para limitar el nmero de registros que se
deben ver y puede marcar el campo Slo recuento si slo desea ver cuntos
mensajes hay actualmente en la cola.
4. Opcional: Especifique uno de los selectores siguientes si desea filtrar los
registros devueltos en la ventana Ver datos en cola o en la ventana Suprimir
datos en cola:

Opcin Descripcin
MEAMessageID ID del mensaje (se aplica a los mensajes
entrantes y salientes).
INTERFACE El nombre del servicio empresarial para
mensajes entrantes o el nombre del canal de
publicacin para mensajes salientes.
destination El nombre del sistema externo slo para
colas salientes.
SENDER El nombre del sistema externo slo para
mensajes entrantes.
USER El usuario proporcionado con el mensaje.
Este valor es opcional y se aplica slo a los
mensajes entrantes.

Los valores del selector distinguen entre maysculas y minsculas y el valor


del selector se debe incluir entre comillas simples, como por ejemplo
INTERFACE='MXPERSONInterface'.

Configuracin de colas con WebSphere MQ


Puede utilizar IBM WebSphere MQ para configurar y gestionar actividades de
colas. La infraestructura de integracin soporta WebSphere MQ Versin 6.
Conceptos relacionados:
Mensajes en formato de texto en la pgina 198
Los mensajes que la infraestructura de integracin graba en una cola estn, de
forma predeterminada, en formato de byte. Puede utilizar la aplicacin Sistemas
externos para asegurar que tambin se da soporte a los mensajes en formato de
texto.

Configuracin de puntos finales y manejadores JMS:

Los mensajes salientes de un canal de publicacin se colocan en la cola


predeterminada y se debe configurar el punto final y el manejador JMS para enviar
el mensaje a WebSphere MQ.

Procedimiento
1. Cree un proveedor de WebSphere MQ en WebSphere Application Server y
configure un punto final de integracin para apuntar al proveedor de la cola de
mensajes (MQ) utilizando:
a. El nombre JNDI del destino (DESTJNDINAME)
b. El nombre JNDI de la fbrica de conexiones (CONFACTORYJNDINAME)
2. Configure el punto final para que apunte a WebSphere MQ utilizando:
a. El nombre JNDI del destino (DESTJNDINAME)
b. El nombre JNDI de la fbrica de conexiones (CONFACTORYJNDINAME)
c. El URL del proveedor (PROVIDERURL)
d. La fbrica de contexto inicial (CONTEXTFACTORY)

200 Integracin de datos con aplicaciones externas


Configurar de colas de integracin y del proveedor WebSphere MQ:

Para sustituir colas de la infraestructura de integracin con por colas de


WebSphere MQ, configure las colas en WebSphere Application Server y agregue
estas definiciones de cola en la aplicacin Sistemas externos.

Procedimiento
1. Cree la cola JMS definiendo un proveedor alternativo para sustituir al
proveedor predeterminado.
2. Cree una cola proxy en WebSphere Application Server utilizando el proveedor
WebSphere MQ que apunta a su cola del servidor (MQ) de la cola de mensajes.
3. En el dilogo Agregar/modificar colas, en la aplicacin Sistemas externos,
agregue valores a los campos Nombre JNDI de cola y Fbrica de conexin
para apuntar a la cola de proxy y a la fbrica de conexiones.

Resultados

Los mensajes salientes destinados a la cola predeterminada se entregan a la cola de


mensajes (MQ) y los mensajes entrantes se recuperan de la cola de mensajes (MQ).

Gestin de errores
La infraestructura de integracin soporta diversos formatos de mensaje, protocolos
para intercambiar mensajes y tanto el procesamiento de mensajes sncrono como
asncrono. La gestin de errores requiere varias opciones para satisfacer las
diversas configuraciones de implementacin que se pueden elegir.

La infraestructura de integracin utiliza colas JMS como mecanismo de


transferencia para los mensajes entrantes y salientes. La gestin de errores de cola
se inicia cuando se identifica una condicin de error y se pueden ver, corregir,
cancelar y reprocesar mensajes problemticos.

Gestin de errores que no son de cola


Al iniciar el procesamiento sncrono de mensajes de integracin entrantes o
salientes, se le notificar cualquier error en el momento de la ejecucin.

La gestin de errores que no son de cola es necesaria si se produce un error


cuando se est procesando un mensaje sncrono. Para los mensajes de entrada, en
lugar de confiar en una cola de errores, la infraestructura de integracin responde
de forma sncrona al interlocutor del proceso con un mensaje de error.La aplicacin
de llamada debe recibir la respuesta, corregir el error y reintentar la transaccin.

Utilice el registro del sistema para resolver problemas de errores de transaccin


sncronos. El registro del sistema contiene la excepcin de procesamiento que la
infraestructura de integracin emite al interlocutor del proceso.

Gestin de errores basada en cola


Puede utilizar la aplicacin Nuevo proceso de mensajes para gestionar mensajes de
integracin asncronos entrantes y salientes errneos que utilizan colas JMS.

Los errores que se producen cuando se enva un mensaje de una cola a un sistema
externo se deben normalmente a una anomala de comunicacin o un problema
con la configuracin de la base de datos al grabar en tablas de interfaz o en
archivos. Los errores que ocurren durante el proceso de entrada suelen ser el
resultado de validaciones de reglas de negocio o de la lgica de proceso de entrada
de la infraestructura de integracin.

Integracin de datos con aplicaciones externas 201


La cola secuencial procesa los mensajes uno por uno, en una secuencia "primero en
entrar, primero en salir". Cuando la infraestructura de integracin encuentra un
error al procesar un mensaje en una cola secuencial, entrante o saliente, se inicia el
mecanismo de gestin de errores y el mensaje se marca como errneo. Los
mensajes posteriores de la cola no se procesan hasta que el mensaje errneo se
resuelve o se suprime. En consecuencia, slo puede existir un error en una cola
secuencial.

La cola continua slo maneja el procesa de entrada y procesa mensajes en


modalidad multihebra. Cuando se produce un error en la cola continua, se la
gestin de errores y el mensaje se marca como errneo. La infraestructura de
integracin contina el proceso de los mensajes posteriores de la cola. Por lo tanto,
pueden existir varios errores en una cola continua.

Segn la configuracin del sistema, la infraestructura de integracin realiza varios


intentos de volver a procesar el mensaje, para cualquier tipo de cola, antes de
determinar que un error requiere intervencin. El sistema tambin realiza las
actividades siguientes cuando encuentra un error:
v Enva una notificacin a una cuenta de correo electrnico especificada,
informando al destinatario de que se ha producido un error. En un entorno de
IBM WebSphere Application Server, la infraestructura de integracin enva un
mensaje de correo electrnico adicional a la cuenta de correo electrnico
especificada cada vez que se reinicia correctamente el servidor de aplicaciones.
v Crea un registro en la aplicacin Nuevo proceso de mensajes. Crea un registro
que puede visualizarse en la aplicacin Nuevo proceso de mensajes. Este registro
incluye el mensaje que se ha colocado en la cola.

Configuracin de la gestin de errores


Para configurar la gestin de errores, debe configurar propiedades del sistema y
configurar el sistema externo.

Configuracin de las propiedades de gestin de errores:

Antes de utilizar la infraestructura de integracin, configure propiedades en la


aplicacin Propiedades del sistema.

Procedimiento
1. Filtre la propiedad mxe.int.adminfromemail y especifique una direccin de
correo electrnico, como mxintadm@example.com. Esta direccin aparece en las
notificaciones de error enviadas por la infraestructura de integracin. Algunos
servidores SMTP requieren que esta direccin tenga un formato de direccin de
correo electrnico vlido; algunos servidores aceptan cualquier valor.
2. Filtre la propiedad mxe.int.admintoemail y especifique una o varias direcciones
de correo electrnico para recibir notificacin de errores de procesamiento de
mensajes. Utilice comas para delimitar varias direcciones de correo electrnico.
Puede utilizar opcionalmente la propiedad de direccin de correo electrnico al
nivel de cola para sustituir la direccin del administrador. Utilice esta opcin si
desea especificar direcciones de correo electrnico diferentes para cada cola. Si
no configura una direccin de correo electrnico, no se enva ninguna
notificacin de correo electrnico cuando se producen errores de procesamiento
en la cola.
3. Filtre la propiedad mail.smtp.host y especifique un servidor SMTP si no se ha
configurado ninguno. Esta propiedad no es exclusiva para la infraestructura de
integracin y se puede configurar para otras aplicaciones.

202 Integracin de datos con aplicaciones externas


Configuracin de la gestin de errores en el sistema externo:

Configure el sistema externo para manejar la gestin de errores.

Procedimiento
1. En la aplicacin Sistemas externos, especifique un valor apropiado en el campo
Recuento de intentos mximo. No hay ningn lmite del nmero de veces que
el sistema reintenta la transaccin. Despus del primer intento no satisfactorio
de procesar la transaccin, el administrador del sistema recibe una notificacin
y se graba un mensaje en un archivo de errores. Este valor se establece
normalmente en 0 para las colas salientes.
2. Especifique un valor en el campo Direccin de correo electrnico si desea que
se enven mensajes de notificacin a direcciones diferentes para cada cola.
Puede especificar varias direcciones, delimitadas con una coma (,). El valor de
esta propiedad anula el valor de la propiedad de direccin de correo
electrnico del administrador. Si no se especifica ningn valor, se envan
notificaciones de correo electrnico a las direcciones de correo electrnico
especificadas para la propiedad de direccin de correo electrnico del
administrador.
3. Pulse Guardar.

Notificacin de errores
Cuando una transaccin entrante o saliente causa un error en una cola, se enva
una notificacin por correo electrnico al administrador del sistema slo si hay
otros errores no resueltos esperando en la misma cola. Si existen varios errores en
la cola, el administrador del sistema debe resolverlos todos antes de que se enve
la notificacin de nuevos errores.

Un mensaje de error de correo electrnico incluye un seguimiento de la pila de


errores Java.

El mismo proceso de notificacin se utiliza para todos los errores, para colas
continuas y secuenciales, para mensajes entrantes y salientes, e
independientemente de si el sistema se ejecuta en un entorno en clster o sin
clster.

El ejemplo siguiente describe la notificacin de error para una cola entrante


continua que contiene diez mensajes. Los cuatro primeros mensajes se procesan
correctamente y se produce un error en el quinto mensaje. Segn el valor que
establezca para la propiedad Recuento de intentos mximo para el sistema externo,
el mensaje se puede intentar una o varias veces. Si el mensaje sigue provocando un
error, se enva una notificacin por correo electrnico al administrador del sistema
y se procesan los mensajes posteriores de la cola. Si se produce otro error en el
sptimo mensaje, no se enviar otra notificacin de correo electrnico si el
administrador del sistema no ha resuelto el error original. Si el administrador del
sistema resuelve el error original y no queda ningn error pendiente, se enviar
una notificacin de correo electrnico.

Si se encuentra el error en una cola secuencial, el procesamiento ser el mismo que


en una cola continua salvo que el sistema no procesar los mensajes posteriores
hasta que se resuelva el mensaje con el error original.

Integracin de datos con aplicaciones externas 203


Slo pueden existir varios errores en la cola entrante continua. En un entorno en
clster, el administrador del sistema puede recibir una notificacin de error de
correo electrnico por servidor de aplicaciones, segn la temporizacin de las
transacciones errneas.

Se puede producir una condicin de excepcin poco comn para los mensajes
salientes cuando un mensaje se guarda en la cola pero la confirmacin de la
transaccin en la cola falla. Esta excepcin se puede producir porque no ha
disponible una conexin de base de datos al almacn de datos JMS. Si se produce
esta excepcin, se enva una notificacin y el mensaje de error es visible en la
aplicacin Nuevo proceso de mensajes con un estado de ERRORJMS o
GUARDADO. Dado que el mensaje no se ha guardado satisfactoriamente en la
cola, no se puede establecer el estado del mensaje en REINTENTAR, pero puede
procesar el mensaje desde la aplicacin.

Nuevo proceso de mensajes


En la aplicacin Nuevo proceso de mensajes, puede gestionar mensajes marcados
con un error realizando acciones como cambiar el estado del mensaje, corregir el
mensaje o suprimirlo de la base de datos.

Si el seguimiento de mensajes est habilitado, utilice la aplicacin Seguimiento de


mensajes para determinar qu mensajes de los que se realiza el seguimiento estn
marcados con un error. Si el seguimiento de mensajes no est habilitado, puede
comprobar si hay errores de transaccin en la aplicacin Nuevo proceso de
mensajes.

Valores de estado de los mensajes:

Para cambiar el estado de un mensaje, seleccione la accin Cambiar estado en la


aplicacin Nuevo proceso de mensajes. El sistema designa un estado a cada
mensaje para indicar si est listo para su proceso.

Un mensaje puede tener los estados REINTENTAR o SUSPEND:

Estado Descripcin
REINTENTAR El mensaje est preparado para que el
sistema vuelva a procesarlo.
SUSPEND El mensaje no est preparado para que el
sistema vuelva a procesarlo.

El estado REINTENTAR es el estado predeterminado para los mensajes sealados


con un error. Hasta que corrige el problema de proceso, el sistema sigue
procesando de nuevo el mensaje de acuerdo con el recuento de reintentos de cola
configurado. Al cumplir la condicin de recuento de reintentos, el sistema cambia
el estado de los mensajes a SUSPEND.

Puede detener el proceso de nuevo de los mensajes cambiando el estado de los


mensajes a SUSPEND. El estado SUSPEND impide que el sistema procese de
nuevo los mensajes sealados y que actualice las tablas de base de datos del
sistema.

Mensajes XML de error:

Puede revisar el mensaje XML que se genera cuando se produce un error y puede
modificar el contenido del mensaje.

204 Integracin de datos con aplicaciones externas


Al gestionar un error en la aplicacin Nuevo proceso de mensajes, puede ver la
informacin siguiente:
v El campo Datos de error contiene el mensaje de error.
v El contenido del mensaje incluye el mensaje original que se ha colocado en la
cola y est causando un error. Puede editar este elemento.
v Si est disponible, el registro interno contiene la representacin XML del mensaje
en el momento en que se produjo el error. No puede editar el registro interno,
pero puede utilizarlo para ver si el proceso de integracin ha cambiado el
mensaje original antes de que se produjera el error.

El registro interno representa la estructura de objeto creada durante el servicio


empresarial y el proceso de salidas de usuario. Un registro interno slo est
disponible para las transacciones entrantes, y slo cuando el servicio empresarial y
el proceso de salidas de usuario se ha completado satisfactoriamente. Si un registro
interno est disponible, se proporciona nicamente para su informacin y no
puede cambiarlo.

A continuacin se muestra un ejemplo de un mensaje XML de error:


<?xml version="1.0" encoding="UTF-8"?>
<SyncMXPERSON xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
creationDateTime="2014-04-22T14:04:03-04:00"
transLanguage="EN" baseLanguage="EN" messageID="11798570432187483"
maximoVersion="7 6" event="1" messageid="11798570432652428">
<MXPERSONSet>
<PERSON action="Update">
.
.
.
</PERSON>
</MXPERSONSet>
</SyncMXPERSON>

A continuacin se muestra un ejemplo de un mensaje XML de registro interno:


<?xml version="1.0" encoding="UTF-8"?>
<SyncMXPERSON xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
creationDateTime="2014-04-22T14:04:03-04:00"
transLanguage="EN" baseLanguage="EN" messageID="11798570432187483"
maximoVersion="7 6" event="1" messageid="11798570432652428">
<MXPERSONSet>
<PERSON action="Update">
.
.
.
</PERSON>
</MXPERSONSet>
</SyncMXPERSON>
</IR>
</ERROR>

Errores crticos:

Los errores crticos son excepciones de procesamiento que el proceso de correccin


de errores de la infraestructura de integracin no puede reintentar.

Pueden producirse excepciones de procesamiento de transacciones cuando hay


datos incorrectos, como caracteres especiales, en el archivo XML. Para corregir un

Integracin de datos con aplicaciones externas 205


error crtico, debe eliminar los datos incorrectos del archivo XML de errores. Puede
ver datos incorrectos asociados con un error crtico en la ficha principal de la
aplicacin Nuevo proceso de mensajes.

Correccin de errores:

En la aplicacin Nuevo proceso de mensajes, puede volver a procesar un mensaje


errneo o puede suprimir el mensaje de la base de datos.

Cmo volver a procesar un mensaje editado:

En la aplicacin Nuevo proceso de mensajes puede visualizar, modificar y volver a


procesar los mensajes. Una vez editado el mensaje XML de error, puede guardar o
cancelar los cambios sin volver a procesar el mensaje.

Acerca de esta tarea

Solo puede editar los mensajes en estado SUSPEND. Si el mensaje tiene el estado
REINTENTAR, el contenido del mensaje es de solo lectura.

Procedimiento
1. En la aplicacin Nuevo proceso de mensajes, seleccione el mensaje que desea
modificar y pulse el icono Detalles de mensaje.
2. En la ventana Datos de error, realice los cambios necesarios en el mensaje.
3. Pulse Proceso si desea volver a procesar el mensaje. Puede pulsar en Guardar
para guardar los cambios sin volver a procesar el mensaje o bien pulsar en
Cancelar para descartar los cambios realizados.

Resultados

Si el proceso se lleva a cabo de forma satisfactoria, la aplicacin Nuevo proceso de


mensajes realiza las tareas siguientes:
v Suprime el registro en la tabla de mensajes de error.
v Actualiza los atributos DELETEFLAG, CHANGE BY y CHANGE DATE en la
tabla de estados de error

Qu hacer a continuacin

En la ventana Detalles de mensaje, renueve la lista de mensajes sealados con un


error. Si el mensaje se ha reprocesado satisfactoriamente, se elimina de la lista.

Supresin de mensajes:

Puede suprimir mensajes de la cola de mensajes de error. Despus de suprimir un


mensaje, no se puede volver a procesar.

Procedimiento
1. En la aplicacin Nuevo proceso de mensajes, seleccione los registros de mensaje
que desea suprimir.
2. Seleccione la accin Suprimir mensaje.
3. Pulse Aceptar.

206 Integracin de datos con aplicaciones externas


Resultados

Cuando se suprime un mensaje, el registro se suprime de las tablas


MAXINTERRORMSG y MAXINTERROR. La aplicacin renueva el conjunto de
resultados y omite el listado de mensajes suprimidos en la ficha principal de la
aplicacin Nuevo proceso de mensajes.

Actualizar mensajes:

Puede utilizar el icono Actualizar de la aplicacin Nuevo proceso de mensajes para


actualizar la lista de mensajes. Al actualizar la lista de mensajes, puede comprobar
el estado de listados especficos de mensajes.

Si el nuevo proceso de mensajes resulta satisfactorio, la aplicacin omite los


listados de mensajes aplicables. Si se suprime un mensaje, la aplicacin omite el
listado de mensajes suprimidos.

Gestin de errores de la importacin de datos basada en archivo


La infraestructura de integracin soporta la gestin de errores con la aplicacin
Nuevo proceso de mensajes, que permite examinar, corregir, reprocesar y suprimir
mensajes que producen errores cuando se procesan desde una cola entrante.
Cuando los datos se importan de un archivo XML o un archivo sin formato, hay
disponible una segunda opcin que gestiona los errores utilizando un archivo
descargado en lugar de la aplicacin Nuevo proceso de mensajes.

La gestin de errores basada en archivo es beneficiosa cuando se importa un gran


nmero de mensajes que pueden causar un gran nmero de errores. La gestin de
un gran nmero de errores en formato de archivo puede ser ms fcil y rpida que
gestionarlos individualmente en la aplicacin Nuevo proceso de mensajes.
Conceptos relacionados:
Exportacin e importacin de datos basados en archivo en la pgina 233
El administrador de integracin puede iniciar la exportacin e importacin de
datos desde dentro de la aplicacin Sistemas externos para permitir, por ejemplo,
la integracin de datos mediante archivos. El proceso de importacin incluye la
capacidad de ver una vista previa de una carga de datos de un archivo para
validar los datos antes de guardarlos en la base de datos. El proceso de
importacin tambin incluye una opcin para gestionar errores resultantes de la
carga del archivo en el mismo formato de archivo que el archivo importado.

Gestin de errores basada en archivos:

Puede utilizar la gestin de errores basada en archivos con la funcin de


importacin de datos. La gestin de errores basada en archivos permite identificar
todos los mensajes de integracin marcados con un error y descargar un archivo
completo que contiene todos los errores. El archivo descargado est en un formato
coherente con el archivo utilizado para la importacin.

Para configurar la gestin de errores basada en archivos, en la ventana Importar


datos, seleccione la casilla de verificacin Gestin de errores basada en archivos.

Cuando seleccione la casilla de verificacin Gestin de errores basada en archivos


y deje sin seleccionar la casilla de verificacin Presentacin preliminar de
importacin, recibir un mensaje del sistema despus de que se procesen los
mensajes entrantes satisfactoriamente en la cola.

Integracin de datos con aplicaciones externas 207


La lgica de proceso de entrada identifica errores de proceso en cualquiera de los
mensajes del archivo de origen y hace que estos mensajes fallidos estn disponibles
para descarga en un archivo reprocesable. La aplicacin Nuevo proceso de
mensajes proporciona un recurso para descargar el archivo reprocesable.

Si se selecciona la casilla de verificacin Gestin de errores basada en archivos,


significa que cualquier mensaje de integracin marcado con un error slo estar
disponible en el archivo reprocesable y que no aparecer en la seccin de mensajes
de la aplicacin Nuevo proceso de mensajes.

Configuracin de la gestin de errores en tareas cron de importacin de datos:

Puede definir el parmetro ISFILEEXTRACT en las tareas cron XMLFILECONSUMER


y FLATFILECONSUMER para identificar el mecanismo de gestin de errores que
desea utilizar.

La tabla siguiente contiene los valores posibles para el parmetro ISFILEEXTRACT:

Valor Mecanismo de gestin de errores


0 La gestin de errores se lleva a cabo en la
aplicacin Nuevo proceso de mensajes.
1 La gestin de errores basada en archivos se
lleva a cabo en la ventana Importar datos y
en el archivo reprocesable.

La gestin de errores basada en archivos implica que los mensajes de integracin


sealados con un error solo estn disponibles en el archivo reprocesable, y no se
visualizan en la seccin de mensajes de la aplicacin Nuevo proceso de mensajes.

Informacin extrada por la gestin de errores basada en archivos:

La gestin de errores basada en archivos ofrece la posibilidad de descargar un


archivo reprocesable que contiene todos los mensajes de error originados desde un
nico archivo de entrada.

La tabla siguiente contiene la informacin disponible en la seccin Extraccin de


errores de la aplicacin Nuevo proceso de mensajes.

Campo Descripcin
Archivo de Nombre del archivo de origen que ha generado el archivo que se puede
importacin procesar de nuevo.
Servicio Nombre del servicio empresarial que se ha utilizado para importar el
empresarial archivo de origen.
Sistema Nombre del sistema externo que se ha utilizado para importar el archivo de
externo origen.
Fecha de Fecha y hora en que el proceso de importacin de datos ha iniciado el
importacin proceso del archivo de origen.
Recuento Nmero total de mensajes importados del archivo de origen original.
importado
Recuento Nmero de mensajes procesados satisfactoriamente.
procesado
Recuento de Nmero de mensajes que tienen errores.
errores

208 Integracin de datos con aplicaciones externas


Campo Descripcin
Formato de Formato del archivo de origen.
archivo
Disponible Identifica si el proceso entrante del archivo de origen se ha completado.
para
extraccin
Icono de Botn de accin que inicia el proceso de descarga de archivo. Para
extraccin garantizar que el mecanismo de importacin ha procesado completamente el
archivo de origen, los archivos slo estn disponibles para la descarga
cuando la suma del recuento de errores y el recuento procesado es igual al
recuento importado.
Icono de Botn de accin que suprime el registro seleccionado de la tabla Extraccin
supresin de errores. Slo puede suprimir registros de tabla si la suma del recuento de
errores y el recuento procesado es igual al recuento importado.

Descarga de archivos reprocesables:

Puede descargar un archivo reprocesable y solucionar los errores de procesamiento


identificados en el archivo. A continuacin, puede intentar volver a cargar los
archivos reprocesables sin eliminar nada de la informacin de descripcin del
mensaje de error que se incluye en el archivo.

Procedimiento
1. En la aplicacin Nuevo proceso de mensajes, identifique el archivo de origen
del que descargar sus errores correspondientes.
2. Verifique que el proceso de importacin de datos haya procesado
completamente el archivo de origen. La suma del campo de recuento de errores
y la del campo de recuento de archivos procesados deben coincidir con la del
campo de recuento de archivos importados.
3. Pulse en el icono Descargar.
4. Guarde el archivo reprocesable en el cliente o en una ubicacin accesible del
servidor de archivos.

Formato de archivo reprocesable:

Cuando descarga el archivo reprocesable, se proporciona en el mismo formato que


el archivo de entrada original. Si utiliza el formato de archivo plano, el archivo
utiliza el mismo delimitador y calificador de texto. El nombre de archivo
predeterminado para el archivo reprocesable es
<IDArchivoExclusivo>_<NombreArchivoOriginal>.<ExtensinArchivoOriginal>

Ejemplo de un archivo reprocesable XML

Un archivo reprocesable basado en un archivo XML, incluye un elemento adicional


en el MBO principal de la estructura de objeto original. Por ejemplo, un archivo
reprocesable generado en funcin de la informacin de MXASSET incluye el
elemento MAXINTERRORMSG como parte de los elementos de activos.
<?xml version="1.0" encoding="UTF-8"?>
<SyncMXASSET xmlns="http://www.ibm.com/maximo" transLanguage="EN">
<MXASSETSet>
<ASSET>
<ANCESTOR />
<ASSETID>94</ASSETID>
<ASSETNUM>THREE_T2002</ASSETNUM>

Integracin de datos con aplicaciones externas 209


<ASSETTAG />
<ASSETTYPE />
...
...
...
<WARRANTYEXPDATE>2020-12-24T00:00:00-05:00</WARRANTYEXPDATE>
<YTDCOST>0.0</YTDCOST>
<MAXINTERRORMSG>
The following error occurred while processing ASSET.BMXAA4147E -
Item set error1 does not exist.
</MAXINTERRORMSG>
</ASSET>
...
...
...
</MXASSETSet>
</SyncMXASSET>

Ejemplo de un archivo reprocesable de formato plano

Los archivos reprocesables que siguen una estructura de archivo plano incluyen
una columna adicional. Por ejemplo, un archivo reprocesable generado en funcin
de la informacin de MXASSET incluye la columna MAXINTERROR al final de la
estructura de registros original:
EXTSYS1,MXASSETInterface,,EN
ASSETNUM,AS_DESCRIPTION,AS_DESCRIPTION_LD,HIERARCHYPATH,AS_SITEID,MAXINTERRORMSG
T-SP500_error,autospray,,,TEXAS,
The following error occurred while processing ASSET.BMXAA4049E -
The value specified T-SP500_error exceeds the maximum field length.

Supresin de archivos reprocesables:

No puede suprimir permanentemente los datos que estn disponibles para


reprocesar como un archivo.

Procedimiento
1. En la aplicacin Nuevo proceso de mensajes, identifique la fila de datos
reprocesables que desee suprimir.
2. Pulse en el icono Suprimir.

Gestin de errores de tablas de interfaz


La tabla de interfaz se puede utilizar para el intercambio de datos entrantes y
salientes. Se pueden producir errores al grabar datos entrantes de una tabla de
interfaz a una cola o datos salientes de una cola a una tabla de interfaz.

Si la tarea cron que obtiene un mensaje saliente de una cola encuentra un error, el
mensaje permanece en la cola hasta que se soluciona la condicin de error. Los
errores se pueden producir por los motivos siguientes:
v La tabla de interfaz no existe.
v Hay error de base de datos debido a la falta de espacio.
v El contenido del mensaje, definido por la estructura de objeto, se ha modificado
pero la tabla de interfaz no se ha vuelto a crear para reflejar el formato del
mensaje nuevo.

Cuando un mensaje saliente llega a una tabla de interfaz, la aplicacin externa se


debe encargar de recuperar dichos datos y gestionar errores basados en su
implementacin de integracin.

210 Integracin de datos con aplicaciones externas


La tarea cron que graba mensajes entrantes en una cola puede encontrarse con
errores por los motivos siguientes:
v La cola JMS est desactivada o no hay espacio libre disponible.
v El nombre del servicio empresarial o del sistema externo no es vlido.
v El servicio empresarial no est habilitado para el sistema externo.
v El sistema externo no est habilitado.

Cuando se produce un error durante el procesamiento de la tabla de interfaz


entrante, el programa de sondeo graba el rastreo de la excepcin en la columna
IMPORTMESSAGE de la tabla de cola MXIN_INTER_TRANS. Para el primer error
de la tabla de cola MXIN_INTER_TRANS, el sistema enva una notificacin de
correo electrnico al administrador. Puede resolver la condicin de error
actualizando la fila de datos en MXIN_INTER_TRANS, por ejemplo, corrigiendo el
valor del nombre de sistema externo, o actualizando los datos de configuracin en
la aplicacin, por ejemplo, marcando el servicio empresarial como habilitado.

Despus de que la tarea cron proceso registros posteriores de la tabla de cola


MXIN_INTER_TRANS, cambia a un estado inactivo basado en los intervalos de
procesamiento de la tarea cron definidos. Cuando se reanuda el procesamiento, la
tarea cron intenta procesar los registros errneos, as como los registros nuevos
agregados a la tabla de cola MAX_INTER_TRANS.

Despus de enviar una notificacin de error, la tarea cron no enva la notificacin


de errores adicionales si la tabla de cola contiene una transaccin marcada como
errnea. Se supone que la persona a la que se notific el error inicial ve y corrige
errores adicionales cuando se examina la tabla de cola. Despus de que se corrijan
todos los errores actuales, la tarea cron enva una notificacin cuando encuentra un
error nuevo.

Cualquier error que se produzca despus de que la tarea cron grabe correctamente
un mensaje de tabla de interfaz en una cola entrante se gestiona mediante el
proceso de manejo de errores para las colas.

Causas habituales de errores


Los errores durante el proceso de mensajes en la cola saliente se dan cuando existe
un problema al entregar un mensaje al punto final especificado para el sistema
externo. Normalmente, los errores durante el proceso de mensajes en una cola
entrante estn relacionados con una validacin de regla de negocio o en el proceso
de entrada del servicio empresarial.

Durante el proceso de salida, los problemas habituales son alteraciones en el


vnculo de comunicacin con la aplicacin externa, problemas con el espacio de
tabla de base de datos o bien problemas de espacio de archivos en la aplicacin
externa. Normalmente, para resolver un problema de salida, no es necesario
modificar el mensaje XML.

La tabla siguiente describe los mensajes de error ms habituales y proporciona


sugerencias para corregir los errores. Al corregir un error en el mensaje XML, es
posible que los datos entre el sistema de envo y el sistema receptor dejen de
coincidir.

Integracin de datos con aplicaciones externas 211


Tipo de error Descripcin Acciones
Error de secuencia La causa proviene de Este error se aplica para
problemas de secuencias asegurar que los registros se
entre mensajes. El sistema procesan en el orden
detiene el proceso de correcto. En funcin de la
mensajes cuando un registro direccin de la transaccin
hace referencia a otro registro de mensajes y la lgica de
que tiene un estado de proceso que se aplica, el
pendiente. proceso puede autocorregir
el error cuando el registro
que estaba en el estado
pendiente se ha procesado.
Error de datos Se produce porque los datos Agregue los datos que faltan
o el registro no existen en la en la base de datos del
base de datos del sistema, y sistema.
no forma parte de los
mensajes entrantes en la cola.
Error de comunicacin La causa proviene de Restablezca la comunicacin
problemas de comunicacin con el sistema externo.
con el sistema externo por
anomalas del sistema o por
problemas en la red.
Error de mensaje La causa proviene de valores v Cambie el estado de
errneos de datos de transaccin a SUSPEND.
mensaje.
v Corrija el mensaje XML de
error.
v Cambie el estado de
transaccin a
REINTENTAR para
procesar de nuevo la
transaccin.

Bsqueda de errores
Cuando reciba una notificacin de error, busque el mensaje XML de la aplicacin
Nuevo proceso de mensajes. En funcin del tipo de cola (secuencial o continua), el
nmero de mensajes de la cola puede ser cero, uno o ms en la aplicacin Nuevo
proceso de mensajes para una cola individual.

No existen mensajes con error

Si no existe ningn mensaje con error en la aplicacin Nuevo proceso de mensajes,


el mensaje se ha vuelto a intentar y no ha vuelto a encontrarse el error. El mensaje
de error se ha suprimido cuando el mensaje se ha procesado correctamente.

Por ejemplo, se produce un error en un mensaje de recepcin de entrada debido a


una cuenta incorrecta del Libro Mayor (LM). Despus de que se produzca el error,
un usuario en lnea entra dicha cuenta LM en el sistema. El mensaje se vuelve a
procesar correctamente y los datos se guardan.

En otro ejemplo, una transaccin de salida encuentra un error de comunicaciones.


Cuando se resuelve el problema de comunicaciones, el mensaje se enva al sistema
externo y se suprime el mensaje con error.

212 Integracin de datos con aplicaciones externas


Existen uno o varios mensajes con error

Cuando se produce un error en una cola secuencial (de entrada o salida), el


proceso de la cola se detiene hasta que se resuelve el error.

Cuando se produce un error en una cola continua, el proceso de la cola contina y


se pueden producir errores adicionales antes de que se resuelva el error inicial.
Pueden existir varios mensajes con error en la aplicacin Nuevo proceso de
mensajes.

Seguimiento de mensajes
La aplicacin Seguimiento de mensajes realiza un seguimiento y visualiza el
historial de procesamiento de mensajes de canal de publicacin y de mensajes de
servicios empresariales basados en cola.

La aplicacin Seguimiento de mensajes funciona con la aplicacin Nuevo proceso


de mensajes. Utilizando la aplicacin Seguimiento de mensajes, puede determinar
qu mensajes estn marcados con un error. Luego puede seleccionar un mensaje
errneo y acceder a la aplicacin Nuevo proceso de mensajes para llevar a cabo la
accin apropiada para corregir los datos errneos.

Detalles de mensajes:

Cuando habilita el seguimiento de mensajes, la infraestructura de integracin


escribe todos los mensajes procesados en la tabla MAXINTMSGTRK. Se asigna un
estado a cada mensaje, que representa su posicin actual en el ciclo de proceso
basado en cola. Los eventos de mensaje individuales se visualizan en la ventana
Detalles de mensaje.

Cuando habilita el seguimiento de mensajes, la lgica de seguimiento de mensajes


no identifica los mensajes de cola que existan antes de habilitar la funcin.
Cuando inhabilita el seguimiento de mensajes, los mensajes de cola que existan
antes de inhabilitar la funcin se identifican, pero nos mensajes nuevos no.

Los mensajes tienen los atributos siguientes, y los valores se asignan en funcin de
los datos del canal de publicacin o del servicio empresarial de origen:
v Modo de integracin: el nombre del modo de integracin que se utiliza al
procesar el mensaje. Para los mensajes entrantes, el sistema asigna un valor
predeterminado MXJMS. Para los mensajes salientes, el sistema asigna el nombre
del punto final que se utiliza al procesar el mensaje.
v Operacin: la operacin de proceso que el sistema aplica al mensaje del que se
realiza un seguimiento; esta operacin puede ser SYNC, UPDATE, QUERY,
DELETE, CREATE y PUBLISH.
v Sistema: el nombre del sistema externo asociado con el servicio empresarial o el
canal de publicacin.
v Componente de integracin: el nombre del servicio empresarial o del canal de
publicacin.
v Adaptador: el nombre del adaptador asociado con el servicio empresarial o el
canal de publicacin.
v Nombre de cola: el nombre de la cola que la infraestructura de integracin
utiliza para procesar el mensaje.

Los atributos siguientes son valores asignados durante la creacin del registro de
transaccin.

Integracin de datos con aplicaciones externas 213


Atributo Valor
Fecha y hora de recepcin La fecha y la hora en la que se ha recibido el
mensaje en la cola.
ID de mensaje Identificador de mensaje exclusivo asignado
por la infraestructura de integracin.
ID de bsqueda Identificador de mensaje asignado por una
aplicacin externa que se utiliza en la
bsqueda de mensajes.
ID de mensaje externo Identificador de mensaje exclusivo asignado
por una aplicacin externa.

Los atributos siguientes tienen valores dinmicos que cambian en funcin de los
eventos de transaccin.

Atributo Valor
Estado actual El estado de proceso ms actual para el
mensaje del que se realiza un seguimiento.
Estado El estado asociado con el evento de mensaje
individual en el historial de transaccin.
Fecha de estado La fecha de estado para el evento de
mensaje individual en el historial de
transaccin.
Error El mensaje de error para el evento de
mensaje de error individual en el historial de
transaccin.

Valores de estado de los mensajes:

Todos los mensajes basados en la cola entrante y saliente registrados en la


aplicacin Seguimiento de mensajes tienen un valor de estado que indica su
posicin en el ciclo de proceso de transacciones.

El estado de seguimiento de mensajes indica si el mensaje se ha recibido o


procesado correctamente. El estado de seguimiento de mensajes tambin indica si
el mensaje se ha suprimido o se ha marcado con un indicador de error.

Estado de los mensajes entrantes

Los mensajes entrantes pueden tener los valores de estado siguientes:

Estado Descripcin
ERROR El proceso del mensaje ha fallado por
problemas de validacin.
SUPRIMIDO El mensaje se ha suprimido de la cola.
PROCESADO El mensaje se ha procesado correctamente.
RECIBIDO El mensaje se ha escrito correctamente en la
cola entrante.

214 Integracin de datos con aplicaciones externas


Estado de los mensajes salientes

Los mensajes salientes pueden tener los valores de estado siguientes:

Estado Descripcin
ERROR El proceso del mensaje ha fallado por
problemas de validacin.
SUPRIMIDO El mensaje se ha suprimido de la cola.
PROCESADO El mensaje se ha procesado correctamente.
RECIBIDO El mensaje se ha escrito correctamente en la
cola saliente.

Eventos de mensajes:

La aplicacin Seguimiento de mensajes rastrea y muestra los eventos de proceso de


transaccin basados en colas entrantes y salientes. Los eventos de proceso de
transacciones hacen que el sistema actualice la tabla MAXINTMSGTRK.

Los siguientes atributos de la tabla de mensajes se actualizan segn el tipo de


evento:
v STATUS
v STATUSDATETIME
v ERRORMSGR

Los siguientes eventos entrantes y salientes actualizan la tabla MAXINTMSGTRK:


Tabla 33. Eventos entrantes y salientes rastreados
Evento Detalles
El mensaje se graba en una cola Se crea un registro en la tabla de
seguimiento de mensajes la primera vez que
la infraestructura de integracin graba el
mensaje en la cola. Cuando el mensaje se
graba satisfactoriamente en la cola, el estado
del registro del mensaje se establece en
RECEIVED.

Si la infraestructura de integracin encuentra


un error mientras graba un mensaje entrante
en la cola, enva un mensaje al interlocutor
del proceso detallando la causa del error.
Error en el proceso de mensajes El registro existente en la tabla de
seguimiento de mensajes. Cuando el sistema
de gestin de activos encuentra un error de
proceso, actualiza el estado del registro de
mensajes como ERROR. Si enva el mensaje
de nuevo y vuelve a aparecer un error de
proceso, el sistema de gestin de activos
mantiene el estado del mensaje en ERROR.

Integracin de datos con aplicaciones externas 215


Tabla 33. Eventos entrantes y salientes rastreados (continuacin)
Evento Detalles
Proceso de fin de cola Los siguientes eventos de proceso de
transacciones actualizan el registro existente:
v El sistema de gestin de activos finaliza
correctamente el proceso del mensaje y
actualiza el estado de registro del mensaje
como PROCESSED. Como el ciclo del
proceso ha finalizado, no se realizan ms
actualizaciones en la tabla de seguimiento
de mensajes.
v Si suprime el mensaje de la cola, el
sistema de gestin de activos establece el
estado de registro del mensaje como
SUPRIMIDO. La tabla de seguimiento de
mensajes ya no se actualiza.

Configuracin del seguimiento de mensajes:

Puede realizar un seguimiento de los mensajes que se publican mediante los


canales de publicacin o que se reciben desde los servicios empresariales.

En las aplicaciones Canales de publicacin y Servicios empresariales, puede


configurar las siguientes funciones de seguimiento de mensajes:
v Habilitar o inhabilitar el seguimiento de mensajes.
v Almacenar mensajes de transaccin en la base de datos junto con los detalles del
seguimiento.
v Especificar los datos de mensajes que utiliza la funcin de bsqueda de la
aplicacin Seguimiento de mensajes mediante una expresin XPATH.
v Identificar de forma exclusiva los mensajes con un valor de ID individual
utilizando una expresin XPATH.
v Identificar mensajes con un valor de ID de bsqueda utilizando una expresin
XPATH.

Las expresiones XPATH asociadas con los valores de ID de mensaje externo y los
valores de ID de bsqueda pueden identificar mltiples nodos de un archivo XML.
En este caso, los valores de ID de mensaje e ID de bsqueda se registran como una
lista de valores separados por comas. Las longitudes de los campos de base de
datos se pueden aplicar a los campos de ID externo e ID de bsqueda. Si es
necesario, puede ajustar la longitud de estos campos en la aplicacin
Configuracin de base de datos.

Mensajes almacenados

Al configurar el seguimiento de mensajes, los mensajes y los detalles de


seguimiento de mensajes se guardan en la base de datos y se pueden ver en la
aplicacin Nuevo proceso de mensajes.

ID de seguimiento de mensajes externos

Cada mensaje de entrada tiene un identificador de mensaje externo que se


almacena en la tabla MAXINTMSGTRK. Con la aplicacin Seguimiento de
mensajes, puede utilizar este ID de mensaje externo para localizar mensajes

216 Integracin de datos con aplicaciones externas


especficos. La sintaxis que utilice para identificar un nodo de mensajes debe ser
una expresin XPATH totalmente calificada.

Para buscar todos los mensajes para el servicio empresarial MXPERSONInterface,


especifique la siguiente expresin XPATH totalmente calificada en el campo ID de
mensaje externo:
/{http://www.ibm.com/maximo}SyncMXPERSON/@messageID

Cuando se recibe un mensaje de entrada de mltiples sustantivos, la


infraestructura de integracin utiliza la expresin XPATH en el ID de mensaje
externo para identificar el mensaje. Si la expresin XPATH apunta a un elemento
incluido en cada uno de los sustantivos del mensaje de entrada, la infraestructura
de integracin crea una lista de identificadores externos de mltiples sustantivos
separados por comas.

ID de bsqueda

Si se especifica una expresin XPATH para identificar nodos, la infraestructura de


integracin puede realizar bsquedas eficaces de mltiples sustantivos. El sistema
almacena el identificador de bsqueda en la tabla MAXINTMSGTRK.

Para buscar todos los mensajes para el servicio empresarial MXPERSONInterface,


cree la siguiente expresin XPATH totalmente calificada como el ID de bsqueda:

/{http://www.ibm.com/maximo}SyncMXPERSON/{http://www.ibm.com/
maximo}MXPERSONSet/{http://www.ibm.com/maximo}PERSON/{http://www.ibm.com/
maximo}PERSONID

Cuando se recibe un mensaje de entrada de mltiples sustantivos, la


infraestructura de integracin utiliza la expresin XPATH en el ID de bsqueda
para identificar el mensaje. Si la expresin XPATH apunta a un elemento incluido
en cada uno de los sustantivos del mensaje de entrada, la infraestructura de
integracin crea una lista de identificadores de bsqueda de mltiples sustantivos
separados por comas.

Habilitacin del seguimiento de mensajes:

Habilite el seguimiento de mensajes para las transacciones salientes en la


aplicacin Canales de publicacin y para las aplicaciones entrantes en la aplicacin
Servicios empresariales.

Procedimiento
1. En la aplicacin Canales de publicacin o en la aplicacin Servicios
empresariales, seleccione el canal o el servicio que procesa los mensajes de
integracin.
2. Seleccione la accin Seguimiento de mensajes.
3. En la ventana Configuracin de seguimiento de mensajes, seleccione la casilla
de verificacin Habilitar seguimiento de mensajes.
4. Opcional: Seleccione la casilla de verificacin Almacenar mensaje para
almacenar los mensajes de transaccin.
5. Opcional: En el campo ID de mensaje externo, especifique una o varias
expresiones XPATH para ubicar mensajes especficos.
6. Opcional: En el campo ID de bsqueda, especifique una o varias expresiones
XPATH para buscar mensajes.

Integracin de datos con aplicaciones externas 217


Configuracin de clsteres
La infraestructura de integracin puede proporcionar servicios de integracin a
travs de un clster de servidores de aplicaciones. Si la cola continua de un solo
servidor es inadecuada para su volumen de mensajes, puede aadir unidades
centrales de proceso, hardware y una configuracin en clster para mejorar el
rendimiento de procesamiento de mensajes.

Al implementar un clster de servidores, puede utilizar varios servidores


simultneamente para procesar mensajes entrantes. Estos mensajes se procesan en
las colas continuas utilizando beans controlado por mensaje (MDB). Las
configuraciones en clster facilitan el procesamiento de mensajes en volmenes
grandes.

Colas JMS en un clster de servidores


En una configuracin de clster, las colas JMS estn asociadas con un miembro del
clster de servidores y el acceso a las colas lo proporciona el servicio JNDI (Java
Naming and Directory Interface).

El servicio JDNI est disponible en todos los miembros del clster.


Mensaje XML
(servicio
empresarial)

HTTP / EJB / SOAP


Compensador de carga

Servidor Servidor Servidor


Apl. 1 Apl. 2 Apl. 3
Productor Productor Productor
de JMS de JMS de JMS

Cola Cola
secuencial continua de
de JMS JMS

Proceso secuencial (FIFO)


de una hebra a travs de Proceso multihebra a
tarea CRON como travs de varios serv. de
Consumidor apl. y MDB como
Consumidor Consumidor Consumidor Consumidores
de JMS de JMS de JMS

Servidor Servidor Servidor


Apl. 1 Apl. 2 Apl. 3

Servicio empresarial
Objetos de negocios / BD

Todos los miembros del clster pueden producir mensajes en la cola secuencial.
Una tarea cron de una sola hebra lee los mensajes de la cola secuencial para
permitir el procesamiento "primero en entrar, primero en salir".

La cola continua tiene varias hebras en el lado de consumidor para permitir el


procesamiento de grandes volmenes de mensajes. En esta cola, el orden de
procesamiento de los mensajes no se tiene en cuenta.

218 Integracin de datos con aplicaciones externas


Los mensajes de servicio empresarial que utilizan la cola secuencial se procesan en
un orden secuencial estricto. El procesamiento de los mensajes es de una sola
hebra. La agrupacin en clster no afecta considerablemente al rendimiento del
procesamiento de mensajes mediante la cola secuencial.

Cola continua en un clster de servidores de aplicaciones:

En un entorno en clster, puede fijar la cola JMS continua a un miembro del


clster.

El diagrama siguiente muestra un ejemplo de una configuracin de clster en un


servidor de aplicaciones. La cola continua recibe mensajes del productor JMS y
procesa los mensajes de consumidor JMS.
Transaccin XML
Archivo XML, (servicio
archivo plano, empresarial)
carga de tabla
de interfaz
HTTP / EJB / SOAP
Compensador de carga

El ejemplo muestra
Tareas
CRON

tareas CRON en Servidor Servidor Servidor


ejecucin en servidor1. Apl. 1 Apl. 2 Apl. 3
Se pueden ejecutar en
cualquier servidor del
clster. Productor Productor Productor
de JMS de JMS de JMS

Servidor JMS

Cola JMS El ejemplo muestra la


(Continua) cola JMS asignada a
servidor2. Se puede
asignar a cualquier
servidor del clster.
Proceso multihebra a
travs de Message
Driven Beans (MDBs)

Consumidor Consumidor Consumidor


de JMS de JMS de JMS

Servidor Servidor Servidor


Apl. 1 Apl. 2 Apl. 3

Servicio empresarial
Objetos de negocios / BD

En el ejemplo, existen tres servidores de aplicaciones en el entorno en clster. La


cola JMS continua est fijada a un miembro del clster.

El procesamiento se produce cuando la infraestructura de integracin recibe


mensajes de servicio empresarial utilizando HTTP, enterprise beans y acciones
SOAP. El equilibrador de carga indica al servidor de aplicaciones que debe soltar
los mensajes de servicio empresarial en la cola continua. Cada miembro del clster
coloca mensajes en la cola, que existe en un miembro del clster.

Una tarea cron de integracin entrega los mensajes de servicio empresarial de


archivos sin formato o XML y de tablas de interfaz. Las tareas cron que colocan
mensajes en la cola se pueden ejecutar en cualquier servidor del clster.

Integracin de datos con aplicaciones externas 219


Despus de que los mensajes estn en la cola, todos los servidores de aplicaciones
pueden obtener simultneamente mensajes de la cola y procesarlos en el sistema.
Los beans controlados por mensaje deben estar habilitados en cada servidor de
aplicaciones del clster.

Cola secuencial en un clster de servidores de aplicaciones:

La cola secuencial recibe mensajes del productor JMS y procesa los mensajes de
consumidor JMS.

El diagrama siguiente muestra un ejemplo de una configuracin de clster de


servidores de aplicaciones.
Transaccin XML
Archivo XML, (servicio
archivo plano, empresarial)
carga de tabla
de interfaz
HTTP / EJB / SOAP
Compensador de carga

El ejemplo muestra
Tareas
CRON

tareas CRON en Servidor Servidor Servidor


ejecucin en servidor1. Apl. 1 Apl. 2 Apl. 3
Se pueden ejecutar en
cualquier servidor del
clster. Productor Productor Productor
de JMS de JMS de JMS

Servidor JMS

Cola JMS El ejemplo muestra la


(Secuencial) cola JMS asignada a
servidor2. Se puede
asignar a cualquier
servidor del clster.

Proceso secuencial de
una sola hebra a travs
de tarea CRON

Tarea
CRON de
La tarea CRON JMS se consumidor
puede ejecutar en
cualquier servidor del
clster.
Servidor Servidor Servidor
Apl. 1 Apl. 2 Apl. 3

Servicio empresarial
Objetos de negocios / BD

En el ejemplo, existen tres servidores de aplicaciones en el entorno en clster. La


cola JMS secuencial est fijada a un miembro del clster.

El procesamiento se produce cuando la infraestructura de integracin recibe


mensajes de servicio empresarial utilizando HTTP, enterprise beans y acciones
SOAP. El equilibrador de carga indica al servidor de aplicaciones que debe soltar
los mensajes de servicio empresarial en la cola secuencial. Cada miembro del
clster coloca mensajes en la cola, que existe en un miembro del clster.

Una tarea cron de integracin entrega los mensajes de servicio empresarial de


archivos sin formato o XML y de tablas de interfaz. Las tareas cron que colocan
mensajes en la cola se pueden ejecutar en cualquier servidor del clster. Cuando
los mensajes estn en la cola, el servidor de aplicaciones que ejecuta la tarea cron
del consumidor JMS procesa los mensajes en orden secuencial.

220 Integracin de datos con aplicaciones externas


A diferencia de la cola continua, no se produce un procesamiento multihebra de
los mensajes por diseo. Una implementacin en clster no afecta
considerablemente al rendimiento del procesamiento de mensajes mediante la cola
secuencial.

Configuracin de la tarea cron


La tarea cron de la tabla de interfaz, la tarea cron de importacin de datos y la
tarea cron de la cola JMS son funciones que tienen en cuenta los clsteres. De
forma predeterminada, la infraestructura de la tarea cron ejecuta una tarea en un
servidor elegido aleatoriamente.Puede configurar una tarea cron para que se
ejecute en un servidor de aplicaciones especfico dentro de un clster de
servidores. Utilice el parmetro donotrun en la infraestructura de la tarea cron para
controlar en qu servidores se ejecuta la tarea cron.

Configuracin de un servidor de procesamiento de mensajes


Para volmenes elevados de mensajes entrantes, puede mejorar la eficacia del
servidor trasladando el procesamiento de mensajes entrantes a un servidor de
aplicaciones o un clster de servidores distinto.

Procedimiento
1. Despliegue un archivo EAR de aplicacin distinto en el servidor o clster de
servidores de procesamiento de mensajes.
2. En el servidor de aplicacin de proceso de mensaje o clster de servidor, utilice
el parmetro donotrun en la infraestructura de la tarea cron para controlar en
qu servidores se ejecuta la tarea cron.
3. Opcional: Configure beans controlados por mensaje para obtener datos de la
cola continua entrante. No habilite beans controlados por mensaje para el
procesamiento entrante dentro del servidor o el clster de servidores dedicado
para usuarios en lnea. Puede ejecutar otras tareas cron de proceso en segundo
plano en este servidor o clster de servidores.
4. Opcional: Otorgue acceso a la interfaz de usuario a los usuarios que utilizan la
funcin de importacin de datos.

Configuracin del directorio global


En un entorno de clster, si configura un directorio global para la gestin de
archivos de integracin, el directorio debe ser accesible a todos los miembros del
clster.

En funcin su uso de los componentes de la infraestructura de integracin, los


archivos se pueden escribir o no en el directorio global. Una de las razones
principales para configurar un directorio global es soportar el uso de puntos
finales basados en archivo. Si tiene previsto utilizar puntos finales basados en
archivo para canales de invocacin y los mensajes son iniciados por usuarios de
aplicacin que se han configurado en un clster de IU, todos los miembros del
clster deben tener visibilidad en el directorio global.

Para definir el directorio global, actualice la propiedad del sistema


mxe.int.globaldir en la aplicacin Propiedades del sistema.

Acceso de los mensajes entrantes a los servicios


Los servicios empresariales, los servicios de estructura de objeto y los servicios
estndar pueden funcionar todos en un clster de servidores.

Una transaccin entrante puede acceder al servicio correspondiente utilizando


cualquiera de los siguientes mtodos de comunicacin:

Integracin de datos con aplicaciones externas 221


v La invocacin a mtodo remoto (RMI) de Java, el protocolo Inter-ORB de
Internet (IIOP) y los enterprise beans
v Servlet HTTP y HTTPS
v Servlet SOAP, HTTP y HTTPS

Enterprise beans

Con un solo servidor, el URL de proveedor para acceder al rbol JNDI es el propio
URL del servidor. Con un clster de servidores, el URL de proveedor puede ser el
URL de cualquiera de los servidores que tenga desplegados enterprise beans.
Todos los miembros del clster comparten el rbol JNDI y cualquier miembro del
clster puede buscar y recuperar un clster.

Siguiendo una bsqueda de clster, el cliente recupera un proxy que reconoce el


clster de los enterprise beans que equilibra la carga de las llamadas posteriores
que utilizan el proxy. El equilibrio de carga se produce de forma transparente para
el cdigo de cliente. No hay ninguna diferencia entre el cdigo de un solo servidor
y de una configuracin en clster. Se despliega un enterprise bean aparte para
cada tipo de servicio: servicio de estructura de objeto, servicio empresarial y
servicio estndar.

Servlet HTTP

El servlet de integracin se despliega en todos los miembros del clster. Con una
configuracin de un solo servidor, el URL es el HTTP y el HTTPS URL del
servidor. Con una configuracin de servidores en clster, el URL es el HTTP y el
HTTPS URL del equilibrador de carga del clster. Se despliega un servlet aparte
para cada tipo de servicio: servicio de estructura de objeto, servicio empresarial y
servicio estndar.

Los formatos de URL de cada servicio se muestran en la tabla siguiente. La


variable meaweb del URL representa el valor especificado para mxe.int.webappurl
en la aplicacin Propiedades del sistema.

Servicio URL
Servicio de estructura de objeto http://nombrehost:puerto/meaweb/os/object
structure ame
Servicio empresarial (eludiendo la http://nombrehost:puerto/meaweb/es/extsysname/
cola) enterprise service name
Servicio empresarial (a travs de la http://nombrehost:puerto/meaweb/esqueue/
cola) extsysname/enterprise service name
Servicio estndar http://nombrehost:puerto/meaweb/ss/standard
service name

Servicios web

Los servicios web de integracin se despliegan de forma homognea en todos los


miembros de servidor del clster. El acceso de servicio web de un clster es el
mismo que el de un solo servidor, excepto que el URL del servicio web y el URL
de lenguaje de descripcin de servicios web (WSDL) apuntan al clster en lugar de
a un servidor especfico en el clster.

Las siguientes propiedades deben apuntar al URL del clster:


v URL de aplicacin web mxe.int.webappurl
222 Integracin de datos con aplicaciones externas
v URL de consulta de registro UDDI mxe.int.uddiinurl
v URL de publicacin de registro UDDI mxe.int.uddipuburl

El URL para acceder a un servicio web es http://nombrehost:puerto/meaweb/


services/nombre de servicio web. La variable meaweb del URL representa el valor
especificado para mxe.int.webappurl en la aplicacin Propiedades del sistema.

Seguridad de integracin
La infraestructura de integracin incluye soporte para la autenticacin J2EE y para
la autorizacin de nivel de componente.

Seguridad de autenticacin
Puede configurar la seguridad de autenticacin J2EE para colas JMS, EJB, HTTP y
servicios de web. Tambin puede configurar la seguridad de autenticacin para
API de integracin remotas y para las clases de manejador Java para el
direccionamiento saliente.

Configuracin de la seguridad J2EE:

La infraestructura de integracin soporta la seguridad J2EE bsica para restringir el


acceso basado en autenticacin y autorizacin.

Configuracin de restricciones J2EE para las colas JMS:

Las colas JMS que utiliza el proceso de integracin dan soporte a la seguridad
J2EE, basndose en la autorizacin y la autenticacin basadas en ID de usuario y
contrasea. Puede impedir el acceso sin autorizacin a la cola asignando un ID de
usuario y una contrasea al nombre JNDI (Java Naming and Directory Interface),
aunque el nombre JNDI de la cola sea conocido.

Acerca de esta tarea

Varias colas pueden utilizar las mismas identificaciones de usuario o


identificaciones de usuario diferentes.

Procedimiento
1. En la consola del administrador del servidor, especifique valores de ID de
usuario y contrasea para las siguientes propiedades, para habilitar las
restricciones J2EE:
v java.naming.security.principal (ID de usuario)
v java.naming.security.credentials (contrasea)
2. En la aplicacin Sistemas externos, seleccione la accin Agregar/modificar colas
y especifique los mismos ID de usuario y contrasea que ha proporcionado en
el paso 1. Este paso proporciona acceso a la cola en los programas de productor
y consumidor de integracin.
3. Para proporcionar acceso a la cola continua, en la seccin <enterprise-beans>
del archivo ejb-jar.xml, agregue los elementos <security identify> que se
muestran en negrita:
<enterprise-beans>
<message-driven id="MessageDriven_JMSContQueueProcessor_1">
<ejb-name>JMSContQueueProcessor-1</ejb-name>
<ejb-class>psdi.iface.jms.JMSContQueueProcessor</ejb-class>
<transaction-type>Container</transaction-type>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>

Integracin de datos con aplicaciones externas 223


</message-driven-destination>
<env-entry>
<env-entry-name>MESSAGEPROCESSOR</env-entry-name>
<env-entry-type>java.lang.String </env-entry-type>
<env-entry-value>
psdi.iface.jms.QueueToMaximoProcessor
</env-entry-value>
</env-entry>
<security-identity>
<run-as>
<role-name>maximouser</role-name>
</run-as>
</security-identity>
</message-driven>
4. En la seccin <assembly-descriptor> del archivo ejb-jar.xml, agregue los
elementos <security-role> que se muestran en negrita:
<assembly-descriptor>
<security-role>
<role-name>maximouser</role-name>
</security-role>
<container-transaction>
<method>
<ejb-name>JMSContQueueProcessor-1</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>

Proteccin del acceso de enterprise bean:

Si se ha habilitado la autenticacin J2EE en el sistema, debe habilitar la seguridad


para cada enterprise bean de los descriptores de despliegue.

Acerca de esta tarea

Bajo la seccin <enterprise-beans> del archivo ejb-jar.xml, se despliegan tres EJB


de integracin con un valor predeterminado de 1, que indica que no es necesaria la
autenticacin.

El <ejg-name> para la correlacin de servicio es:

<ejb-name> Servicio
enterpriseservice Servicio empresarial
mosservice Servicio de estructura de objeto
actionservice Servicio estndar

Procedimiento
1. Para forzar la autenticacin, cambie el valor ALLOWDFLTLOGIN a 0 (false),
para cada uno de los tres servicios, indicado en negrita en los ejemplos de
cdigo siguientes:
<enterprise-beans>
<session id="Session_enterpriseservice">
<ejb-name>enterpriseservice</ejb-name>
<home>psdi.iface.gateway.MEAGatewayHome</home>
<remote>psdi.iface.gateway.MEAGateway</remote>
<local-home>psdi.iface.gateway.MEAGatewayHomeLocal</local-home>
<local>psdi.iface.gateway.MEAGatewayLocal</local>
<ejb-class>psdi.iface.gateway.MEAGatewayBean</ejb-class>

224 Integracin de datos con aplicaciones externas


<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<env-entry>
<env-entry-name>ALLOWDFLTLOGIN</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>0</env-entry-value>
</env-entry>
<security-role-ref>
<description>
Application Users
</description>
<role-name>maximouser</role-name>
<role-link>maximouser</role-link>
</security-role-ref>
</session>
<session id="Session_mosservice">
<ejb-name>mosservice</ejb-name>
<home>psdi.iface.mos.MOSServiceHome</home>
<remote>psdi.iface.mos.MOSServiceRemote</remote>
<local-home>psdi.iface.mos.MOSServiceHomeLocal</local-home>
<local>psdi.iface.mos.MOSServiceLocal</local>
<ejb-class>psdi.iface.mos.MOSServiceBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<env-entry>
<env-entry-name>ALLOWDFLTLOGIN</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>0</env-entry-value>
</env-entry>
<security-role-ref>
<description>
Application Users
</description>
<role-name>maximouser</role-name>
<role-link>maximouser</role-link>
</security-role-ref>
</session>
<session id="Session_actionservice">
<ejb-name>actionservice</ejb-name>
<jome>psdi.iface.action.MAXActionServiceHome</home>
<remote>psdi.iface.action.MAXActionServiceRemote</remote>
<local-home>psdi.iface.action.MAXActionServiceHomeLocal</local-home>
<local>psdi.iface.action.MAXActionServiceLocal</local>
<ejb-class>psdi.iface.action.MAXActionServiceBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<env-entry>
<env-entry-name>ALLOWDFLTLOGIN</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>0</env-entry-value>
</env-entry>
<security-role-ref>
<description>
Application Users
</description>
<role-name>maximouser</role-name>
<role-link>maximouser</role-link>
</security-role-ref>
</session>
Los programas de cliente llaman a la versin segura de los mtodos de
enterprise bean para cada tipo de servicio:
v Servicio empresarial: secureProcessExtnernalDataAsync(..) ,
secureProcessExtnernalDataSync(..)
v Servicio de estructura de objeto: secureProcessMOS(..)
v Servicio estndar: secureAction(..)

Integracin de datos con aplicaciones externas 225


2. Para crear un contexto seguro para invocar el enterprise bean, realice una de las
siguientes tareas:
v Aada el cdigo siguiente al cdigo del cliente:
Properties env = new Properties();
.
.
.
if(userid != null && password != null)
{
env.put(Context.SECURITY_CREDENTIALS, password);
env.put(Context.SECURITY_PRINCIPAL, userid);
}

Context ctx = new IntialContext(env);


//instead of using the default IntialContext() constructor
v Utilice el constructor InitalContext predeterminado para pasar la informacin
de seguridad mediante los parmetros D en el script .bat/.sh que inicia el
cliente:
Djava.naming.security.principal=<username>
Djava.naming.security.credentials=<password>
La versin SSL del protocolo Inter-ORB de Internet realiza el cifrado de datos
en el URL del proveedor, mientras que el sistema se comunica con el
enterprise bean.

Proteccin del servlet HTTP:

El servlet HTTP es un componente J2EE que maneja los envos HTTP de entrada.
Para proteger el servlet HTTP, en primer lugar debe proteger el enterprise bean.
Puede utilizar la autenticacin bsica HTTP para proteger el servlet HTTP. Los
usuarios autorizados, con nombre de usuario y contrasea vlidos puede enviar
una transaccin XML al sistema.

Acerca de esta tarea

Para habilitar la autenticacin bsica HTTP, modifique el archivo web.xml de la


aplicacin Web:
v Elimine los comentarios de la seccin <security-constraint> de los servlets de
integracin. Existen tres secciones <security-constraint>, una para cada tipo de
servicio: servicio empresarial, servicio de estructura de objeto y servicio estndar.

La seccin <web-resource-name> para la correlacin de servicio es:

<web-resource-name> Servicio
Servlet de servicio empresarial Servicio empresarial
Servlet de servicio de aplicacin Servicio estndar
Servlet de servicio de estructura de objeto Servicio de estructura de objeto

Procedimiento
1. En el archivo web.xml, descomente las secciones de restricciones de seguridad
para cada tipo de servicio, como en el ejemplo de cdigo siguiente:
<!--
<security-constraint>
<web-resource-collection>
<web-resource-name>Enterprise Service Servlet</web-resource-name>
<description>

226 Integracin de datos con aplicaciones externas


Enterprise Service Servlet (HTTP POST) accessible by authorized users
</description>
<url-pattern>/es/*</url-pattern>
<url-pattern>/esqueue/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description>
Roles that have access to Enterprise Service Servlet (HTTP POST)
</description>
<role-name>maximouser</role-name>
</auth-constraint>
<user-data-constraint>
<description>data transmission gaurantee</description>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>

<security-constraint>
<web-resource-collection>
<web-resource-name>App Service Servlet</web-resource-name>
<description>
App Service Servlet (HTTP POST) accessible by authorized users
</description>
<url-pattern>/ss/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description>
Roles that have access to App Service Servlet (HTTP POST)
</description>
<role-name>maximouser</role-name>
</auth-constraint>
<user-data-constraint>
<description>data transmission gaurantee</description>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>

<security-constraint>
<web-resource-collection>
<web-resource-name>Object Structure Service Servlet</web-resource-name>
<description>
Object Structure Service Servlet (HTTP POST) accessible by authorized users
</description>
<url-pattern>/os/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description>
Roles that have access to Object Structure Service Servlet (HTTP POST)
</description>
<role-name>maximouser</role-name>
</auth-constraint>
<user-data-constraint>
<description>data transmission gaurantee</description>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>

-->
2. Verifique que la seccin <security-role> del archivo web.xml no est marcada
como comentario, como en el cdigo de ejemplo siguiente:

Integracin de datos con aplicaciones externas 227


<security-role>
<description>An Integration User</description>
<role-name>maximouser</role-name>
</security-role>
3. Cambie el valor de 0 a 1 en la seccin <env-entry-name> de
useAppServerSecurity, como en el ejemplo siguiente:
<description>
Indica si se debe utilizar o no la seguridad del servidor de aplicaciones
</description>
<env-entry-name>useAppServerSecurity</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>1</env-entry-value>
</env-entry>

Qu hacer a continuacin

Puede desplegar con seguridad un servicio web utilizando SSL (Secure Socket
Layer) para envos HTTPS. Configure SSL en el servidor de aplicaciones con los
certificados digitales adecuados.

Proteccin de servicios web:

Puede proteger servicios web de integracin utilizando la autenticacin bsica


HTTP en la seguridad de J2EE estndar. Esta configuracin de seguridad
proporciona acceso a servicios web a usuarios autorizados con un nombre de
usuario vlido y una contrasea.

Procedimiento
1. De forma similar al procedimiento para proteger el servlet HTTP, en el archivo
web.xml, quite las marcas de comentario de la seccin <security-constraint>
para la invocacin de servicios web, como en el ejemplo siguiente
<security-constraint>
<web-resource-collection>
<web-resource-name>Servicios web de integracin</web-resource-name>
<description>
Servicios web de integracin accesibles por usuarios autorizados
</description>
<url-pattern>/services/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description>
Funciones que tienen acceso a los Servicios web de integracin
</description>
<role-name>maximouser</role-name>
</auth-constraint>
<user-data-constraint>
<description>data transmission gaurantee</description>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
2. Verifique que la seccin <security-role> del archivo web.xml no est marcada
como comentario, como en el cdigo de ejemplo siguiente:
<security-role>
<description>An Integration User</description>
<role-name>maximouser</role-name>
</security-role>
3. Cambie el valor de 0 a I en la seccin <env-entry-name> de
useAppServerSecurity, como en el ejemplo siguiente:

228 Integracin de datos con aplicaciones externas


<description>
Indica si se debe utilizar o no la seguridad del servidor de aplicaciones
</description>
<env-entry-name>useAppServerSecurity</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>1</env-entry-value>
</env-entry>
4. Para la invocacin de servicios web, asegrese de que el programa cliente
utilice las siguientes llamadas a nombre de usuario y contrasea en el objeto de
llamada de JAX-RPC:
call.setProperty(Call.USERNAME_PROPERTY, username);
call.setProperty(Call.PASSWORD_PROPERTY, password);

Qu hacer a continuacin

Puede desplegar con seguridad un servicio web utilizando SSL (Secure Socket
Layer) para envos HTTPS. Configure SSL en el servidor de aplicaciones con los
certificados digitales adecuados.

Seguridad de las tablas de interfaz:

Las tablas de interfaz utilizan la autenticacin y la autorizacin de bases de datos


predeterminada. Si la autenticacin y la autorizacin estn en vigor, los programas
externos que leen o graban en las tablas de interfaz deben proporcionar la
autorizacin apropiada. Para leer las tablas de interfaz y grabar en ellas, los valores
de USERNAME y PASSWORD se configuran para el punto final que implementa
el manejador de la tabla de interfaz.

Proteccin de las API de integracin remotas:

Algunas API remotas MicService garantizan el acceso forzando al usuario de los


mtodos en cuestin a proporcionar el objeto UserInfo. Si no se proporciona un
objeto UserInfo vlido, se produce un error y la llamada no finaliza.

Los mtodos remotos siguientes estn protegidos porque proporcionan informacin


sensible o realizan el procesamiento de transacciones de datos sensibles:
v exportData(..)
v deleteQueueData(..)
v processExternalData(..) (las dos versiones)
v query(..)
v viewQueueData(..)
v loadData(..)
v loadSystemData(..)
v processObjectStructure(..)
v routeData(..)

Para ejecutar estos mtodos, el interlocutor debe recuperar un objeto UserInfo


vlido y pasarlo al mtodo para obtener acceso a la capa segura.

Un objeto UserInfo es un objeto serializado que contiene detalles del usuario entre
los que figuran el usuario, la contrasea, el entorno local, el idioma e informacin
de huso horario, que se utilizan con fines de seguridad.

Integracin de datos con aplicaciones externas 229


El sistema utiliza Java RMI (invocacin a mtodo remoto) y JRMP (Protocolo de
mtodo remoto Java). Puede comunicarse con los servicios del sistema utilizando
una versin segura del protocolo JRMP utilizando SSL.

Seguridad de los manejadores de direccionador salientes:

Los manejadores de direccionador salientes tienen soporte para la autorizacin y la


confidencialidad. Los manejadores de enterprise bean, HTTP, JMS, servicio web y
tablas de interfaz tienen soporte para la seguridad.

Seguridad de autorizaciones
Puede configurar la seguridad de autorizacin a nivel de aplicaciones, nivel de
objetos o al nivel de un mtodo definido en un servicio estndar. Una vez
completada la autenticacin de usuario, la infraestructura de integracin
comprueba que al usuario se le haya concedido la autorizacin para enviar
mensajes a la aplicacin, objeto o mtodo de destino.

Autorizacin de nivel de objeto

La autorizacin de nivel de objeto est basada en el conjunto de configuracin de


seguridad de la pestaa Restricciones de datos de la aplicacin Grupos de
seguridad. Si un objeto o atributo se marca como de solo lectura o como oculto, el
proceso de los datos de los mensajes de entrada se limita a consultas. No puede
insertar, actualizar o suprimir datos en el atributo u objeto relevante.

Autorizacin de nivel de aplicacin

Configure la autorizacin de nivel de aplicacin en la aplicacin Estructura de


objetos. En el campo Aplicacin autorizada, especifique la aplicacin que se ha de
autorizar. La aplicacin especificada y el grupo de usuarios del usuario de
mensajes de integracin proporcionan autorizacin para los mensajes de
integracin de entrada tanto para las estructuras de objetos como para los servicios
empresariales. La combinacin de la aplicacin y el grupo de usuarios tambin
proporciona autorizacin para la exportacin de datos relacionados con esta
estructura de objeto.

Si utiliza la API de REST, es posible que tenga que configurar la autorizacin a


nivel de aplicacin para acceder a los recursos de objeto de negocio.

Autorizacin del servicio estndar

La autorizacin del servicio estndar no da soporte al uso de una condicin que se


pueda asociar a la opcin de firma. Se ignoran todas las condiciones que asigne.

Puede configurar una transaccin del servicio estndar para que adopte el mismo
perfil de seguridad para el usuario de integracin como si dicho usuario hubiera
entrada en la transaccin mediante una aplicacin. Este nivel de autorizacin
requiere la configuracin manual. El servicio de aplicaciones debe tener un mtodo
anotado correctamente y el servicio debe estar registrado en la aplicacin
Configuracin de base de datos. Asigne una opcin de firma a un servicio estndar
para limitar acceso a los usuarios o grupos que tengan autorizacin para la opcin
seleccionada.

Ejecute un script SQL que actualiza la tabla MAXSERVSECURITY con detalles del
servicio estndar que se ha de autorizar. La sentencia insert para
MAXSERVSECURITY debe incluir los campos listados en la tabla siguiente.

230 Integracin de datos con aplicaciones externas


Campo Descripcin
MAXSERVSECURITYID Un ID exclusivo que es numrico. Por
ejemplo, puede consultar
max(MAXSERVSECURITYID) en
MAXSERVSECURITY y utilizar el valor
secuencial siguiente.
ROWSTAMP Un ID exclusivo que es numrico. Por
ejemplo, puede consultar max(ROWSTAMP)
en MAXSERVSECURITY y utilizar el valor
secuencial siguiente.
SERVICENAME El nombre de servicio registrado en la
aplicacin Configuracin de base de datos
(MAXSERVICE.SERVICENAME).
APP El nombre de aplicacin en el que la opcin
de firma se ha configurado en
(MAXAPPS.APP).
METHODNAME El nombre del mtodo anotado en el servicio
de aplicacin.
OPTIONNAME Este valor es una combinacin de la tabla de
opciones de firma para la aplicacin y la
opcin de firma
(SIGOPTION.OPTIONNAME).

Conceptos relacionados:
API de REST en la pgina 243
La API (interfaz de programacin de aplicaciones) de REST (Representational State
Transfer) proporciona una manera para que las aplicaciones externas consulten y
actualicen datos de aplicacin en motor de automatizacin de procesos de Tivoli.

Soporte de idiomas
Su base de datos puede contener algunos elementos, como descripciones y
descripciones largas, en varios idiomas. Los canales de publicacin y los servicios
empresariales pueden incluir estas columnas traducidas. La infraestructura de
integracin tambin permite el uso de formatos de idioma bidireccionales.

Una nica base de datos puede contener datos en varios idiomas. Debe especificar
el idioma base cuando instale la aplicacin. Si su sistema utiliza un idioma que no
sea el idioma base, puede habilitar la infraestructura de integracin para enviar y
recibir datos que no estn en los datos del idioma base.

Procesamiento predeterminado de varios idiomas


Al iniciar sesin, puede elegir un cdigo de idioma que no sea el idioma base del
sistema. En cualquier aplicacin, luego puede especificar valores especficos del
idioma para las columnas designadas como traducibles.

De forma predeterminada, las transacciones salientes contienen los valores de


columna aplicables en el idioma asociado con la sesin de inicio de sesin. Los
valores de idioma muestran si la transaccin la iniciado una aplicacin o la funcin
de exportacin de datos. Por ejemplo, si el idioma base de su sistema es el espaol,
puede iniciar sesin como un usuario francs y actualizar un registro de parte con
una descripcin en francs. El mensaje saliente contiene la descripcin de la parte
en francs, aunque la descripcin tambin exista en espaol o en un tercer idioma.

Integracin de datos con aplicaciones externas 231


Si una tabla de base de datos contiene columnas traducibles, la base de datos
contiene una tabla correspondiente denominada L_nombre_tabla, por ejemplo,
PARTE y L_PARTE. La tabla L_nombre_tabla almacena los valores de idioma no
base para cada columna traducida excepto la descripcin detallada. Las
descripciones detalladas en todos los idiomas estn en la tabla
LONGDESCRIPTION.

Para incluir valores traducidos en la salida XML, incluya los objetos


L_nombre_tabla y LONGDESCRIPTION en las estructuras de objeto aplicables.
Proporcione los valores de idioma base como una entrada de servicio a estructuras
de objeto que tienen L_nombre_tabla como componente de su definicin de objeto.
Su entrada de servicio debe estar en el objeto principal y todos los dems idiomas
deben estar en el objeto habilitado para el idioma adicional.

Por ejemplo, cuando el espaol es el idioma base, la tabla PARTE contiene la


descripcin en espaol de una parte y la tabla L_PARTE contiene las descripciones
en francs y en alemn de dicha parte. La tabla LONGDESCRIPTION contiene las
descripciones detalladas en espaol, francs y alemn.

Cuando agregue el objeto L_nombre_tabla a una estructura de objeto, asigne el


mismo valor a los atributos transLanguage y baseLanguage. De lo contrario, los
valores de idioma base no estn disponibles y se procesan para los campos
habilitados para varios idiomas.

Atributos multilinges
El elemento raz de la estructura XML para servicios y canales incluye atributos de
idioma que especifican los atributos de idioma para el registro.

Se utilizan los atributos de idioma siguientes:


v El atributo baseLanguage identifica el idioma base del sistema o aplicacin que
genera XML saliente. Para las transacciones entrantes (XML entrante), este
atributo no se valida.
v El XML saliente incluye el atributo langenabled en cada columna traducible, tal
como se muestra en el ejemplo siguiente:
<DESCRIPTION langenabled="1">Item 1 description</DESCRIPTION>
v El atributo transLanguage identifica el idioma en que se especifican los valores
para campos multilinges aplicables. Si este atributo falta o no contiene ningn
valor, se supone que todos los datos estn en el idioma base. Si el valor
transLanguage no se puede interpretar, o si el valor no identifica un idioma
vlido, se devuelve un error al solicitante del servicio.

Soporte para idiomas bidireccionales


La infraestructura de integracin soporta idiomas bidireccionales, como el rabe y
el hebreo, y permite el intercambio de datos con sistemas externos que utilizan
formatos de idioma bidireccional diferentes. Los idiomas bidireccionales combinan
caracteres que se leen de derecha a izquierda con algunos caracteres, como
nmeros o fechas, que se leen de izquierda a derecha.

La infraestructura de integracin puede transformar los formatos bidireccionales de


todos los datos entrantes y salientes al formato bidireccional especificado para el
sistema externo y desde ste. Las transformaciones se aplican a las comunicaciones
sncronas y asncronas para servicios empresariales, servicios de estructura de
objeto y servicios estndar. Tambin puede transformar los formatos bidireccionales
de archivos que importe con una tarea cron o cuando utilice la funcin de
importacin de datos.

232 Integracin de datos con aplicaciones externas


Formatos de idiomas bidireccionales
Los formatos bidireccionales predeterminados que utiliza la infraestructura de
integracin se basan en estndares Unicode. Estos formatos pueden variar de los
formatos utilizados por los sistemas externos.

Los formatos bidireccionales tienen cinco parmetros.

Parmetro Valor Distintivos Predeterminado Detalles


Tipo de texto v Implcito v I I: Implcito (lgico)
v Visual v V
Orientacin del texto v LeftToRight v L L: LeftToRight
v RightToRight v R
v ContextualLeftToRight v C
v ContextualRightToLeft v D
Intercambio simtrico v Activado v Y Y: Activado
de texto
v Desactivado v N
Modelado de texto v No modelado v N N: No modelado Slo rabe
v Modelado v S
v Aislado v B
Modelado de numerales v Nacional v H N: Nominal Slo rabe
v Nominal v N
v ContextualNational v C
v ContextualNominal v T

Configuracin del soporte de idioma bidireccional para los


sistemas externos
Especifique el formato de idioma bidireccional que utiliza el sistema externo para
permitir la transformacin correcta de los datos al (y desde el) formato
predeterminado.

Procedimiento
1. Opcional: Seleccione la accin Formato bidireccional en la aplicacin Sistemas
externos para los servicios empresariales o en la aplicacin Canales de
invocacin para los servicios de estructura de objeto.
2. Seleccione el formato de idioma bidireccional que utiliza el sistema externo en
la lista de opciones y pulse Aceptar.

Resultados

Despus de establecer el formato de idioma bidireccional que utiliza el sistema


externo, se realiza automticamente la transformacin al formato correspondiente
durante el proceso de integracin.

Exportacin e importacin de datos basados en archivo


El administrador de integracin puede iniciar la exportacin e importacin de
datos desde dentro de la aplicacin Sistemas externos para permitir, por ejemplo,
la integracin de datos mediante archivos. El proceso de importacin incluye la
capacidad de ver una vista previa de una carga de datos de un archivo para
validar los datos antes de guardarlos en la base de datos. El proceso de

Integracin de datos con aplicaciones externas 233


importacin tambin incluye una opcin para gestionar errores resultantes de la
carga del archivo en el mismo formato de archivo que el archivo importado.

Puede utilizar la gestin de errores basada en archivo como alternativa a la gestin


de errores mediante la aplicacin Nuevo proceso de mensajes. La importacin de
datos de archivos, en formato de archivo sin formato o XML, se puede realizar de
forma programada utilizando una tarea cron predefinida. Adems, los
administradores pueden habilitar una aplicacin para la exportacin y la
importacin y luego los usuarios pueden exportar e importar datos directamente
desde la aplicacin habilitada.
Conceptos relacionados:
Gestin de errores de la importacin de datos basada en archivo en la pgina
207
La infraestructura de integracin soporta la gestin de errores con la aplicacin
Nuevo proceso de mensajes, que permite examinar, corregir, reprocesar y suprimir
mensajes que producen errores cuando se procesan desde una cola entrante.
Cuando los datos se importan de un archivo XML o un archivo sin formato, hay
disponible una segunda opcin que gestiona los errores utilizando un archivo
descargado en lugar de la aplicacin Nuevo proceso de mensajes.

Exportacin e importacin de datos en la aplicacin Sistemas


externos
Puede iniciar una exportacin de datos en la ficha Canales de publicacin de la
aplicacin Sistemas externos. Puede iniciar una importacin de datos en la ficha
Servicios empresariales de la aplicacin Sistemas externos.

Exportacin de datos basados en archivo


Con la funcin de exportacin de datos, puede realizar una exportacin masiva de
datos de mensaje desde un archivo a un sistema externo. Puede iniciar el proceso
de exportacin para cada canal de publicacin asociado con un sistema externo.

Antes de empezar

En un entorno multitenencia, puede utilizar la funcin de exportacin de datos


slo si el proveedor del sistema le proporciona acceso a un servidor de archivos
que sea accesible para el servidor de aplicaciones. A continuacin, deber
configurar un punto final basado en archivo para que apunte a la ubicacin de este
servidor de archivos.

Debe habilitar tanto el sistema externo como el canal de publicacin para poder
exportar datos. Los datos para exportar deben estar en un formato de archivo XML
que cumpla con el esquema de estructura de objeto, o en un archivo sin formato y
delimitado, por ejemplo, separado por comas, que sea una versin plana del
formato de esquema de la estructura de objeto.

Acerca de esta tarea

La consulta SQL opcional que el usuario proporciona en el campo Condicin de


exportacin, puede afectar al tamao del mensaje XML exportado. Puede filtrar el
contenido para limitar la cantidad de datos que se exportan. El proceso de
exportacin lleva a cabo el proceso estndar de salida sobre el conjunto de
resultados de la consulta correspondiente al canal de publicacin seleccionado.

234 Integracin de datos con aplicaciones externas


Procedimiento
1. En la aplicacin Sistemas externos, pulse en la ficha Canales de publicacin y
seleccione el canal de publicacin que desee exportar.
2. En el campo Punto final, especifique un manejador de punto final basado en
archivo, en formato de archivo XML o de archivo sin formato.
3. Pulse en Exportacin de datos.
4. Opcional: Especifique una consulta SQL en el campo Condicin de
exportacin. La consulta debe ser para el objeto primario o el objeto de nivel
superior de la estructura de objeto del canal de publicacin.
5. Opcional: Especifique un valor entero en el campo Recuento de exportacin
para limitar el nmero de registros contenidos en el archivo exportado. Si el
resultado de la consulta contiene ms registros que el nmero que haya
especificado, dichos registros no se incluyen en el archivo exportado.
6. Pulse en Aceptar para iniciar el proceso de exportacin de datos.

Qu hacer a continuacin

Al ejecutar la exportacin de datos, los datos seleccionados forman un mensaje y


se incluyen en la cola saliente configurada para el canal de publicacin y su
sistema externo correspondiente. A continuacin, el mensaje se procesa de la cola
saliente al punto final configurado. Si se produce un error durante la entrega de un
mensaje a un punto final, puede gestionar y ver los mensajes de exportacin de
datos sealados con un error en la aplicacin Nuevo proceso de mensajes.

Importacin de datos basados en archivo


Puede utilizar la funcin de importacin de datos para cargar datos de archivo
XML o archivos sin formato delimitados para actualizar la base de datos de
Maximo. Puede obtener una vista previa y validar los datos antes de cargar y
confirmarlos en la base de datos. Puede optar por gestionar errores con la
aplicacin Nuevo proceso de mensajes o extrayendo errores en un formato de
archivos que es el mismo que el formato de archivo importado.

Antes de empezar

Para importar datos, si piensa importar datos desde un archivo plano como un
archivo .csv, la estructura de objeto del servicio empresarial debe dar soporte a las
estructuras de archivos planos. Asegrese de que se haya seleccionado la casilla de
verificacin Admitir estructura plana en el registro de estructura de objeto
asociado de la aplicacin Estructuras de objetos. Tambin debe habilitar el sistema
externo y el servicio empresarial para poder importar los datos.

Acerca de esta tarea

Los datos que importe deben estar en un formato de archivo plano delimitado,
como separado por comas o XML. El proceso de importacin de datos puede
utilizar un servicio empresarial predefinido o definido por el usuario.

Procedimiento
1. En la aplicacin Sistemas externos, visualice el sistema que contiene el servicio
empresarial desde el que desea importar datos.
2. En la ficha Servicios empresariales, seleccione el servicio empresarial desde el
que desea importar los datos.
3. Pulse Importar datos.

Integracin de datos con aplicaciones externas 235


4. Opcional: Seleccione la casilla de verificacin Presentacin preliminar de
importacin para examinar los datos antes de importar y confirmar los datos
en la base de datos. Utilice la opcin de vista preliminar para el muestreo de
registros de datos. Esta funcin no est diseada para dar soporte a un archivo
grande que contiene cientos de registros. El proceso sncrono procesa el archivo
para los objetos empresariales y devuelve los mensajes de error encontrados sin
confirmar las actualizaciones en la base de datos.
5. Especifique el tipo de archivo que desea utilizar para la importacin de
archivos.

Opcin Descripcin
Archivo XML Los datos importados tienen el formato
XML.
Archivo plano Los datos importados tienen el formato de
un archivo plano delimitado. Si es
necesario, modifique los valores
Delimitador y Calificador de texto.

6. En el campo Especificar archivo de importacin, escriba la ruta del nombre de


archivo que utiliza el archivo importado para fines de identificacin y
almacenamiento.
7. Seleccione la casilla de verificacin Gestin de errores basada en archivos si
desea gestionar errores que encuentra mediante un archivo con el mismo
formato que el archivo que se est importando. Esta opcin es una alternativa a
la gestin de errores con la aplicacin Nuevo proceso de mensajes.
8. Pulse Aceptar para iniciar el proceso de importacin de datos.

Qu hacer a continuacin

Cuando se ejecuta la importacin de datos, al archivo que se selecciona para


importar se le da el formato de varios mensajes y se deja en la cola de entrada
configurada para el servicio empresarial y su sistema externo correspondiente. A
continuacin, se procesan los mensajes desde la cola de entrada a los objetos de
aplicacin para actualizacin. El proceso de mensajes desde una cola de entrada
requiere la habilitacin de la tarea cron JMS cuando se utiliza la cola secuencial o
la habilitacin de beans controlados por mensajes para la cola continua. Si se
produce un error durante el proceso de un archivo, puede gestionar y ver los
mensajes de importacin de datos que se han etiquetado con un error en la
aplicacin Nuevo proceso de mensajes.

Tareas cron para procesar datos entrantes


Si desea planificar cargas de archivo en lugar de utilizar la ventana de importacin
de datos, debe crear, configurar y habilitar la tarea cron XMLFILECONSUMER y la
tarea cron FLATFILECONSUMER para que pueda producirse el procesamiento de
mensajes de la tarea cron.

Tarea cron XMLFILECONSUMER


La tarea cron XMLFILECONSUMER es el mecanismo que utiliza para cargar
archivos XML sin la intervencin de ningn usuario de aplicacin.

La tarea cron XMLFILECONSUMER tiene los siguientes parmetros predefinidos:

236 Integracin de datos con aplicaciones externas


Parmetro Descripcin
EXTERNALSYSTEM Un parmetro necesario que identifica el
valor del sistema externo que utiliza el
proceso de carga de datos de tarea cron.
SOURCEDIRECTORY Un valor de parmetro necesario que define
el directorio donde se cargan los archivos de
origen. Este directorio debe existir en el
servidor de aplicaciones.
ENTERPRISESERVICE Un valor de parmetro necesario que
identifica el nombre del servicio empresarial
que utiliza la tarea cron para procesar todos
los archivos ubicados en el directorio de
origen.
FILENAME Un valor de parmetro opcional que
determina si el proceso de carga de datos de
tarea cron selecciona los archivos de origen
basndose en su nombre de archivo.
USEREXITCLASS Un valor de clase de proceso personalizado
opcional que define la funcin de tarea cron
adicional (por ejemplo, la orden de carga de
archivo).
TARGETENABLED Asegrese de que el valor est en el valor
predeterminado de 0 (false). La
funcionalidad de este distintivo es
reemplazada por la funcionalidad de
donotrun. Utilice el parmetro donotrun en
la infraestructura de la tarea cron para
controlar en qu servidores se ejecuta la
tarea cron.
ISFILEEXTRACT Cuando se establece en 1 (true), este
parmetro indica que se utiliza la gestin de
errores basada en archivos para el proceso
de mensajes de entrada.

Todos los archivos XML que estn disponibles en el directorio de origen se asocian
con un sistema externo o servicio empresarial especfico cuando aade un valor a
los parmetros EXTERNALSYSTEM, SOURCEDIRECTORY y
ENTERPRISESERVICE. Estos archivos XML se cargan tambin en la infraestructura
de integracin.

Los archivos que coinciden con la propiedad de nombre de archivo de tarea cron
se asocian con un sistema externo o servicio empresarial especfico y se cargan en
el sistema cuando aade un valor a los parmetros EXTERNALSYSTEM,
SOURCEDIRECTORY, ENTERPRISESERVICE y FILENAME.

Tarea cron FLATFILECONSUMER


La tarea cron FLATFILECONSUMER es el mecanismo que utiliza para cargar
archivos planos sin la intervencin de ningn usuario de aplicacin.

Integracin de datos con aplicaciones externas 237


Parmetros de tarea cron

La tarea cron FLATFILECONSUMER tiene los siguientes parmetros predefinidos:


Tabla 34. Parmetros de la tarea cron FLATFILECONSUMER
Parmetro Descripcin
SOURCEDIRECTORY Un valor de parmetro necesario que define
el directorio donde se cargan los archivos de
origen. Este directorio debe existir en el
servidor de aplicaciones.
DELIMITER Un parmetro necesario que indica el
carcter que se utiliza como delimitador de
campo en el archivo plano. El valor
predeterminado es una coma.
USEREXITCLASS Un valor de clase de proceso personalizado
que habilita la funcin de tarea cron
adicional (por ejemplo, la orden de carga de
archivo).
TEXTQUALIFIER Un valor de parmetro necesario que define
el carcter que se utiliza como calificador de
texto en el archivo plano. El valor
predeterminado son las comillas dobles.
TARGETENENABLED Asegrese de que el valor est en el valor
predeterminado de 0 (false). La
funcionalidad de este distintivo es
reemplazada por la funcionalidad de
donotrun. Utilice el parmetro donotrun en
la infraestructura de la tarea cron para
controlar en qu servidores se ejecuta la
tarea cron.
ISFILEEXTRACT Cuando se establece en 1 (true), este
parmetro indica que se utiliza la gestin de
errores basada en archivos para el proceso
de mensajes de entrada.

Todos los archivos disponibles en el directorio de origen los procesa la tarea cron
FLATFILECONSUMER cuando aade un valor al parmetro SOURCEDIRECTORY.
El sistema externo y el servicio empresarial se identifican desde el primer registro
del archivo plano que se importa, el cual forma parte de la definicin de archivo
plano.

Propiedades de proceso de tarea cron

La tarea cron FLATFILECONSUMER utiliza las siguientes propiedades de proceso


para los mensajes de entrada:
v Orden de proceso de archivos: el orden en que se cargan los archivos en el
servidor se determina mediante la indicacin de la hora de archivos XML. Se
puede utilizar la clase de salida de usuario de tarea cron para sobrescribir la
lgica de proceso del mensaje de entrada.
v Divisin de archivos: los archivos de mltiples sustantivos que procesa la tarea
cron FLATFILECONSUMER se dividen antes de grabarlos en la cola. La tarea
cron identifica si el archivo que se carga es un archivo XML de mltiples
sustantivos. Si el archivo XML es un archivo de mltiples sustantivos, la
infraestructura de integracin utiliza las columnas clave del servicio empresarial

238 Integracin de datos con aplicaciones externas


para identificar en qu lugar se lleva a cabo la divisin de archivos. Por ejemplo,
PONUM y SITE en el servicio empresarial MXPOInterface.
v Proceso de cola: la tarea cron FLATFILECONSUMER identifica la cola en la que
se carga el archivo plano. La ubicacin est basada en la cola (continua o
secuencial) especificada en el sistema externo y a nivel de servicio empresarial.

La tarea cron crea un archivo de ndice (recovery_filename.txt) que contiene una


referencia al ltimo sustantivo procesado correctamente cuando procesa un archivo
de mltiples sustantivos. La entrada del archivo de ndice se actualiza cuando el
sustantivo se compromete correctamente a la cola. Los archivos de ndice estn
disponibles en la carpeta RECOVERY que se crea en el directorio de origen de
tarea cron.

La tarea cron FLATFILECONSUMER utiliza el nombre de archivo de ndice que se


ha procesado antes de que se encontrara el problema de servidor o de cola. La
tarea cron contina procesando el archivo XML comenzando en el ltimo
sustantivo comprometido correctamente en el archivo de ndice. Los errores que se
identifican despus de grabar un mensaje correctamente en una cola de entrada, se
deben resolver en la aplicacin Nuevo proceso de mensajes.

Configuracin de una aplicacin para la exportacin y la


importacin de datos
Para habilitar la importacin de datos y la exportacin basada en una aplicacin,
debe definir el contenido de una estructura de objeto y habilitar esta estructura de
objeto para la importacin y la exportacin.

Definicin del contenido de una estructura de objeto


Se puede otorgar acceso a los usuarios de aplicaciones para exportar o importar
datos directamente desde una aplicacin. Un administrador puede identificar una
estructura de objeto apropiada para una aplicacin y otorgar funciones de
exportacin o importacin (o ambas) a usuarios para gestionar datos de aplicacin
en un archivo, como un archivo.csv, que se puede mantener en una hoja de clculo.

Acerca de esta tarea

Determine la estructura de objeto para utilizar para las transacciones de


integracin y luego modifique el contenido de la estructura de objeto para limitar
el intercambio de datos al contenido que se requiere.

Procedimiento
1. En el Diseador de aplicaciones, abra la aplicacin que desee habilitar y anote
el valor en el campo Objeto principal del rea de cabecera. Este valor debe
ser el objeto principal que se utiliza para la estructura de objeto.
2. En la aplicacin Estructuras de objeto, especifique el nombre del objeto
principal en el campo Estructura de objeto para filtrar estructuras de objeto
segn este objeto. Si la bsqueda no devuelve ninguna estructura de objeto
basada en el objeto principal, se debe crear una estructura de objeto y los
pasos siguientes no se aplican.
3. Si la bsqueda devuelve varias estructuras de objeto, seleccione una estructura
de objeto donde el valor del campo Consumido por est establecido en
Integracin.
4. Revise el contenido de la estructura de objeto y plantee las preguntas
siguientes:

Integracin de datos con aplicaciones externas 239


a. Es el objeto principal de la estructura de objeto el mismo que el objeto
principal de la aplicacin que desea habilitar para la exportacin y la
importacin de datos?
b. Incluye la estructura de objeto objetos de nivel inferior que contienen
datos que los usuarios no necesitan importar o exportar? Por ejemplo, el
objeto MXPERSON incluye los objetos de nivel inferior PHONE, EMAIL y
SMS. Es posible que los usuarios deseen importar y exportar datos slo
para los objetos PERSON y PHONE.
5. Despus de revisar el contenido de la estructura de objeto, puede optar por
utilizar la estructura de objeto predefinida con todo su contenido existente o
duplicar esta estructura de objeto y modificar su contenido. Si hace cambios
en una estructura de objeto predefinida, esto puede afectar a cualquier otro
escenario de integracin que utilice esta estructura de objeto. La duplicacin
de la estructura de objeto y el uso de sta como plantilla no causa un
comportamiento imprevisto para otros usuarios de integracin.
6. Suponiendo que duplique la estructura de objeto para proporcionar una
estructura de objeto nueva a este escenario, suprima cualquier objeto de nivel
inferior que no sea necesario para sus usuarios de integracin.
7. Para cada objeto que permanezca en la estructura de objeto, seleccione la
opcin Incluir/Excluir campos en el men Seleccionar accin y deseleccione
todos los campos que los usuarios no necesiten importar o exportar. Este paso
limita los campos de datos a slo los necesarios para los usuarios de la
aplicacin.
8. Si se necesitan archivos sin formato delimitados (para el uso en una hoja de
clculo), seleccione la casilla de verificacin Admitir estructura plana. Este
paso activa una validacin para garantizar que cada columna para cada objeto
de la estructura de objeto tenga un nombre exclusivo. Si la validacin falla, se
establece un indicador Conflicto de alias.
9. Si la estructura de objeto contiene un conflicto de alias, seleccione la opcin
Agregar/Modificar alias del men Seleccionar accin para asignar un alias
nico para cualquier nombre de campo en el que exista un duplicado. No
existen conflictos de alias en ninguna de las estructuras de objeto predefinidas.
10. Guarde la estructura de objeto.

Qu hacer a continuacin

El contenido de la estructura de objeto ahora est configurado y se puede otorgar


el acceso de aplicacin a ste ello en la aplicacin Estructuras de objetos.

Habilitacin de la importacin y exportacin de datos en una


aplicacin
Despus de definir el contenido de la estructura de objeto, debe habilitar una
aplicacin para la importacin y exportacin de datos. La habilitacin de la
importacin de datos es un procedimiento distinto a la habilitacin de la
exportacin de datos. Como los procedimientos son independientes, puede
habilitar a algunos usuarios para exportar datos, habilitar a otros usuarios para
importar datos o habilitar a un conjunto distinto de usuarios para importar y
exportar datos.

Procedimiento
1. En la aplicacin Estructuras de objetos, seleccione la estructura de objeto que
desee habilitar.
2. Seleccione la accin Agregar/Modificar soporte de exportacin de aplicaciones.

240 Integracin de datos con aplicaciones externas


3. En la ventana Agregar/Modificar soporte de exportacin de aplicaciones, pulse
en Fila nueva. En la seccin Detalles, el valor del campo Aplicacin tiene como
valor predeterminado la aplicacin que tiene el mismo objeto principal que el
objeto principal de la estructura de objeto.
4. Especifique Archivo XML o Archivo plano como formato para los archivos de
exportacin de datos.
5. En el campo Recuento mximo, puede especificar un valor que limite el
nmero de filas que se pueden exportar durante una sola ejecucin. Aunque el
usuario seleccione 1000 registros, si el lmite est establecido en 100, entonces
slo se exportan 100 filas. Un valor de 0 o nulo permite el procesamiento de un
nmero ilimitado de filas.
6. Seleccione la casilla de verificacin Es por omisin si habilita varias estructuras
de objeto para la exportacin de la aplicacin y desea que esta estructura de
objeto sea la predeterminada.
7. Pulse en Aceptar para guardar la configuracin de exportacin.
8. Seleccione la accin Agregar/Modificar soporte de importacin de aplicaciones
y repita los mismos procedimientos para configurar la importacin de datos
para la aplicacin.
9. Seleccione el grupo de usuarios para los usuarios de la aplicacin en la
aplicacin Grupos de seguridad y otorgue acceso a la opcin Exportacin de
aplicaciones, la opcin de Importacin de aplicaciones o ambas opciones.

Iniciacin de la exportacin y la importacin de datos en una


aplicacin
Despus de habilitar la exportacin y la importacin de datos en una aplicacin, se
agregan iconos a la barra de herramientas de la aplicacin para iniciar las
transacciones.

Inicio de la exportacin de datos en una aplicacin:

Despus de que habilitar la exportacin de datos para una aplicacin, los usuarios
pueden iniciar transacciones de exportacin desde la interfaz de usuario de la
aplicacin.

Procedimiento
1. En la ventana Lista de la aplicacin, seleccione los datos para la exportacin de
uno de los modos siguientes:
v Utilice las opciones de filtro para filtrar un conjunto de registros para
exportarlos y pulse en el icono Exportacin de aplicaciones en la barra de
herramientas.
v Seleccione un registro especfico para exportarlo y pulse en el icono
Exportacin de aplicaciones. Esta opcin slo exporta los datos de un solo
registro.
2. En la ventana Exportacin de datos, revise la configuracin de exportacin y
haga cualquier ajuste necesario:
a. Opcional: Especifique un valor diferente en el campo Estructura de objeto
si no desea utilizar la estructura de objeto predeterminada para la
exportacin. Puede especificar una estructura de objeto alternativa slo si se
ha habilitado otra estructura de objeto para esta aplicacin. Si especifica una
estructura de objeto alternativa, la ventana se renueva para incluir la seccin
Exportar configuracin, donde puede realizar configuraciones adicionales.
b. Opcional: Si el valor del campo Se ha seleccionado para exportar es
superior al valor del campo Lmite de exportacin, puede cancelar la

Integracin de datos con aplicaciones externas 241


exportacin y utilizar un filtro distinto para reducir el nmero de registros
que se deben exportar. El valor del campo Lmite de exportacin lo
establece el administrador y no se puede superar, independientemente del
nmero de registros seleccionados.
3. Opcional: En la seccin Exportar configuracin (slo est expandida su ha
especificado una estructura de objeto que no es la predeterminada), especifique
el formato de datos:
a. Si selecciona el formato XML, especifique la operacin para la exportacin,
como por ejemplo Sincronizar.
b. Si selecciona el formato Archivo plano, especifique valores en los campos
Delimitador y Calificador de texto.
4. Pulse en Aceptar para iniciar la exportacin. Se abre un cuadro de dilogo
Guardar en el que puede especificar dnde se debe guardar el archivo. Para
que un archivo sin formato se abra en una aplicacin de hoja de clculo, puede
cambiar el nombre de archivo de modo que utilice el sufijo .csv. Si el cuadro de
dilogo Guardar no se abre, cambie la configuracin de seguridad de su
navegador para habilitar la solicitud automtica para las descargas.

Inicio de una importacin de datos en una aplicacin:

Despus de habilitar la importacin de datos para una aplicacin, los usuarios


pueden iniciar transacciones de importacin desde la interfaz de usuario de la
aplicacin.

Procedimiento
1. Desde cualquier lugar de la aplicacin, pulse en el icono Importar datos en la
barra de herramientas.
2. Opcional: En la ventana Importar datos, especifique un valor diferente en el
campo Estructura de objeto si no desea utilizar la estructura de objeto
predeterminada para la importacin. Si especifica una estructura de objeto
alternativa, se expande la seccin Importar configuracin, donde debe realizar
configuraciones adicionales.
3. Opcional: Si ha especificado una estructura de objeto alternativa, en la seccin
Importar configuracin expandida, especifique los valores siguientes:
a. Si especifica el formato XML, no es necesario realizar configuraciones
adicionales porque el archivo XML de entrada especifica la operacin, el
cdigo de idioma y el cdigo de accin.
b. Si especifica el formato de Archivo plano, puede especificar valores en los
campo Delimitador, Calificador de texto, Accin y Cdigo del idioma o
puede utilizar los valores predeterminados.
4. Opcional: Revise el valor del campo Lmite de importacin. Este valor no se
puede cambiar. Si el lmite se establece, por ejemplo, en 100 registros, y el
archivo de importacin contiene 200 registros, slo se importan los 100
primeros registros.
5. Pulsen en Explorar para navegar al archivo de importacin y seleccinelo.
6. Opcional: Si selecciona Presentacin preliminar de importacin, cuando ejecute
la importacin, los objetos de negocios procesan el archivo pero los datos no se
guardan en la base de datos. Puede utilizar esta opcin para probar la carga de
datos y validar que no haya errores antes de la carga. Se muestra cualquier
error y se pueden aplicar correcciones al archivo de entrada e intentar la
importacin otra vez.
7. Pulse en Aceptar para iniciar la importacin. Como la importacin de datos es
un proceso sncrono, debe esperar en la interfaz de usuario hasta que la carga

242 Integracin de datos con aplicaciones externas


haya finalizado y aparezca un mensaje de confirmacin. Si se producen errores
durante la carga, no se cargan, ya que el archivo se procesa como una sola
transaccin con una sola confirmacin.

API de REST
La API (interfaz de programacin de aplicaciones) de REST (Representational State
Transfer) proporciona una manera para que las aplicaciones externas consulten y
actualicen datos de aplicacin en motor de automatizacin de procesos de Tivoli.

La API de REST forma parte de la infraestructura de integracin, y puede utilizarla


para integrar aplicaciones externas con aplicaciones de motor de automatizacin de
procesos. La API de REST expone los objetos de negocio y las estructuras de objeto
de integracin como recursos de REST. La API de REST puede proporcionar datos
de recursos en formato XML o JSON (JavaScript Object Notation). Las aplicaciones
externas pueden utilizar la API de REST para consultar y actualizar datos de
aplicacin.

Los recursos de la API de REST pueden utilizarse sin ninguna configuracin. Las
estructuras de objeto que la API de REST puede consultar o actualizar tienen el
valor INTEGRATION en el campo Consumido por en la aplicacin Estructuras de
objetos.

La API de REST soporta las operaciones de creacin, consulta, actualizacin y


supresin de recursos, utilizando mtodos estndar HTTP GET, POST, PUT y
DELETE.
Informacin relacionada:
Utilizacin de detalles de la Api de REST (se abre en una nueva ventana o
ficha del navegador)
REST con Maximo (se abre en una nueva ventana o ficha del navegador)

Infraestructura de la API de REST


La API de REST forma parte de la infraestructura de integracin y maneja las
solicitudes de los clientes externos.

El diagrama siguiente proporciona una visin general de cmo la API de REST


maneja las solicitudes.

Integracin de datos con aplicaciones externas 243


Infraestructura del motor de automatizacin de procesos de Tivoli

Infraestructura de la API de REST

Solicitud de
recurso
Controlador de Manejador de Recursos
Consumidor externo Objeto de negocio (MBO)
la API de REST recursos Estructura de objeto (OS)
Respuesta del
recurso
Recurso representacin
Recurso/coleccin de recursos
(XML, JSON)

Serializador de
recursos

Cuando un consumidor externo inicia una solicitud, un controlador de la API de


REST dirige la solicitud de recurso al manejador de recursos adecuado. El
manejador de recursos interacta con los recursos para ejecutar la solicitud.
Cuando se completa la solicitud, el serializador de recursos procesa el recurso o la
coleccin de recursos. El serializador de recursos devuelve la representacin como
respuesta del recurso. Se proporcionan serializadores para XML y JSON.

Puesto que la API de REST est dentro de la infraestructura de integracin, la API


de REST puede utilizar la autenticacin, la autorizacin y las propiedades del
sistema de motor de automatizacin de procesos.

El controlador de la API de REST es un servlet. El rendimiento y el ajuste de carga


y escalabilidad se realiza a nivel de servidor de aplicaciones, de la misma manera
que para otros componentes web.

Representaciones soportadas
La API de REST soporta XML y JSON como representaciones. Las representaciones
estn soportadas por la implementacin de clases de serializador que estn
registradas en las propiedades del sistema.

Las representaciones XML y JSON est registradas en las propiedades del sistema
API de REST siguientes:
v mxe.rest.serializer.mbo.xml
v mxe.rest.serializer.os.xml
v mxe.rest.serializer.mbo.json
v mxe.rest.serializer.os.json

Puede ampliar serializadores para proceso personalizado. Puede crear


serializadores para tipos de recurso existentes y para instancias individuales de
recursos de objeto de negocio o de estructura de objeto.

Para recursos de estructura de objeto, el formato XML para la API de REST es


parecido al formato soportado por la infraestructura de integracin.
Referencia relacionada:
Propiedades del sistema REST en la pgina 275
Las propiedades del sistema estn disponibles para configurar cmo funciona la
API de REST segn sus requisitos especficos.

244 Integracin de datos con aplicaciones externas


Manejadores de recursos y URI
La API de REST proporciona acceso a objetos de negocio y estructuras de objeto de
integracin. Se registra una clase de manejador para cada recurso en una regin
propiedad del sistema./

Las clases de manejador para los recursos de objeto de negocio y de estructura de


objeto se registran en las propiedades del sistema mxe.rest.handler.mbo y
mxe.rest.handler.os.

Puede ampliar manejadores para proceso personalizado. Puede crear manejadores


para otros tipos de recurso y para instancias individuales de recursos de objeto de
negocio o de estructura de objeto.

Los recursos de la API de REST se direccionan utilizando los identificadores de


recurso que forman parte del URI (identificador universal de recursos). Los URI se
utilizan para direccionar las entidades que se representan como recursos REST.

Por ejemplo, el siguiente URI accede a una coleccin de objetos de negocio Person.
El mbo indica el tipo de recurso del objeto de negocio y person es el recurso:
.../maxrest/rest/mbo/person

Para otro ejemplo, el siguiente URI accede a una coleccin de datos para la
estructura de objeto Person. El os indica el tipo de recurso de la estructura de
objeto y mxperson es el recurso:
.../maxrest/rest/os/mxperson

Mtodo GET
Utilice el mtodo GET para recuperar recursos de objeto de negocio y recursos de
estructura de objeto.

Sintaxis
GET uri?parmetro=valor?parmetro=valor&...

uri es un URI. La longitud de la ruta del URI no puede sobrepasar ningn lmite
especificado por el sistema.

parmetro es un parmetro de consulta.

valor es el valor del parmetro de consulta.

Ejemplo: recuperar un recurso de objeto de negocio

El mtodo siguiente recupera un recurso de objeto de negocio:


GET /maxrest/rest/mbo/asset/123

Se devuelve el XML siguiente:


<?xml version="1.0" encoding="UTF-8" ?>
<ASSET xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSETNUM>11200</ASSETNUM>
<SERIALNUM>3481-52</SERIALNUM>
<ASSETTAG>3751</ASSETTAG>
<LOCATION>BR200</LOCATION>
<DESCRIPTION>HVAC System- 50 Ton Cool Cap/ 450000 Btu Heat Cap</DESCRIPTION>

Integracin de datos con aplicaciones externas 245


<ASSETUID>123</ASSETUID>
.
.
</ASSET>

La respuesta del recurso se muestra en XML. El valor del formato predeterminado


puede configurarse en la propiedad del sistema mxe.rest.mbo.defaultformat.

Ejemplo: recuperar un recurso de estructura de objeto

El mtodo siguiente recupera un recurso de estructura de objeto:


GET /maxrest/rest/mbo/mxasset/123

Se devuelve el XML siguiente:


<?xml version="1.0" encoding="UTF-8" ?>
<QueryMXASSETResponse xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
creationDateTime="2011-04-07T11:43:59-04:00"
transLanguage="EN" baseLanguage="EN" messageID="1302195161355515345"
maximoVersion="7 5 20110405-0030 V7500-718" rsStart="0" rsTotal="1"
rsCount="1">
<MXASSETSet>
<ASSET>
<ASSETNUM>11200</ASSETNUM>
<SERIALNUM>3481-52</SERIALNUM>
<ASSETTAG>3751</ASSETTAG>
<LOCATION>BR200</LOCATION>
<DESCRIPTION>HVAC System- 50 Ton Cool Cap/ 450000 Btu Heat Cap</DESCRIPTION>
< ASSETUID>123</ASSETUID>
.
.
<ASSETMETER>
<ACTIVE>1</ACTIVE>
<ASSETMETERID>63</ASSETMETERID>
<LASTREADING>0</LASTREADING>
<METERNAME>PRESSURE</METERNAME>
.
.
</ASSETMETER>
<ASSETSPEC>
<ASSETATTRID>SPEED</ASSETATTRID>
<ASSETSPECID>2138</ASSETSPECID>
.
.
</ASSETSPEC>
<ASSETSPEC>
<ASSETATTRID>SHAFTDIA</ASSETATTRID>
<ASSETSPECID>2139</ASSETSPECID>
.
.
</ASSETSPEC>
</ASSET>
</MXASSETSet>
</QueryMXASSETResponse>

Los datos de recurso de estructura de objeto incluyen datos de activo, de medidor


de activo y de especificacin de activo basados en la configuracin del objeto
dentro de la estructura de objeto MXASSET. Todos los campos que estn
configurados para que se incluyan o excluyan se implementan en los datos.

La ruta del URI puede contener el ID del recurso como forma de seleccionar un
recurso especfico. En el ejemplo anterior, el ID es 123. El valor del ID es un ID
exclusivo para el objeto que est registrado en la tabla MAXATTRIBUTE. Si no se

246 Integracin de datos con aplicaciones externas


proporciona ningn ID, la respuesta incluye todas las apariciones del recurso,
dependiendo de las restricciones de seguridad en el usuario. El ID es el nico
campo de objeto de negocio que puede formar parte de la ruta del URI para
criterios de seleccin. Los dems campos pueden utilizarse como parmetros de
consulta en el URI para filtrado de seleccin.

Ejemplo: seleccionar recursos de nivel inferior relacionados

El mtodo siguiente solicita un recurso de OC para un recurso de objeto de


negocio:
GET /maxrest/rest/mbo/po/13

Se devuelve el XML siguiente:


<?xml version="1.0" encoding="UTF-8" ?>
<PO xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PONUM>1005</PONUM>
<DESCRIPTION>Electrical Supplies</DESCRIPTION>
.
.
</PO>

Ejemplo: seleccionar lneas de OC relacionadas de una OC

El mtodo siguiente solicita todas las lneas de OC relacionadas con la OC


seleccionada en el ejemplo anterior:
GET /maxrest/rest/mbo/po/13/poline

Se devuelve el XML siguiente:


<?xml version="1.0" encoding="UTF-8" ?>
<POLINEMboSet rsStart="0" rsTotal="2" rsCount="2"
xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<POLINE xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PONUM>1005</PONUM>
<ITEMNUM>11241</ITEMNUM>
<STORELOC>CENTRAL</STORELOC>
<ORDERQTY>3.0</ORDERQTY>
<POLINENUM>1</POLINENUM>
<POLINEID>10051</POLINEID>
.
.
</POLINE>
<POLINE xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PONUM>1005</PONUM>
<ITEMNUM>29331</ITEMNUM>
<STORELOC>PKG</STORELOC>
<ORDERQTY>2.0</ORDERQTY>
<POLINENUM>2</POLINENUM>
<POLINEID>10052</POLINEID>
.
.
</POLINE>
</POLINEMboSet>

Si selecciona POLINE, el nombre de relacin que se especifica en el URI (POLINE)


identifica la ruta desde el objeto de negocio (OC) a un objeto de negocio
relacionado (POLINE). En este ejemplo, el objeto de negocio y la relacin tienen el
mismo nombre. Un objeto puede tener muchas relaciones entre dos objetos, lo cual

Integracin de datos con aplicaciones externas 247


puede tener como resultado la seleccin de datos distintos para el objeto
relacionado. Las relaciones se definen en la tabla MAXRELATIONSHIP.

Para recuperar slo la lnea de un objeto de negocio POLINE especfico, incluya el


ID del objeto de negocio POLINE en el URI:
GET /maxrest/rest/mbo/po13/poline/10052

En este ejemplo, poline representa el nombre de relacin y 10052 es el ID del


objeto de negocio POLINE que la relacin recupera. Puede utilizar el mismo
mtodo para especificar la ruta de POLINE a ITEM o POCOST:
GET /maxrest/rest/mbo/po/13/poline/10052/item
GET /maxrest/rest/mbo/po/13/poline/10052/pocost

Cuando utiliza el recurso de estructura de objeto, los objetos de nivel inferior no


pueden tener relaciones. La estructura de objeto da soporte a un grficos de objetos
de negocio relacionados. Las relaciones forman parte de la definicin de estructura
de objeto.

Puede atravesar los objetos de negocio relacionados para mover de un recurso a


otro si existe una relacin vlida entre el objeto origen y destino.
Referencia relacionada:
Propiedades de la cabecera HTTP en la pgina 266
Hay varias propiedades de la cabecera HTTP que son relevantes para la API de
REST.

Parmetros de consulta y operadores


Para captar un recurso del que se conoce su ID exclusivo, puede proporcionar el
ID del recurso como parte de la ruta del URI. Tambin puede utilizar parmetros
de consulta para filtrar y captar colecciones de recursos.

En una coleccin de recursos, la representacin tiene un puntero al ID exclusivo de


cada recurso. El software de consumo utiliza el ID para crear el vnculo al recurso.
El vnculo se utiliza para actualizar, suprimir y consultar el recurso.

A menudo, una interaccin RESTful empieza capturando una coleccin de recursos


y, a continuacin, yendo a un recurso especfico de la coleccin.

Puede utilizar cualquier campo de un recurso de objeto de negocio o un recurso de


objeto de negocio relacionado como parmetro de consulta. La infraestructura de
consulta por ejemplo (QBE) de objeto de negocio restringe la relacin entre los
objetos de negocio a un nivel. Puede utilizarse como parmetro de consulta
cualquier campo de un recurso de estructura de objeto si el campo pertenece a un
objeto que reside en los dos niveles superiores de la estructura de objeto.

Si utiliza un atributo de objeto de negocio como parmetro de consulta, pueden


utilizarse los operadores siguientes como parte del parmetro.

248 Integracin de datos con aplicaciones externas


Operador Notacin Ejemplo
Igual ~eq~ status=~eq~APPR Utilice el
operador de igualdad para
realizar una coincidencia
exacta. Una consulta
status=APPR implica una
comparacin de operador
like. Si utiliza
status=APPR&_exactmatch=1,
se fuerza al procesador a
realizar una coincidencia
exacta. Esta notacin produce
el mismo resultado que
status=~eq~APPR.
No igual ~neq~ status=~neq~APPR
Mayor que ~gt~ quantity=~gt~2.5
Mayor que igual ~gteq~ quantity=~gteq~2.5
Menor que ~lt~ quantity=~lt~2.5
Menor que igual ~lteq~ quantity=~lteq~2.5
Termina con ~ew~ description=~ew~APPR
Empieza por ~sw~ description=~sw~APPR
Como No se requiere notacin description=APPR

Ejemplo: consulta por ubicacin

El ejemplo siguiente consulta una ubicacin utilizando el nmero de ubicacin


como parmetro de consulta sin operador:
GET maxrest/rest/mbo/locations?location=PT100

La consulta devuelve el XML siguiente:


<?xml version="1.0" encoding="UTF-8" ?>
<LOCATIONSMboSet rsStart="0" rsTotal="2" rsCount="2"
xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<LOCATIONS>
<LOCATION>PT100</LOCATION>
<DESCRIPTION>PT100</DESCRIPTION>
.
.
</LOCATIONS>
<LOCATIONS>
<LOCATION>PT1001</LOCATION>
<DESCRIPTION>1001</DESCRIPTION>
.
.
</LOCATIONS>
</LOCATIONSMboSet>

Puesto que no se especifica ningn operador, se utiliza una comparacin como y el


resultado tiene dos ubicaciones. Si la solicitud utiliza el operador igual, slo se
devuelve la ubicacin PT100 para la solicitud de la consulta porque el operador
fuerza una coincidencia exacta:
GET /maxrest/rest/mbo/locations?location=~eq~PT100

Integracin de datos con aplicaciones externas 249


Ejemplo: uso de varios parmetros

El ejemplo siguiente muestra el uso de varios parmetros para consultar una


cantidad acumulada anual de despacho mayor que 1 y una cantidad de pedidos
mayor que 5:
GET /maxrest/rest/mbo/inventory?issueytd=~gt~1&orderqty=~gt~5

Ejemplo: uso de la condicin ormode

Puede solicitar varios valores para un solo campo utilizando la condicin ormode.
El ejemplo siguiente selecciona registros en los que la cantidad acumulada anual
de despacho es igual a 7 o menor que 4:
GET /maxrest/rest/mbo/inventory?issueytd.ormode=~eq~7&issueytd.ormode=~lt~4

Ejemplo: no se seleccionan registros

Si no se selecciona ningn registro como resultado de una solicitud de consulta, se


devuelve un conjunto de resultados vaco, no una condicin de excepcin.

Por ejemplo, la solicitud siguiente es para registros que tienen una cantidad
acumulada anual de despacho 99:
GET /maxrest/rest/mbo/inventory?issueytd=~eq~99

No se selecciona ningn registro como resultado de esta solicitud y, por tanto, se


devuelve un resultado vaco:
<?xml version="1.0" encoding="UTF-8" ?>
<INVENTORYMboSet rsStart="0" rsTotal="0" rsCount="0"
xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

Parmetro _opmodeor
Utilice el parmetro _opmodeor para evaluar varios campos utilizando una
condicin OR entre los valores en lugar de la condicin predeterminada AND.

Por ejemplo, la solicitud siguiente devuelve registros en los que la cantidad


acumulada anual es mayor que 1 y la cantidad del pedido es mayor que 5:
GET /maxrest/rest/mbo/inventory?issueytd=~gt~1&orderqty=~gt~5

La solicitud selecciona seis registros, tal como se muestra en el atributo rsTotal:


<?xml version="1.0" encoding="UTF-8" ?>
<INVENTORYMboSet rsStart="0" rsTotal="6" rsCount="6"
xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<INVENTORY xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ITEMSETID>SET1</ITEMSETID>
<MANUFACTURER>WES</MANUFACTURER>
<SHRINKAGEACC>
<VALUE>6600-810-800</VALUE>
</INVENTORY>
.
.
<INVENTORY xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
.
.

250 Integracin de datos con aplicaciones externas


La siguiente solicitud modificada establece el parmetro _opmodeor en true para
devolver registros en los que la cantidad acumulada anual es mayor que 1, o la
cantidad del pedido es mayor que 5:
GET /maxrest/rest/mbo/inventory?issueytd=~gt~1&orderqty=~gt~5&_opmodeor=1

La consulta modificada selecciona 54 registros:


<?xml version="1.0" encoding="UTF-8" ?>
<INVENTORYMboSet rsStart="0" rsTotal="54" rsCount="54"
xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<INVENTORY xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
.
.

Parmetros _rsStart y _maxItems


Los parmetros _rsStart y _maxItems se utilizan juntos para controlar el nmero
de registros devueltos para una solicitud y para permitir la paginacin a travs de
una gran volumen de registros.

Ejemplo: seleccionar todos los recursos de activos

La solicitud siguiente selecciona todos los recursos de activos en el sistema:


GET maxrest/rest/mbo/asset?&_opmodeor=1

En este ejemplo, se seleccionan 757 activos:


<?xml version="1.0" encoding="UTF-8" ?>
<ASSETMboSet rsStart="0" rsTotal="757" rsCount="757"
xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSET xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSETNUM>CAL100</ASSETNUM>

En la solicitud siguiente, el parmetro _maxItems limita el nmero de filas


seleccionadas. El nmero de filas est limitado a 20, tal como muestra el valor de
rsCount:
GET /maxrest/rest/mbo/asset?_maxItems=20
<?xml version="1.0" encoding="UTF-8" ?>
<ASSETMboSet rsStart="0" rsTotal="757" rsCount="20"
xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSET xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

Para recuperar las 20 filas siguientes, la solicitud siguiente aade el parmetro


_rsStart:
GET /maxrest/rest/mbo/asset?_maxItems=20&_rsStart=20
<?xml version="1.0" encoding="UTF-8" ?>
<ASSETMboSet rsStart="20" rsTotal="757" rsCount="20"
xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSET xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

Se recuperan las 20 filas siguientes, empezando en la fila 20 y terminando en la 39.


Conceptos relacionados:

Integracin de datos con aplicaciones externas 251


Desplazamiento dentro de la sesin en la pgina 256
Cuando se desplaza por las pginas de datos, se puede mejorar el rendimiento
manteniendo una coleccin de recursos.

Parmetro _orderbyasc
El parmetro _orderbyasc controla el orden de clasificacin de los datos devueltos.

Los atributos que se utilizan para el orden por clusula se muestran en orden
ascendente. Proporcione una lista de nombres de campo separados por comas para
que el objeto de recurso ordene el resultado.

Utilice el parmetro _orderbydesc de forma similar para ordenar en orden


descendente.

Ejemplo: ordenar una respuesta

La solicitud siguiente no incluye el parmetro _orderbyasc:


GET /maxrest/rest/mbo/asset?_maxItems=20&_rsStart=20

Se devuelven los activos siguientes:


<?xml version="1.0" encoding="UTF-8" ?>
<ASSETMboSet rsStart="20" rsTotal="757" rsCount="20"
xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSET xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSETNUM>7400</ASSETNUM>
<SERIALNUM>A5252525555</SERIALNUM>
<LOCATION>HWSTOCK</LOCATION>
.
.
<ASSET xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSETNUM>7300</ASSETNUM>
<SERIALNUM>A6687688888</SERIALNUM>
<LOCATION>HWSTOCK</LOCATION>
.
.
<ASSET xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSETNUM>7200</ASSETNUM>
<SERIALNUM>A6387683888</SERIALNUM>
<LOCATION>HARDWARE</LOCATION>
.
.

La solicitud siguiente incluye el parmetro _orderbyasc especificando el campo de


ubicacin del objeto de negocio de activo:
GET /maxrest/rest/mbo/asset?_maxItems=20&_rsStart=20&_orderbyasc=location

La solicitud modificada devuelve los activos siguientes en el orden de clasificacin


solicitado:
<?xml version="1.0" encoding="UTF-8" ?>
<ASSETMboSet rsStart="20" rsTotal="757" rsCount="20"
xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSET xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSETNUM>2045</ASSETNUM>
<PARENT>19998</PARENT>
<LOCATION>5THFLSWSTOCK</LOCATION>

252 Integracin de datos con aplicaciones externas


.
.
<ASSET xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSETNUM>2002</ASSETNUM>
<SERIALNUM>K6LQI</SERIALNUM>
<LOCATION>6THFLOOR</LOCATION>
.
.
<ASSET xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSETNUM>2074</ASSETNUM>
<PARENT>2002</PARENT>
<LOCATION>6THFLOOR</LOCATION>
.
.

Parmetros _includecols y _excludecols


Utilice los parmetros _includecols y _excludecols para controlar el contenido de
los atributos que se devuelven en respuesta a una consulta.

Si no se especifica ninguno de estos parmetros, todos los atributos se devuelven


para un recurso de objeto de negocio. Los parmetros _includecols y
_excludecols slo son vlidos para un recurso de objeto de negocio.

Ejemplo: recuperar campos especficos

Si utiliza el parmetro _includecols, slo se devuelven los atributos listados para


el parmetro:
GET /maxrest/rest/mbo/asset?_includecols=assetnum,serialnum

La solicitud slo devuelve el nmero de activo y el nmero de serie:


<?xml version="1.0" encoding="UTF-8" ?>
<ASSETMboSet rsStart="0" rsTotal="757" rsCount="757"
xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ASSET xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SERIALNUM>32R5G</SERIALNUM>
<ASSETNUM>13150</ASSETNUM>
</ASSET>
<ASSET xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SERIALNUM>2342VV</SERIALNUM>
<ASSETNUM>13160</ASSETNUM>
</ASSET>

Ejemplo: excluir un campo

El parmetro _excludecols identifica una lista de campos de objeto de negocio


para excluir de la respuesta de la consulta:
GET /maxrest/rest/mbo/asset?_excludecols=serialnum

En este ejemplo, la solicitud devuelve todos los campos del recurso de activo
excepto el nmero de serie.

Parmetro _dropnulls
Establezca el parmetro _dropnulls en false para incluir campos que tienen un
valor nulo en la respuesta de la consulta.

Integracin de datos con aplicaciones externas 253


Una consulta devuelve todos los campos de recursos a menos que haya
restricciones por parte de otros parmetros o de la configuracin de la estructura
de objeto. Si no se proporciona el parmetro _dropnulls, se descartan los campos
nulos de la respuesta de la consulta.

Ejemplo: incluir campos que tienen valores nulos

La consulta siguiente incluye el parmetro:


GET /maxrest/rest/os/mxasset?_dropnulls=0&_maxItems=1

La consulta devuelve valores nulos, tal como se muestra en el XML siguiente:


<?xml version="1.0" encoding="UTF-8" ?>
<QueryMXASSETResponse xmlns="http://www.ibm.com/maximo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
creationDateTime="2011-04-08T09:25:11-04:00" transLanguage="EN"
baseLanguage="EN" messageID="1302273234298496774"
maximoVersion="7 5 20110405-0030 V7500-718" rsStart="0"
rsTotal="757" rsCount="1">
<MXASSETSet>
<ASSET>
<ANCESTOR />
<ASSETID>1579</ASSETID>
<ASSETNUM>CAL100</ASSETNUM> <ASSETTAG />
<ASSETTYPE />
<AUTOWOGEN>0</AUTOWOGEN>
<BINNUM />
<BUDGETCOST>0.0</BUDGETCOST>
<CALNUM />
<CHANGEBY>WILSON</CHANGEBY>
.
.

Parmetros _format y _compact


La API de REST soporta las representaciones (formatos) XML y JSON. Puede
utilizar el parmetro _format o la negociacin de contenido para especificar una
representacin de recurso. Puede utilizar el parmetro _compact para especificar el
formato JSON compacto.

Si una solicitud no especifica un formato, se utiliza la representacin


predeterminada. El valor predeterminado lo define la propiedad del sistema
mxe.rest.mbo.defaultformat.

Si una solicitud especifica el parmetro _format, el valor se valida contra la lista de


formatos soportados en la propiedad del sistema mxe.rest.supportedformats. Si el
formato solicitado coincide con uno de los formatos soportados, el formato
solicitado se utiliza en el formato de respuesta. Si el formato solicitado no coincide
con la lista de formatos soportados, se genera un cdigo de error HTTP 406.

El parmetro de consulta booleano _compact se aplica al formato JSON cuando la


respuesta formateada se puede devolver en estilo compacto. La estructura de los
datos de respuesta se simplifica y no se devuelven metadatos para valores de
campo individuales.

Ejemplo: especificar representacin JSON

La solicitud siguiente es para un objeto Activo en representacin JSON:


GET /maxrest/rest/mbo/asset/123?_format=json

Se devuelve la respuesta siguiente:

254 Integracin de datos con aplicaciones externas


{

ASSET: {

Attributes: {

ASSETNUM: {
content: "11200"
}

SERIALNUM: {
content: "3481-52"
}

ASSETTAG: {
content: "3751"
}

LOCATION: {
content: "BR200"
}

DESCRIPTION: {
content: "HVAC System- 50 Ton Cool Cap/ 450000 Btu Heat Cap"
}

Ejemplo: especificar formato compacto

La solicitud siguiente especifica el formato compacto:


GET /maxrest/rest/mbo/asset/123?_format=json&_compact=1

Se devuelve la respuesta siguiente:


{

ASSET: {
ASSETNUM: "11200"
SERIALNUM: "3481-52"
ASSETTAG: "3751"
LOCATION: "BR200"
DESCRIPTION: "HVAC System- 50 Ton Cool Cap/ 450000 Btu Heat Cap"
VENDOR: "TRN"
MANUFACTURER: "TRN"
.
.
Conceptos relacionados:
Negociacin de contenido de representaciones
La API de REST soporta la identificacin del formato de representacin utilizando
la negociacin de contenido como alternativa al uso del parmetro de consulta
_format.

Negociacin de contenido de representaciones


La API de REST soporta la identificacin del formato de representacin utilizando
la negociacin de contenido como alternativa al uso del parmetro de consulta
_format.

Para los formatos XML y JSON, los valores de mimetype soportados estn
definidos en las propiedades de sistema siguientes:

Propiedad Valor
mxe.rest.format.json.mimetypes application/json

Integracin de datos con aplicaciones externas 255


Propiedad Valor
mxe.rest.format.xml.mimetypes application/xml,text/xml

El formato es un alias para uno o muchos tipos mime, y se utiliza para identificar
el serializador para un tipo mime solicitado. La API de REST utiliza el valor de
cabecera HTTP Accept para la negociacin de contenido. La API de REST hace
coincidir el valor de cabecera con uno de los tipos mime especificados que estn
definidos en la propiedad del sistema. Si hay coincidencia, la API de REST utiliza
el valor como el formato correspondiente para el formato de respuesta. Si no hay
coincidencia con la lista de formatos soportados, se genera un cdigo de error
HTTP 406.

Los serializadores XML y JSON siempre responden con los valores


application/xml para la representacin XML y application/json para la
representacin JSON en la propiedad de cabecera Content-Type. Si crea un
serializador para dar soporte a otro formato, agregue su formato a la lista en la
propiedad del sistema mxe.rest.supportedformats.

Los valores en la propiedad del sistema mxe.rest.supportedformats estn


relacionados con los valores que se proporcionan en propiedades individuales para
los valores de tipo mime soportados correspondientes, por ejemplo,
mxe.rest.format.NEW.mimetypes. Los valores de tipo mime se proporcionan en la
solicitud mediante la propiedad de cabecera Accept.

Por ejemplo, se utilizan las siguientes propiedades del sistema para aadir HTML
como formato de representacin de recurso:

Propiedad Valor
mxe.rest.supportedformats html,xml,json,image
mxe.rest.format.html.mimetypes text/html
mxe.rest.mbo.serializer com.ibm.tivoli.maximo.rest.MboHTMLSerializer
mxe.rest.os.serializer com.ibm.tivoli.maximo.rest.OSHTMLSerializer

Cuando se proporciona el parmetro _format y la propiedad de cabecera Accept


para una consulta, el parmetro de consulta tiene prioridad.
Conceptos relacionados:
Parmetros _format y _compact en la pgina 254
La API de REST soporta las representaciones (formatos) XML y JSON. Puede
utilizar el parmetro _format o la negociacin de contenido para especificar una
representacin de recurso. Puede utilizar el parmetro _compact para especificar el
formato JSON compacto.

Desplazamiento dentro de la sesin


Cuando se desplaza por las pginas de datos, se puede mejorar el rendimiento
manteniendo una coleccin de recursos.

Si especifica el parmetro _usc con el valor 1 en una consulta, el servidor mantiene


la coleccin de recursos en memoria. El navegador puede solicitar pginas
adicionales de datos de la memoria en lugar de volver a seleccionar los datos del
objeto de negocio. La respuesta HTTP incluye el ID de la coleccin de recursos en
la propiedad de cabecera RLID.

256 Integracin de datos con aplicaciones externas


Las siguientes solicitudes de pginas adicionales pueden especificar los parmetros
_maxitem, _rsStart y _rlid, que contiene el ID de la coleccin de recursos. El
servidor recupera la pgina siguiente de los datos que se conservan en memoria
para el ID especificado.

Los datos de la memoria cach del servidor se conservan hasta que la sesin de
navegador finaliza o hasta que el navegador libera los datos. Por ejemplo, los datos
se liberan si el ID del recurso lo especifica el parmetro _rlid y el parmetro _rlrq
est establecido en true.

Como alternativa al uso de los parmetros _maxitems y _rsStart para


desplazamiento dentro de la sesin, puede crear una propiedad del sistema
mxe.rest.manejador.recurso.pagesize y asignarle un nmero de recursos para cada
pgina de datos. A continuacin, puede utilizar el parmetro de consulta _page en
la solicitud para seleccionar una pgina especfica de datos, por ejemplo, la pgina
3.

Por ejemplo, si crea la propiedad del sistema mxe.rest.mbo.asset.pagesize y le


asigna el valor 35, se devuelven 35 activos para cada pgina de datos.
Conceptos relacionados:
Parmetros _rsStart y _maxItems en la pgina 251
Los parmetros _rsStart y _maxItems se utilizan juntos para controlar el nmero
de registros devueltos para una solicitud y para permitir la paginacin a travs de
una gran volumen de registros.
Referencia relacionada:
Propiedades de la cabecera HTTP en la pgina 266
Hay varias propiedades de la cabecera HTTP que son relevantes para la API de
REST.
Parmetros de consulta REST en la pgina 271
Utilizando parmetros de consulta, puede adaptar y filtrar las respuestas.

Almacenamiento en memoria cach de solicitudes GET


Habilitando el almacenamiento en memoria cach de las solicitudes GET, puede
mejorar los tiempos de repuesta de solicitudes de datos de recursos que el mismo
usuario ha sometido anteriormente.

Cuando est habilitado el almacenamiento en memoria cach, los datos se


recuperan de la memoria cach del navegador en lugar de recuperarlos del objeto
de negocio en el servidor. El almacenamiento en memoria cach se utiliza para una
solicitud si el valor del rtulo de entidad (ETag) de la solicitud coincide con el
valor de la solicitud anterior. El almacenamiento en memoria cach es exclusivo
para cada usuario y lo controla la propiedad de cabecera HTTP Cache-Control.

Habilitacin del almacenamiento en memoria cach

Puede habilitar el almacenamiento en memoria cach para recursos individuales


creando propiedades del sistema. Las propiedades del sistema deben tener el
formato mxe.rest.manejador.recurso.cache, donde manejador es mbo o os y recurso es
el nombre del objeto de negocio o estructura de objeto. Las propiedades del
sistema deben tener el valor booleano 1.

Por ejemplo, si se establece la propiedad del sistema


mxe.rest.mbo.workorder.cache en 1, se habilita el almacenamiento en memoria
cach para el objeto de negocio de orden de trabajo.

Integracin de datos con aplicaciones externas 257


Clculo y comparacin del rtulo de entidad

Cuando se realiza una solicitud inicial para un recurso y el almacenamiento en


memoria cach est habilitado para el recurso, la infraestructura genera un valor
de ETag para la respuesta del recurso. El ETag se calcula segn el atributo MBO
rowstamp, que cambia cuando se modifica un MBO. Para una coleccin de
recursos, el ETag se calcula segn un hash de la coleccin de valores de rowstamp
de los MBO en la coleccin.

Por ejemplo, la respuesta contiene lo siguiente en la cabecera HTTP:


HTTP/1.1 200 OK
ETag: "123456789"
Cache-control: private
Content-Length: 12195

Cache-control se marca como private para asegurar que slo el usuario actual
puede reutilizar el contenido de la memoria cach.

Cuando el usuario realiza una solicitud repetida para el mismo recurso de la


coleccin, la solicitud es parecida a la siguiente:
GET maxrest/rest/mbo/po HTTP/1.1
Host: x.y
If-None-Match: "123456789"

El valor de If-None-Match es el valor de ETag de la solicitud anterior. La


infraestructura lee el valor de la cabecera If-None-Match y lo compara con el nuevo
valor de ETag calculado para el recurso de la coleccin para la segunda solicitud.
Si los valores coinciden, el servidor responde con un HTTP 304, que implica que el
contenido de la memoria cach del cliente es vlida y se puede utilizar. La
respuesta incluye la siguiente lnea:
HTTP/1.1 304 No modificado

Si el valor de ETag no coincide con el valor de la cabecera If-None-Match de la


solicitud, se crea la representacin del recurso y se enva al cliente con un nuevo
valor de ETag para que lo utilice el cliente para solicitudes posteriores para el
recurso o la coleccin:
HTTP/1.1 200 OK
ETag: "98999999"
Cache-control: private
Content-Length: 50004

Modalidad de almacenamiento en memoria cach pesimista

La modalidad predeterminada de almacenamiento en memoria cach es pesimista.


En la modalidad pesimista de almacenamiento en memoria cach, las solicitudes se
serializan pero los datos no se envan del servidor al cliente cuando el valor de
ETag de la solicitud coincide con el valor de la solicitud anterior.

Modalidad de almacenamiento en memoria cach optimista

Puede habilitar el almacenamiento en memoria cach optimista estableciendo la


propiedad del sistema mxe.rest.manejador.recurso.optimistic en 1. En la
modalidad de almacenamiento en memoria cach optimista, el valor de ETag se
calcula antes de que se produzca la serializacin de datos. Aunque el
almacenamiento en memoria cach optimista puede mejorar los tiempos de
respuesta significativamente porque no se produce serializacin, requiere ms
memoria, especialmente para consultas que solicitan muchos registros.

258 Integracin de datos con aplicaciones externas


De forma predeterminada, el almacenamiento en memoria cach optimista
determina el valor de ETag a partir del objeto raz de una estructura de objeto. Por
tanto, si una estructura de objeto tiene objetos relacionados que no actualizan el
objeto raz, es posible que el valor de ETag no sea exacto. Puede asegurar que el
valor de ETag se determine a partir de todos los objetos en la estructura de objeto,
incluidos los objetos relacionados, estableciendo la propiedad del sistema
mxe.rest.manejador.recurso.deepetag en 1. Sin embargo, al utilizar esta propiedad
del sistema, la mejora en el rendimiento no es tan grande y se utiliza ms
memoria.

Lmites de tiempo de la memoria cach

Puede configurar el periodo de tiempo de validez de la memoria cach


estableciendo la propiedad del sistema mxe.rest.manejador.recurso.maxage en un
valor en segundos.
Referencia relacionada:
Propiedades de la cabecera HTTP en la pgina 266
Hay varias propiedades de la cabecera HTTP que son relevantes para la API de
REST.
Propiedades del sistema REST en la pgina 275
Las propiedades del sistema estn disponibles para configurar cmo funciona la
API de REST segn sus requisitos especficos.

Mtodos PUT, POST y DELETE


Puede modificar los recursos utilizando los mtodos HTTP PUT, POST y DELETE.

Los mtodos PUT, POST y DELETE se pueden utilizar para modificar los recursos
de objeto de negocio y los recursos de estructura de objeto. Sin embargo, las reglas
empresariales de un objeto pueden impedir que se actualice mediante una solicitud
de la API de REST. Por ejemplo, una solicitud DELETE en un recurso de orden de
trabajo puede fallar si las validaciones del objeto de negocio impiden las
supresiones a causa del estado actual del objeto de negocio.

Sintaxis
mtodo uri HTTP/1.1
parmetro=valor&parmetro=valor&...

mtodo es PUT, POST o DELETE

uri es un URI y los parmetros de consulta asociados

parmetro es un parmetro del recurso que se actualiza

valor es el valor del parmetro

mtodo PUT
Utilice el mtodo PUT para actualizar o insertar un recurso. Una solicitud de
actualizacin debe proporcionar el ID exclusivo del recurso. Para actualizar un
recurso de estructura de objeto, se requiere el ID del objeto principal.

Para actualizar o insertar un recurso de estructura de objeto, puede especificar el


parmetro _action para identificar acciones proporcionadas por la infraestructura
de integracin, por ejemplo, las acciones Change o AddChange.

Integracin de datos con aplicaciones externas 259


Ejemplo: actualizar un activo

El mtodo siguiente actualiza el activo que tiene el ID 1234. La descripcin del


activo se cambia por mi_nueva_descripcin y el tipo se cambia por OPERATING:
PUT maxrest/rest/mbo/asset/1234 HTTP/1.1
description=mi_nueva_descripcin&type=OPERATING

Ejemplo: actualizar un objeto de nivel inferior

El mtodo siguiente actualiza el objeto de negocio assetspec, que es un nivel


inferior de asset. El valor se cambia por nuevo_valor y la descripcin se cambia
por mi_nueva_descripcin:
PUT maxrest/rest/mbo/assetspec/5678 HTTP/1.1
value=mi_nuevo_valor&description=mi_nueva_descripcin

Ejemplo: establecer el contexto de un objeto de nivel superior

Para insertar o actualizar un objeto de negocio de nivel inferior, es posible que


tenga que establecer el contexto del objeto de negocio de nivel superior, como en el
ejemplo siguiente, en el que se actualiza la descripcin de la lnea de OC y se
proporciona el ID de la OC para el contexto:
PUT maxrest/rest/mbo/po/1234/poline/5678 HTTP/1.1
description=mi_nueva_descripcin

Mtodo POST
Utilice el mtodo POST para actualizar o insertar un recurso.

Para actualizar un recurso, debe especificar el ID del recurso. Para crear un


recurso, debe especificar la clave primaria y todos los campos necesarios que no
tienen un valor predeterminado, pero no es necesario ningn ID.

Para actualizar o insertar un recurso de estructura de objeto, puede especificar el


parmetro _action para identificar acciones proporcionadas por la infraestructura
de integracin, por ejemplo, Change o AddChange.

Para actualizar o insertar un objeto de nivel inferior de un recurso de estructura de


objeto, los datos del formulario deben identificar cada aparicin del objeto de nivel
inferior.

Cuando utilice el mtodo POST para crear un recurso, especifique el parmetro de


consulta _ulcr con el valor 1 para que la respuesta incluya un vnculo para que el
cliente acceda al nuevo recurso. De lo contrario, el contenido del recurso se incluye
en la respuesta. El vnculo se incluye en la propiedad de cabecera Ubicacin y el
cdigo de respuesta HTTP es 201 para identificar que se proporciona un vnculo en
lugar de los datos.

Ejemplo: insertar un activo

El mtodo siguiente inserta el activo 127 dentro de la planta BEDFORD utilizando


un recurso de objeto de negocio. El activo y la planta forman la clave primaria.
POST maxrest/rest/mbo/asset HTTP/1.1
assetnum=127&siteid=BEDFORD&description=mi_nueva_descripcin&type=OPERATING

Ejemplo: actualizar un activo especificando su ID

El mtodo siguiente actualiza un activo proporcionando el ID como parte del URI:

260 Integracin de datos con aplicaciones externas


POST maxrest/rest/mbo/asset/1234 HTTP/1.1
description=mi_nueva_descripcin&type=OPERATING

Ejemplo: especificar una accin

El mtodo siguiente utiliza el parmetro _action para especificar una accin


Change:
POST maxrest/rest/mbo/asset/968 HTTP/1.1
_action=Change&description=mi_nueva_descripcin

Ejemplo: actualizar un registro que tiene varios objetos de nivel


inferior

El mtodo siguiente agrega dos lneas de orden de compra a una orden de compra,
y cada lnea tiene dos costes de orden de compra:
POST maxrest/rest/os/mxpo/1234 HTTP/1.1
description=new_po_desc&
poline.id1.polinenum=1&poline.id1.item=ABC&poline.id1.description=nueva_descripcin&
poline.id1.pocost.id1-1.costlinenum=1&poline.id1.pocost.id1-1.gldebitacct=nuew_gl_acct_a&
poline.id1.pocost.id1-2.costlinenum=2&poline.id1.pocost.id1-2.gldebitacct=new_gl_acct_b&
poline.id2.polinenum=2&poline.id2.item=XYZ&poline.id2.description=nueva_descripcin&
poline.id2.pocost.id2-1.costlinenum=1&poline.id2.pocost.id2-1.gldebitacct=new_gl_acct_c&
poline.id2.pocost.id2-2.costlinenum=2&poline.id2.pocost.id2-2.gldebitacct=new_gl_acct_d&

En el ejemplo, los identificadores identifican los parmetros siguientes:

Identificador de
grupo Parmetros identificados
id1 Parmetros que pertenecen a POLINE 1
id1-1 Parmetros que pertenecen a POCOST 1 para POLINE 1
id1-2 Parmetros que pertenecen a POCOST 2 para POLINE 1
id2 Parmetros que pertenecen a POLINE 2
id2-1 Parmetros que pertenecen a POCOST 1 para POLINE 2
id2-2 Parmetros que pertenecen a POCOST 2 para POLINE 2

Referencia relacionada:
Propiedades de la cabecera HTTP en la pgina 266
Hay varias propiedades de la cabecera HTTP que son relevantes para la API de
REST.

Mtodo DELETE
El mtodo DELETE requiere el ID exclusivo del recurso.

Para suprimir un recurso de estructura de objeto, se requiere el ID del objeto


principal.

Ejemplo: suprimir un activo

El mtodo siguiente suprime el activo 1234:


DELETE maxrest/rest/mbo/asset/1234 HTTP/1.1

simultneo simultneas de recursos


Se puede controlar el proceso de forma que slo se actualice o suprima un recurso
si ste no ha sido cambiado por otro usuario o aplicacin despus de la consulta
inicial.

Integracin de datos con aplicaciones externas 261


Si el parmetro _urs se establece en el valor 1, la respuesta de la consulta incluye
el valor de identificador de fila para el recurso.

Ejemplo XML:
<PO rowstamp=1234567890>

Ejemplo JSON:
{"ASSET":{"rowstamp":"1234567890","Attributes":{"ASSETNUM":{"content":"1001"}

Ejemplo JSON en formato compacto:


{"ASSET":{"rowstamp":"1234567890","ASSETNUM":"1001",

Para un recurso de estructura de objeto, se proporciona un valor de identificador


de fila para cada objeto que est en la estructura de objeto.

En una solicitud posterior para actualizar el recurso, el valor de identificador de


fila se puede proporcionar utilizando el parmetro _rowstamp para recursos de
objeto de negocio y de estructura de objeto, o especificando la propiedad de
cabecera If-Match para objetos de negocio.

Durante el proceso, el valor de identificador de fila se compara con el identificador


de fila inicial. Si los valores no coinciden, la operacin de actualizacin o supresin
falla y en la respuesta se devuelve el cdigo de retorno HTTP 412.

Actualizaciones y consultas de mtodos de servicios


Se puede utilizar la API de REST para llamar a mtodos expuestos por los
servicios de aplicaciones.

Los mtodos expuestos por los servicios de aplicaciones normalmente se marcan


con la anotacin JSR (Java Specification Request) 181 @WebMethod, que los expone
como mtodos de servicios web. La API de REST proporciona una vista orientada
a recurso de estos mtodos de servicios.

Los mtodos de servicios estn en las siguientes categoras:


v Mtodos que crean, actualizan o suprimen recursos utilizando el mtodo HTTP
POST y que modifican el estado del sistema al hacerlo.
v Mtodos que captan recursos o colecciones de recursos utilizando el mtodo
HTTP GET y que no modifican el estado del sistema.
v Mtodos que devuelven informacin del sistema, por ejemplo, la fecha o la
versin, utilizando el mtodo HTTP GET y que no acceden a recursos.

Mtodos de servicios que utilizan HTTP POST para actualizar


recursos
Los mtodos pueden crear, actualizar o suprimir recursos utilizando el mtodo
HTTP POST.

Los mtodos que actualizan recursos modifican el estado del sistema.

La cabecera XMO (X-HTTP-Method-Override) califica el HTTP POST. La cabecera


XMO contiene el nombre del mtodo expuesto por la anotacin JSR 181.

262 Integracin de datos con aplicaciones externas


La infraestructura REST busca el servicio propietario del recurso, localiza el
mtodo que se identifica en la cabecera XMO, deserializa los parmetros de
formulario POST, llama al mtodo y devuelve la representacin serializada del
recurso modificado.

Ejemplo: anotar un mtodo

Por ejemplo, el servicio ASSET tiene anotado el mtodo de negocio


moveSingleAsset:
@WebMethod
public void moveSingleAsset(@WSMboKey("ASSET") MboRemote asset, String newLocation,
String newSite, String newParent) throws MXException, RemoteException

El mtodo mueve un activo de su ubicacin actual a una nueva ubicacin y, por


tanto, modifica el estado del sistema. Se utiliza la solicitud siguiente para llamar al
mtodo:
POST maxrest/rest/mbo/asset/1234 HTTP/1.1
x-http-method-override: "moveSingleAsset"

La solicitud de datos de formulario es la siguiente:


~asset=this&~newLocation=Some_where&~newSite=some_site&~newParent=Some_one

Cuando se realiza la solicitud, se produce lo siguiente:


1. Se carga el objeto de negocio de activo que tiene el identificador 1234.
2. Se busca el servicio propietario (ASSET).
3. Se encuentra el mtodo denominado moveSingleAsset.
4. Se referencia el activo que est en el URI al objeto de negocio ASSET mediante
la anotacin @WSMboKey y se proporciona el objeto de negocio como primer
valor de parmetro en la solicitud de datos de formulario.
5. Se deserializan y asignan los valores restantes, segn sus nombres.
6. Se devuelve el activo 1234 modificado al cliente en la representacin solicitada.

Ejemplo: alterar un nombre de parmetro de mtodo

Los nombres de parmetros de formulario son los mismos que los nombres de
parmetros de mtodo, con el prefijo ~ (tilde), a menos que se hayan anotado con
la anotacin @WebParam(name="...").

Por ejemplo, supongamos un caso en el que la definicin de mtodo tiene un


nombre de operacin definido en la anotacin:
@WebMethod(operationName="moveAssetLocation")
public void moveSingleAsset(...)

En este caso, se utiliza la solicitud siguiente para llamar al mtodo:


POST maxrest/rest/mbo/asset/1234 HTTP/1.1
x-method-override: "moveAssetLocation"

La solicitud de datos de formulario es la siguiente:


~asset=this&~newLocation=Some_where&~newSite=some_site&~newParent=Some_one

El valor de la cabecera XMO debe utilizar el valor de atributo especificado en la


anotacin @WebMethod: moveAssetLocation.

Integracin de datos con aplicaciones externas 263


Mtodos de servicios que utilizan HTTP GET para consultar
recursos
El mtodo HTTP GET puede acceder a un nombre de mtodo o nombre de
operacin anotada que empiece con las palabra clave get.

Por ejemplo, el mtodo siguiente del servicio LOGGING devuelve la lista de


objetos de negocio MAXLOGGER como un conjunto de objetos de negocio:
@WebMethod
@WSMboSet(name="MAXLOGGER")
public MboSetRemote getLoggerList()

La solicitud siguiente se utiliza para llamar al mtodo y devuelve la coleccin de


objetos de negocio en la representacin configurada:
GET maxrest/rest/mbo/maxlogger?_qop=getLoggerList HTTP/1.1

En la siguiente variacin del mtodo, se proporciona un nombre de operacin:


@WebMethod(operationName=getFilteredLoggers)
@WSMboSet(name="MAXLOGGER")
public MboSetRemote getLoggerList(String someFilter)

La solicitud siguiente se utiliza para llamar al mtodo:


GET maxrest/rest/mbo/maxlogger?_qop=getFilteredLoggers&~someFilter=... HTTP/1.1

El valor de _qop especifica el nombre anotado. El parmetro someFilter lleva el


prefijo ~ como parte de la solicitud.

Mtodos virtuales

Si un nombre de mtodo no empieza con la palabra clave get, no se le puede


llamar directamente. Por ejemplo, si un cliente intenta llamar a la operacin
moveSingleAsset utilizando HTTP GET, se genera un error HTTP 405. Sin
embargo, puede definir un mtodo virtual utilizando una propiedad del sistema.

Por ejemplo, supongamos que crea la propiedad


mxe.rest.mbo.maxqueue.action.getQueueData y le asigna el valor
_operation=viewQueue|~queueName=this.queuename.

Para el recurso maxqueue, el mtodo virtual getQueueData se correlaciona con la


operacin viewQueue en el servicio propietario de maxqueue, que es el servicio
MIC. El carcter de conducto | separa los atributos. Por tanto, puede acceder a la
operacin viewQueue utilizando la siguiente llamada HTTP GET:
GET /maxrest/rest/mbo/maxqueue/4567?_qop=getQueueData&~selector=...&~count=-1

Puede especificar valores literales o derivados para un parmetro de mtodo.

Por ejemplo, el mtodo viewQueue tiene un parmetro queueName que se


correlaciona con el atributo maxqueue.queuename. maxqueue es el objeto de
negocio en el contexto actual especificado por el URI de GET. Por tanto, la
infraestructura evala el valor derivado this.queuename como
current_mbo_in_context.queuename, que es el valor del atributo queuename de
maxqueue identificado por el ID exclusivo 4567.

Como segundo ejemplo, supongamos que crea la propiedad del sistema


mxe.rest.mbo.po.action.approve y le asigna el valor
_operation=changeStatus|~status=APPR.

264 Integracin de datos con aplicaciones externas


Se crea una operacin virtual denominada approve y se correlaciona con la
operacin denominada changeStatus en OC, que es el servicio propietario del
objeto de negocio de OC. Para mayor simplicidad en el ejemplo, el valor para el
parmetro de estado est protegido en APPR. El valor protegido no sera prctico
porque el valor del parmetro de estado debe poderse convertir.

Si utiliza mtodos virtuales, debe asegurarse de que los mtodos HTTP GET no se
correlacionen con operaciones que modifican el estado del sistema o que tienen
algn otro efecto secundario.

Operacin initiateWorkflow predefinida

La operacin predefinida initiateWorkflow inicia un flujo de trabajo para un


recurso de objeto de negocio. Los dos ejemplos siguientes utilizan esta operacin:
POST /maxrest/rest/mbo/po/6789 HTTP/1.1
x-http-method-override: "initiateWorkflow"

wfname=SOMEWF
POST /maxrest/rest/mbo/po/6789?wfname=SOMEWF HTTP/1.1
x-http-method-override: "initiateWorkflow"

El mtodo inicia la revisin activa de un flujo de trabajo denominado SOMEWF


para el objeto de negocio de orden de compra que tiene el ID exclusivo 6789. Si el
flujo de trabajo tiene un nodo de espera o un nodo de tarea, es posible que sean
necesarios otros pasos o un evento en segundo plano para reiniciarlo, lo cual est
fuera del mbito de la API de REST.

Mtodos de servicios que utilizan HTTP GET para consultar


datos del sistema
Algunas operaciones de servicios recuperan datos del sistema y no estn
orientadas a recursos.

Por ejemplo, el siguiente HTTP GET recupera la fecha y la hora:


GET /maxrest/rest/ss/system/getDate

Se devuelve el XML siguiente:


<getDateResponse xmlns=....>
<result>una fecha ISO 8601</result>
</getDateResponse>

En este otro ejemplo, el siguiente HTTP GET devuelve informacin sobre la


versin:
GET /maxrest/rest/ssm/system/getMXServerVersion

Se devuelve el XML siguiente:


<getMXServerVersionResponse xmlns=...>
<return>Motor de automatizacin de procesos de Tivoli 7.5.0.0 Build 20110127-1121
DB Build V7500-673</return>
<return>...</return>
</getMXServerVersionResponse>

Para obtener una lista de todos los servicios, puede utilizar el siguiente mtodo
GET:
GET /maxrest/rest/ss

Integracin de datos con aplicaciones externas 265


Puede profundizar ms en cada uno de los servicios de la lista para obtener una
lista de las operaciones que se pueden llamar. Por ejemplo, el mtodo siguiente
devuelve las operaciones para el servicio que se llama system:
GET /maxrest/rest/ss/system

Propiedades de la cabecera HTTP


Hay varias propiedades de la cabecera HTTP que son relevantes para la API de
REST.
Tabla 35. Propiedades de la cabecera HTTP de la API de REST
Propiedad Descripcin
Accept La proporciona el solicitante y se utiliza en la negociacin de
contenido para determinar el formato de la respuesta.
Accept-Language Proporciona los datos en el idioma solicitado. Esta propiedad slo
se aplica a campos de aplicacin que dan soporte a mltiples
idiomas. Los valores que se proporcionan (como EN o FR) deben
estar soportados por la aplicacin.

El parmetro de consulta _lang puede proporcionar el cdigo de


idioma y la misma prestacin que la propiedad de cabecera
Accept-Language.

El parmetro de consulta _locale habilita que los nmeros y las


fechas se devuelvan en el entorno local del solicitante.
Cache-Control Notifica al solicitante si est habilitado el almacenamiento en
memoria cach.

Si est habilitado, la propiedad Cache-Control tiene el valor private


para asegurar que slo el usuario actual puede reutilizar el
contenido en la memoria cach.

Cuando no est habilitado el almacenamiento en memoria cach, la


propiedad Cache-Control tiene el valor no-cache.

La solicitud del cliente puede contener la cabecera Cache-Control:


no-cache para inhabilitar el almacenamiento en memoria cach para
una solicitud especfica, aunque est habilitado para el recurso.
Content-Length Contiene la longitud de la respuesta.
Content-Type Notifica al solicitante del formato de la representacin que se enva.
Por ejemplo, puede especificarse el valor application/xml (para
formato de respuesta XML) o application/json (para formato de
respuesta JSON).
ETag Si el almacenamiento en memoria cach est habilitado, contiene el
valor Etag para el recurso que se solicita. La memoria cach del
navegador del solicitante conserva el valor para futuras solicitudes
para el mismo recurso.
If-None-Match Si el almacenamiento en memoria cach est habilitado, contiene el
valor Etag para el recurso que se ha solicitado anteriormente, de
forma que la API pueda determinar si el contenido de la memoria
cach puede volver a utilizarse.
Last-Modified Notifica al solicitante la fecha y hora en las que el recurso se ha
modificado por ltima vez.
Location Contiene el enlace a un recurso (cdigo HTTP 201) creado por un
HTTP POST.

266 Integracin de datos con aplicaciones externas


Tabla 35. Propiedades de la cabecera HTTP de la API de REST (continuacin)
Propiedad Descripcin
_rlid Contiene el ID de la coleccin de recursos y se utiliza para
desplazamiento dentro de la sesin.

Conceptos relacionados:
Almacenamiento en memoria cach de solicitudes GET en la pgina 257
Habilitando el almacenamiento en memoria cach de las solicitudes GET, puede
mejorar los tiempos de repuesta de solicitudes de datos de recursos que el mismo
usuario ha sometido anteriormente.
Desplazamiento dentro de la sesin en la pgina 256
Cuando se desplaza por las pginas de datos, se puede mejorar el rendimiento
manteniendo una coleccin de recursos.
Referencia relacionada:
Mtodo GET en la pgina 245
Utilice el mtodo GET para recuperar recursos de objeto de negocio y recursos de
estructura de objeto.
Parmetros de consulta REST en la pgina 271
Utilizando parmetros de consulta, puede adaptar y filtrar las respuestas.
Mtodo POST en la pgina 260
Utilice el mtodo POST para actualizar o insertar un recurso.
Propiedades del sistema REST en la pgina 275
Las propiedades del sistema estn disponibles para configurar cmo funciona la
API de REST segn sus requisitos especficos.

Cdigos de respuesta
Los mensajes de los recursos REST se propagan de la instancia del recurso a la
respuesta.

Los siguientes cdigos de respuesta HTTP los implementa la API de REST.


Tabla 36. Cdigos de respuesta HTTP
Cdigo HTTP Causa
200 xito.
201 xito. La respuesta contiene un vnculo.
304 xito. Los datos se recuperan de la memoria cach.
400 No se puede recibir la solicitud a causa de un URI no vlido, por
ejemplo.
401 Se ha producido una violacin de autorizacin a causa de la
configuracin.
403 Se ha producido una violacin de autorizacin porque el recurso est
bloqueado por una propiedad del sistema
mxe.rest.tiporecurso.blockaccess.
404 No se puede encontrar el recurso o se ha proporcionado un tipo de
recurso no vlido.
405 No se puede utilizar el mtodo HTTP para el recurso. Por ejemplo, no
puede utilizar el mtodo DELETE en un conjunto de objetos de negocio.
406 La representacin solicitada no est soportada.
412 Otro usuario est actualizando el recurso.

Integracin de datos con aplicaciones externas 267


Tabla 36. Cdigos de respuesta HTTP (continuacin)
Cdigo HTTP Causa
500 Todos los dems errores.

Los mensajes dan soporte a los idiomas soportados por motor de automatizacin
de procesos de Tivoli.

Seguridad en la API de REST


motor de automatizacin de procesos de Tivoli proporciona la capa de
autenticacin y el soporte de autorizacin para la API de REST.

No se produce ningn proceso especfico relacionado con la autenticacin dentro


de la infraestructura de la API de REST.

La capa de autenticacin puede proporcionar autenticacin J2EE o autenticacin


nativa para la API de REST, y el servidor de aplicaciones proporciona soporte
HTTPS.

autenticacin J2EE

Para utilizar la autenticacin bsica HTTP, modifique el archivo web.xml para el


mdulo web maxrest, quitando el smbolo de comentario de las lneas siguientes:
<!--
<security-constraint>
<web-resource-collection>
<web-resource-name>REST Servlet for Web App</web-resource-name>
<description>Object Structure Service Servlet (HTTP POST)
accessible by authorized users</description>
<url-pattern>/rest/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description>Roles that have access to Object Structure
Service Servlet (HTTP POST)</description>
<role-name>maximouser</role-name>
</auth-constraint>
<user-data-constraint>
<description>data transmission guarantee</description>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>

<login-config>
<auth-method>BASIC</auth-method>
<realm-name>REST Web Application Realm</realm-name>
</login-config>
-->

La seccin <security-constraint> anterior hace referencia a un solo rol,


maximouser, que se define en la seccin <security-role> del archivo. De forma
predeterminada, la seccin <security-role> tiene smbolos de comentario:
<security-role>
<description>MAXIMO Application Users</description>
<role-name>maximouser</role-name>
</security-role>

Adems, cambie el valor de useAppServerSecurity, de 0 a 1:

268 Integracin de datos con aplicaciones externas


<description>Indicates whether to use Application Server
security or not</description>
<env-entry-name>useAppServerSecurity</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>0</env-entry-value>
</env-entry>

Autenticacin nativa

Si se utiliza autenticacin nativa, una solicitud puede proporcionar las credenciales


especificando una propiedad de cabecera MAXAUTH que contenga un usuario y
una contrasea codificados en Base64.

Si son necesarias solicitudes de inicio de sesin o cierre de sesin, utilice las


solicitudes siguientes:
GET /maxrest/rest/login
GET /maxrest/rest/logout

Comunicacin entre mdulos

Puede comunicarse con la API de REST desde los mdulos web de maximo y
maxrest.

En la comunicacin entre mdulos, normalmente no quiere que el usuario vuelva a


entrar las credenciales. Si utiliza la autenticacin de servidor de aplicaciones, este
problema no se produce porque el navegador propaga la seal de autenticacin a
los mdulos web para cada solicitud. Para autenticacin nativa, la API de REST
est disponible como una biblioteca (commonweb) a la que puede acceder
cualquier mdulo web.

Por ejemplo, el siguiente URI consulta un activo utilizando el mdulo web


maxrest: http://site.example.com:9999/maxrest/rest/mbo/asset/46.

Por el contrario, el siguiente URI consulta un activo utilizando el mdulo web de


la interfaz de usuario: http://site.example.com:9999/maximo/rest/mbo/asset/46.

Autorizacin

Para estructuras de objeto, puede conectar un recurso a una aplicacin de


autorizacin en la ficha Estructura de objeto de la aplicacin Estructuras de objetos.
Si especifica una aplicacin de autorizacin, esto afectar a todos los procesos de
integracin que utilizan la estructura de objeto.

Para objetos de negocio, puede conectar un recurso a una aplicacin de


autorizacin en la ventana Autorizacin de aplicaciones para objetos de la
aplicacin Estructuras de objetos. La aplicacin autoriza todas las solicitudes de la
API de REST para el recurso MBO especfico.

Puede restringir el acceso a recursos especificando una lista de nombres de recurso


en las propiedades de sistema mxe.rest.mbo.blockaccess y
mxe.rest.os.blockaccess.
Referencia relacionada:
Propiedades del sistema REST en la pgina 275
Las propiedades del sistema estn disponibles para configurar cmo funciona la
API de REST segn sus requisitos especficos.

Integracin de datos con aplicaciones externas 269


Personalizacin de la API de REST
Puede personalizar la API de REST para dar soporte a distintas representaciones
de recursos, por ejemplo, los formatos XHTML o Atom. Tambin puede
personalizarse aadiendo atributos a la representacin de un recurso de objeto de
negocio o cambiando la estructura de una representacin.

Para dar soporte a una nueva representacin de recurso, debe proporcionar


serializadores personalizados que den soporte a los nuevos formatos.

Si aade atributos, por ejemplo, un atributo al recurso de MBO de orden de trabajo


en representacin JSON, debe aadir un serializador JSON personalizado para el
recurso. Para dar soporte a parmetros de consulta adicionales, debe ampliar el
manejador de SO o MBO.

Asegrese de que las personalizaciones no afectan a los usuarios o procesos de


negocio existentes. Para evitar efectos adversos, puede crear una instancia aparte
de la API de REST para los tipos de recurso.

Para cualquier personalizacin, los archivos de clase deben incluirse en el archivo


EAR de la aplicacin como parte de la biblioteca commonweb.

Ejemplo

Los pasos siguientes personalizan la API de REST:


1. Cree una propiedad del sistema copiando la propiedad mxe.rest.handler.mbo,
denominndola mxe.rest.handler.abcmbo y asignndole el valor
com.ibm.tivoli.maximo.rest.ABCMboResourceRequestHandler.
Si la personalizacin es genrica a todos los MBO, la clase personalizada ampla
el manejador de MBO base. El contexto de URI es abcmbo y, por tanto, los URL
tienen este formato: /maxrest/rest/abcmbo/workorder?...
Este paso crea una instancia de la API de REST para el recurso de MBO.
2. Para manejar parmetros de consulta especficos del MBO de orden de trabajo,
proporcione un manejador personalizado creando la propiedad del sistema
mxe.rest.handler.abcmbo.workorder y asignndole el valor
com.ibm.tivoli.maximo.rest.WOMboResourceRequestHandler.
La clase podra ampliar el manejador de MBO predeterminado utilizando
ABCMboResourceRequestHandler para MboResourceRequestHandler, por
ejemplo.
3. Para personalizar el serializador JSON para el MBO de orden de trabajo,
registre el serializador creando la propiedad del sistema
mxe.rest.serializer.abcmbo.workorder.json y asignndole el valor
com.ibm.tivoli.maximo.rest.WOMboJSONSerializer.
4. Para dar soporte a un nuevo formato, como Atom, aada el valor atom a la
propiedad del sistema mxe.rest.supported.formats. El nombre atom identifica
de forma exclusiva al serializador para el formato. Puede especificar cualquier
nombre, siempre y cuando no exista un serializador con ese nombre.
5. Aada una clase de serializador creando la propiedad del sistema
mxe.rest.serializer.abcmbo.atom y asignndole el valor
com.ibm.tivoli.maximo.rest.MboATOMSerializer.
6. Para identificar el nuevo formato utilizando la cabecera HTTP Accept,
proporcione la correlacin del tipo mime creando la propiedad del sistema
mxe.rest.format.atom.mimetypes y asignndole el valor application/atom+xml.

270 Integracin de datos con aplicaciones externas


7. Establezca el formato predeterminado asignando el valor atom a la propiedad
del sistema mxe.rest.abcmbo.defaultformat.

Siguiendo estos pasos, la personalizacin no afecta a otros manejadores de recursos


de MBO o SO porque est dentro del contexto del manejador de abcmbo.

Parmetros de consulta REST


Utilizando parmetros de consulta, puede adaptar y filtrar las respuestas.

Puede especificar uno o ms de los siguientes parmetros de consulta para


controlar los datos que se seleccionan. Los valores booleanos deben establecerse en
1 para verdadero (true) o en 0 para falso (false).
Tabla 37. Parmetros de consulta REST
Nombre Tipo o valor Descripcin Predeterm.
_compact Booleano Si es true, los datos JSON se representan en una False
representacin compacta.
_dropnulls Booleano Si es true, los atributos se serializan slo si el True
objeto de negocio o el recurso de estructura de
objeto tiene un valor. Si es falso, se serializan
todos los atributos, aunque sean nulos.
_exactmatch Booleano Si es true, se evalan los valores de parmetro False
para una coincidencia exacta. Si es false, se
produce una evaluacin LIKE.
_excludecols Lista separada por Excluye los atributos listados de la respuesta del
comas de atributos MBO recurso. Slo es vlido para el tipo de recurso de
objeto de negocio.
_fd Especifica un dominio de tabla de aplicacin para
aplicar como filtro cuando se ejecuta la consulta.
Puede utilizarse con los parmetros _fdorg y
_fdsite.
_fdorg Especifica un ID de organizacin para aplicar
como filtro cuando se ejecuta la consulta. Debe
utilizarse con el parmetro _fd.
_fdsite Especifica un ID de planta para aplicar como
filtro cuando se ejecuta la consulta. Debe
utilizarse con el parmetro _fd.
_format json o xml Especifica la representacin de la respuesta del xml
recurso.
_generic Booleano Si es true, los datos del campo de respuesta del False
recurso se devuelven en un formato genrico.
Slo se aplica a datos JSON.
_glc Booleano Si es true, los datos del componente libro mayor False
(GL) se incluyen para todos los campos de
aplicacin de Plan contable del objeto de negocio.

En la mayora de campos de Plan contable, se


incluyen los datos de componente individual. De
forma predeterminada, este parmetro omite los
datos del componente y, por tanto, puede mejorar
el rendimiento.
_includecols Lista separada por Especifica los atributos que se incluyen como
comas de atributos MBO parte de la respuesta del recurso. Slo es vlido
para el tipo de recurso de objeto de negocio.

Integracin de datos con aplicaciones externas 271


Tabla 37. Parmetros de consulta REST (continuacin)
Nombre Tipo o valor Descripcin Predeterm.
_keys Booleano Si es true, slo se serializan los atributos clave del False
objeto de negocio. Los dems atributos se
descartan de la respuesta del recurso.
_lang Especifica el cdigo de idioma del solicitante.

Si no se especifica este parmetro, se utiliza el


parmetro accept-language de la cabecera HTTP
para determinar la preferencia de idioma del
solicitante. Si la cabecera HTTP no especifica el
parmetro, se utiliza el valor del usuario de
integracin predeterminado.
_lid y _lpwd Especifican un ID de usuario y una contrasea de
inicio de sesin. Slo para uso de desarrollo y
prueba. Slo es vlido cuando est configurada la
autenticacin nativa.
_locale Booleano Si es true, se devuelve la versin de texto False
especfica del entorno local del atributo de objeto
de negocio, junto con el valor de tipo firme.
_maxItems Numrico Especifica el nmero mximo de objetos de
negocio que se serializan en la coleccin de
recursos. Utilice este parmetro con el parmetro
_rsStart para buscar la respuesta en colecciones
de recursos de gran tamao. El nombre de
parmetro es sensible a las maysculas y
minsculas.
_md Booleano Si es true, se devuelve la informacin de False
metadatos como, por ejemplo, oculto, slo lectura
y los valores necesarios.
_opmodeor Booleano Si es true, se aplica el operador OR entre varios False
parmetros de atributo. Si es false, se aplica el
operador AND.
_orderby Especifica cmo se ordenan los campos de un
recurso. El valor puede ser asc (ascendente) o
desc (descendente). Para un recurso de estructura
de objeto, este parmetro slo se puede utilizar
para los campos de objetos de negocio que estn
en el primer o segundo nivel de la estructura de
objeto.
_orderbyasc Lista separada por Especifica los atributos que se utilizan para el
comas de atributos MBO orden por clusula en orden ascendente.
_orderbydesc Lista separada por Especifica los atributos que se utilizan para el
comas de atributos MBO orden por clusula en orden descendente.
_page Especifica el nmero de pgina que debe devolver
la solicitar. Este parmetro slo se puede utilizar
si se crea una propiedad del sistema pagesize
para el recurso que se est consultando.
_qop Especifica un mtodo de consulta para la
operacin GET. Slo es vlido para recursos MBO.

272 Integracin de datos con aplicaciones externas


Tabla 37. Parmetros de consulta REST (continuacin)
Nombre Tipo o valor Descripcin Predeterm.
_rcol.alias Especifica un campo de nombre de relacin que
se devuelve como parte de la respuesta a la
consulta. El alias es el nombre de alias del atributo
relacionado.

Al especificar este parmetro, puede consultar


campos que estn relacionados con el recurso
MBO que se consulta. Por ejemplo, en el
parmetro _rcol.polinecost=poline.linecost,
polinecost es el nombre de alias y
poline.linecost es el atributo relacionado.
_retainmbos Booleano Slo para uso interno.
_rlid Booleano Especifica el ID de una coleccin de recursos. Este
parmetro slo se utiliza para desplazamiento
dentro de la sesin.
_rlrq Booleano Si es true, se libera la memoria cach para la False
coleccin de recursos especificada por el
parmetro _rlid.
_rootonly Booleano Si es true, slo se serializa el objeto principal de la False
estructura de objeto. Slo es vlido para el tipo de
recurso de estructura de objeto.
_rowstamp Para solicitudes de actualizacin, puede
proporcionarse el objeto de negocio de
identificador de fila para asegurarse de que el
objeto que se est actualizando no se ha
modificado desde que se ha consultado.
_rsStart Numrico Especifica el ndice de inicio del MBO en la 0
coleccin de recursos que serializa la respuesta
del recurso. El nombre de parmetro es sensible a
las maysculas y minsculas.
_tc Booleano Si es true, se calcula el nmero total de registros y False
ese nmero se asigna al atributo rsTotal. El
clculo incrementa el tiempo de proceso, segn el
tamao de la coleccin de recursos.
_tz Especifica el huso horario de la solicitud. Utilice
este parmetro para ejecutar correctamente
consultas relacionadas con la fecha cuando el
huso horario de la solicitud es distinto del huso
horario de la aplicacin.
_ulcr Booleano Si es true, un mtodo POST devuelve un enlace al False
nuevo recurso en la propiedad Location de la
cabecera HTTP.
_urs Booleano Si es true, una respuesta de consulta incluye el
valor de identificacin de fila para el recurso.
_usc Booleano Si es true, se utiliza el desplazamiento en sesin y False
la respuesta HTTP incluye el ID de coleccin de
recursos utilizando la propiedad _rlid.

Integracin de datos con aplicaciones externas 273


Tabla 37. Parmetros de consulta REST (continuacin)
Nombre Tipo o valor Descripcin Predeterm.
_uw Especifica una clusula SQL WHERE para que se
utilice como criterio de seleccin. La clusula
debe ser compatible con una clusula que opere
en bsquedas avanzadas en aplicaciones. Utilcela
con la propiedad del sistema
mxe.rest.whereclause.usepolicy.
_verbose Booleano Si es true, la respuesta del recurso para False
representacin JSON se devuelve como
formateada.
_vt Booleano Si es true, se valida el XML para asegurar que los True
caracteres XML sean vlidos. Si establece este
parmetro en false, no se ejecuta la validacin y,
por tanto, es posible que el rendimiento sea ms
alto.

Si no se especifica este parmetro, la propiedad


del sistema mxe.int.validatexml determina si se
valida el XML.

Conceptos relacionados:
Desplazamiento dentro de la sesin en la pgina 256
Cuando se desplaza por las pginas de datos, se puede mejorar el rendimiento
manteniendo una coleccin de recursos.
Parmetros _format y _compact en la pgina 254
La API de REST soporta las representaciones (formatos) XML y JSON. Puede
utilizar el parmetro _format o la negociacin de contenido para especificar una
representacin de recurso. Puede utilizar el parmetro _compact para especificar el
formato JSON compacto.
Parmetro _dropnulls en la pgina 253
Establezca el parmetro _dropnulls en false para incluir campos que tienen un
valor nulo en la respuesta de la consulta.
Parmetros _includecols y _excludecols en la pgina 253
Utilice los parmetros _includecols y _excludecols para controlar el contenido de
los atributos que se devuelven en respuesta a una consulta.
Parmetros _rsStart y _maxItems en la pgina 251
Los parmetros _rsStart y _maxItems se utilizan juntos para controlar el nmero
de registros devueltos para una solicitud y para permitir la paginacin a travs de
una gran volumen de registros.
Parmetro _opmodeor en la pgina 250
Utilice el parmetro _opmodeor para evaluar varios campos utilizando una
condicin OR entre los valores en lugar de la condicin predeterminada AND.
Parmetro _orderbyasc en la pgina 252
El parmetro _orderbyasc controla el orden de clasificacin de los datos devueltos.

Referencia relacionada:
Propiedades de la cabecera HTTP en la pgina 266
Hay varias propiedades de la cabecera HTTP que son relevantes para la API de
REST.
Propiedades del sistema REST en la pgina 275
Las propiedades del sistema estn disponibles para configurar cmo funciona la
API de REST segn sus requisitos especficos.

274 Integracin de datos con aplicaciones externas


Propiedades del sistema REST
Las propiedades del sistema estn disponibles para configurar cmo funciona la
API de REST segn sus requisitos especficos.

Propiedades del sistema predefinidas

Utilice las propiedades del sistema siguientes para configurar cmo funciona la
API de REST. Todas las propiedades empiezan por mxe.rest, por ejemplo,
mxe.rest.format.json.mimetypes.
Tabla 38. Propiedades del sistema REST predefinidas
Nombre mxe.rest.propiedad Descripcin Valor predeterminado
format.json.mimetypes Lista separada por comas de tipos application/json
MIME soportados para JSON que
se incluye en la propiedad de
cabecera HTTP Accept. El valor
slo se utiliza para negociacin de
contenido y puede ser sustituido
por parmetros de consulta que
especifican un formato.
format.xml.mimetypes Lista separada por comas de tipos application/xml,text/xml
MIME soportados para XML que
se incluye en la propiedad de
cabecera HTTP Accept. El valor
slo se utiliza para negociacin de
contenido y puede ser sustituido
por parmetros de consulta que
especifican un formato.
handler.mbo El archivo de clase de manejador com.ibm.tivoli.maximo.rest.
de recursos para objetos de MboResourceRequestHandler
negocio.
handler.os El archivo de clase de manejador com.ibm.tivoli.maximo.rest.
de recursos para estructuras de OSResourceRequestHandler
objeto.
handler.ss El archivo de clase de manejador com.ibm.tivoli.maximo.rest.
de servicio estndar que da MaxServiceResourceRequestHandler
soporte al acceso a los datos del
sistema.
mbo.blockaccess Lista separada por comas de
objetos de negocio a los que la API
de REST no puede acceder. Esta
propiedad sustituye
temporalmente las restricciones de
autorizacin configuradas.
mbo.defaultformat La representacin predeterminada xml
para todos los objetos de negocio.
Esta propiedad puede sustituirse
por el valor de la cabecera Accept
que se utiliza en la negociacin de
contenido y por los parmetros de
consulta que especifican una
representacin.
mbo.imglib.defaultformat La representacin predeterminada image
de REST para el objeto de negocio
IMGLIB.

Integracin de datos con aplicaciones externas 275


Tabla 38. Propiedades del sistema REST predefinidas (continuacin)
Nombre mxe.rest.propiedad Descripcin Valor predeterminado
os.blockaccess Lista separada por comas de
estructuras de objetos a las que la
API de REST no puede acceder.
Esta propiedad sustituye
temporalmente las restricciones de
autorizacin configuradas.
os.defaultformat La representacin predeterminada xml
para todas las estructuras de
objetos. Esta propiedad puede
sustituirse por el valor de la
propiedad de cabecera Accept que
se utiliza en la negociacin de
contenido y por los parmetros de
consulta que especifican una
representacin.
serializer.mbo.imglib.image La clase de serializador para el com.ibm.tivoli.maximo.rest.
objeto de negocio IMGLIB que est ImageLibSerializer
en formato de imagen.
serializer.mbo.json La clase de serializador para com.ibm.tivoli.maximo.rest.
objetos de negocio que estn en MboJSONSerializer
formato JSON.
serializer.mbo.xml La clase de serializador para com.ibm.tivoli.maximo.rest.
objetos de negocio que estn en MboXMLSerializer
formato XML.
serializer.os.json La clase de serializador para com.ibm.tivoli.maximo.rest.
estructuras de objetos que estn en OSJSONSerializer
formato JSON.
serializer.os.xml La clase de serializador para com.ibm.tivoli.maximo.rest.
estructuras de objetos que estn en OSXMLSerializer
formato XML.
serializer.ss.json La clase de serializador para datos com.ibm.tivoli.maximo.rest.
del sistema de servicio estndar ServiceMethodResponseJSONSerializer
que estn en formato JSON.
serializer.ss.xml La clase de serializador para datos com.ibm.tivoli.maximo.rest.
del sistema de servicio estndar ServiceMethodResponseXMLSerializer
que estn en formato XML.
ss.defaultformat La representacin predeterminada xml
para todos los datos del sistema de
servicio estndar. Esta propiedad
puede sustituirse por el valor de la
propiedad de cabecera Accept que
se utiliza en la negociacin de
contenido y por los parmetros de
consulta que especifican una
representacin.
supportedformats La lista de representaciones xml,json,image
soportadas.
webappurl El URL para la aplicacin web de
autenticacin de seal. Esta
propiedad es slo para uso
interno.

276 Integracin de datos con aplicaciones externas


Tabla 38. Propiedades del sistema REST predefinidas (continuacin)
Nombre mxe.rest.propiedad Descripcin Valor predeterminado
whereclause.usepolicy Especifica cmo se utiliza el parse
parmetro de consulta _uw. Si el
valor es parse, se inspecciona la
clusula SQL WHERE para
impedir la vulnerabilidad
Cross-site Scripting y los ataques
de inyeccin SQL. Si el valor es
noparse, no se inspecciona la
clusula. Cualquier otro valor
causa que se haga caso omiso de la
clusula WHERE.

Propiedades opcionales del sistema para el almacenamiento en


memoria cach

Puede crear las propiedades siguientes para configurar el almacenamiento en


memoria cach en la API de REST. Todas las propiedades deben empezar por
mxe.rest, por ejemplo, mxe.rest.mbo.wo.cache.
Tabla 39. Propiedades opcionales del sistema REST para el almacenamiento en memoria cach
Nombre mxe.rest.propiedad Tipo Descripcin Ejemplos
manejador.recurso.cache Booleano Permite el almacenamiento en mxe.rest.mbo.wo.cache
memoria cach pesimista para establecido en 1
el manejador y recurso
especificados. mxe.rest.os.mxwo.cache
establecido en 1
El valor predeterminado es
false.
manejador.recurso.deepetag Booleano Si est habilitado el
almacenamiento en memoria
cach optimista, especifica que
se evalan todos los objetos en
la estructura de objeto, en lugar
de slo el objeto raz.

El valor predeterminado es
false.

Integracin de datos con aplicaciones externas 277


Tabla 39. Propiedades opcionales del sistema REST para el almacenamiento en memoria cach (continuacin)
Nombre mxe.rest.propiedad Tipo Descripcin Ejemplos
manejador.recurso.optimistic Booleano Permite el almacenamiento en mxe.rest.mbo.wo.optimistic
memoria cach optimista para establecido en 1
el manejador y recurso
especificados. Se aplica a mxe.rest.os.mxwo.optimistic
colecciones de uno o ms establecido en 1
recursos.

Para una estructura de objeto,


slo se evala el objeto de
negocio principal para un
cambio de estado. No se
evalan los objetos de negocio
de nivel inferior. Los atributos
no persistentes de un objeto de
negocio se excluyen de las
evaluaciones de cambios de
estado.

Si habilita el almacenamiento en
memoria cach optimista,
tambin puede especificar la
propiedad del sistema
manejador.recurso.deepetag.

El valor predeterminado es
false.
manejador.recurso.maxage Entero, en Especifica el periodo mximo mxe.rest.mbo.wo.maxage
segundos de tiempo, en segundos, que establecido en 60
una coleccin de recursos se
mantendr en la memoria mxe.rest.os.mxwo.maxage
cach. establecido en 60

Conceptos relacionados:
Almacenamiento en memoria cach de solicitudes GET en la pgina 257
Habilitando el almacenamiento en memoria cach de las solicitudes GET, puede
mejorar los tiempos de repuesta de solicitudes de datos de recursos que el mismo
usuario ha sometido anteriormente.
Representaciones soportadas en la pgina 244
La API de REST soporta XML y JSON como representaciones. Las representaciones
estn soportadas por la implementacin de clases de serializador que estn
registradas en las propiedades del sistema.
Referencia relacionada:
Parmetros de consulta REST en la pgina 271
Utilizando parmetros de consulta, puede adaptar y filtrar las respuestas.
Propiedades de la cabecera HTTP en la pgina 266
Hay varias propiedades de la cabecera HTTP que son relevantes para la API de
REST.

Llamadas de servicios externos


Se puede llamar a las API de REST externas utilizando un punto final HTTP
configurado.

El manejador de HTTP que da soporte a cualquier punto final HTTP configurado


permite utilizar servicios basados en REST que utilizan una carga til XML y que

278 Integracin de datos con aplicaciones externas


utilizan mtodos POST y GET. Puede configurarse el punto final para enviar
mensajes a travs de un canal de publicacin o un canal de invocacin.

integracin de OSLC
Maximo Integration Framework admite la comparticin de datos de ciclo de vida
entre aplicaciones basndose en la integracin de Open Services for Lifecycle
Collaboration (OSLC) Con la integracin de OSLC, una aplicacin de consumidor
puede realizar, crear, actualizar y suprimir operaciones en los recursos de datos
que una aplicacin de proveedor proporciona para la integracin a travs de un
proveedor de servicios de OSLC.

Una aplicacin de proveedor de OSLC proporciona los contenedores de los


recursos de datos asociados para la integracin a travs de los proveedores de
servicios. Las aplicaciones de consumidor luego utilizan estos proveedores de
servicios para consultar los recursos y para crear, actualizar y suprimir los datos de
recursos. En la figura siguiente se muestran las interacciones tpicas de una
integracin de OSLC. La aplicacin de consumidor enva una consulta al
proveedor de servicios para los datos de recurso. El proveedor de servicios
proporciona en respuesta un enlace a los datos de recurso. La aplicacin de
consumidor utiliza el enlace para crear, actualizar o suprimir los datos de recurso.

Aplicacin del Aplicacin


proveedor de OSLC consumidora OSLC

Consultar interaccin
Proveedor de
servicios
Enlace de recurso devuelto

Crear interaccin
Datos de recursos Enlaces de recursos

Enlace de recurso devuelto

La aplicacin consumidora utiliza el enlace del


recurso para actualizar o eliminar un recurso

Informacin relacionada:
Comunidad de Open Services for Lifecycle Collaboration
OSLC on OASIS Open Standards Network
Comunidad de la plataforma OSLC (IBM)

Implementacin de OSLC en Maximo Asset Management


Las especificaciones de OSLC para representar e intercambiar los datos enlazados
entre aplicaciones se mantienen y se desarrollan mediante el consorcio OASIS.
Maximo Asset Management admite la versin 2.0 de la especificacin central de
OSLC que puede habilitar y ampliar con Maximo Integration Framework.

Las especificaciones de OSLC definen cmo se representan las aplicaciones de ciclo


de vida, el enlace y acceso a los recursos basndose en estndares establecidos de
internet y datos enlazados incluida la arquitectura REST (Representational State
Transfer), las especificaciones RDF (infraestructura de descripcin de recursos) y

Integracin de datos con aplicaciones externas 279


los mtodos HTTP (protocolo de transferencia de hipertexto). Las especificaciones
estn diseadas para ser de por s mnimas para solucionar los casos de uso de
integracin comn y los integradores pueden ampliar estas especificaciones o
aadir unas nuevas para solucionar casos prcticos especficos de integracin.

Maximo Asset Management est configurado como un proveedor de OSLC con los
componentes siguientes:
v En la aplicacin Recursos OSLC, se configuran los recursos de datos para la
integracin. Cada recurso de OSLC se basa en una estructura de objeto que
especifica el objeto de negocio primario y los objetos de negocio hijo asociados
que se pueden integrar.
v Los recursos OSLC se generan como documentos de forma que describen los
objetos de recurso en formato RDF/XML. Un documento de forma indica cules
son las caractersticas necesarias de un recurso y puede describir tambin
muchos aspectos del objeto de recurso, incluidas sus dependencias, atributos y
propiedades. Un documento de forma de recurso puede incluir enlaces a los
documentos de forma para los objetos hijo del recurso.
v Los recursos estn agrupados por dominio funcional. Las agrupaciones
funcionales se pueden basar en las especificaciones de dominio existentes
desarrolladas y mantenidas por el grupo OASIS OSLC. Los integradores pueden
ampliar estas especificaciones de dominio existentes o crear especificaciones de
dominio adicionales para admitir los requisitos empresariales.
v Los recursos de un dominio se ponen a disposicin de los consumidores de
OSLC mediante los proveedores de servicios.
v Se admite un proveedor de servicios nico para cada dominio. Los proveedores
de servicios admiten la fbrica de creacin OSLC y las operaciones de capacidad
de consulta que proporcionan a los consumidores de OSLC el URI para crear o
buscar los recursos admitidos.
v La infraestructura de seguridad admite la autenticacin y autorizacin para los
servicios OSLC. Se admiten las autenticaciones nativa de Maximo Asset
Management y J2EE. La estructura de objeto proporciona control de autorizacin
de un recurso y se aplican autorizaciones a nivel de aplicacin y basadas en
usuario.

Un consumidor de OSLC utiliza los mtodos HTTP y los datos de cabecera


siguientes para interactuar con el proveedor de OSLC:
v Enva una solicitud GET para realizar el inicio de sesin si se requiere un inicio
de sesin explcito e incluye una propiedad de autorizacin en la cabecera HTTP
si se utiliza autorizacin nativa. Si es necesario un cierre de sesin explcito, se
utiliza tambin una solicitud GET.
v Enva solicitudes GET que incluyen parmetros de consulta de OSLC a un URI
de proveedor de servicios para consultar los recursos OSLC.
v Enva una solicitud POST para crear una instancia de un recurso OSLC. La
solicitud incluye un documento JSON que se ajusta al documento de forma
publicado para el recurso OSLC. Cuando se crea la instancia de recursos, el
proveedor de OSLC enva una respuesta HTTP que incluye el URI del nuevo
recurso.
v Enva una solicitud PUT o PATCH para actualizar un recurso OSLC. Una
solicitud PUT actualiza todo el recurso. Una solicitud PATCH actualiza parte del
recurso.

280 Integracin de datos con aplicaciones externas


v Utiliza etiquetas de entidad (ETags) en las cabeceras HTTP para asegurarse de
que una entidad de recurso es actual y puede combinar ETags con cabeceras
If-Match en las solicitudes PUT y PATCH para habilitar las actualizaciones
condicionales.
v Puede solicitar una paginacin estable en las solicitudes GET para la
recopilacin de recursos de modo que la respuesta redirige a la aplicacin de
consumidor a un URI donde se cargan varias pginas. Para los recursos de
recopilacin, mejora el rendimiento porque el consumidor de OSLC puede
cargar pginas estables sin acceder a la base de datos para cada pgina.

Configuracin de OSLC
La configuracin de Maximo Asset Management como proveedor de OSLC
conlleva especificar los recursos dentro de los dominios, suministrar los
proveedores de servicios para esos dominios, la configuracin de seguridad y
configurar el registro para recopilar informacin para ayudarle a la resolucin de
problemas.

Especificacin de recursos OSLC


Los recursos OSLC se basan en estructuras de objeto de integracin que estn
configuradas para ser consumidas por OSLC. Cada estructura de objeto incluye el
objeto de negocio primario y los objetos de negocio hijo utilizados por una
aplicacin. Los atributos de los objetos de la estructura de objeto se correlacionan
con los tipos RDF y los predicados del recurso y especifican los espacios de
nombre y los tipos de recurso.

Cada tipo de recurso OSLC tiene propiedades que son predicados RDF que
pueden pertenecer a una especificacin de vocabulario que corresponde al espacio
de nombre de las propiedades. Los atributos pueden correlacionarse con las
propiedades definidas en las especificaciones de vocabulario como la Dublin Core
Metadata Initiative.

Cada recurso tiene un nombre, una estructura de objeto asociada consumida por
OSLC y el URI de espacio de nombre predeterminado del recurso. Para cada
atributo que debe integrarse, puede utilizar los valores RDF predeterminados o
especificar sus propios valores:
v Los valores de tipo y espacio de nombre sirven como el tipo RDF del recurso.
v Los valores de tipo y espacio de nombre sirven como predicado RDF del
recurso.

Un documento de forma de recurso es un documento RDF/XML que describe un


recurso, incluidas todas sus propiedades, atributos y dependencias. Un documento
de forma en OSLC es un modo electrnico de ver a qu se parece un recurso
incluidas todas sus dependencias, atributos y propiedades. Por ejemplo, un
documento de forma de orden de trabajo incluye propiedades que describen los
recursos de soporte como, por ejemplo, activo, tarea, mano de obra y registro de
trabajo. Los documentos de forma pueden cubrir una variedad de reas como
activos, compaas, rdenes de compra y rdenes de trabajo. Un documento de
forma tambin muestra lo que es necesario. Un documento de forma de recurso
puede incluir enlaces a los documentos de forma para los objetos hijo.

Ejemplo: documento de forma de recurso de orden de trabajo

Un documento de forma de recurso de orden de trabajo enumera todas las


propiedades, atributos y dependencias de una orden de trabajo. El cdigo siguiente
muestra un fragmento de un documento de forma de orden de trabajo

Integracin de datos con aplicaciones externas 281


denominado oslcwodetail. Se incluyen tres propiedades en esta parte del
documento de forma de recursos, pero el documento puede listar muchas ms
propiedades. Las tres propiedades en esta parte del documento forma representan
tres tipos de nodos que se encuentran en documentos RDF. La primera propiedad,
genforporevision, es un nodo local. La segunda propiedad, multiassetlocci, es un
nodo en blanco, lo que significa que no se lista ningn URI o literal para esta
propiedad en el RDF. La tercera propiedad, asset, es un nodo de URI.
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:oslc="http://open-services.net/ns/core#"
xmlns:dcterms="http://purl.org/dc/terms/>"
<oslc:ResourceShape rdf:about="http://host/maximo/oslc/shapes/oslcwodetail">
<oslc:describes rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_
infrastructure#WorkOrder"/>
<oslc:property>
<oslc:Property>
<oslc:name>genforporevision</oslc:name>
<oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one"/>
<oslc:propertyDefinition rdf:resource="http://jazz.net/ns/ism/asset/smarter_physical_
infrastructure#genforporevision"/>
<oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
<dcterms:title rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">
PO Revision</dcterms:title>
</oslc:Property>
</oslc:property>
<oslc:property>
<oslc:Property>
<oslc:name>multiassetlocci</oslc:name>
<oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-many"/>
<oslc:propertyDefinition rdf:resource="http://jazz.net/ns/ism/asset/smarter_physical_
infrastructure#multiassetlocci"/>
<oslc:valueType rdf:resource="http://open-services.net/ns/core#LocalResource"/>
<oslc:representation rdf:resource="http://open-services.net/ns/core#Inline"/>
<oslc:valueShape rdf:resource="http://host/maximo/oslc/shapes/oslcwodetail/multiassetlocci"/>
<oslc:range rdf:resource="http://jazz.net/ns/ism/asset/smarter_physical_
infrastructure#MultuAssetLocationCI"/>
</oslc:Property>
</oslc:property>
<oslc:property>
<oslc:Property>
<oslc:name>asset</oslc:name>
<oslc:occurs rdf:resource="http://open-services.net/ns/core#Zero-or-one"/>
<oslc:propertyDefinition rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_
infrastructure#asset"/>
<oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource"/>
<oslc:representation rdf:resource="http://open-services.net/ns/core#Reference"/>
<oslc:valueShape rdf:resource="http://host/maximo/oslc/shapes/oslcasset"/>
<oslc:range rdf:resource="http://jazz.net/ns/ism/asset/smarter_physical_infrastructure#asset"/>
<dcterms:title rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">
Asset</dcterms:title>
</oslc:Property>
</oslc:property>

Proveedores de servicios de dominio


Los recursos OSLC estn habilitados dentro de un dominio y estn disponibles
para los consumidoras OSLC mediante el proveedor de servicios de OSLC para el
dominio. Se puede utilizar un solo proveedor de servicios para cada dominio.

En Maximo Asset Management, puede descubrir qu proveedores de servicios


estn disponibles especificando el URI http:/host:puerto/maximo/oslc/sp en un
navegador. La respuesta incluye el URI del documento del proveedor de servicios
para cada dominio configurado para la integracin de OSLC.

El URI del documento de proveedor de servicios para el dominio de gestin de


trabajo, por ejemplo, es http://host:puerto/maximo/oslc/sp/WorkManagment. El
documento de proveedor de servicios est en formato RDF/XML y describe los
recursos disponibles y las correlaciones de espacio de nombre, las consultas
guardadas y las operaciones admitidas para los recursos que admite. Un
consumidor de OSLC puede utilizar el documento de proveedor de servicios para
determinar qu recursos estn disponibles y qu servicios admite, como la consulta
o creacin. La implementacin actual da soporte a operaciones de creacin,
solicitud, actualizacin y supresin a nivel de datos pero no a los recursos en
escenarios de interfaces de usuarios delegados.

282 Integracin de datos con aplicaciones externas


En la respuesta de ejemplo siguiente, el proveedor de servicios de OSLC se
especifica en la propiedad rdfs:member. El documento del proveedor de servicios
para el dominio muestra el URI para la gestin de trabajo:
<rdfs:member rdf:resource="http://host/maximo/oslc/sp/WorkManagement">
<rdf:RDF>
<rdf:Description rdf:about="http://host/maximo/oslc/sp">
<rdfs:member rdf:resource="http://host/maximo/oslc/sp/WorkManagement">
</rdf:Description>
</rdf:RDF>

Espacios de nombres

OSLC define espacios de nombres comunes. La propiedad prefixDefinition expone


todas las correlaciones de prefijo a espacio de nombres que el proveedor de
servicios utiliza para describir los recursos que gestiona. En la tabla siguiente se
muestra un ejemplo de los espacios de nombres disponibles.

Prefijo Espacio de nombres


rdf http://www.w3.org/1999/02/22-rdf-syntax-ns#
oslc http://open-services.net/ns/core#
dcterms http://purl.org/dc/terms/
asset http://open-services.net/ns/asset#
foaf http://xmlns.com/foaf/0.1/
rdfs http://www.w3.org/2000/01/rdf-schema#
rr http://jazz.net/ns/ism/registry#
spi http://jazz.net/ns/ism/asset/smarter_physical_infrastructure#

El extracto siguiente de la seccin service del documento del proveedor de


servicios muestra los espacios de nombres de OSLC y de RDF:
<oslc:ServiceProvider rdf:about="http://host:7001/maximo/oslc/sp/WorkManagement">
<oslc:prefixDefinition>
<oslc:PrefixDefinition>
<oslc:prefixBase rdf:resource="http://open-services.net/ns/core#"/>
<oslc:prefix>oslc</oslc:prefix>
</oslc:PrefixDefinition>
</oslc:prefixDefinition>

<oslc:prefixDefinition>
<oslc:PrefixDefinition>
<oslc:prefixBase rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<oslc:prefix>rdf</oslc:prefix>
</oslc:PrefixDefinition>
</oslc:prefixDefinition>

La tabla siguiente muestra una correlacin de ejemplo para una orden de trabajo
que utiliza espacios de nombre comunes:

Prefijo de OSLC Prefijo existente


oslc:shortTitle wonum
dcterms:title Descripcin
dcterms:description description_longdescription
dcterms:creator reportedby
dcterms:created reportdate
dcterms:identifier workorderid

Integracin de datos con aplicaciones externas 283


La tabla siguiente muestra las correlaciones para el objeto de persona al que se
hace referencia desde dcterms:creator en la orden de trabajo.

Prefijo de OSLC Prefijo existente


foaf:name displayname
foaf:givenName firstname
foaf:familyName lastname

Fbrica de creacin y operaciones de consulta

Un proveedor de servicios de OSLC permite las operaciones de fbrica de creacin


y prestaciones de consulta para los recursos que estn disponibles en el documento
de proveedor de servicios. Una fbrica de creacin proporciona el URI de creacin
oslc:creation que el usuario utiliza para crear recursos nuevos con una solicitud
HTTP POST. El URI de consulta oslc:queryBase permite la seleccin de una
coleccin de recursos gestionados por el proveedor de servicios. Cuando se obtiene
el recurso, ya sea por consulta o creacin, el recurso se puede actualizar o suprimir.

Si el recurso da soporte a la creacin, puede haber una operacin de fbrica de


creacin. El siguiente fragmento de un documento de proveedor de servicios
muestra la operacin de fbrica de creacin, el URI para la forma del recurso, y el
URI para la operacin de recurso de creacin que crea la forma.
<oslc:creationFactory>
<oslc:CreationFactory>
<oslc:resourceType rdf:resource="http://jazz.net/ns/ism/work
/smarter_physical_infrastructure#WorkOrder"/>
<oslc:resourceShape rdf:resource="http://host:puerto/maximo/oslc/shapes/oslcwodetail"/>
<oslc:creation rdf:resource="http://host:puerto/maximo/oslc/os/oslcwodetail"/>
<oslc:label>Create WorkOrder</oslc:label>
<dcterms:title>OSLC creation factory for WorkOrder</dcterms:title>
</oslc:CreationFactory>
</oslc:creationFactory>
......

El URI de consulta es oslc:queryBase y el ejemplo siguiente muestra una bsqueda


de una orden de trabajo utilizando la solicitud:
<oslc:queryBase rdf:resource="http://host/maximo/oslc/os/oslcwodetail"/>
<oslc:queryCapability>
<oslc:QueryCapability>
<oslc:resourceType rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_
infrastructure#WorkOrder"/>
<oslc:queryBase rdf:resource="http://host/maximo/oslc/os/oslcwodetail"/>
<oslc:labelQuery> WorkOrder</oslc:label>
<dcterms:title>OSLC query capability for WorkOrder</dcterms:title>
</oslc:QueryCapability>
</oslc:queryCapability>

Consultas guardadas
Cuando un recurso OSLC se define basndose en una estructura de objeto que
apunta a una aplicacin, todas las consultas pblicas guardadas de la aplicacin
pasan a estar disponibles mediante el proveedor de servicios. Las consultas se
exponen como prestaciones de consulta de OSLC en el documento del proveedor
de servicios correspondiente a ese recurso OSLC.

De forma opcional, las estructuras de objetos se pueden conectar a una aplicacin.


Cuando una estructura de objeto est conectada a una aplicacin, la aplicacin
proporciona autorizacin de seguridad y consultas pblicas guardadas en el
recurso que est asociado con la estructura de objeto. Puede crear consultas
personalizadas en la aplicacin y hacerlas pblicas para que las consultas estn

284 Integracin de datos con aplicaciones externas


disponibles al consultar el recurso. Para ejecutar una consulta guardada en un
recurso, debe realizar una solicitud HTTP GET en el URI base de la consulta
proporcionado en la prestacin de consulta para la consulta guardada. Se devuelve
una lista de recursos OSLC que coinciden con la consulta guardada.

Cada propiedad de prestacin de consulta expone un URI denominado propiedad


oslc:queryBase que permite a un consumidor consultar los recursos gestionados
por el proveedor de servicios. Cada prestacin de consulta solo soporta un tipo de
recurso denominado oslc:resourceType. La especificacin OSLC permite que una
prestacin de consulta utilice varios tipos de recurso. La prestacin de consulta
lista todas las consultas pblicas guardadas correspondientes a la aplicacin que
est registrada en la estructura de objeto por la que se implementa el recurso
OSLC. Si no hay ninguna consulta guardada pblicamente para la aplicacin
registrada o si no se ha registrado ninguna aplicacin, solo una prestacin de
consulta proporciona el URI de coleccin de la consulta genrica. Siempre hay al
menos una prestacin de consulta para cada tipo de recurso soportado por el
proveedor de servicio.

Ejemplo: Consultas guardadas en la aplicacin de orden de trabajo

Puede crear una consulta en la aplicacin de orden de trabajo para buscar rdenes
de trabajo que sean propias. Puede hacer la consulta pblica para que la misma
aparezca en el documento del proveedor de servicios como
savedQuery=OWNER+IS+ME. La estructura de objeto de nivel superior de OSLC
tambin debe ser una orden de trabajo.
<oslc:service>
<oslc:Service>
<oslc:queryCapability>
<oslc:QueryCapability>
<oslc:resourceType rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_
infrastructure#WorkOrder"/>
<oslc:queryBase rdf:resource="http://host/maximo/oslc/os/oslcwodetail?
savedQuery=OWNER+IS+ME"/>
<oslc:label>Query OWNER IS ME</oslc:label>
<dcterms:title>OSLC query capability for My Work Orders</dcterms:title>
</oslc:QueryCapability>
</oslc:queryCapability>
<oslc:queryCapability>
<oslc:QueryCapability>
<oslc:resourceType rdf:resource="http://jazz.net/ns/ism/work/smarter_physical_
infrastructure#WorkOrder"/>
<oslc:queryBase rdf:resource="http://host/maximo/oslc/os/oslcwodetail"/>
<oslc:label>Query WorkOrder</oslc:label>
<dcterms:title>OSLC query capability for WorkOrder</dcterms:title>
</oslc:QueryCapability>
</oslc:queryCapability>
......

Seguridad de OSLC
La infraestructura de seguridad de Maximo Asset Management proporciona
soporte de autenticacin y autorizacin para los servicios OSLC. La autenticacin
basada en J2EE como, por ejemplo, LDAP, tiene soporte a travs del servidor de
aplicaciones. El servidor de aplicaciones tambin proporciona soporte para HTTPS.

Autenticacin para Maximo Asset Management

La solicitud del consumidor puede proporcionar los valores usuario:contrasea


codificados en base64 y que estn en la propiedad de cabecera MAXAUTH HTTP.

Integracin de datos con aplicaciones externas 285


autenticacin J2EE

Para configurar la autenticacin de J2EE, debe modificar el archivo web.xml,


establecer restricciones de seguridad y establecer la propiedad
useAppServerSecurity en true.

Puede modificar el archivo web.xml para el mdulo web maximouiweb eliminando


el comentario de las lneas siguientes:
<!--
<servlet>
<display-name>OSLC Servlet for Web App</display-name>
<servlet-name>OSLCServlet</servlet-name>
<servlet-class>
com.ibm.tivoli.maximo.oslc.provider.MaximoOslcProviderServlet
</servlet-class>
<init-param>
<param-name>char_encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</servlet>
-->

<!--servlet-mapping>
<servlet-name>OSLCServlet</servlet-name>
<url-pattern>/oslc/*</url-pattern>
</servlet-mapping

Para configurar las restricciones de seguridad, especifique el cdigo siguiente para


<web-resource-collection>:
<web-resource-collection>
<web-resource-name>OSLC Servlet</web-resource-name>
<description>
OSLC Object Structure Servlet accesible por usuarios autorizados
</description>
<url-pattern>/oslc/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
<http-method>HEAD</http-method>
</web-resource-collection>

La propiedad useAppServerSecurity debe establecerse en true:


<env-entry>
<description>
Indica si se debe utilizar o no la seguridad del servidor de aplicaciones
</description>
<env-entry-nameuseAppServerSecurity</env-entry-name>
<env-entry-typejava.lang.String</env-entry-type>
<env-entry-valuefalse</env-entry-value>
</env-entry>

Inicio de sesin y cierre de sesin explcito

Si la aplicacin de consumidor necesita ejecutar mandatos de inicio de sesin


explcito, utilice la peticin siguiente:
GET /maximo/oslc/login

Si est utilizando autenticacin nativa, debe aadir la propiedad de cabecera


MAXAUTH HTTP a la solicitud de inicio de sesin. Si la aplicacin de consumidor
necesita ejecutar mandatos de cierre de sesin explcito, utilice la peticin siguiente:

286 Integracin de datos con aplicaciones externas


GET /maximo/oslc/logout

Autorizacin

El control de autorizacin se proporciona en el nivel de estructura de objeto del


recurso. Puede asociar la estructura de objeto a una aplicacin en la aplicacin
Estructura de objeto. El proceso de seguridad de los datos de recurso se basa en la
configuracin de seguridad de la aplicacin y en el grupo de usuarios del usuario
que ha realizado la solicitud HTTP. Cuando se procesan recursos OSLC, cualquier
atributo de objeto que est configurado como oculto mediante mecanismos de
seguridad no se incluye en la respuesta a una peticin de OSLC.

Registro de OSLC
La correlacin de registro puede registrar informacin cuando se crean o actualizan
recursos OSLC. La informacin registrada incluye el tiempo total de respuesta y el
tamao del recurso en bytes. La informacin se puede utilizar para analizar el
rendimiento. Por ejemplo, puede utilizar la informacin de registro para analizar
tiempos de respuesta.

Para habilitar la correlacin de registro y registrar informacin al ejecutar


peticiones GET, POST y PUT, seleccione Configuracin del sistema >
Configuracin de plataforma > Aplicacin Propiedades del sistema y establezca
la propiedad mxe.logging.CorrelationEnabled en 1.

La tabla siguiente muestra informacin que se puede registrar cuando habilita la


propiedad mxe.logging.CorrelationEnabled. Algunos de los atributos contenidos en
la tabla pueden no estar disponibles para cada peticin.

Atributo Descripcin
ClientIP Direccin IP del cliente que realiza la peticin al servidor
mediante OSLC.
InvokeAndSerTime Tiempo necesario para la invocacin y serializacin.
SendResponseTime Tiempo necesario para que el servidor responda a una peticin
de cliente.
RequestURI URI (Universal Resource Identifier) del cliente.
RequestParams Parmetros que se pasan en el URI del cliente.
ElapsedTime Tiempo total que transcurre entre la peticin del cliente y la
respuesta del servidor.
LoginID Nombre de usuario que est asociado a una peticin de
autenticacin de cliente.
ResourceSize Tamao del recurso en bytes.
EndUserClientIP Direccin IP del usuario final que realiza la peticin al
servidor.
EndUserMetaData Datos asociados al cliente final real. A menudo las peticiones
se entregan mediante un servidor intermediario. Este atributo,
cuando existe, siempre contiene datos de usuario final.
ClientPort Nmero de puerto que el cliente utiliza para realizar una
peticin al servidor.

Transacciones HTTP
Las interacciones entre el Consumidor de OSLC y los recursos OSLC suministrados
por Maximo Asset Management utilizan solicitudes y respuestas HTTP estndar.

Integracin de datos con aplicaciones externas 287


Los mtodos de solicitud HTTP incluyen GET, POST, PUT y PATCH. Las
respuestas HTTP proporcionan informacin en las cabeceras HTTP y se devuelven
cdigos de error HTTP cuando no son satisfactorias las solicitudes.

Consultas de recursos OSLC


OSLC define una sintaxis de consultas ligera basada en el estndar SPARQL para
consultar los recursos. El parmetro de consulta OSLC que se establece en una
solicitud GET HTTP determina el tipo de informacin que el proveedor de
servicios enva en respuesta.

Parmetro de propiedades de consulta:

El parmetro de consulta oslc.properties devuelve una lista de propiedades de


un recurso OSLC y proporciona una representacin parcial del recurso.

El parmetro oslc.properties slo es aplicable cuando se recupera un nico


recurso basado en un ID de recurso. Otros parmetros de consulta se aplican
cuando se desea consultar una coleccin de recursos que contiene cero o ms
instancias de un recurso.

Ejemplo: Solicitud de atributos

La solicitud siguiente especifica que los valores para los atributos shortTitle e
isTask se devuelven en los resultados de una consulta del recurso oslcwodetail con
un ID de recurso 337:
http://www.example.com:9999/maximo/oslc/os/
oslcwodetail/337?oslc.properties=oslc:shortTitle,spi_wm:istask

Esta solicitud devuelve la informacin siguiente:


{
oslc:shortTitle: "1024"
spi_wm:istask: true
rdf:about: "<some uri>"
}

Parmetro de la clusula WHERE de consulta:

El parmetro de consulta oslc.where especifica una clusula WHERE para filtrar el


conjunto de resultados de una consulta. Por ejemplo, quiz desee ver una coleccin
de recursos de orden de trabajo de OSLC que se crearon dentro de un rango de
tiempo donde se han aprobado por la direccin.

La clusula WHERE de OSLC admite los operadores de comparacin siguientes:

Smbolo Descripcin
= Igualdad
!= Desigualdad
< Menor que
> Mayor que
<= Menor o igual que
>= Mayor o igual que

Los parmetros de la clusula WHERE de OSLC tienen las caractersticas


siguientes:

288 Integracin de datos con aplicaciones externas


v Las fechas se expresan en formato ISO 8601.
v La especificacin OSLC permite el uso de and como operador booleano entre
expresiones booleanas. El operador booleano or no est permitido.
v Los valores de tipo de datos de serie van rodeados entre comillas pero los
valores de tipo de datos decimal no tienen comillas.
v Los valores de tipo de datos decimal no estn entrecomillados. En el ejemplo
siguiente, el valor literal para estado est entrecomillado porque la propiedad
status tiene un tipo de datos serie. El valor para la cantidad no est
entrecomillado ya que es un tipo de datos decimal. Los valores enteros y
booleanos tampoco requieren comillas. Por ejemplo, spi_wm:status="Closed"
and m:quantity>10,5 and m:active=true donde m:active tiene un tipo de datos
booleano.
v La clusula WHERE admite el uso de or dentro de una propiedad individual
mediante la utilizacin del operador in. Por ejemplo, la consulta siguiente
devuelve todas las rdenes de trabajo que tienen estado APPR o WAPPR:
spi_wm:status in ["APPR","WAPPR"]

Ejemplo: Bsqueda de rdenes de trabajo que se han creado durante un rango


de tiempo y que se han aprobado

La clusula WHERE siguiente devuelve una lista de recursos de orden de trabajo


que se han creado dentro de un rango de tiempo especfico:
spi_wm:status="APPR" and dcterms:created>"2003-07-07T09:50:00-04:00"
and dcterms:created<="2004-07-07T09:50:00-04:00"

Ejemplo: Bsqueda de todas las rdenes de trabajo creadas por un usuario

La clusula WHERE siguiente devuelve todas las rdenes de trabajo que un


usuario o persona especficos han creado:
dcterms:creator= <http://host:port/oslc/os/oslcperson/
<ID de URI para la persona Kelly Reese>

El valor de URI est delimitado por corchetes y no est entrecomillado, a diferencia


de los valores literales de serie. El URI apunta al recurso de persona denominada
Kelly Reese. Aunque el uso de un URI en la sintaxis de la consulta es efectivo para
integraciones de sistemas del mismo nivel, los consumidores interactivos o de la
interfaz de usuario de la API de OSLC no conocen los URI correspondientes. Por
ejemplo, un usuario interactivo conocera un nmero de activo, pero no conocera
el URI que corresponde a ese activo. La consulta de clusula WHERE siguiente se
expresa sin ningn URI:
dcterms:creator{foaf:givenName=Kelly and foaf:familyName=Reese}

givenName y familyName son propiedades del recurso Persona referido por la


propiedad creator. Esta clusula WHERE muestra que se puede buscar utilizando
propiedades de recursos enlazados.

Ejemplo: Bsqueda de todas las rdenes de trabajo en las que la propiedad


parent del recurso de orden de trabajo es null

La consulta de clusula WHERE siguiente devuelve todas las rdenes de trabajo de


nivel root:
spi_wm:parent!=*

Integracin de datos con aplicaciones externas 289


En este ejemplo, * es un comodn que hace referencia a cualquier recurso y la
consulta parent!="*" es el equivalente semntico de una consulta parent="NULL".

Un derivado de esta consulta busca las rdenes de trabajo donde el valor padre no
es NULL. La sintaxis de esta consulta es spi_wm:parent=*. Puede realizar
tambin una bsqueda LIKE con la sintaxis de consulta de clusula WHERE de
OSLC. Para buscar todas las rdenes de trabajo que tengan un valor de shortTitle
como Inspect, utilice la consulta siguiente: oslc:shortTitle =%Inspect%.

Para buscar rdenes de trabajo que tengan un valor de shortTitle que empiece o
termine con una palabra que especifique, mueva el %. Por ejemplo, utilice
oslc:shortTitle =Inspect% para buscar rdenes de trabajo que empiecen con la
palabra Inspect y utilice oslc:shortTitle =%Inspect para buscar rdenes de
trabajo que terminen con la palabra Inspect.

Parmetro de bsqueda de consulta:

El parmetro de consulta oslc.searchTerms devuelve los recursos que contienen


los trminos especificados. Por ejemplo, puede que desee ver todas las rdenes de
trabajo que tengan las palabras database y performance en sus descripciones.

Para buscar trminos, el campo de bsqueda debe estar configurado para la


bsqueda en la aplicacin Recursos OSLC.

Ejemplo: Bsqueda de rdenes de trabajo que hacen referencia a rendimiento de


base de datos

La solicitud siguiente consulta recursos de orden de trabajo seleccionando el ttulo


abreviado (shortTitle), el estado (status) y la descripcin (description), donde la
descripcin contiene los trminos database (base de datos) y performance
(rendimiento):
http://host:7001/maximo/oslc/os/oslcwodetail?oslc.select=oslc:shortTitle,
spi_wm:status,dcterms:description&oslc.searchTerms=database,performance

La consulta devuelve la informacin siguiente:


-
"rdfs:member": [
-
{
"oslc:shortTitle": "1001",
"rdf:about": "http://host/maximo/oslc/os/oslcwodetail/76",
"spi_wm:status": "INPRG",
"dcterms:description": "el rendimiento es clave<!--RICH TEXT -->"
},
-
{
"oslc:shortTitle": "2004",
"rdf:about": "http://host/maximo/oslc/os/oslcwodetail/58",
"spi_wm:status": "INPRG",
"dcterms:description": "toda la base de datos y material<!--RICH TEXT -->"
},
-
{
"oslc:shortTitle": "6003",
"rdf:about": "http://host/maximo/oslc/os/oslcwodetail/8",
"spi_wm:status": "APPR"
},
-
{
"oslc:shortTitle": "1004",
"rdf:about": "http://host/maximo/oslc/os/oslcwodetail/155",

290 Integracin de datos con aplicaciones externas


"spi_wm:status": "INPRG",
"dcterms:description": "El rendimiento es clave"
},
-
{
"oslc:shortTitle": "1006",
"rdf:about": "http://host/maximo/oslc/os/oslcwodetail/73",
"spi_wm:status": "APPR"
}
],
"rdf:about": "http://host/maximo/oslc/os/oslcwodetail"
-
"prefixes":{
"rdfs": "http://www.w3.org/2000/01/rdf-schema#",
"oslc": "http://open-services.net/ns/core#",
"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
"spi_wm": "http://jazz.net/ns/ism/work/smarter_physical_infrastructure#",
"dcterms": "http://purl.org/dc/terms/"
}
}

Parmetro de ordenacin de consulta:

El parmetro de consulta oslc.orderBy define el orden de los resultados de una


consulta. Por ejemplo, una lista de rdenes de trabajo se puede ordenar por fecha o
por ID.

Ejemplo: Especificar el orden de clasificacin

La consulta oslc.orderBy siguiente devuelve las rdenes de trabajo basndose en


la fecha de creacin en orden ascendente y en la duracin estimada en orden
descendente.
+dcterms:created,-m:estimatedDuration

En esta consulta, + indica un orden de clasificacin ascendente y indica un orden


de clasificacin descendente. El parmetro oslc.orderBy siguiente no es vlido:
dcterms:created,-m:estimatedDuration pues la sintaxis de consulta de OSLC no
tiene un orden de clasificacin predeterminado. Se debe especificar explcitamente
un signo + o - con el nombre de propiedad. El parmetro oslc.orderBy no se
puede utilizar para propiedades anidadas. Por ejemplo,
dcterms:creator{+foaf:name} no est soportado.

Parmetro de seleccin de consulta:

El parmetro de consulta oslc.select solicita una representacin de recursos


parcial de los recursos de una coleccin de recursos. El parmetro oslc.select
siempre se aplica a un recurso de coleccin. Puede especificar la lista de
propiedades que desea incluir en la solicitud.

Ejemplo: Solicitud de recursos parcial

El parmetro oslc.select proporciona una lista separada por comas de nombres


de propiedades cualificados. No se admite el parmetro oslc.prefix. La consulta
siguiente solicita un recurso parcial:
oslc.select=oslc:shortTitle, dcterms:creator

La consulta devuelve la informacin siguiente:


{
"rdf:about": "some uri",
"rdfs:member": [

Integracin de datos con aplicaciones externas 291


{
"oslc:shortTitle": "1022",
"rdf:about": "some workorder uri",
"dcterms:creator":
{
"rdf:about": "some person uri"
}

Ejemplo: seleccin de propiedades de recursos referenciados

Con el parmetro oslc.select, puede seleccionar propiedades de recursos


referenciados. La consulta siguiente solicita el nombre del creador:
oslc.select= oslc:shortTitle, dcterms:creator{foaf:name}

La consulta devuelve la informacin siguiente:


{
"rdf:about": "some uri",
"rdfs:member": [
{
"oslc:shortTitle": "1022",
"rdf:about": "some workorder uri",
"dcterms:creator":
{
"rdf:about": "some person uri",
"foaf:name": "Todd Winston"
}

En este ejemplo, el recurso foaf:Person es el nombre de la persona especificada en


el valor de la propiedad creator. Para obtener todas las propiedades del recurso,
puede utilizar oslc.select=*. Se puede aplicar la misma sintaxis al parmetro
oslc.properties cuando busca un recurso OSLC.

Creacin de una instancia de recursos


Una aplicacin consumidora utiliza el mtodo POST de HTTP para crear una
instancia de un recurso OSLC. As, otras aplicaciones pueden compartir el recurso.

La aplicacin consumidora utiliza el mtodo POST de HTTP para enviar un


documento JSON que se ajusta a la forma publicada del recurso. El formato JSON
de OSLC est asociado al tipo application/json MIME. Cuando la solicitud se
procesa de forma satisfactoria, la cabecera de las respuestas HTTP de la aplicacin
de proveedor incluye el URI del recurso recin creado.

Ejemplo: Creacin de una instancia de un recurso

El mtodo siguiente crea el recurso oslcwodetail:


POST /maximo/oslc/os/oslcwodetail
....
{
"dcterms:creator": {
"rdf:resource": "http://host:port/maximo/oslc/os/oslcperson/_V0lOU1RPTg--"
},
"dcterms:title": "Check-out Leaking",
"spi_wm:orgid": "EAGLENA",
"spi_wm:siteid": "BEDFORD",
"spi_wm:woclass": "WORKORDER",
"oslc:shortTitle": "T5050",
"spi:asset": {
"rdf:resource": "http://host:puerto/maximo/oslc/os/oslcasset/_MTMxNDUvQkVERk9SRA--"
},
"spi:location": {
"rdf:resource": "http://host:puerto/maximo/oslc/os/oslcoperloc/_U0hJUFBJTkcvQkVERk9SRA--"
},
"spi:status": "WAPPR"
}.....

292 Integracin de datos con aplicaciones externas


Si la solicitud se procesa correctamente, la aplicacin de consumidor recibe la
respuesta HTTP siguiente:
201 Created
Location: http://host:puerto/maximo/oslc/os/oslcwodetail/_ABCD--
ETag: 1234567

El cuerpo del mensaje de la respuesta HTTP est vaco. Para obtener los detalles
del recurso recin creado, la aplicacin de consumidor debe enviar una solicitud
GET de HTTP al URI especificado en la propiedad location de la cabecera HTTP.
La aplicacin consumidora puede utilizar la propiedad ETag en la cabecera HTTP
para enviar una solicitud de actualizacin condicional a la aplicacin de proveedor.

Las peticiones de OSLC pueden fallar por diversas razones, tales como validacin
de negocio, autenticacin o autorizacin. Si una solicitud falla, la aplicacin
consumidora recibe un cdigo de error HTTP como una respuesta, como por
ejemplo un error 400 Bad Request y el cuerpo del mensaje contiene los detalles del
error.

Modificacin de recursos
El mtodo PUT HTTP sustituye un recurso OSLC y el mtodo PATCH HTTP
actualiza parcialmente un recurso OSLC.

Sustitucin de recursos OSLC:

El mtodo PUT HTTP sustituye a todas las propiedades de un recurso OSLC,


incluidas las propiedades de tipo literal y las propiedades de recursos locales. El
mtodo PUT suprime tambin todas las propiedades de recurso local que no estn
incluidas en la solicitud.

Cuando utiliza el mtodo PUT para sustituir un recurso OSLC, se aplican las reglas
siguientes:
v Se actualizan todas las propiedades de tipo literal especificadas en el documento
de solicitud HTTP. Las propiedades de tipo literal no especificadas como parte
de la solicitud no se ven afectadas explcitamente por la solicitud. Sin embargo,
pueden verse implcitamente afectadas por la lgica empresarial asociada al
recurso.
v Todas las propiedades de recursos locales se sustituyen por los valores
correspondientes de la solicitud. Cuando se incluye una propiedad en una
solicitud PUT, el valor sustituye al valor en el servidor. Si no se incluye una
propiedad de recurso en una solicitud HTTP, la propiedad correspondiente se
suprime en el servidor.
v No puede actualizar explcitamente los recursos de referencia pero puede
actualizar las propiedades que hagan referencia al recurso, y las propiedades
siguen el modelo de actualizacin de propiedades de tipo literal.

En los ejemplos siguientes, un recurso de orden de trabajo tiene una propiedad


literal, title, y una propiedad de recurso wplabor. La propiedad wplabor apunta al
WPLABOR del recurso local y est asociada con dos registros wplabor. Si una
peticin PUT contiene la propiedad title y ninguna propiedad wplabor, se
actualiza el ttulo y se suprimen los datos de wplabor.

Ejemplo: Actualizacin de una propiedad literal

El mtodo siguiente actualiza la propiedad literal, title y suprime la propiedad


wplabor y los datos asociados:

Integracin de datos con aplicaciones externas 293


PUT /maximo/oslc/os/oslcwodetail/abc

{
"dcterms:title": "Check-out Leaking Modified for Test"
}

Si la solicitud se procesa correctamente, la aplicacin consumidora recibe la


respuesta HTTP siguiente:
204 No Content
ETag: 123456

El ttulo se cambia a Check-out Leaking Modified for Test. Dado que los datos
de wplabor no estn incluidos, los registros de wplabor se suprimen.

Ejemplo: Actualizacin de una propiedad de recurso

El mtodo siguiente actualiza la propiedad de recurso, wplabor:


PUT /maximo/oslc/os/oslcwodetail/abc

{
spi:wplabor: [
{
spi_wm:wplaborid": "0000000067",
"spi_wm:rate": 18.5
}
]
}

Si la solicitud se procesa correctamente, la aplicacin consumidora recibe la


respuesta HTTP siguiente:
204 No Content
ETag: 123456

La solicitud inicia una bsqueda de un registro wplabor con el ID 0000000067. Si


este registro wplabor existe, se actualiza. Si no se encuentra ningn registro
coincidente, se crea un nuevo registro wplabor con el ID 0000000067. Se suprime el
resto de los datos de wplabor para este recurso de orden de trabajo. Debido a que
la propiedad title no est incluida, el ttulo no es parte de la solicitud y el valor
no se ve afectado.

Actualizacin parcial de recursos OSLC:

El mtodo PATCH HTTP actualiza parte de los recursos OSLC. A diferencia del
mtodo PUT, el mtodo PATCH no suprime propiedades de recurso local que no
estn incluidas en la solicitud. Es necesaria la cabecera x-method-override para
implementar el mtodo PATCH.

Cuando utiliza el mtodo PATCH para sustituir un recurso OSLC, se aplican las
reglas siguientes:
v Se actualizan todas las propiedades literales especificadas en el documento de
solicitud. Las propiedades de tipo literal no especificadas como parte de la
solicitud no se ven afectadas explcitamente por la solicitud. Sin embargo,
pueden verse implcitamente afectadas por la lgica empresarial asociada al
recurso.
v Se actualizan o se sustituyen las propiedades de recursos locales si hay valores
de propiedad correspondientes de la solicitud PATCH. Si una propiedad de
recurso no est incluida en la solicitud, el recurso local correspondiente no se ve

294 Integracin de datos con aplicaciones externas


explcitamente afectado por la solicitud. Si una propiedad de recurso est
incluida en la solicitud, el valor entrante sustituye o actualiza el valor en el
servidor.
v No puede actualizar explcitamente los recursos de referencia pero puede
actualizar las propiedades que hagan referencia al recurso, y las propiedades
siguen el modelo de actualizacin de propiedades de tipo literal.

Las solicitudes PATCH HTTP se utilizan en los siguientes casos:


v La solicitud PATCH sustituye una propiedad de tipo array (recurso local) por el
contenido de la solicitud. Este caso de uso es la implementacin predeterminada.
v Puede buscar y comparar los elementos de matriz de recursos contenidos en la
solicitud con los elementos de recurso correspondientes en el servidor.
Dependiendo de si se ha encontrado una coincidencia de bsqueda, los
elementos de matriz de recursos se actualizan o insertan. Un elemento de matriz
nunca se suprime de la propiedad de recurso local. Para utilizar una solicitud
PATCH para comparar los elementos de matriz, la aplicacin de consumidor
establece la cabecera de solicitud HTTP PATCHTYPE en el valor MERGE (se
distingue entre maysculas y minsculas).

Ejemplo: Actualizacin de una propiedad literal

El mtodo siguiente actualiza la propiedad title de una orden de trabajo:


POST /maximo/oslc/os/oslcwodetail/abcd
x-method-override: PATCH

{
"dcterms:title": "Check-out Leaking Modified for Test"
}

A diferencia del mtodo PUT, el mtodo PATCH no actualiza otras propiedades de


la orden de trabajo.

Ejemplo: Actualizacin y fusin de una propiedad de recurso

El mtodo siguiente actualiza el recurso con la cabecera PATCHTYPE establecida


en MERGE:
POST /maximo/oslc/os/oslcwodetail/abcd
x-method-override: PATCH
PATCHTYPE: MERGE

{
"dcterms:title": "Check-out Leaking Modified for Test",
spi:wplabor: [
{
spi_wm:wplaborid": "0000000067",
"spi_wm:rate": 18.5
}
]
}

La solicitud inicia una bsqueda de un registro wplabor con el ID 0000000067. Si


ese registro wplabor existe, se actualiza el registro. Si no se produce ninguna
coincidencia de bsqueda, se crea un nuevo registro wplabor con el ID 0000000067.
Debido a que la cabecera PATCHTYPE est establecida en MERGE, los dems
registros wplabor de este recurso de orden de trabajo permanecen sin cambios.

Integracin de datos con aplicaciones externas 295


Ejemplo: Realizacin de una actualizacin condicional

El mtodo siguiente actualiza el recurso si el valor de ETag es 1234567:


POST /maximo/oslc/os/oslcwodetail/abcd
x-method-override: PATCH
if-match: 1234567

Si el valor de ETag es 1234567, se actualiza el recurso de orden de trabajo y se


enva una respuesta HTTP 204 a la aplicacin de consumidor.

Si el valor de ETag no es 1234567, el servidor responde con el mensaje HTTP 412


Precondition failed. El mensaje indica que algn otro proceso ha actualizado el
recurso y la aplicacin de consumidor que realiza la solicitud tiene una copia
obsoleta del recurso. La aplicacin de consumidor debe realizar una solicitud GET
en el recurso abcd para obtener una copia nueva del recurso.

Cabeceras HTTP
OSLC proporciona varios valores en la seccin de cabecera de las solicitudes y
respuestas HTTP para intercambiar informacin adicional de transacciones. Estos
valores de cabecera admiten caractersticas como paginacin estable,
actualizaciones condicionales de recursos o para asegurarse de que no se producen
transacciones duplicadas despus de un anomala de conexin HTTP.

Actualizaciones condicionales basndose en valores de Etag y


cabeceras If-Match

Una etiqueta de entidad (ETag) es un valor incluido en una respuesta de cabecera


HTTP que representa el estado actual de un recurso. Cuando una aplicacin de
consumidor de OSLC hace una solicitud GET, la cabecera de respuesta incluye un
valor de ETag. La aplicacin de consumidor incluye el valor de ETag como parte
de una cabecera If-Match en solicitudes de actualizacin PUT y PATCH posteriores
para asegurarse de que los cambios son condicionales y que son realizados solo si
el registro no ha cambiado desde que se ha creado el valor de ETag. El proceso de
actualizacin condicional detecta actualizaciones incorrectas y condiciones de
carrera, por ejemplo, cuando dos consumidores intentan actualizar el mismo
recurso.

La aplicacin de consumidor almacena el valor de cabecera de ETag y lo enva


como parte de la cabecera HTTP If-Match para una solicitud de actualizacin
posterior. El servidor evala la cabecera If-Match y determina si la aplicacin de
consumidor tiene una versin anterior o la versin ms reciente del recurso. Si el
servidor determina que la aplicacin de consumidor tiene la versin ms reciente
del recurso, se implementa la actualizacin, a menos que se encuentren
restricciones de base de datos o de validacin empresarial. Si el servidor determina
que la solicitud contiene una versin anterior del recurso, devuelve una respuesta
que indica una anomala en una condicin previa HTTP 412. La aplicacin de
consumidor vuelve a obtener el recurso y somete una solicitud de actualizacin
que se basa en la ETag actualizada.

La aplicacin de consumidor puede someter la solicitud de actualizacin sin la


cabecera If-Match o con el valor de cabecera If-Match establecido en * (asterisco).
El sometimiento de esta solicitud es semnticamente equivalente a no tener la
cabecera If-Match en la solicitud de actualizacin. En ambos casos, la solicitud es
incondicional. Si el recurso referido por el URI existe y no se encuentran
restricciones de validacin empresarial o de base de datos, la actualizacin se
implementa.

296 Integracin de datos con aplicaciones externas


Paginacin estable de recursos de coleccin

La paginacin estable de OSLC define un patrn de paginacin en el que el


recurso que se pagina no cambia cuando se pagina con la aplicacin de
consumidor, por ejemplo, con un dispositivo mvil. La paginacin estable se
admite solo para los recursos de coleccin y no es el formato de paginacin
predeterminado de los servidores HTTP. Para solicitar la paginacin estable, la
aplicacin de consumidor de OSLC incluye el parmetro de consulta stablepaging
en la solicitud HTTP o incluye una cabecera stablepaging en la solicitud. El
servidor carga el recurso de coleccin solicitado en memoria y la respuesta HTTP
redirige la aplicacin de consumidor de OSLC al URI donde se almacena el recurso
de coleccin cargado. Las solicitudes posteriores de las pginas siguientes siempre
se cargan desde el recurso en memoria y nunca desde la base de datos. La
paginacin estable da como resultado un mejor rendimiento ya que la aplicacin
de consumidor pagina a travs del resultado.

La paginacin estable requiere que la solicitud posterior para la pgina siguiente


sea atendida por el mismo proceso de servidor o miembro de clster que atendi a
la solicitud inicial de paginacin estable. El mismo proceso de servidor es necesario
porque el recurso se carga en la memoria de dicho proceso de servidor, no en los
otros miembros del clster. Si una solicitud posterior est equilibrada en cuanto a
carga con otros miembros, la aplicacin de consumidor recibe un error 404 No se
ha encontrado. Para impedir este error, asegrese de que las solicitudes en sesin
de una aplicacin de consumidor sean tratadas por el mismo proceso de servidor.

Ejemplo de paginacin estable

El cliente solicita un recurso de activo:


GET/oslc/os/oslcasset?stablepaging=true

La solicitud produce la siguiente respuesta:


303 Redirecting
Location: http://host:port/../olscasset?stableid=1234

El cliente realiza una solicitud GET en el URI de redireccionamiento:


GET../oslcasset?stableid=1234

La respuesta es la primera pgina de la coleccin. El URI para la siguiente pgina


est incluido en el objeto oslc:ResponseInfo como parte del mensaje. A medida que
el cliente avanza por las pginas, las pginas caducan despus de su carga. Si el
cliente est en la pgina 3, la pgina 3 no se puede volver a cargar, ni tampoco
puede la pgina 1 o la pgina 2. Cualquier intento de volver a cargar estas pginas
genera un error HTTP 410. El recurso cargado permanece en la memoria hasta que
caduca en funcin de un tiempo de caducidad desocupado que se controla
mediante la propiedad del sistema mxe.oslc.idleexpiry. El tiempo de caducidad
desocupado indica el perodo en que el cliente no accedi al recurso. El cliente
puede solicitar propiedades de miembro utilizando la clusula oslc.select y
ordenar la coleccin resultante utilizando el parmetro de consulta oslc.orderBy.

Establecimiento de la cabecera PATCHTYPE en merge para las


actualizaciones de recursos parciales

Para minimizar el tamao de mensajes, por ejemplo, para las aplicaciones mviles,
las aplicaciones de consumidor pueden utilizar solicitudes PATCH para limitar las
actualizaciones a los datos modificados solo. Para actualizar los objetos hijo de una
estructura de objeto, por ejemplo, para actualizar el registro de trabajos asociado a

Integracin de datos con aplicaciones externas 297


una orden de trabajo, la aplicacin de consumidor enva una solicitud PATCH,
donde la propiedad de cabecera PATCHTYPE se establece en merge.

Devolucin de propiedades de recursos en las cabeceras de respuesta


HTTP

La implementacin de motor de automatizacin de procesos de Tivoli de OSLC


incluye una nueva propiedad de cabecera HTTP, denominada properties, que
admite la devolucin de valores de atributo de recurso en las respuestas HTTP.
Una aplicacin de consumidor puede establecer la cabecera properties e incluir una
serie separada por comas de propiedades en una solicitud POST, PUT o PATCH.
La respuesta HTTP incluye los valores de atributo solicitados en la respuesta
HTTP. La cabecera properties se puede utilizar, por ejemplo, para recibir el nmero
de una orden de trabajo en la respuesta HTTP a la solicitud POST que ha creado la
orden de trabajo.

Cmo impedir transacciones duplicadas despus de anomalas de


conexin

La implementacin de motor de automatizacin de procesos de Tivoli de OSLC


incluye una nueva propiedad de cabecera HTTP, denominada transactionid, que
una aplicacin de consumidor puede utilizar para asignar un ID exclusivo a cada
transaccin. La aplicacin de proveedor almacena los ID de transaccin en la tabla
de transaccin de OSLC. Despus de una anomala de conexin de red, si la
aplicacin de consumidor vuelve a enviar una solicitud POST o PATCH, el
servidor valida el ID de transaccin con los valores de la tabla de transaccin. Si ya
existe el ID de transaccin, el servidor devuelve un error de conflicto de
transaccin en la respuesta HTTP.

Cdigos de respuesta HTTP


OSLC utiliza cdigos de respuesta HTTP estndar. Por ejemplo, normalmente se
devuelve la respuesta HTTP 404 cuando no se encuentra una pgina web, y en
OSLC se devuelve el cdigo de respuesta 404 cuando no se puede encontrar el
recurso.

Algunos cdigos de error existentes se correlacionan con cdigos HTTP de forma


predeterminada. Un implementador puede correlacionar cdigos de respuesta
adicionales si es necesario.

OSLC utiliza los cdigos de respuesta HTTP siguientes:

Cdigo HTTP Explicacin de OSLC


200 xito
201 xito. La respuesta contiene un vnculo.
204 El recurso se ha actualizado correctamente. No hay ninguna entidad de
respuesta.
400 Error de manejo de solicitud. Este error puede deberse al contenido de
la solicitud o URI. Por ejemplo, es posible que haya un error de
validacin de lgica empresarial en el lado del servidor.
401 Error de autenticacin.
403 Prohibido. La contrasea del usuario ha caducado.
404 No se puede encontrar el recurso o se ha proporcionado un tipo de
recurso no vlido.
405 No se puede utilizar el mtodo HTTP para el recurso.

298 Integracin de datos con aplicaciones externas


Cdigo HTTP Explicacin de OSLC
406 La representacin solicitada no est soportada.
410 La pgina de recursos estable ha caducado.
412 El recurso del lado del cliente es obsoleto y debe renovarse desde el
servidor. La actualizacin condicional ha fallado porque el recurso ha
sido actualizado por otro usuario o proceso.
500 Todos los dems errores de servidor.

Los mensajes dan soporte a los idiomas soportados por motor de automatizacin
de procesos de Tivoli.

Integracin como consumidor de OSLC


Su aplicacin o consumidor de OSLC se puede configurar para utilizar tres tipos
de interaccin: dilogo de seleccin, dilogo de creacin y consulta. La aplicacin
de consumidor obtiene los enlaces a recursos a partir de la aplicacin de
proveedor.

La figura siguiente muestra las interacciones entre las aplicaciones de consumidor


y de proveedor. Como consumidor de OSLC, la aplicacin puede consultar o crear
recursos en la aplicacin de proveedor y conservar los enlaces a esos recursos.
Mediante los enlaces, la aplicacin de consumidor puede hacer peticiones a la
aplicacin de proveedor para consultar, actualizar o suprimir los recursos.

Aplicacin del consumidor Aplicacin del proveedor


de OSLC de OSLC
(por ejemplo, SmartCloud (por ejemplo, Rational Team
Control Desk) Concert)

Interaccin del dilogo de seleccin

Interaccin del dilogo de creacin

Previsualizar dilogo
Enlaces de recursos Datos de recursos

Consultar interaccin

Enlace de recursos devuelto

La aplicacin del consumidor actualiza o suprime


un recurso utilizando el enlace de recursos

Creacin de registros de proveedor de OSLC


Debe crear un registro de proveedor en la aplicacin Proveedores de OSLC para
cada producto que registre en el registro de recursos de servicios de registro.
Puede utilizar el registro de proveedor para crear interacciones que permitan a los
usuarios compartir y actualizar datos entre productos.

Servicios de registro:

Servicios de registro es un servicio de integracin de Jazz for Service Management


que proporciona mecanismos para que los servicios, recursos y consumidores de

Integracin de datos con aplicaciones externas 299


Open Services for Lifecycle Collaboration (OSLC) puedan utilizar la interfaz de
OSLC para trabajar en un entorno de gestin de servicios integrado.

Servicios de registro utiliza el registro de proveedores para supervisar los recursos


que estn disponibles en el entorno y utiliza el registro de recursos para supervisar
los recursos que se pueden gestionar para los entornos. motor de automatizacin
de procesos de Tivoli utiliza el registro de proveedores y el registro de recursos
para integrar varios productos.

Registro de proveedores

El registro de proveedores es un directorio de Servicios de registro que contiene


servicios proporcionados por varios productos entre los diferentes dominios. El
registro de proveedores supervisa todos los proveedores de servicios de un
entorno, proporciona informacin sobre cmo contactar con ellos y lista el tipo de
accin que los proveedores realizan.

Como consumidor de OSLC, cuando crea una ventana de seleccin, una ventana
de creacin o una interaccin de consulta, puede configurar la interaccin para
descubrir proveedores de servicios en el registro de proveedores.

El proveedor de OSLC actualmente no permite registrar los proveedores de


servicios de la aplicacin en el registro de proveedores.

Registro de recursos

El registro de recursos es un directorio de Servicios de registro que contiene


recursos gestionados o supervisados por varios productos entre los diferentes
dominios.

Como consumidor de OSLC, puede utilizar el registro de recursos para consultar


recursos. Cuando crea una interaccin de consulta, puede configurar el URI
pblico del registro de proveedor para que apunte al registro de recursos, y
tambin puede configurar el punto final predeterminado PROVIDERREGISTRY.

El proveedor de OSLC actualmente no permite registrar los recursos de la


aplicacin en el registro de recursos.

Proveedores de servicios:

Un proveedor de servicios es un contenedor o coleccin de datos afines, tales como


un proyecto, una base de datos de usuario o un mdulo. Los proveedores de
servicios permiten agrupar recursos similares, tales como defectos o tareas, que se
pueden configurar para la integracin.

Un proveedor de servicios de una aplicacin de proveedor de OSLC contiene datos


de recurso que se pueden enlazar con datos de aplicacin de consumidor mediante
la integracin de las aplicaciones. Para integrar una aplicacin de consumidor y
una aplicacin de proveedor, el consumidor debe descubrir o identificar los
proveedores de servicios disponibles en la aplicacin de proveedor.

La aplicacin Proveedores de OSLC permite descubrir proveedores de servicios de


las maneras siguientes:
v Lista de catlogos
v Proveedor de servicios individual

300 Integracin de datos con aplicaciones externas


v Registro de proveedores

Para utilizar la lista de catlogos o proveedor de servicios individual para el


descubrimiento, en la aplicacin Proveedores de OSLC, especifique un URI en el
campo URI de lista de proveedores de servicios. El URI puede enlazarse a un
catlogo de proveedores de servicios, un listado de proveedores de servicios o un
proveedor de servicios individual.

Para utilizar el registro de proveedores para el descubrimiento, en la aplicacin


Proveedores de OSLC, seleccione la casilla Utilizar registro de proveedores. En la
aplicacin Puntos finales, se utiliza el punto final predefinido de HTTP
denominado PROVIDERREGISTRY para identificar la informacin de conexin
para el registro de proveedores.

El punto final PROVIDERREGISTRY especifica un registro de proveedores donde


las aplicaciones de proveedor de OSLC pueden registrar datos de proveedor de
servicios. El punto final necesita algn tipo de configuracin antes de poder
utilizarse. El punto final de HTTP para el registro de proveedores es diferente de
los puntos finales OAuth o HTTP que se utilizan al ejecutar interacciones entre
aplicaciones integradas.

Tipos de recurso y documentos de forma:

Un tipo de recurso identifica el tipo de datos, tal como una peticin de cambio, que
se enlaza entre aplicaciones integradas. Un tipo de recurso puede tener un
documento de forma asociado. Un documento de forma es similar a un esquema
XML, en la forma en la que define la estructura de datos del recurso.

En la aplicacin Proveedores de OSLC, utilice la accin Aadir/modificar tipos de


recurso para crear tipos de recurso. Debe crear un tipo de recurso para cada tipo
de datos que sea compatible como mnimo con un proveedor y con el que desee
establecer un enlace. La aplicacin de proveedor debe ser compatible con tipo de
recurso mediante un proveedor de servicios para que el tipo de recurso est
disponible en una interaccin de OSLC.

Un tipo de recurso se puede utilizar con varias interacciones para un proveedor. Se


pueden utilizar tipos de recurso con varios proveedores de OSLC que son
compatibles con el mismo tipo de recurso.

Los datos de recurso de la aplicacin de proveedor se pueden poner a disposicin


de la aplicacin de consumidor en forma de usos. Un uso es una subclase de los
datos de recurso. Por ejemplo, un tipo de recurso de una solicitud de cambio
podra tener usos de defecto y tarea.

Un documento de forma es un archivo RDF (Resource Description Framework),


que proporciona una descripcin de los tipos de datos de recurso que pueden
utilizarse en una interaccin. Cuando crea un tipo de recurso, puede importar un
documento de forma para el tipo de recurso. El documento de forma contiene una
lista de atributos del tipo de recurso.

Puntos finales en una integracin de OSLC:

Un punto final es el punto de entrada a un servicio, proceso, aplicacin o destino


de tema. Se pueden utilizar dos tipos de punto final en la integracin de OSLC. Se
utiliza un punto final de integracin de OSLC entre una aplicacin de consumidor
y una aplicacin de proveedor. Especifica cmo una aplicacin de consumidor se

Integracin de datos con aplicaciones externas 301


comunica con la aplicacin de proveedor de OSLC. El punto final de integracin
puede ser un punto final OAuth o un punto final HTTP. Solo se utiliza un punto
final de registro de proveedores si el mtodo especificado para el descubrimiento
de proveedores de servicios es mediante el Registro de proveedores.

Puntos finales de integracin

Cuando crea un registro de proveedor de OSLC, debe especificar el punto final


para la aplicacin de proveedor. El punto final se utiliza para todas las
interacciones entre la aplicacin de consumidor y la aplicacin de proveedor. La
integracin de OSLC con algunos proveedores, tales como Rational Team Concert,
debe utilizar un punto final cuyo tipo de manejador sea OAuth. Otros proveedores
pueden necesitar un punto final HTTP o, dar soporte a un punto final HTTP o a
un punto final OAuth.

OAuth es un estndar abierto para la autorizacin entre sitios o aplicaciones.


OAuth permite compartir los recursos que se almacenan en un sitio con otro sitio,
sin tener que proporcionar credenciales de autenticacin completas. Hay
informacin adicional sobre OAuth fcilmente disponible en la web.

Cree la definicin de punto final en la aplicacin Puntos finales. El punto final


especifica los valores de atributo de la aplicacin de proveedor, que permiten la
integracin y el enlace de datos.

Importante: Utilice nicamente caracteres y numerales del idioma ingls en un


nombre de punto final OAuth.

Los valores de las propiedades de punto final OAuth se basan en la configuracin


de la aplicacin de proveedor.
Tabla 40. Propiedades de los puntos finales OAuth
Propiedad Descripcin
ACCESSTOKENURL Obtiene el URL de seal de acceso a partir
de la aplicacin de proveedor de OSLC. Este
valor es necesario.
AUTHORIZATIONURL Obtiene el URL de seal de autorizacin a
partir de la aplicacin de proveedor de
OSLC. Este valor es necesario.
CONSUMERKEY Es la clave de OAuth que debe ser utilizada
por la aplicacin de consumidor, procedente
de la aplicacin de proveedor de OSLC. Este
valor es necesario.
CONSUMERSECRET Es la contrasea de OAuth que debe ser
utilizada por la aplicacin de consumidor,
procedente de la aplicacin de proveedor de
OSLC. Este valor se almacena en formato
cifrado. Es un valor necesario.
COOKIES Son las cookies para pasar al punto final.
HEADERS Son las propiedades de cabecera para pasar
al punto final. Por ejemplo, el cdigo de
idioma del lado de consumidor de la
integracin podra estar incluido en las
propiedades de cabecera.

302 Integracin de datos con aplicaciones externas


Tabla 40. Propiedades de los puntos finales OAuth (continuacin)
Propiedad Descripcin
HTTPMETHOD Es el mtodo HTTP que se utiliza durante la
peticin. El valor predeterminado es GET.
Este valor es necesario. Asegrese de que se
ha seleccionado Permitir anulacin para la
propiedad HTTPMETHOD.
REQUESTTOKENURL Es el URL del proveedor de seguridad de
OAuth. Obtiene este valor a partir de la
aplicacin de proveedor de OSLC. Este valor
es necesario.
URL Es el URL del tipo de uso del proveedor de
servicios. Este valor es necesario. Asegrese
de que se ha seleccionado Permitir
anulacin para la propiedad de URL.

Punto final de registro de proveedores

Puede especificar que su producto realice el descubrimiento de proveedores de


servicios en el proveedor de OSLC mediante el Registro de proveedores. En este
caso, utiliza un punto final HTTP predefinido para el descubrimiento, adems del
punto final OAuth o HTTP que se utiliza para la integracin. El nombre del punto
final, PROVIDERREGISTRY, est registrado en la propiedad del sistema
mxe.oslc.prqueryep.

El producto IBM Open Service Delivery Platform (OSDP) tiene una versin del
Registro de proveedores que se puede utilizar en el programa Transparent
Development. Para obtener ms informacin sobre el registro y para descargar la
versin actual, consulte https://www.ibm.com/developerworks/
servicemanagement/iosdp/index.html. Una vez implementado, este registro puede
configurarse como punto final PROVIDERREGISTRY.

El punto final PROVIDERREGISTRY est predefinido en la aplicacin Puntos


finales, pero no estn configuradas todas las propiedades. Debe configurar el punto
final por completo para dar soporte al descubrimiento de proveedor de servicios a
travs del Registro de proveedores.
Tabla 41. Propiedades del punto final HTTP PROVIDERREGISTRY
Propiedad Descripcin
CONNECTTIMEOUT La cantidad de tiempo, en segundos, que se
debe esperar la conexin antes de generar
un error de tiempo de espera.
COOKIES Son las cookies para pasar al punto final.
HEADERS Son las propiedades de cabecera para pasar
al punto final. Por ejemplo, el cdigo de
idioma del lado de consumidor de la
integracin podra estar incluido en las
propiedades de cabecera.
HTTPEXIT La clase de salida de Java que se
proporciona para dar soporte al proceso
especfico del Registro de proveedores.

Integracin de datos con aplicaciones externas 303


Tabla 41. Propiedades del punto final HTTP PROVIDERREGISTRY (continuacin)
Propiedad Descripcin
HTTPMETHOD Es el mtodo HTTP que se utiliza durante la
peticin. El valor predeterminado es GET.
Este valor es necesario. Asegrese de que se
ha seleccionado Permitir anulacin para la
propiedad HTTPMETHOD.
PASSWORD Si el registro est protegido, es necesaria la
contrasea del nombre de usuario
correspondiente.
READTIMEOUT La cantidad de tiempo, en segundos, que se
debe esperar una respuesta a una solicitud
realizada por la aplicacin de consumidor
antes de generar un error de tiempo de
espera.
URL El URL del registro de proveedores.
Obligatorio. El valor predeterminado es
https://oslc-registry/oslc/pr. El valor debe
estar actualizado para reflejar la
implementacin local del registro. Asegrese
de que se ha seleccionado Permitir
anulacin para la propiedad de URL.
USERNAME Si el registro est asegurado, se necesita el
nombre de usuario y la contrasea
correspondiente.

Cuando configura la definicin de punto final PROVIDERREGISTRY, debe


especificar valores para al menos estas dos propiedades:
v HTTPMETHOD: Configurado en GET.
v URL: Tiene un valor predeterminado. Actualice el valor para reflejar la
implementacin local del registro.
Es posible que tambin deba configurar los valores de USUARIO y
CONTRASEA, en funcin de la configuracin de seguridad del Registro de
proveedores.

Inicio de sesin nico

Si tiene previsto utilizar el inicio de sesin nico, debe establecer la propiedad


COOKIES para el punto final HTTP en LtpaToken2.

Diseo de una interaccin de OSLC


La integracin de OSLC establece enlaces entre los datos de una de las aplicaciones
de usuario y los datos contenidos en una aplicacin de proveedor externa de
OSLC. Utilice la aplicacin Proveedores de OSLC para integrar aplicaciones
mediante el diseo de interacciones de OSLC.

La aplicacin Proveedores de OSLC permite crear interacciones de OSLC desde la


interfaz de usuario. Puede disear los tres tipos de interacciones siguientes, que
permiten que los usuarios enlacen sus datos de aplicacin con datos de recurso de
proveedor:
v Una interaccin de creacin permite al usuario crear datos de recurso en la
aplicacin de proveedor de OSLC y enlazar esos datos de recurso con un
registro de aplicacin.

304 Integracin de datos con aplicaciones externas


v Una interaccin de seleccin permite al usuario seleccionar datos de recurso
existentes en la aplicacin de proveedor de OSLC y enlazar esos datos de
recurso con un registro de aplicacin.
v Una interaccin de consulta permite al usuario seleccionar una consulta
predefinida en la aplicacin de proveedor de OSLC y recuperar datos de
recurso.

Los registros siguientes deben estar en su lugar para poder disear una
interaccin:
v Debe existir un registro de punto final de integracin de OAuth o HTTP para la
aplicacin de proveedor en la aplicacin Puntos finales.
v Debe estar definido un registro para la aplicacin de proveedor de OSLC en la
aplicacin Proveedores de OSLC.
v Deben estar disponibles uno o ms tipos de recursos de proveedor. Puede aadir
tipos de recursos en la ventana Aadir/Modificar tipos de recursos en la
aplicacin Proveedores OSLC.

El asistente Crear interaccin de OSLC de la aplicacin Proveedores de OSLC le


indica los tres pasos que debe seguir para disear una interaccin de seleccin de
OSLC. El asistente aade un paso adicional para una interaccin de creacin de
OSLC y dos pasos adicionales para una interaccin de consulta de OSLC.

Ejemplo: Diseo de una interaccin de creacin o seleccin de OSLC:

Desea disear una interaccin de OSLC para que los usuarios de la aplicacin
Peticiones de servicio puedan crear un defecto en Rational Team Concert, la
aplicacin de proveedor. El defecto que se crea est enlazado con una peticin de
servicio en la aplicacin Peticiones de servicio.

Trabajo preparatorio

En la aplicacin Proveedores de OSLC, cree un registro de proveedor para Rational


Team Concert. Especifique el punto final OAuth y el URI pblico para Rational
Team Concert, y especifique cmo se identifica el proveedor de servicios.

Mediante la accin Aadir/modificar tipos de recurso, puede aadir tipos de


recurso que estn soportados en Rational Team Concert y especificar que los
usuarios pueden enlazar desde la aplicacin Peticiones de servicio.

Definir interaccin y seleccionar el URI de utilizacin: paso 1

Seleccione la accin Crear interaccin de OSLC.

Especifique Crear defecto como nombre de la interaccin de OSLC para el registro


Rational Team Concert. Seleccione CREATIONDIALOG como el tipo de
interaccin.

Seleccione un tipo de recurso, como solicitud de cambio, de la lista de valores. La


lista se llena con el tipo o tipos de recursos que ha creado anteriormente.

Se abrir la pgina de inicio de sesin de Rational Team Concert, pues debe iniciar
una sesin en Rational Team Concert para continuar.

Despus de iniciar una sesin, la lista de valores URI de utilizacin se llena desde
Rational Team Concert con los tipos de uso de recursos correspondientes al tipo de

Integracin de datos con aplicaciones externas 305


recurso seleccionado. Seleccione el tipo de uso de defecto. Opcionalmente, puede
especificar un URI de utilizacin.

Seleccionar proveedor de servicio y propiedad de asociacin: paso 2

En el paso 2, especifique si todos los proveedores de servicio de Rational Team


Concert estn disponibles para la interaccin, o si nicamente un proveedor de
servicio est disponible. Tambin puede identificar una propiedad de asociacin,
de modo que se pueda establecer un enlace desde la aplicacin del proveedor,
Rational Team Concert, a la aplicacin de consumidor, Peticiones de servicio.

Puede utilizar la seleccin predeterminada, que es que todos los proveedores de


servicios estn disponibles. Cuando un usuario de la aplicacin Peticiones de
servicio inicia la interaccin en la aplicacin Peticiones de servicio y existen varios
proveedores de servicios compatibles con la combinacin seleccionada de recurso y
utilizacin, se abre una ventana de seleccin. Por ejemplo, la ventana de seleccin
puede mostrar una lista de proyectos de Rational Team Concert que soportan
defectos. El usuario puede seleccionar el proveedor de servicios o contenedor en el
que crear el defecto.

La otra opcin es especificar un URI de un proveedor de servicios individual. En


ese caso, la aplicacin Peticiones de servicio se conecta directamente al proveedor
de servicios que especifique.

Para habilitar un enlace desde Rational Team Concert con la aplicacin Peticiones
de servicio, debe especificar la propiedad de asociacin. La propiedad de
asociacin est asociada al recurso de Rational Team Concert. Si un documento de
forma est asociado al tipo de recurso, los valores que puede elegir para la
propiedad de asociacin proceden del documento de forma. Si no hay ningn
documento de forma asociado al tipo de recurso, puede especificar una propiedad
de asociacin. La propiedad de asociacin se muestra en la interfaz de usuario de
Rational Team Concert, y la propiedad se llena con un enlace que apunta a la
peticin de servicio. Un usuario de Rational Team Concert puede pulsar el enlace
para abrir la aplicacin Peticiones de servicio y ver la peticin de servicio
relacionada en Rational Team Concert.

Seleccionar la aplicacin de consumidor para la interaccin de OSLC: paso 3

En el paso 3, especifique la aplicacin de consumidor que interactuar con la


aplicacin del proveedor, Rational Team Concert. La aplicacin de consumidor es
la aplicacin Peticin de servicio.

La configuracin predeterminada es que los cambios de la interfaz de usuario en la


aplicacin de consumidor se generan automticamente a travs del asistente. Si
mantiene la configuracin predeterminada, debe especificar el separador de la
aplicacin al que se aaden la tabla y el botn de interaccin.

Especifique que el separador, la ventana de tabla y el botn, se han de aadir al


separador Registros relacionados de la aplicacin Peticiones de servicio. De forma
predeterminada, el nombre del botn pulsador es el nombre que especific para la
interaccin: Create Defect. Puede cambiar el nombre del botn.

Para que el botn sea visible para los usuarios, debe especificar los grupos de
seguridad que estn autorizados para ejecutar la interaccin. Solo los usuarios en
los grupos que autorice vern el botn y crearn un defecto en Rational Team
Concert.

306 Integracin de datos con aplicaciones externas


Como alternativa, puede deseleccionar la casilla Crear panel de interaccin y
utilizar el Diseador de aplicaciones para crear todos los cambios de interfaz de
usuario en la aplicacin Peticiones de servicio.

Especificar correlaciones de campo de interaccin: paso 4

El paso 4 solo est disponible para interacciones de creacin. Opcionalmente,


puede correlacionar datos de la aplicacin de consumidor con los campos de
destino en la aplicacin del proveedor. Cuando el usuario pulsa el botn para crear
un recurso, los campos se correlacionan con la ventana de proveedor que se
muestra en la aplicacin de consumidor. Por ejemplo, desea que los usuarios de
Peticiones de servicio vean el nmero de peticin de servicio y la descripcin
rellenada previamente en los campos de la ventana Crear recurso de Rational Team
Concert. Puede proporcionar ms correlaciones de campo o revisar la correlacin
de campos, incluso despus de completar la interaccin.

El documento de forma para el recurso, identifica los atributos que soportan


enlaces. Desde su aplicacin, seleccione solo los campos que contengan enlaces
para correlacionar con los campos de destino que soportan enlaces. Compruebe
que el campo de destino sea visible en la interfaz de usuario de la ventana de la
aplicacin de proveedor para que los datos correlacionados sean visibles.

Desea correlacionar la descripcin de peticin de servicio con la descripcin de


defecto en la ventana Rational Team Concert. Especifique :descripcin como la
expresin de correlacin de origen y, descripcin como la propiedad de recurso de
destino.

Crear varias interacciones

Puede crear varias interacciones para una aplicacin de consumidor. Por ejemplo,
es posible que tambin desee crear una interaccin de seleccin para la aplicacin
Peticiones de servicio. En la ventana de seleccin, un usuario puede pulsar un
botn para seleccionar un recurso existente, como por ejemplo, un defecto, en
Rational Team Concert. Si crea varias interacciones para la misma combinacin de
tipo de recurso y utilizacin en el mismo panel de aplicacin, los botones se
aaden al mismo panel y ventana de tabla.

Si tambin disea una interaccin de seleccin para la aplicacin Peticiones de


servicio, los usuarios tienen las opciones siguientes:
v Crear un defecto y enlazar la peticin de servicio al nuevo defecto.
v Seleccionar un defecto existente y enlazar la peticin de servicio a l.

Tambin puede disear una interaccin de creacin adicional para un tipo de


recurso o tipo de uso soportado, tal como una tarea. Una combinacin diferente de
tipo de recurso y utilizacin genera un panel y una ventana de tabla diferentes
para el botn de interaccin adicional.

Revisar las interacciones nuevas en la aplicacin de consumidor

Despus de completar la interaccin, debe volver a iniciar una sesin. De esta


forma se otorga el acceso de seguridad actualizado que especific en el paso 3.
Despus de iniciar la sesin, puede navegar hasta la aplicacin Peticiones de
servicio para revisar los cambios realizados en la interfaz de usuario. En cualquier

Integracin de datos con aplicaciones externas 307


momento, puede utilizar la aplicacin Diseador de aplicaciones para refinar o
aadir a la interfaz de usuario los cambios que se generaron automticamente en
la aplicacin Peticiones de servicio.

Puede probar el botn o botones para verificar que la ventana de Rational Team
Concert se abre en la aplicacin Peticin de servicio de la forma prevista. Si la
ventana no se abre, o existen datos en campos inesperados, la causa puede ser una
correlacin de datos errnea. Puede revisar la correlacin de datos para la
interaccin en la tabla Correlacin del registro de proveedor de OSLC.

Si los usuarios de la aplicacin Peticin de servicio no pueden ver los botones


recin aadidos que enlazan con Rational Team Concert, asegrese de que los
usuarios inicien de nuevo una sesin y que pertenecen a los grupos de seguridad
autorizados. Tambin asegrese de que los usuarios tienen credenciales vlidas de
inicio de sesin de Rational Team Concert.

Modificacin de interacciones de creacin o seleccin de OSLC

Despus de completar el diseo de la interaccin de OSLC, los cambios que puede


realizar en ella son limitados. Puede actualizar la propiedad de asociacin y puede
revisar la correlacin de campos.

Especificar una nueva propiedad de asociacin establece un nuevo nombre de


propiedad, que proporciona un enlace desde la aplicacin de proveedor a la
aplicacin de consumidor.

En la tabla Correlaciones de interaccin, puede revisar cualquier correlacin


existente, suprimir o aadir correlaciones. El documento de forma para el recurso,
identifica los atributos que soportan enlaces. Desde la aplicacin de consumidor
solamente puede seleccionar campos que contengan enlaces de correlacin con
campos de destino que permiten el uso de enlaces. Compruebe que el campo de
destino sea visible en la interfaz de usuario de la ventana de la aplicacin de
proveedor para que los datos correlacionados sean visibles.

Tambin puede especificar una clase Java para utilizarla como parte de la lgica de
correlacin. Puede utilizar una clase Java cuando las definiciones de correlacin de
campos que se proporcionan no son suficientes. Especifique la clase Java en el
campo Clase de correlacin de interacciones. Se puede proporcionar una clase de
correlacin si la correlacin de campos existe o no.

Supresin de interacciones de creacin o seleccin de OSLC

La supresin de la interaccin solo es posible si la aplicacin de consumidor no


contiene enlaces que apunten a la interaccin. Se deben suprimir todos los enlaces
de aplicacin asociados para poder suprimir una interaccin en un registro de
proveedor de OSLC.

Cuando suprime una interaccin, se actualizan los correspondientes cambios en la


interfaz de usuario que se realizaron al disear la interaccin. El botn para la
interaccin se elimina de la aplicacin. Tambin se eliminan la ventana de tabla y
el separador, pero solo si la ventana de tabla y separador creados por el asistente,
donde exista el botn, no contiene botones para otras interacciones. Se suprime
tambin la opcin de firma y relacin que se han creado para la interaccin.

Si configur manualmente los cambios en la interfaz de usuario para la interaccin,


debe utilizar el Diseador de aplicaciones para eliminar esos cambios.

308 Integracin de datos con aplicaciones externas


Enlaces hurfanos

Los enlaces creados entre el registro de objeto de la aplicacin de consumidor y el


recurso de la aplicacin de proveedor se almacenan en la tabla de base de datos
OSLCLINK.

Si suprime un registro de objeto que tiene enlaces, la tabla OSLCLINK contendr


uno o ms enlaces hurfanos correspondientes al registro de objeto suprimido.

La tarea cron OSLCDeleteLinks suprime los enlaces hurfanos. De forma


predeterminada, la tarea cron OSLCDeleteLinks est configurada para que se
ejecute una vez al da. Puede ver y editar la tarea cron en la aplicacin
Configuracin de tarea cron.

Ejemplo: Diseo de una interaccin de consulta de OSLC:

Desea disear una interaccin de OSLC para que los usuarios de la aplicacin
Activos puedan ejecutar una consulta y recuperar datos de recurso de un
proveedor, tal como IBM Tivoli Application Dependency Discovery Manager.

Trabajo preparatorio

En la aplicacin Proveedores de OSLC, Registro de recursos es el proveedor


predeterminado para interacciones de consulta. El punto final
PROVIDERREGISTRY se especifica como parte de los valores predeterminados,
pero debe definir las propiedades del punto final y especificar el URI pblico del
Registro de recursos. Tambin debe especificar cmo se identifica el proveedor de
servicios.

Mediante la accin Aadir/Modificar tipos de recurso, aada el tipo de recurso o


tipos que estn soportados en Registro de recursos y asocie un documento de
forma con el tipo de recurso, si est disponible. Tambin puede especificar que los
usuarios pueden enlazar con el Registro de recursos desde la aplicacin Activos.

Definir interaccin y seleccionar el URI de utilizacin: paso 1

Seleccione la accin Crear interaccin de OSLC.

Especifique COMPUTER como nombre de la interaccin de OSLC y seleccione


QUERYCAPABILITY como tipo de interaccin.

Seleccione un tipo de recurso, tal como COMPUTERSY, en la lista de valores. La


lista se llena con el tipo o tipos de recursos que ha creado anteriormente.

Opcionalmente, puede especificar un URI de utilizacin. La lista de valores URI de


utilizacin se llena desde el Registro de recursos con el tipo o tipos de uso de
recursos correspondientes al tipo de recurso seleccionado. Si no especifica un URI
de utilizacin, se utiliza el tipo de uso predeterminado del tipo de recurso.

Seleccionar proveedor de servicios y propiedad de enlace: paso 2

En el paso 2, especifique si estn disponibles todos los proveedores de servicios


para la interaccin, o solamente est disponible un solo proveedor de servicios.
Tambin puede identificar una propiedad de enlace y una etiqueta de enlace, para
que pueda establecerse un enlace desde la aplicacin de proveedor, Resource
Registry, a la aplicacin de consumidor, Activos.

Integracin de datos con aplicaciones externas 309


Utilice la seleccin predeterminada, que indica que slo el proveedor de servicios
Resource Registry est disponible. Cuando un usuario de la aplicacin Activos
inicia la interaccin ejecutando una consulta y existen varios proveedores de
servicios compatibles con la combinacin seleccionada de recurso y utilizacin, se
abre una ventana de seleccin. Por ejemplo, la ventana de seleccin puede mostrar
una lista de proveedores de servicios que contienen datos que residen en el recurso
especificado. El usuario puede seleccionar el proveedor de servicios en el que se
basar la consulta.

La otra opcin es especificar un URI de un proveedor de servicios individual. La


consulta se ejecuta basndose en el proveedor de servicios que especifique. La
propiedad de enlace se utiliza para recuperar los datos de recurso a partir del
Registro de recursos para el proveedor. El enlace y la etiqueta de enlace se
muestran al usuario en la aplicacin de consumidor cuando se proporcionan los
resultados de la consulta.

Para habilitar un enlace entre el Registro de recursos y la aplicacin Activos, la


aplicacin de proveedor debe permitir el uso de una propiedad de enlace. La
propiedad de enlace est asociada al recurso contenido en el Registro de recursos.
Si un documento de forma est asociado al tipo de recurso, los valores que puede
elegir para la propiedad de enlace proceden del documento de forma. Si no hay
ningn documento de forma asociado al tipo de recurso, puede especificar una
propiedad de enlace y una etiqueta de enlace.

Seleccionar la aplicacin de consumidor para la interaccin de OSLC: paso 3

En el paso 3, especifica la aplicacin de producto que interacciona con la aplicacin


de proveedor, el Registro de recursos. La aplicacin de consumidor puede ser
cualquier aplicacin contenida en el producto, pero este ejemplo utiliza la
aplicacin Activos.

De forma predeterminada, el botn pulsador se crea automticamente en la


aplicacin especificada. Si mantiene el valor predeterminado, debe especificar el
panel de la aplicacin al que se aade el botn de interaccin para permitir la
interaccin de consulta.

Especifique que el botn se debe aadir al panel Principal de la aplicacin Activos.


De forma predeterminada, la etiqueta del botn pulsador es la misma que el
nombre que especific para la interaccin: Computer. Puede cambiar la etiqueta del
botn.

Para que el botn sea visible para los usuarios, debe especificar los grupos de
seguridad que estn autorizados para ejecutar la interaccin. Solamente los
usuarios pertenecientes a los grupos autorizados pueden ver el botn y ejecutar la
consulta para recuperar los datos de recurso.

Especificar consultas y parmetros de consulta: paso 4

En el paso 4, crear las consultas para la interaccin. Las consultas se utilizan para
consultar los datos de recurso contenidos en el registro de recursos. La clusula
Select identifica los atributos que se seleccionan del recurso. Puede especificar un
asterisco (*) para recuperar todos los valores o especificar una lista separada por
comas de atributos de recurso desde el documento de forma para filtrar la lista de
valores a recuperar.

310 Integracin de datos con aplicaciones externas


Puede definir la condicin WHERE de la consulta utilizando uno de los mtodos
siguientes:
v Implemente una clase Java para definir la condicin WHERE.
v Proporcione los datos para la condicin WHERE.
v Defina la condicin WHERE utilizando valores de parmetro. Los valores de
parmetro se seleccionan del objeto principal de la aplicacin y se comparan con
los atributos de los datos de recurso en la aplicacin de proveedor.

Las consultas se ejecutan en el orden que se ha especificado en la tabla de


consultas. Si la primera condicin no se cumple, todas las consultas posteriores se
procesan en orden hasta que se cumpla una condicin de consulta. Cuando se
cumple una condicin, los datos de recurso se recuperan y devuelven al usuario en
la aplicacin de consumidor. Tambin puede identificar el parmetro de consulta
orderby que ordena los datos devueltos en la respuesta de la consulta.

Las consultas que se crean durante el diseo de la interaccin no se validan. Por lo


tanto, podra crear consultas que generan mensajes durante la ejecucin. Por
ejemplo, puede crear la condicin de consulta siguiente:
Query Query Type Property Operand Mapped Expression Is Literal?
10 Parameter http://open-services.net/ns/crtv#%7Dmanufacturer IN IBM, Dell Checked

Pero durante la ejecucin se genera un error porque la consulta est buscando un


solo atributo "IBM, Dell" en lugar de dos atributos "IBM","Dell". El ejemplo
siguiente muestra el formato de atributo correcto:
Query Query Type Property Operand Mapped Expression Is Literal?
10 Parameter http://open-services.net/ns/crtv#%7Dmanufacturer IN "IBM","Dell" Checked

Especificar el grupo de interacciones: paso 5

En el paso 5, puede aadir la interaccin de la consulta a un grupo de


interacciones y especificar una condicin para el grupo si no existe una.

Un grupo de interacciones le permite agrupar varias consultas afines bajo un solo


control de interfaz de usuario. Cuando especifica un grupo de interacciones,
permite que el usuario ejecute varias interacciones para distintos proveedores
basndose en la condicin que est asociada con la interaccin dentro del grupo.

Todas las interacciones del grupo estn basadas en el mismo objeto principal y tipo
de recurso. Si aade una interaccin de consulta a un grupo de interacciones, esa
interaccin slo se ejecuta como parte del grupo. La interaccin de consulta no se
ejecuta de forma independiente. El orden de las interacciones en el grupo
determina la secuencia en la que se ejecuta la consulta para el grupo de
interacciones.

Puede especificar el grupo de interacciones CICOMPUTERSY y la condicin XYZ. Si ha


creado un grupo de interacciones, puede especificar detalles adicionales para el
grupo de interacciones utilizando la accin Aadir/Modificar grupos de
interacciones. En la aplicacin Activos, cuando el usuario pulsa el botn para
ejecutar una consulta y se cumple una condicin, los resultados de la consulta se
muestran en la ventana Vista previa.

Revisar las interacciones nuevas en la aplicacin de consumidor

Despus de crear la interaccin de consulta, debe volver a iniciar una sesin. De


esta forma se otorga el acceso de seguridad actualizado que especific en el paso 3.

Integracin de datos con aplicaciones externas 311


Despus de iniciar la sesin, puede navegar hasta la aplicacin Activos para revisar
los cambios realizados en la interfaz de usuario.

Puede probar el botn para verificar que aparece en la aplicacin Activos de la


forma prevista. Puede ejecutar la consulta para verificar que es vlida y que los
datos de recurso se devuelvan. Si no se devuelven resultados, puede que los
parmetros de la consulta sean incorrectos. Revise los parmetros de la consulta en
la aplicacin Proveedores de OSLC y actualice los parmetros segn sea necesario.

Si los usuarios no pueden ver el botn recin aadido despus volver a iniciar la
sesin, compruebe que los usuarios pertenecen a los grupos de seguridad
autorizados.

Modificacin de interacciones de consulta de OSLC

Despus de completar el diseo de la interaccin de consulta de OSLC, los


cambios que puede realizar en ella son limitados. Puede actualizar la propiedad de
enlace, actualizar los parmetros de consulta y revisar la correlacin de campos.

Especificar una nueva propiedad de enlace establece un nuevo nombre de


propiedad, que proporciona un enlace desde la aplicacin de proveedor a la
aplicacin de consumidor.

En la tabla Correlaciones de consulta, puede revisar cualquier correlacin existente,


suprimir o aadir correlaciones. El documento de forma para el recurso, identifica
los atributos que soportan enlaces. Desde la aplicacin de consumidor solamente
puede seleccionar campos que contengan enlaces de correlacin con campos de
destino que permiten el uso de enlaces. Compruebe que el campo de destino sea
visible en la interfaz de usuario de la ventana de la aplicacin de proveedor para
que los datos correlacionados sean visibles.

Tambin puede especificar una clase Java para utilizarla como parte de la lgica de
correlacin. Puede utilizar una clase Java cuando las definiciones de correlacin de
campos que se proporcionan no son suficientes. Especifique la clase Java en el
campo Clase de correlacin de consulta. Se puede proporcionar una clase de
correlacin si la correlacin de campos existe o no.

La clusula SELECT de la interaccin de consulta se puede actualizar despus de


crear la interaccin.

Supresin de interacciones de consulta de OSLC

La supresin de la interaccin de consulta solo es posible si la interaccin no est


asociada a un grupo de interacciones. Debe eliminar la interaccin de un grupo
antes de suprimir la interaccin.

Cuando suprime una interaccin, se actualizan los correspondientes cambios en la


interfaz de usuario que se realizaron al disear la interaccin. El botn para la
interaccin se elimina de la aplicacin. Se suprime tambin la opcin de firma y
relacin que se han creado para la interaccin.

Creacin de grupos de interacciones


Puede utilizar grupos de interacciones para agrupar varias interacciones de
consulta bajo un mismo control de interfaz de usuario, tal como un botn. Estas
interacciones de consulta pueden ser para un proveedor individual o varios
proveedores.

312 Integracin de datos con aplicaciones externas


Antes de empezar

Para poder crear un grupo de interacciones, debe crear una o varias interacciones
de consulta.

Acerca de esta tarea

Cada interaccin de consulta del grupo se ejecuta y devuelve datos al usuario de


acuerdo con las condiciones definidas para la interaccin. Si una interaccin de
consulta contiene una condicin que se basa en datos de la aplicacin actual, el
grupo de interacciones utiliza los datos para ejecutar slo las consultas apropiadas.
Los resultados de varias consultas se combinan y muestran en la vista resultante.

Para crear una interaccin de OSLC, el usuario debe estar en el idioma base. Puede
tambin crear un grupo de interacciones en el asistente de interaccin de consulta.

Procedimiento
1. En la aplicacin de proveedores de OSLC, seleccione la accin
Agregar/Modificar grupos de interacciones.
2. Aada una fila nueva y especifique el nombre del grupo de interacciones y el
objeto principal que desee asociar al grupo.
3. Opcional: Si desea asociar el grupo de interacciones con varios proveedores,
seleccione la casilla Soportar la vista combinada de varios proveedores.
4. En el panel Interacciones, especifique al menos una interaccin para que se
ejecute como parte del grupo. Las interacciones que son elegibles dependen del
objeto principal que est especificado para los grupos de interacciones.
5. En el panel Aplicaciones, especifique la aplicacin a la que desee aadir el
grupo de interacciones.
6. Opcional: Si el objeto principal del grupo de interacciones no es un objeto
principal de la aplicacin especificada, debe especificar una relacin. Si no
existe una relacin entre la aplicacin y el objeto principal especificado para el
grupo de interacciones, debe crear o modificar una relacin en el panel
Relaciones de la aplicacin Configuracin de base de datos.
7. Especifique una etiqueta de botn, una opcin del men Detalles, o ambos,
dependiendo del lugar desde donde desee que la interaccin est disponible en
la aplicacin de consumidor.
8. En el panel Grupos de seguridad, seleccione el grupo de seguridad que se
aplica a la aplicacin y al grupo de interacciones.
9. Para aadir un grupo de interacciones a una opcin del men Detalles,
seleccione el panel Men de aplicacin, especifique la ubicacin en la
aplicacin de consumidor donde se debe aadir el grupo, pulse Aceptar y
guarde el grupo. Los campos existentes en la aplicacin de consumidor se
muestran en el cuadro de dilogo Seleccionar men de detalles.

Ejemplo: Ejecucin de una interaccin de OSLC


Como usuario de aplicaciones, puede ejecutar interacciones de OSLC entre
aplicaciones que un diseador de integracin ha integrado. Para iniciar la
interaccin de OSLC, debe pulsar un botn en la aplicacin de consumidor.
Dependiendo del tipo de interaccin, puede crear un registro de recurso en la
aplicacin de proveedor externa o enlazar con un recurso existente en la aplicacin
de proveedor.

En este ejemplo, su aplicacin es el consumidor, y Rational Team Concert es el proveedor.


Pero este proceso tambin puede trabajar con cualquier proveedor de OSLC.

Integracin de datos con aplicaciones externas 313


Utilice la aplicacin Peticiones de servicio para especificar solicitudes de arreglos
del software que su equipo est desarrollando. El diseador de integracin ha
utilizado la aplicacin Proveedores de OSLC para integrar la aplicacin Peticiones
de servicio con la aplicacin Rational Team Concert. Se han creado dos
interacciones de OSLC. La aplicacin Peticiones de servicio ahora contiene el panel
Defectos dentro del panel Registros relacionados. El panel tiene una ventana
Defectos y dos pulsadores en la ventana: Crear defecto y Seleccionar defecto.

Ahora puede especificar una peticin de servicio y crear un defecto asociado en


Rational Team Concert al mismo tiempo, sin salir de la aplicacin Peticiones de
servicio. O bien, puede asociar la solicitud con un recurso existente en Rational
Team Concert, utilizando el botn Seleccionar defecto.

Creacin de un defecto

En la aplicacin Peticiones de servicio, puede crear una peticin de servicio,


proporcionar una descripcin y otra informacin, y guardar la solicitud. Abra el
separador Registros relacionados y pulse el botn Crear defecto en el separador
Defectos.

Debido a que est creando un registro de recurso en una aplicacin externa,


Rational Team Concert, debe iniciar sesin en Rational Team Concert. Se abre la
ventana de inicio de sesin de Rational Team Concert. Despus de proporcionar el
ID de usuario y la contrasea, se visualiza la ventana Crear recurso. Ahora puede
acceder a la ventana Crear recurso de Rational Team Concert en la aplicacin
Peticiones de servicio como resultado de la integracin de OSLC.

Especifique el tipo de recurso para crear un defecto. Tambin debe proporcionar


informacin en el campo Resumen, y especificar el proyecto o contenedor para
archivar el defecto.

El diseador de integracin ha correlacionado el campo Descripcin de peticin


de servicio con la propiedad de descripcin deRational Team Concert cuando se ha
creado la interaccin. Como resultado, la descripcin de peticin de servicio est
en el campo Descripcin en la ventana Crear recurso. Puede editar la descripcin
si es necesario.

Vista previa de los datos de registro de recurso de aplicaciones de


proveedor

La creacin del registro en Rational Team Concert tambin crea un fila en la tabla
Defectos en la aplicacin Peticiones de servicio. El campo Descripcin contiene
informacin sobre los recursos enlazados en Rational Team Concert. La fila de la
tabla tambin muestra el URL del registro de recurso enlazado.

El campo Descripcin tiene un icono de informacin, un pequeo circulo azul con


una i. Puede pasar el ratn sobre el icono de informacin para visualizar una
ventana que muestre datos del registro de defectos en Rational Team Concert. (Si
no ha iniciado la sesin en la aplicacin de proveedor, pase el puntero del ratn
sobre el icono de informacin para ver un mensaje y un enlace para iniciar la
sesin.Si la aplicacin de proveedor no permite utilizar vistas previas de OSLC, aparece un
segundo icono en el que puede pulsar para ver una vista previa.

Puede utilizar la ventana de vista previa para comprobar el estado y dems


informacin sobre el registro de defectos de Rational Team Concert desde la
aplicacin Peticiones de servicio.

314 Integracin de datos con aplicaciones externas


Seleccin de un defecto

En la aplicacin Peticiones de servicio, especifique una segunda peticin de


servicio. La solicitud es para arreglar una instancia de un problema que se ha
notificado anteriormente, y para el que existe un defecto en Rational Team Concert.
Para la segunda solicitud, puede desear enlazar con el defecto existente, en lugar
de crear un registro de defectos. En la tabla Defectos, en el separador Registros
relacionados, pulse Seleccionar defecto.

Es posible que necesite seleccionar el contenedor, como por ejemplo, el proyecto de


Rational Team Concert, para el defecto, si la aplicacin de proveedor da soporte a
varios contenedores.

En la ventana Seleccionar recurso, especifique Defecto como el tipo de recurso que


desea seleccionar. Proporcione informacin de bsqueda, como el nmero o la
descripcin del defecto, para visualizar el defecto o defectos que coincidan con el
criterio de bsqueda. Cuando selecciona un defecto y pulsa Aceptar, se establece el
enlace con el recurso de defectos de Rational Team Concert. Se aade una fila para
el defecto a la tabla Defectos en la aplicacin Peticiones de servicio. Puede utilizar
el icono de informacin para visualizar la informacin de defectos, del mismo
modo que para la fila que ha aadido al crear un defecto.

Cambios en el URI pblico


Si una aplicacin de proveedor de OSLC se traslada a otro servidor o su URI
pblico cambia por otra razn, puede cambiar el URI pblico en el registro de
proveedor de OSLC. Cuando actualiza el URI pblico, los URI basados en el URI
pblico tambin se modifican, lo que impide que se interrumpan los enlaces.

En la aplicacin Proveedores de OSLC, utilice la accin Cambiar URI pblico para


especificar el nuevo URI pblico para un proveedor de OSLC. Despus de cambiar
el URI pblico, los URI basados en el URI pblico, tales como los URI de
proveedor de servicios y de recurso, tambin se modifican. Actualice los enlaces
para que coincidan con el nuevo URI pblico y mantenerlos as activos y viables.

Migracin de integraciones de OSLC


Puede migrar una definicin de proveedor de OSLC y sus interacciones asociadas
desde una instancia a otra del producto. Por ejemplo, puede configurar una
integracin de OSLC en un entorno de desarrollo o de prueba. Despus de
comprobar que la integracin funciona correctamente, puede migrarla a un entorno
de produccin.

La migracin de integraciones de OSLC aprovecha funciones existentes de la


aplicacin Gestor de migracin y se realiza principalmente en esa aplicacin. La
aplicacin Proveedores de OSLC tiene una accin para generar el paquete que se
ha de migrar.

Antes de ejecutar la accin Migrar proveedor OSLC, debe realizar trabajos de


preparacin en la aplicacin Gestor de migracin. Se proporciona una definicin de
paquete OSLCPROVIDER en la aplicacin Gestor de migracin. Para la definicin
de paquete OSLCPROVIDER, especifique una base de datos de destino o destino
de archivos, para el paquete que genere en la aplicacin Proveedores de OSLC.

Utilice la accin Migrar proveedor OSLC en aplicacin Proveedores de OSLC, para


generar el paquete que despus va a gestionar en la aplicacin Gestor de
migracin. El paquete contiene el registro de proveedores de OSLC, las

Integracin de datos con aplicaciones externas 315


interacciones asociadas y los cambios correspondientes realizados en la interfaz de
usuario de las aplicaciones de consumidor integradas.

Despus de ejecutar la accin Migrar proveedor OSLC, se visualiza un mensaje de


sistema. La lnea final del mensaje de registro muestra el nombre del paquete. El
paquete se lista en el separador Paquete de la definicin de paquete
OSLCPROVIDER, en la aplicacin Gestor de migracin en el entorno de origen.

En el entorno de destino, utilice la aplicacin Gestor de migracin para importar y


desplegar el paquete.

Si utiliza un archivo de correlaciones Java personalizado en la integracin de


OSLC, este archivo Java personalizado no se incluye en el paquete. Debe trasladar
manualmente el archivo de correlaciones personalizado y el archivo de clase
correspondiente al entorno de destino, o aadirlos manualmente al paquete.

La accin Migrar proveedor de OSLC genera un paquete solo para el registro de


proveedor actual de OSLC. Si tiene varios registros de proveedor de OSLC, debe
migrar cada uno por separado.

El Gestor de migracin no permite la migracin de grupos de interacciones. Para


migrar los objetos de un grupo de interacciones, puede crear una estructura de
objeto nueva que utilice los objetos siguientes:
OSLCINTGROUP
OSLCGRPAPPS
OSLCGRPAPPMENU
OSLCGRPMEMBERS

Debe incluir la estructura de objeto nueva en el paquete de migracin


OSLCPROVIDER.

Modificacin manual de la interfaz de usuario


El diseo de interacciones de OSLC entre aplicaciones requiere realizar varios
cambios en la interfaz de usuario de la aplicacin de consumidor. Existen varios
casos de uso de la aplicacin Diseador de aplicaciones para realizar o refinar
cambios en la interfaz de usuario como parte de la integracin.

Implementacin manual de cambios en la interfaz de usuario y seguridad para


interacciones:

Si decide que el asistente no genere automticamente cambios en la interfaz de


usuario de la aplicacin de consumidor, debe modificar la interfaz manualmente.
La interfaz de usuario debe hacer que la interaccin est disponible para los
usuarios mediante un botn pulsador. Si no selecciona grupos de seguridad en el
asistente, debe especificar qu grupos de seguridad tienen acceso a la interaccin.

Incluso cuando no desee crear automticamente cambios en la interfaz de usuario,


la creacin de una interaccin de OSLC crea una relacin de enlace y una opcin
de firma de botn. El nombre de la relacin de enlace se basa en el uso o tipo de
recurso especificado. El nombre de la opcin de firma se basa en el nombre de la
interaccin. El nombre de la relacin y de la opcin de firma se lista en los detalles
de interaccin, en el separador Proveedor de OSLC. Estos dos valores son
necesarios cuando implementa manualmente cambios de la IU.

Utilice la aplicacin Diseador de aplicaciones para modificar la interfaz de


usuario de la aplicacin de consumidor. Debe crear un botn pulsador para que la

316 Integracin de datos con aplicaciones externas


interaccin de OSLC se pueda ejecutar y crear un enlace. Y debe proporcionar un
panel con una tabla que contenga enlaces a recursos de la aplicacin de proveedor.
Normalmente, el botn y la tabla de enlace se proporcionan juntos en el mismo
separador.

Utilice la aplicacin Grupos de seguridad para especificar qu grupos tienen acceso


al pulsador. Solo los usuarios en los grupos que autorice pueden ver el botn y
utilizarlo para visualizar la ventana de aplicacin de proveedor, y ejecutar la
interaccin.

Mejoras de la interfaz de usuario:

Es posible que desee realizar mejoras o adiciones a la interfaz de usuario (IU) de


aplicacin de consumidor, incluso cuando los cambios de la IU se generan
automticamente.

Despus de disear una interaccin de OSLC que genera automticamente cambios


en la interfaz de usuario, revisar la interfaz de usuario de la aplicacin podra
revelar que las revisiones son necesarias. Por ejemplo, puede desear editar las
etiquetas del nuevo panel, ventana de tabla o pulsador. O puede desear ajustar la
posicin de los elementos de la interfaz de usuario. Utilice la aplicacin Diseador
de aplicaciones para modificar o aadir elementos de la IU.

Durante el diseo de interaccin, puede especificar que todos los proveedores de


servicios estn disponibles para la interaccin, en la aplicacin de consumidor. En
estos casos, se muestra una ventana Seleccionar contenedor cuando se inicia la
interaccin. La ventana se utiliza para especificar qu proveedor de servicios o
contenedor utilizar para la interaccin. Es posible que desee proporcionar un texto
de cuadrcula de ayuda para la ventana Seleccionar contenedor. Por ejemplo,
podra aadir textos de cuadrcula de ayuda para indicar que las opciones
representan proyectos o bases de datos, o algn otro contenedor de recursos.
Tambin podra volver a etiquetar el ttulo de la ventana, de modo que sea ms
claro para el usuario lo que va a seleccionar.

Traduccin de elementos de la interfaz de usuario no traducidos:

Utilice la aplicacin Diseador de aplicaciones para modificar y traducir algunos


elementos de la interfaz de usuario (IU), como la ayuda contextual para iconos,
que el diseo de interaccin aade.

Algunos elementos de la interfaz de usuario que fueron aadidos al disear una


interaccin de OSLC no aparecen en el idioma apropiado para la interfaz, debido a
que las interacciones se deben crear en el idioma base. Los elementos se aaden
despus de que se hayan traducido los elementos originales de la interfaz de
usuario, antes del despliegue de la aplicacin. Para traducir los elementos de la
interfaz de usuario al idioma de la interfaz de la aplicacin, utilice la aplicacin
Diseador de aplicaciones para modificar los elementos de texto no traducidos.

Propiedades de OSLC
Puede utilizar propiedades del sistema para gestionar la integracin de
aplicaciones de Open Services for Lifecycle Collaboration (OSLC).
Tabla 42. Propiedades de OSLC
Propiedad Descripcin Valor predeterminado
mxe.oslc.collectioncount Es el recuento total de la coleccin de OSLC. 0
mxe.oslc.defaultep Es el punto final predeterminado de OSLC. OSLCDEFAULT

Integracin de datos con aplicaciones externas 317


Tabla 42. Propiedades de OSLC (continuacin)
Propiedad Descripcin Valor predeterminado
mxe.oslc.defaultformat Es el formato predeterminado de OSLC. oslcjson
mxe.oslc.dfltconsumerversion Es la versin predeterminada de OSLC que el 2.0
consumidor utiliza.
mxe.oslc.dfltversion Es la versin predeterminada de OSLC para un 2.0
proveedor de OSLC.
mxe.oslc.enableprovider Habilita el proveedor de OSLC. 1
mxe.oslc.idleexpiry Es el tiempo de inactividad del sistema, en 300
segundos, que debe transcurrir antes de que
caduque la sesin.
mxe.oslc.prcreateep Es el punto final de creacin del registro de
proveedores.
mxe.oslc.preferproviderdesc Especifica si se prefiere la descripcin del true
Proveedor de OSLC para los URI reconciliados del
registro de recursos.
mxe.oslc.prettyjson Es el JSON de impresin con sangra. 1
mxe.oslc.prettyrdf Es el RDF de impresin con sangra. 1
mxe.oslc.prqueryep Es el punto final de consulta del registro de PROVIDERREGISTRY
proveedores.
mxe.oslc.webappurl Es el URI pblico del proveedor. http://localhost/maximo/oslc/

Consultas de integracin
La infraestructura de integracin soporta consultas de sistemas externos. El sistema
externo enva un mensaje XML para realizar una consulta a la infraestructura de
integracin y la infraestructura de integracin devuelve un mensaje XML como una
respuesta a la consulta. Puede ejecutar una consulta para una estructura de objeto
y servicios empresariales utilizando HTTP, Java RMI (invocacin a mtodo
remoto) o una consulta SOAP (Protocolo de acceso a objectos simple) en un
servicio web.

El soporte para las consultas XML se basa en la prestacin QBE (Consulta por
ejemplo) del sistema, que est disponible en la ficha Lista de la mayora de las
aplicaciones. Las consultas basadas en XML proporcionan el mismo soporte de
consulta que se proporciona en las aplicaciones excepto para las bsquedas de
atributos que estn disponibles en algunas aplicaciones del sistema. Los tiempos de
espera excedidos de consulta de integracin se controlan mediante la propiedad
del sistema mxe.db.Query.Timeout.
Conceptos relacionados:
API de REST en la pgina 243
La API (interfaz de programacin de aplicaciones) de REST (Representational State
Transfer) proporciona una manera para que las aplicaciones externas consulten y
actualicen datos de aplicacin en motor de automatizacin de procesos de Tivoli.

Servicios de consulta
Los servicios de estructura de objeto y los servicios empresariales soportan
operaciones de consulta. Una fuente externa puede utilizar un servicio para
ejecutar una consulta y recuperar datos de un sistema. En ambos casos, el esquema
de estructura de objeto define el contenido XML para la solicitud de consulta y la
respuesta de la consulta.

318 Integracin de datos con aplicaciones externas


Para una estructura de objeto que tenga ms de dos niveles de objetos de negocios,
la infraestructura de consulta soporta el uso de atributos de objetos de negocios en
los dos niveles superiores de la solicitud XML. EL XML de respuesta de la consulta
contiene todos los objetos de la estructura de objeto.

Todas las estructuras de objeto proporcionadas por el sistema que tienen


INTEGRACIN como valor de Consumido por soportan la operacin de consulta
de forma predeterminada. Puede configurar una estructura de objeto para dar
soporte slo a la operacin de consulta y a ninguna otra operacin que soporte la
actualizacin de objetos. Puede utilizar la aplicacin Estructuras de objetos para
crear estructuras de objeto adicionales que proporcionan soporte para la operacin
de consulta.

Creacin de una consulta de servicio empresarial


Una fuente externa puede utilizar un servicio empresarial para ejecutar una
consulta y recuperar datos de un sistema.

Acerca de esta tarea

Se proporciona un servicio empresarial de ejemplo, MXINVBALQInterface. Puede


utilizar este ejemplo como referencia cuando cree servicios empresariales de
consulta.

Procedimiento
1. Si no existe ninguna, cree una estructura de objeto que contenga los objetos a
los cuales debe acceder la consulta.
2. Defina un servicio empresarial que implemente la estructura de objeto que
piensa utilizar para la consulta.
3. Especifique Consulta como operacin sobre el servicio empresarial.
4. Asocie el servicio empresarial con un sistema externo y habilite el sistema
externo y su servicio empresarial.

Consultas de servicios web


Los servicios de consulta que se crean en la aplicacin Servicios empresariales y la
aplicacin Estructuras de objetos se pueden desplegar como servicios web. Para
dar soporte a las consultas, se deben configurar los servicios web empresariales
para omitir las colas JMS.

Una respuesta satisfactoria a una consulta que se ejecuta en un servicio de web


devuelve el conjunto de resultados de la consulta. Si el conjunto de resultados est
vaco (no contiene registros), el XML que se devuelve en el cuerpo SOAP contiene
el siguiente cdigo MXPERSONSet vaco:
<max:QueryMXPERSONResponse xmlns:max="http://www.ibm.com/maximo"
creationDateTime="2011-04-28T21:49:45"
baseLanguage="EN" transLanguage="EN" messageID="12345"
maximoVersion="7.5" rsStart="1" rsCount="10" rsTotal="10">
</max:MXPERSONSet>
</max:QueryMXPERSONResponse>

Si se produce un error, se devuelve un cdigo de respuesta HTTP 500, junto con


un error de SOAP que detalla el mensaje de error.

Utilice el URL siguiente para el servicio web de consulta:


http://nombre_host:puerto/meaweb/services/nombre servicio web

Integracin de datos con aplicaciones externas 319


v host:port/meaweb es el valor de la propiedad de URL de la aplicacin web de
integracin.
v nombre servicio web es el nombre del servicio web

Para desplegar servicios de empresariales y de estructura de objeto de consulta


como servicios web, utilice la aplicacin Biblioteca de servicios web.

Estructura XML de consulta


El nombre del elemento raz de una consulta es la concatenacin de la operacin
(Consulta) y el nombre de la estructura de objeto asociada. Por ejemplo,
QueryMXPERSON, siendo MXPERSON la estructura de objeto.

Elemento raz

El nombre del elemento raz de una consulta es la concatenacin de la operacin y


el nombre de la estructura de objeto asociada. Por ejemplo, QueryMXPERSON,
siendo MXPERSON la estructura de objeto. La tabla siguiente lista los atributos
que puede aplicar especficamente al elemento raz de una consulta, una respuesta
a una consulta o ambas cosas. Todos los atributos de esta tabla son opcionales.

Atributo Descripcin Tipo Aplicable a


uniqueResult Especifica si la consulta espera uno Booleano Consulta
o varios registros en una respuesta.

Valor 0 (valor predeterminado): la


consulta puede devolver mltiples
registros.

Valor 1: la consulta puede devolver


un solo registro. De lo contrario, se
produce un error.
maxItems Si la consulta puede devolver PositiveInteger Consulta
mltiples registros, este atributo
limita el nmero de registros que
devuelve cada vez.

Si no se especifica este atributo, la


respuesta contiene el conjunto de
resultados completo.

320 Integracin de datos con aplicaciones externas


Atributo Descripcin Tipo Aplicable a
rsStart En la solicitud de consulta: Entero Consulta

Utilcelo con maxItems para


especificar el primer registro que se
devolver en una respuesta.

Si maxItems es igual a 10 y no se
especifica rsStart, la respuesta
devuelve los resultados 0 a 9. Para
recibir los resultados 10 a 19, vuelva
a enviar la consulta con rsStart igual
a 10.

Si no se especifica rsStart, la
respuesta comienza por el primer
registro del conjunto de resultados.
Si el nmero de registros del
conjunto de resultados de la
consulta se establece en un valor
inferior al valor de rsStart, la
respuesta no devuelve ningn
registro.
rsStart En la respuesta de la consulta: Entero Respuesta

Este valor se corresponde con el


valor de rstart en la solicitud
correspondiente.

Si la solicitud correspondiente
contiene un valor maxItems, el valor
rsStart de las solicitudes de registros
adicionales es rsStart + rsCount + 1.

Si no se especifica este atributo, la


respuesta comienza por el primer
registro del conjunto de resultados e
incluye el nmero de registros
especificado por el atributo rsCount.
rsCount El nmero de registros que se Entero Respuesta
devuelven en el mensaje.

rsCount no refleja ninguna fila que


se puede ignorar como parte de la
capa de proceso de respuesta.
rsTotal El nmero total de registros del Entero Respuestas
conjunto de resultados. (salida)

Si la consulta no especifica un valor


para maxItems, el valor de rsTotal
es el mismo que el valor de
rsCount.

Por ejemplo, la respuesta para esta solicitud de consulta devuelve de 11 a 20


registros del conjunto de resultados de la consulta establecido en virtud del valor
de rstart configurado como 11 y el valor de maxItems configurado como 10.

Integracin de datos con aplicaciones externas 321


<max:QueryMXINVBAL xmlns:max="http://www.ibm.com/maximo"
creationDateTime="2011-049-28T21:49:45"
baseLanguage="EN" transLanguage="EN" messageID="12345"
maximoVersion="7.5" uniqueResult="0" maxItems="10" rsStart="11">
<max:MXINVBALQuery orderby="string" operandMode="OR">

El siguiente conjunto de resultados de consulta contiene un total de 35 filas, como


se indica mediante rsTotal, pero solamente se devuelven las filas 11 a 20.
<max:QueryMXINVBALResponse xmlns:max="http://www.ibm.com/maximo"
creationDateTime="2011-04-28T21:49:45"
baseLanguage="EN" transLanguage="EN" messageID="12345"
maximoVersion="7.5" rsStart="11" rsCount="10" rsTotal="35">
<max:MXINVBALSet>
.
.
.
</max:MXINVBALSet>

Operador de consulta

El tipo de datos QueryOperatorType soporta el uso de diferentes operadores. El


XML de solicitud de consulta puede utilizar diferentes operadores para filtrar los
datos devueltos en el origen externo de consulta.

Elemento QueryMXPERSON

El elemento QueryMXPERSON tiene los tipos siguientes:


v El elemento QueryMXPERSON es de tipo QueryMXPERSONType.
v QueryMXPERSONType tiene el elemento MXPERSONQuery, que es de tipo
MXPERSONQueryType.
v MXPERSONQueryType tiene elementos para todos los atributos configurados
del objeto PERSON y todos sus objetos hijo (EMAIL, PHONE y SMS).

El elemento de operacin QueryMXPERSON utiliza los atributos siguientes:


v uniqueResults: es un valor booleano que cuando se establece en 1 (true), dirige
la consulta de modo que devuelve un solo registro exclusivo cuando se establece
el valor en 1 (true). Si se encuentra ms de un registro, se devuelve un error.
Cuando no se proporciona el atributo, el valor predeterminado es 0 (false).
v maxItems: cuando este valor se establece en 10 en la consulta, limita el nmero
de registros que se devuelven en la consulta a 10, incluso cuando el conjunto de
resultados de la consulta puede ser mayor que 10. Cuando no se define el
atributo, se devuelven todas las filas del conjunto de resultados de la consulta.
v rsStart: cuando se establece este valor en 11 en la consulta, todos los registros del
conjunto de resultados se devuelven comenzando por el registro 11. Los
resultados de la consulta ignoran los registros 1 a 10. Cuando no se define el
atributo, se devuelven los registros comenzando por el registro 1 del conjunto de
resultados.

El elemento de contenido MXPERSONQuery utiliza los siguientes atributos


adicionales:
v orderby: utilizar este valor es equivalente a utilizar Order By en una sentencia
SQL. El atributo puede contener una lista de nombres de campos separados por
comas que tambin incluye las opciones ASC y DESC. Cuando no se define el
atributo, la consulta devuelve los registros en el orden en que los ha recuperado
la base de datos.

322 Integracin de datos con aplicaciones externas


v operandMode: este valor tiene dos valores vlidos, AND y OR. El sistema utiliza
este valor cuando se utilizan uno o varios campos para la evaluacin de una
ejecucin de consulta. Cuando se utiliza el valor AND, todas las evaluaciones de
campo deben ser verdaderas. Cuando se utiliza el valor OR, solo una de las
evaluaciones de campo deben ser verdaderas. Cuando no se define el atributo, el
valor predeterminado es AND.

Elemento QueryMXPERSONResponse

El elemento QueryMXPERSONResponse tiene los tipos siguientes:


v El elemento QueryMXPERSONResponse es de tipo
QueryMXPERSONResponseType.
v QueryMXPERSONResponseType tiene el elemento MXPERSONSet, que es de
tipo MXPERSONSetType.
v MXPERSONSetType tiene elementos para todos los atributos configurados del
objeto PERSON y elementos para los objetos hijo definidos en la estructura de
objeto (PHONE, EMAIL, XYZ y SMS).

El elemento QueryMXPERSONResponse tiene los atributos siguientes:


v rsStart: este valor contiene el valor establecido en la solicitud de consulta. Si no
se ha definido el valor en la solicitud, el valor de respuesta predeterminado es 1.
v rsCount: este valor contiene el nmero de registros devueltos en la respuesta de
consulta.
v total: este valor contiene el nmero de registros del conjunto de resultados de la
consulta final. El valor total puede ser mayor que el nmero de registros
devueltos cuando se utiliza el atributo maxItems en la solicitud de consulta.

Criterios de seleccin de consultas


El elemento de la estructura de objeto de una solicitud de consulta contiene los
criterios de seleccin para la consulta. Una consulta puede seleccionar registros
basados en un solo valor, un intervalo de valores, o una clusula 'where'
proporcionada. La infraestructura de integracin soporta el uso de operadores de
consulta como = o >.

Los criterios de seleccin slo se aplican a los atributos de objetos de los dos
niveles superiores de la estructura de objeto; es decir el objeto principal y sus
objetos de nivel inferior inmediatos. No obstante, la respuesta incluye datos de
todos los objetos de la estructura de objeto.

Seleccin de campo
Una consulta basada en campo compara el valor de un campo de base de datos
con el valor del archivo XML de la solicitud de consulta.

La consulta de ejemplo siguiente busca los empleados:


<QueryMXPERSON>
<MXPERSONQuery>
<PERSON>
</PERSON>
</MXPERSONQuery>
</QueryMXPERSON>

La consulta de ejemplo siguiente busca los empleados en los que PERSONID es


igual a ATI y STATUS es igual a ACTIVO.

Integracin de datos con aplicaciones externas 323


<QueryMXPERSON>
<MXPERSONQuery>
<PERSON>
<PERSONID operator ="=">ATI</PERSONID>
<STATUS operator ="=">ACTIVE</STATUS>
</PERSON>
</MXPERSONQuery>
</QueryMXPERSON>

El atributo operandMode del elemento MXPERSONQuery define la sentencia que se


ejecuta con una condicin AND u OR entre las evaluaciones de campo. La
condicin predeterminada que utiliza el sistema es la condicin AND. De forma
adicional, el atributo operandMode se puede proporcionar a nivel de campo. En tal
caso, un elemento de campo puede tener varias apariciones y evaluarse para
diferentes condiciones, como un campo de cantidad evaluado como menor que 2 o
mayor que 10.

La consulta de ejemplo siguiente busca los empleados en los que PERSONID es


como %ATI%. El operando representa el comportamiento predeterminado y no
requiere ningn valor de operador.
<QueryMXPERSON>
<MXPERSONQuery>
<PERSON>
<PERSONID>ATI</PERSONID>
</PERSON>
</MXPERSONQuery>
</QueryMXPERSON>

La consulta de ejemplo siguiente busca los balances de inventario en los que el


nmero de estante no es un valor nulo.
<QueryMXINVBAL>
<MXINVBALQuery>
<INVBALANCES>
<BINNUM operator =!="></BINNUM>
</INVBALANCES >
</MXINVBALQuery>
</QueryMXINVBAL>

La consulta de ejemplo siguiente busca los balances de inventario en los que el


nmero de estante es un valor nulo.
<MXINVBAL>
<INVBALANCES>
<BINNUM>NULL</BINNUM>
</INVBALANCES >
</MXINVBAL>

La consulta de ejemplo siguiente utiliza el equivalente de una clusula IN de SQL


para buscar los empleados con estado ACTIVO o INACTIVO.
<QueryMXPERSON>
<MXPERSONQuery>
<PERSON>
<STATUS>ACTIVO,INACTIVO</STATUS>
</PERSON>
</MXPERSONQuery>
</QueryMXPERSON>

La consulta de ejemplo siguiente busca los empleados en los que su PERSONID


empieza por la letra A.

324 Integracin de datos con aplicaciones externas


<QueryMXPERSON>
<MXPERSONQuery>
<PERSON>
<PERSONID operator ="SW">A</PERSONID>
</PERSON>
</MXPERSONQuery>
</QueryMXPERSON>

La consulta de ejemplo siguiente busca los empleados en los que su PERSONID


acaba con la letra Z.
<QueryMXPERSON>
<MXPERSONQuery>
<PERSON>
<PERSONID operator ="EW">Z</PERSONID>
</PERSON>
</MXPERSONQuery>
</QueryMXPERSON>

Evaluacin de campos
El atributo de operador compara el valor de un campo de la base de datos con uno
o varios valores y tiene el formato operador = valor.

El atributo de valor puede tener los valores siguientes.

Valor Descripcin
= igual a
!= no igual a
&lt; menor que
&lt;= inferior o igual que
&gt; mayor que
&gt;= mayor o igual que
EW Termina con
SW Empieza por

Utilice los atributos menor que y mayor que slo con valores numricos y campos
de fecha.

Por ejemplo, para encontrar todos los empleados que tienen un estado ACTIVO,
especifique la consulta con el formato siguiente:
<QueryMXPERSON>
<MXPERSONQuery>
<PERSON>
<STATUS operator ="=">ACTIVE</STATUS>
</PERSON>
</MXPERSONQuery>
</QueryMXPERSON>

Seleccin de rango
Una consulta puede buscar registros con un valor que se encuentre dentro de un
rango de valores. El formato depende de si los criterios de seleccin son
indefinidos o contienen un rango superior e inferior.

La consulta de ejemplo siguiente busca las rdenes de compra en las que


DEPARTMENT es mayor que 1000.

Integracin de datos con aplicaciones externas 325


<QueryMXPERSON>
<MXPERSONQuery>
<PERSON>
< DEPARTMENT operator="&gt;=">1000</DEPARTMENT>
</PERSON>
</MXPERSONQuery>
</QueryMXPERSON>

La consulta de ejemplo siguiente busca los registros de persona en los que


PERSONID es mayor que 1000 e inferior que 20000. La consulta utiliza dos
instancias de un solo elemento de campo, la primera con el criterio de seleccin
Desde y la segunda con el criterio de seleccin Hasta:
<QueryMXPERSON>
<MXPERSONQuery>
<PERSON>
< PERSONID operator="&gt;=">1000</PERSONID >
< PERSONID operator="&lt;=">20000</PERSONID >
</PERSON>
</MXPERSONQuery>
</QueryMXPERSON>

Seleccin de la clusula Where


Una consulta puede buscar registros basados en una clusula Where de SQL que se
puede proporcionar como parte del XML de consulta de integracin. La clusula
Where ofrece soporte para consultas ms complejas y consultas de datos
relacionados con la clasificacin.

El uso de la clusula Where es mutuamente exclusivo del uso de elementos


individuales. Si una solicitud de consulta proporciona datos para el elemento
Where y para otros elementos del XML, solo se utiliza el elemento WHERE al
ejecutar la consulta.

El elemento WHERE se ubica en el mismo nivel que el objeto de nivel superior en


una estructura de objeto (orden de compra), como en el siguiente ejemplo:
<QueryMXPO xmlns="http://www.ibm.com/maximo">
<MXPOQuery>
<PO> </PO>
<WHERE> </WHERE>
</MXPOQUERY>
</QueryMXPO>

El elemento WHERE solo est disponible en el esquema cuando se trata de una


operacin de consulta, y solo puede existir una vez. Para combinar varias tablas en
la consulta, utilice 'exists' dentro de la clusula Where, de la misma manera que la
clusula WHERE del separador Lista de una aplicacin. La siguiente consulta de
ejemplo, que utiliza la estructura de objeto MXPO, recupera rdenes de compra
que tienen una lnea OC para el artculo nmero 1002:
<QueryMXPO xmlns="http://www.ibm.com/maximo">
<MXPOQuery>
<WHERE>(siteid = BEDFORD) and (exists (select 1 from maximo.poline where
(i temnum=1002) and (ponum=po.ponum and revisionnum=po.revisionnum and
siteid=po.siteid)))</WHERE>
</MXPOQUERY>
</QueryMXPO>

El resultado de esta consulta ha recuperado dos rdenes de compra (no todos los
elementos estn incluidos en el ejemplo):
<?xml version="1.0" encoding="UTF-8"?>
<QueryMXPOResponse xmlns="http://www.ibm.com/maximo" xmlns:xsi="http://www.w3.org/
2001/XMLSchema-instance" creationDateTime="2012-03-21T11:20:13-04:00"

326 Integracin de datos con aplicaciones externas


transLanguage="EN" baseLanguage="EN" messageID="1332343214013260273" maximoVersion=
"7 5 20110413-2230 V7500-721" rsStart="0" rsTotal="2" rsCount="2">
<MXPOSet>
<PO>
<DESCRIPTION>Window and installation for office building</DESCRIPTION>
<ORDERDATE>2000-04-20T14:00:00-04:00</ORDERDATE>
<ORGID>EAGLENA</ORGID>
<PONUM>1013</PONUM>
<POTYPE>STD</POTYPE>
<VENDOR>JK</VENDOR>
.
.
.
<POLINE>
<DESCRIPTION>5 ft. X 6 ft. window pane</DESCRIPTION>
<ITEMNUM>1002</ITEMNUM>
<ITEMSETID>SET1</ITEMSETID>
<ORDERQTY>1.0</ORDERQTY>
<POLINENUM>1</POLINENUM>
.
.
.
<POCOST>
<COSTLINENUM>1</COSTLINENUM>
.
.
.
</POCOST>
</POLINE>
<POLINE>
<DESCRIPTION>Installation of window pane</DESCRIPTION>
<ITEMNUM />
<ITEMSETID>SET1</ITEMSETID>
<ORDERQTY>6.0</ORDERQTY>
<POLINENUM>2</POLINENUM>
.
.
.
<POCOST>
<COSTLINENUM>1</COSTLINENUM>
.
.
.
</POCOST>
</POLINE>
</PO>
<PO>
<DESCRIPTION>Window and installation for Office Building</DESCRIPTION>
<ORDERDATE>2003-02-27T10:07:24-05:00</ORDERDATE>
<ORGID>EAGLENA</ORGID>
<PONUM>1029</PONUM>
<POTYPE>STD</POTYPE>
<VENDOR>JK</VENDOR>
.
.
.
<POLINE>
<DESCRIPTION>5 ft. X 6 ft. window pane</DESCRIPTION>
<ITEMNUM>1002</ITEMNUM>
<ITEMSETID>SET1</ITEMSETID>
<ORDERQTY>1.0</ORDERQTY>
<POLINENUM>1</POLINENUM>
.
.
.
<POCOST>
<COSTLINENUM>1</COSTLINENUM>

Integracin de datos con aplicaciones externas 327


.
.
.
</POCOST>
</POLINE>
<POLINE>
<DESCRIPTION>Installation of window pane</DESCRIPTION>
<ITEMNUM />
<ITEMSETID>SET1</ITEMSETID>
<ORDERQTY>6.0</ORDERQTY>
<POLINENUM>2</POLINENUM>
.
.
.
<POCOST>
<COSTLINENUM>1</COSTLINENUM>
.
.
.
</POCOST>
</POLINE>
</PO>
</MXPOSet>
</QueryMXPOResponse>

Tablas de interfaz
Las tablas de interfaz son una opcin para la integracin con sistemas que utilizan
tablas de base de datos para intercambiar datos. Esta opcin integrada slo se
aplica a los servicios empresariales y los canales de publicacin y siempre se
procesa de forma asncrona mediante colas JMS.

Dentro de un sistema externo, puede haber ms de un canal de publicacin y


servicios empresariales que se utilizan para la integracin con las tablas de
interfaz. Cualquier canal o servicio que est utilizando una tabla de interfaz debe
estar asociado con una estructura de objeto que est configurada para dar soporte
a archivos sin formato y deben haberse resuelto todos los conflictos de alias.

Ubicacin de las tablas de interfaz

La definicin de punto final de un sistema externo o canal de publicacin apunta a


la base de datos en la que se almacenan las tablas de interfaz. La base de datos
puede ser la base de datos de aplicacin local o una base de datos remota. El
contenido predefinido incluye el punto final de la tabla de interfaz MXIFACETABLE
que apunta a la base de datos de aplicacin. Puede aadir puntos finales
adicionales para las bases de datos remotas.

Nombres de las tablas de interfaz

La infraestructura de integracin registra los nombres de la tabla de interfaz en un


servicio empresarial o un canal de publicacin. No se proporcionan nombres
predeterminados para las tablas de interfaz. Aplique las directrices siguientes
cuando asigne nombres a las tablas de interfaz:
v Los canales de publicacin y los servicios empresariales que utilizan la misma
estructura de objeto pueden utilizar el mismo nombre de tabla de interfaz o
diferentes nombres de tabla de interfaz.
v Los canales de publicacin y los servicios empresariales que utilizan una
estructura de objeto diferente deben utilizar nombres de tabla de interfaz
diferentes.

328 Integracin de datos con aplicaciones externas


Tablas de cola de interfaz

Las tablas de cola de interfaz identifican la secuencia en la que un sistema receptor


procesa los registros en las tablas de interfaz respectivas. Existen dos tablas de
cola, una para las transacciones de entrada y la otra para las transacciones de
salida. Algunas transacciones dependen del proceso correcto de una transaccin
anterior, por ejemplo, debe crear un usuario para poder aadir dicho usuario a un
grupo de seguridad. El sistema receptor debe procesar los registros en la misma
secuencia en la que el sistema de envo ha creado los registros.
Tabla 43. Tabla de cola de interfaz
Tabla de cola de interfaz Direccin
MXOUT_INTER_TRANS Salida
MXIN_INTER_TRANS Entrada

Las aplicaciones externas que extraen datos para mensajes de salida pueden
utilizar la tabla de colas de interfaz de salida (mxout_inter_trans). No obstante, las
aplicaciones externas tambin pueden seleccionar otros mtodos para consumir los
mensajes de salida que renen los requisitos de integracin.

Todas las transacciones de entrada y salida deben tener un registro que se inserta
en la tabla de cola de entrada o salida correspondiente. Este registro contiene un
valor TRANSID, un identificador exclusivo que identifica la tabla de interfaz en la
que se graban los datos de transaccin. La tabla de interfaz correspondiente utiliza
el valor TRANSID para identificar el o los registros asociados a la transaccin.
Puede identificar el contenido de una transaccin buscando todos los registros con
un valor de TRANSID dado en la tabla de interfaz correspondiente.

La secuencia de TRANSID identifica la secuencia en la que la infraestructura de


integracin procesa los registros. Por ejemplo, cuando los usuarios y grupos de
seguridad se entran en el sistema, los valores de TRANSID para el registro de
usuario deben ser inferiores a los valores de TRANSID para los registros del grupo
de seguridad que hacen referencia a dicho usuario.

La diferencia entre las tablas de colas MXIN_INTER_TRANS y


MXOUT_INTER_TRANS es la direccin de los registros de la tabla de interfaz que
siguen. El sistema externo debe grabar en la tabla de cola MXIN_INTER_TRANS y
la infraestructura de integracin debe leer en la misma. La infraestructura de
integracin graba en la tabla de cola MXOUT_INTER_TRANS y el sistema externo
lee de la misma.

El sistema externo puede utilizar la tabla MXOUT_INTER_TRANS o recuperar los


registros de salida de las tablas de interfaz. Las tablas de cola de interfaz se
generan la primera vez que crea tablas de interfaz para un punto final. Cada punto
final tiene sus propias tablas de cola de interfaz y un contador para mantener el
valor TRANSID de salida.

Creacin de tablas de interfaz


Cuando un servicio empresarial y un canal de publicacin utilizan la misma tabla
de interfaz, la ventana Crear tablas de interfaz muestra una lista de tablas de
interfaz basada en la exclusividad del nombre de la tabla de interfaz y su punto
final correspondiente.

Integracin de datos con aplicaciones externas 329


Puede crear tablas de interfaz para servicios empresariales y canales de publicacin
cuando las estructuras de objeto asociadas estn marcadas soportadas para ser
planas. La casilla de verificacin Admitir estructura plana debe estar seleccionado
en la estructura de objeto. Tambin deben resolverse todos los conflictos de alias de
la estructura de objeto para poder crear una tabla de interfaz.

Puede crear tablas de interfaz para la sincronizacin de datos en servicios


empresariales y en canales de publicacin. La tabla de interfaz no soporta las
operaciones de Consulta e Invocacin. Puede crear tablas de interfaz para un
punto final especfico. Debe identificar dnde se crean las tablas.

La ubicacin de la base de datos a la que hace referencia el punto final puede ser
una base de datos local o una base de datos remota. Cuando se crean tablas de
interfaz en una base de datos local, las columnas se registran en el diccionario de
datos de sistema. Las tablas de interfaz locales que utilizan una tabla de base de
datos y una columna de base de datos muestran todas las actualizaciones (excepto
inserciones y supresiones) de un atributo de columna base (como el tipo de datos)
cuando se ejecuta la operacin de configuracin de base de datos. Cuando se
agregan o suprimen columnas de la tabla base, se debe regenerar el servicio
empresarial correspondiente y las tablas de interfaz del canal de publicacin para
aplicar los cambios de columna. No se aplican cambios a las bases de datos
remotas. Debe regenerar las tablas de interfaz remotas para aplicar los cambios de
columna.

Regeneracin de las tablas de interfaz


Cuando se agregan o suprimen columnas en las tablas de base de datos del
sistema, debe volver a generar todas las tablas de interfaz locales y remotas
asociadas con estas estructuras de objeto.

Puede volver a generar tablas de interfaz utilizando la accin Crear tablas de


interfaz en la aplicacin de sistemas externas. Si selecciona la casilla de verificacin
Cambiar nombre existente, la aplicacin realiza una copia de seguridad de los
datos existentes de la tabla de interfaz correspondiente en la tabla
INTERFACETABLENAME_BAK.

Si es necesario, puede restaurar los datos en la tabla nueva. En funcin de la


configuracin del entorno de multitenencia, puede que necesite solicitar la ayuda
del proveedor del sistema para acceder a los datos que desea restaurar. Si no
realiza una copia de seguridad de la tabla, la tabla se descarta y los datos se
pierden cuando se vuelve a generar la tabla. No se puede volver a generar una
tabla de interfaz cuando la tabla de cola MXIN_INTER_TRANS contiene un
registro que apunta a dicha tabla de interfaz. Cuando existe una fila en dicha tabla
de cola, la transaccin entrante correspondiente est lista para su procesamiento o
la transaccin entrante es errnea.

El proceso de creacin de tablas de interfaz no comprueba si hay registros en la


tabla de cola MXOUT_INTER_TRANS.

Supresin de tablas de interfaz y registros


Cuando los registros de transaccin entrantes relacionados se procesan
correctamente en una tabla de interfaz, el registro correspondiente se suprime de la
tabla de cola MXIN_INTER_TRANS. La supresin indica que la transaccin se ha
entregado correctamente a la cola JMS entrante.

330 Integracin de datos con aplicaciones externas


Los registros se suprimen de la tabla de cola MXIN_INTER_TRANS y no de las
tablas de interfaz individuales. El administrador del sistema determina cundo y
cmo se deben suprimir registros de las tablas de interfaz.

Para las transacciones salientes, el sistema externo debe gestionar la supresin y el


archivado de datos en la tabla de cola y las tablas de interfaz. No puede suprimir
las tablas de interfaz en la interfaz de usuario o suprimiendo la estructura de
objeto correspondiente. Un administrador debe gestionar el archivado de datos en
las tablas de interfaz y puede eliminar la tabla, si es necesario.

Formato de las tablas de interfaz


Una tabla de interfaz tiene el mismo formato que la estructura de objeto
correspondiente, que incluye las columnas persistente y no persistente, y excluye
las columnas excluidas de la estructura de objeto.

La tabla de interfaz incluye columnas adicionales que identifican la secuencia en la


escribe el sistema de envo y en la que el sistema de recepcin procesa los registros
en las distintas tablas de interfaz.

Columnas clave

Si la tabla de interfaz representa una estructura de objeto jerrquica con relaciones


de objetos de nivel superior e inferior, la tabla no incluye ninguna parte de las
columnas de clave de objeto de nivel inferior que estn incluidas en las columnas
de clave de objeto de nivel superior. Por ejemplo, PERSONID es una columna de
clave en los registros PERSON, PHONE, EMAIL y SMS. La columna PERSONID
slo aparece en el nivel superior (PERSON) en la tabla de interfaz
MXPERSON_IFACE.

Columnas y alias duplicados

La representacin XML de una estructura de objeto jerrquica contiene nombres de


columnas duplicados, pero no la representacin de tabla de interfaz y archivo sin
formato. Si una estructura de objeto tiene nombres de columnas duplicados que no
son de clave en un objeto de nivel superior y un objeto de nivel inferior, se
produce un error de nombre de columna duplicado cuando se genera un registro
de interfaz de tabla o de archivo sin formato.

Para resolver este problema, cambie el nombre de alias de uno de los nombres de
columna duplicados. Cada columna de base de datos del sistema puede tener un
nombre alternativo de alias. Cuando existe un alias, el sistema utiliza el alias
cuando se generan las tablas de interfaz y los archivos sin formato. Cambie el alias
para eliminar el error de nombre de columna duplicado.

La mayora de columnas no tienen un alias, pero algunas columnas tienen alias


que admiten canales de publicacin o servicios empresariales predefinidos.

Una columna dentro de una estructura de objeto puede tener un solo alias. Si
varios canales de publicacin y servicios empresariales utilizan el objeto, el cambio
de un alias afecta a cada tabla de interfaz asociada con la estructura de objeto.

Las columnas de las estructuras de objeto predefinidas tienen alias asignados por
el sistema. Compruebe si hay duplicados cuando cree la estructura de objeto
jerrquica o cuando agregue un objeto a una estructura de objeto predefinida. La
ventana Agregar/modificar alias muestra los campos y los alias de los objetos en

Integracin de datos con aplicaciones externas 331


una estructura de objeto seleccionada, e identifica los nombres de alias duplicados
con una marca en la columna duplicada. Si existe un alias duplicado, sobrescriba
su valor en la columna ALIASNAME.

Columnas restringidas

El campo HASLD es una columna del sistema interna que se excluye de todas las
estructuras de objetos. No incluya esta columna en ninguna estructura de objeto
que est asociada con una tabla de interfaz. El campo LANGCODE tambin se
excluye de las estructuras de objetos predefinidas.

Columnas de proceso de integracin

La tabla siguiente muestra las columnas que se utilizan en la secuenciacin, la


recuperacin y el proceso de la tabla de interfaz. Algunas columnas estn en las
tablas de cola de interfaz, las tablas de interfaz, o en ambas.
Tabla 44. Columnas de proceso de integracin
Tabla de
cola de Tabla de
Nombre de columna interfaz interfaz Descripcin
IFACENAME S No La columna IFACENAME contiene el nombre del servicio
empresarial o el canal de publicacin que se utiliza en una
transaccin. La columna se rellena en las transacciones salientes.
Para las transacciones entrantes, el sistema externo debe rellenar la
columna con el nombre del servicio empresarial o el canal de
publicacin correspondiente a la fila que se inserta en una tabla de
interfaz.
TRANSID S S La columna TRANSID en una tabla de cola de interfaz es un
nmero secuencial que identifica de forma exclusiva una
transaccin de integracin. El TRANSID y el nombre de la tabla de
interfaz identifican una transaccin exclusiva. La tabla de cola de
interfaz puede contener un registro con un valor TRANSID. La
tabla de interfaz correspondiente puede tener uno o varios
registros con TRANSID, dependiendo del nmero de registros que
se graben en la tabla de interfaz como parte del servicio
empresarial o el canal de publicacin.

Si una transaccin graba en varias tablas de interfaz, la tabla de


cola de interfaz contiene un registro aparte con un valor de
TRANSID exclusivo para cada tabla de interfaz.

Cada tabla de cola de interfaz mantiene su propio contador de


TRANSID. El valor de TRANSID saliente se inicializa cuando se
generan los registros de la tabla de cola de interfaz. Debe crear y
mantener los contadores de TRANSID que rellenan las tablas de
cola entrantes y los registros de tabla de interfaz.

Si los sistemas externos no gestionan correctamente los contadores


de TRANSID entrantes, no se garantiza el proceso secuencial.
Asegrese de que los valores de TRANSID que genera el sistema
no dupliquen el valor de TRANSID generado. Se producen errores
si existen valores de TRANSID duplicados y cuando procesa la
misma estructura de objeto en la direccin entrante y saliente
utilizando una nica tabla de interfaz.

Cada punto final tiene su propio conjunto de tablas de cola de


interfaz y su propio contador de TRANSID saliente.

332 Integracin de datos con aplicaciones externas


Tabla 44. Columnas de proceso de integracin (continuacin)
Tabla de
cola de Tabla de
Nombre de columna interfaz interfaz Descripcin
TRANSSEQ No S Cuando varios registros de una tabla de interfaz comparten el
mismo valor de TRANSID, la columna TRANSSEQ proporciona un
nmero de secuencia secundario que indica la secuencia en la que
se deben procesar los registros.
EXTSYSNAME S No La columna EXTSYSNAME en las tablas de cola de interfaz puede
contener datos entrantes o salientes. Para las transacciones
entrantes, la columna contiene el nombre de un sistema externo
vlido y habilitado que se define en la infraestructura de
integracin. Para las transacciones salientes, la columna contiene el
nombre del sistema externo que es el destino de la transaccin.
ACTION S No La columna ACTION contiene la accin que se realiza en el
sistema externo (saliente) o en la infraestructura de integracin
(entrante). Pueden utilizarse las siguientes acciones:
v Add: inserta los datos que se proporcionan en el mensaje.
v Delete: suprime los datos de nivel superior y los datos de nivel
inferior relacionados de la base de datos.
v Change: actualiza el contenido de los datos de nivel superior e
inferior del mensaje, pero no suprime los datos de nivel inferior
existentes que no se especifican de forma explcita en el mensaje.
v Replace: sustituye los registros existentes por el contenido del
mensaje y suprime los datos de nivel inferior existentes que no
estn referenciados en el mensaje.
v AddChange: si el registro primario no existe, se procesa como
una accin add; de lo contrario, se procesa como una accin
change.
v Null: si el registro primario no existe, se procesa como una
accin add; de lo contrario, se procesa como una accin replace.
IMPORTMESSAGE S No La columna IMPORTMESSAGE mantiene los mensajes de error
(utilizado que se han producido al mover la fila de la tabla de interfaz a la
slo para cola entrante.
entrante)
TRANSLANGUAGE S No la columna TRANSLANGUAGE identifica el idioma de la
transaccin. Para una transaccin saliente, este valor indica el
idioma del usuario que ha iniciado la transaccin. Para una
transaccin entrante, este valor indica el idioma de la transaccin.
Los atributos que admiten un entorno de varios idiomas se espera
que estarn en el idioma definido por el valor de
TRANSLANGUAGE.
MESSAGEID S No La columna MESSAGEID es un identificador exclusivo que asigna
(utilizado el sistema a cada transaccin saliente.
slo para
saliente)
IFACETBNAME S No La columna IFACETBNAME es el nombre de la tabla de interfaz
(utilizado correspondiente a la columna IFACENAME. Esta columna slo se
slo para aplica a las transacciones salientes.
saliente)

Integracin de datos con aplicaciones externas 333


Columnas de descripcin detallada en una Oracle Database

Las columnas de descripcin detallada se almacenan en una columna CLOB


(Objeto de caracteres grande) en una Oracle Database. Las tablas de interfaz
contienen dos versiones de cada columna CLOB, una con un tipo de datos CLOB y
otra con un tipo de datos ALN con una longitud de caracteres de 4000. En el
siguiente ejemplo, el nombre de la columna CLOB es el alias de columna. El
nombre de la columna alfanumrica es el alias de columna con el sufijo 2.
Tabla 45. Columnas de descripcin detallada en una Oracle Database
Tipo de datos Nombre de la columna de descripcin
CLOB PERSON_DESCRIPTION_LD
ALN PERSON_DESCRIPTION_LD2

El sistema rellena ambas columnas en las transacciones salientes. Para las


transacciones entrantes, la infraestructura de integracin utiliza el valor de la
columna ALN si no es nulo; de lo contrario, utiliza el valor de la columna CLOB.

Sondeo de tablas de interfaz


Una tarea cron predefinida sondea la tabla de colas de interfaz y utiliza los valores
de IFACENAME, EXTSYSNAME y TRANSID para colocar los registros
correspondientes en la cola JMS entrante apropiada para su procesamiento. El
proceso de sondeo de la interfaz comprueba que los nombres del sistema externo y
el servicio empresarial sean vlidos y estn habilitados.

Debe configurar la tarea cron para iniciar el sondeo de tablas de interfaz. Tambin
puede realizar tareas adicionales para mejorar el rendimiento durante el sondeo de
la interfaz.

Tarea cron de sondeo de la tabla de interfaz


La tarea cron IFACETABLECONSUMER es una tarea cron predefinida que sondea
la tabla de cola de interfaz de entrada en busca de nuevos registros para procesar.

El proceso de sondeo de la tabla de interfaz comprueba que los nombres del


sistema externo y del servicio empresarial sean vlidos y estn habilitados
actualmente. Si no es as, el registro se marca como en error y permanece en la
tabla de interfaz.

Si inhabilita el sondeo de la tabla de interfaz, los nuevos registros permanecen en


las tablas de interfaz. Los mensajes enviados a la cola JMS de entrada se procesan.

Debe configurar un mecanismo para recuperar transacciones de salida desde las


tablas de interfaz. Puede utilizar un programa de sondeo, como hace el sistema
para transacciones de entrada, desencadenantes o cualquier otro mecanismo.

La tarea cron tiene los parmetros siguientes que puede configurar. Todos los
parmetros son opcionales.
Tabla 46. Parmetros de tarea cron de sondeo de tabla de interfaz
Parmetro Descripcin
EXITCLASS Clase de salida Java que permite la
manipulacin de los datos antes de
grabarlos en una cola de entrada.

334 Integracin de datos con aplicaciones externas


Tabla 46. Parmetros de tarea cron de sondeo de tabla de interfaz (continuacin)
Parmetro Descripcin
ENDPOINT Punto final asociado a la tabla de interfaz. El
valor predeterminado es el valor de punto
final predefinido que apunta a la base de
datos local.
ENTERPRISESERVICE Servicio empresarial que se ha de sondear.
El valor predeterminado (valor nulo) es
todos los servicios empresariales. Si
especifica un valor para este parmetro,
tambin debe especificar un valor para el
parmetro EXTSYSNAME. Los valores
limitan la hebra de sondeo a un servicio
empresarial especfico, y no en su
comportamiento predeterminado que sondea
todos los servicios empresariales.
TARGETENABLED Asegrese de que el valor est en el valor
predeterminado de 0 (false). La
funcionalidad de este distintivo es
reemplazada por la funcionalidad de
donotrun. Utilice el parmetro donotrun en
la infraestructura de la tarea cron para
controlar en qu servidores se ejecuta la
tarea cron.
EXTSYSNAME Sistema externo que se ha de sondear.
QUEUETABLE Tabla de cola de servicios empresariales. El
valor predeterminado es
MXIN_INTER_TRANS.

Sondeo de tablas de interfaz avanzado


Puede realizar la configuracin avanzada del proceso de sondeo de tablas de
interfaz para mejorar su rendimiento al leer datos de tablas de interfaz.

Si enva mensajes entrantes por la cola JMS continua y no necesita que se


mantengan mensajes en una secuencia "primero en entrar, primero en salir", puede
mejorar el rendimiento del sondeo de las tablas de interfaz.

Varias tareas cron

El proceso de sondeo de tablas de interfaz utiliza una sola tarea cron para leer
todos los mensajes de todas las tablas de interfaz para todos los sistemas externos
que graban en la tabla. Para mejorar el rendimiento, puede configurar varias
instancias de la tarea cron IFACETABLECONSUMER con valores de propiedad
diferentes. El sondeo multihebra resulta til en una configuracin en clster,
porque las hebras diferentes se pueden ejecutar en servidores diferentes,
equilibrando de este modo la carga.

Para designar una instancia de la tarea cron para que se ejecute en un servidor de
aplicaciones especfico, en la aplicacin Configuracin de tarea cron, establezca la
propiedad TARGETENABLED en 1 y, en el servidor de aplicaciones, establezca
-DIFACETBCONSUMER.instance1=1. Al implementar varias tareas cron, tambin debe
implementar selectores mutuamente excluyentes para evitar procesar un mensaje
ms de una vez.

Integracin de datos con aplicaciones externas 335


Para definir selectores, asigne valores a los parmetros EXTSYSNAME y
ENTERPRISESERVICE en la aplicacin Configuracin de tarea cron. Puede, por
ejemplo, establecer EXTSYSNAME=EXTSYSNAME1 y
ENTERPRISESERVER=MXPERSONInterface. Utilice un delimitador de barra
vertical para agregar varias tablas, como por ejemplo Set
ENTERPRISESERVICE=MXPERSONInterface|MXPHONEInterface.

Si configura varias instancias de una tarea cron, los selectores deben ser
mutuamente exclusivos, de modo que los mensajes no se procesen varias veces.
Los selectores deben recuperar todas las transacciones de servicio empresarial que
utilice, de modo que no quede ningn mensaje sin procesar.

Varias colas

Puede mejorar el rendimiento configurando varias tablas de cola de interfaz. Por


ejemplo, puede grabar cada interfaz en una tabla de cola distinta y definir tareas
cron distintas para procesar las tablas de cola independientemente las unas de las
otras. Tambin puede configurar tablas de cola distintas para cada sistema externo
y, dentro de cada tabla de cola, definir selectores para cada interfaz. Segn la
complejidad de la integracin, puede utilizar varias tablas de cola en lugar de
varios selectores. Para configurar varias tablas de cola, cree las tablas de cola en la
misma base de datos que las tablas de interfaz e incluya todas las columnas que
estn en la tabla de cola MXIN_INTER_TRANS. Debe disear el sistema externo
para grabar en las tablas de cola apropiadas. Asegrese de que el sistema externo
no inserte un mensaje de tabla de interfaz en ms de una tabla de cola de modo
que el mensaje no se procese varias veces.

Proceso de tablas de interfaz en un sistema externo


Para que un sistema externo pueda utilizar tablas de interfaz, debe crear tablas de
interfaz, definir procedimientos de copia de seguridad para restaurar las tablas de
interfaz y configurar el archivado de las tablas de interfaz.

Habilitacin del proceso de entrada


Para configurar el proceso de entrada de datos de tabla de interfaz de un sistema
externo, debe crear un contador TRANSID y crear registros para la tabla de
interfaz y la cola.

Antes de empezar

Para utilizar las tablas de interfaz, debe crear las tablas y configurar la tarea cron
IFACETABLECONSUMER.

Procedimiento
1. Cree e inicialice el contador TRANSID saliente.
2. Cree registros para cada tabla de interfaz en la cual una transaccin entrante
escriba, llenando cada registro con la informacin siguiente:
a. Los datos de transaccin
b. El valor de TRANSID incrementado
c. Si existen varios registros para la misma tabla de interfaz, el valor de
TRANSSEQ incrementado
3. Cree un registro de cola MXIN_INTER_TRANS con la informacin siguiente:
a. El mismo valor de TRANSID contenido en el registro de la tabla de interfaz
b. El nombre del servicio empresarial que corresponde a la tabla de interfaz,
en la columna IFACENAME
336 Integracin de datos con aplicaciones externas
c. Opcional: El valor de ACTION
d. El identificador del sistema externo, en la columna EXTSYSNAME
4. Realice una sola confirmacin, para confirmar todos los registros para una
transaccin de una sola vez.

Habilitacin del proceso de salida


Para configurar el proceso saliente, debe configurar un proceso, como un programa
de sondeo o un desencadenante, para recuperar transacciones de la tabla de cola
MXOUT_INTER_TRANS.

Antes de empezar

Para utilizar las tablas de interfaz, debe crear las tablas.

Procedimiento
1. Configure un proceso para recuperar transacciones de tabla de interfaz
utilizando la tabla de cola MXOUT_INTER_TRANS. Puede utilizar un
programa de sondeo, un desencadenante o cualquier otro mecanismo.
2. Para que el programa de sondeo procese transacciones secuencialmente,
configrelo para leer los registros en la tabla de cola MXOUT_INTER_TRANS
en la secuencia de TRANSID.
3. Habilite cada registro de la tabla de cola MXOUT_INTER_TRANS:
a. Acceda a la tabla de interfaz que acaba de identificar y recupere el primer
registro en el que el valor de TRANSID coincida con el valor de TRANSID
de registro de cola MXOUT_INTER_TRANS actual. Si la tabla de interfaz
contiene varios registros con el mismo valor de TRANSID, recuprelos y
procselos en la secuencia de TRANSSEQ.
b. Procese los datos segn el valor en la columna ACTION de la tabla de cola
de interfaz.
4. Confirme todos los registros para una sola transaccin de base de datos.
5. Suprima el registro actual de la tabla de cola MXOUT_INTER_TRANS.

Qu hacer a continuacin

Implemente la gestin de errores, segn los requisitos de su sistema externo.

Mdulos de integracin
Un mdulo de integracin proporciona un mecanismo para que un producto de
gestin de procesos invoque un producto de gestin de operaciones externo. Puede
configurar un mdulo de integracin para automatizar operaciones de gestin
lgicas, como el despliegue de software, utilizando un producto de gestin de
operaciones.

Un producto de gestin de procesos puede invocar un mdulo de integracin de


una aplicacin, un proceso de flujo de trabajo o un proceso de escalabilidad. El
mdulo de integracin invoca luego un producto de gestin de operaciones. El
producto de gestin de operaciones automatiza un proceso de gestin de servicios,
como el despliegue de software. La implementacin devuelve los resultados al
producto de gestin de procesos.

Si los mdulos predefinidos se proporcionan con el producto de gestin de


operaciones, utilice el instalador de la solucin de procesos para cargarlos en la

Integracin de datos con aplicaciones externas 337


infraestructura de integracin. Si est familiarizado con la interfaz de programacin
para el producto de gestin de operaciones, puede crear mdulos de integracin
cuando no existan.

Componentes de mdulo de integracin


Un mdulo de integracin consta de componentes de infraestructura de
integracin definidos. Puede configurar el mdulo de integracin para que se
implemente como una clase Java o como un canal de invocacin.

Cuando se instala un mdulo de integracin predefinido, se proporcionan los


artefactos del mdulo de integracin con la clase Java y los archivos XSL. Un
mdulo de integracin tambin proporciona definiciones de operaciones de gestin
lgica.

Definiciones de mdulos de integracin


Al instalar un mdulo de integracin, las opciones que seleccione se utilizarn para
formar las definiciones del mdulo.

La definicin del mdulo de integracin incluye la informacin siguiente:


v El nombre, la versin y la descripcin de la integracin.
v El producto de gestin de operaciones y su versin.
v El manejador que identifica el protocolo que el mdulo de integracin utiliza
para invocar un producto de gestin de operaciones.
v La opcin de implementacin del mdulo de integracin, ya sea una clase Java o
un canal de invocacin.

Los componentes siguientes estn incluidos en la definicin del mdulo de


integracin:
v Las operaciones de gestin lgicas que el mdulo de integracin soporta.
v Las propiedades del mdulo de integracin exclusivas del mdulo de
integracin. Utilice las propiedades para configurar el comportamiento del
mdulo de integracin.

Productos de gestin operativos


Un producto de gestin operativo automatiza los procesos del sistema como, por
ejemplo, el despliegue de software. Los servicios del producto de gestin operativo
se ejecutan en activos como, por ejemplo, en servidores. Los activos se denominan
artculos de configuracin.

En un entorno de produccin, pueden existir varias instancias de productos de


gestin operativos. Ms de un producto de gestin operativo puede gestionar un
artculo de configuracin individual. Cada producto de gestin operativo tiene su
propio identificador exclusivo, un token de origen, para cada artculo de
configuracin.

La base de datos incluye un repositorio de informacin de artculos de


configuracin y productos de gestin operativos. Esta informacin incluye las
relaciones entre los productos de gestin operativos y los artculos de
configuracin, y los tokens de origen que controlan la integracin entre los
productos de gestin de procesos y los productos producto de gestin operativos.

Operaciones de gestin lgica


Las operaciones de gestin lgica identifican las acciones que admiten los mdulos
de integracin como, por ejemplo, Obtener estado y Desplegar software. Una

338 Integracin de datos con aplicaciones externas


operacin de gestin lgica est formada por un origen de datos, un destino y los
atributos de campo de objeto especficos que el origen y el destino utilizan durante
la invocacin de un proceso.

Las operaciones de gestin lgica actan como interfaces entre el producto de


gestin de procesos y el mdulo de integracin. Puede disear y desarrollar
mdulos de integracin y productos de gestin de procesos de forma
independiente. Puede instalar definiciones de operaciones de gestin lgica con un
producto y tambin puede crear operaciones de gestin lgica en la aplicacin
Operaciones de gestin lgica.

La definicin de una operacin de gestin lgica contiene las siguientes


propiedades:

Propiedad Descripcin
Nombre El nombre de la accin, por ejemplo,
Obtener estado o Desplegar software.
Espacio de nombres Un calificador exclusivo, por ejemplo,
com.ibm.tivoli.deployment.
Patrn de invocacin v Sncrono: el producto de gestin de
procesos emite una solicitud y el mdulo
de integracin devuelve los resultados de
la operacin inmediatamente.
v Una va asncrona: el producto de gestin
de procesos emite una solicitud y no se
devuelve ninguna respuesta.
v Respuesta diferida asncrona: el producto
de gestin de procesos emite una solicitud
y un token identifica la instancia de la
solicitud. El producto de gestin de
procesos pasa el token como entrada a
otra operacin de gestin lgica que, a
continuacin, obtiene el estado de la
solicitud original.
v Devolucin de llamada asncrona: el
producto de gestin de procesos emite
una solicitud y un token identifica la
instancia de la solicitud. El producto de
gestin operativo utiliza un token para
ejecutar una devolucin de llamada para
identificar y notificar el estado de la
solicitud original. La devolucin de
llamada que proporciona el mdulo de
integracin inserta o actualiza un objeto
de negocio.
Objeto de negocio de origen El objeto de entrada de la operacin de
gestin lgica.
Objeto de negocio de destino Resultado del objeto para la operacin de
gestin lgica.
Atributos de objeto de negocio Los atributos especficos de los objetos que
se necesitan para la entrada o la salida y sus
tipos de datos.

Los objetos de entrada y los atributos de los objetos de entrada identifican los
datos que el producto de gestin de procesos pasa al mdulo de integracin. Si la

Integracin de datos con aplicaciones externas 339


operacin de gestin lgica est configurada con atributos de entrada y no
contiene un objeto de entrada, el producto de gestin de procesos puede pasar
cualquier objeto de negocio que tenga los atributos de entrada necesarios. Si se
especifica un objeto de entrada, el producto de gestin de procesos debe pasar el
objeto de negocio al mdulo de integracin. El objeto de respuesta y los atributos
identifican los datos que devuelve el mdulo de integracin.

Requisitos previos para la implementacin


Antes de que se produzca cualquier implementacin de mdulo de integracin,
debe garantizar que la operacin de gestin lgica est asociada a uno o varios
mdulos de integracin. El mdulo de integracin debe tener luego una asociacin
con un producto de gestin de operaciones. Finalmente, las operaciones de gestin
lgica de cada producto de gestin de operaciones deben estar habilitadas.

Asociaciones de operaciones de gestin lgica

Normalmente, hay una comunicacin de uno a uno entre una operacin de gestin
lgica y una funcin del producto de gestin de operaciones. No obstante, una sola
invocacin de una operacin de gestin lgica puede hacer que el mdulo de
integracin invoque un producto de gestin de operaciones varias veces.

Un mdulo de integracin que utiliza un canal de invocacin puede ejecutar


operaciones de gestin lgica slo en las circunstancias siguientes:
v El objeto de origen definido en la operacin de gestin lgica debe coincidir con
el objeto principal de la estructura de objeto de solicitud que defina en el canal
de invocacin.
v Si el canal de invocacin no est configurado para procesar una respuesta, no
podr asociar un objeto de respuesta con la operacin de gestin lgica.
v El objeto de respuesta que defina en la operacin de gestin lgica debe
coincidir con el objeto principal de la estructura de objeto de respuesta que
defina en el canal de invocacin. La coincidencia se debe producir cuando
configure el canal de invocacin para procesar una respuesta.

Asociaciones de productos de gestin de operaciones

El mdulo de integracin puede dar soporte a varias operaciones de gestin lgica


para un producto de gestin de operaciones. Cuando ejecute el mdulo de
integracin, los valores de nombre y de espacio de nombres de la operacin de
gestin lgica especifican la accin que se debe realizar.

Las asociaciones del producto de gestin de operaciones y el mdulo de


integracin se crean cuando los valores OMPPRODUCTNAME y OMPVERSION se
agregan al mdulo de integracin. Si se utilizan varias versiones del producto de
gestin de operaciones con el mdulo de integracin, utilice un valor nulo para
OMPVERSION.

Habilitacin de la gestin de operaciones lgica

Ms de un mdulo de integracin puede implementar la misma operacin de


gestin lgica en un producto de gestin de operaciones. Utilice el atributo
ISPRIMARY para identificar el mdulo de integracin preferido para la operacin
de gestin lgica en el producto de gestin de operaciones. Slo un mdulo de
integracin puede tener el conjunto de valores ISPRIMARY establecido en true
para cualquier combinacin especfica de operacin de gestin lgica - producto de
gestin de operaciones.

340 Integracin de datos con aplicaciones externas


Propiedades de implementacin
La infraestructura de integracin puede procesar automticamente datos de
integracin cuando se implementa un mdulo de integracin. Puede personalizar
la implementacin si desea pasar por alto partes del proceso automtico.

Parmetros del mdulo de integracin


La infraestructura de integracin proporciona parmetros de entrada del mdulo
de integracin, incluidos los objetos de origen y respuesta y los conjuntos de
objetos y nombres de puntos finales. Estos parmetros se pasan cuando ejecuta un
mdulo de integracin como una clase Java o como un canal de invocacin.

La tabla siguiente lista los parmetros de la interfaz psdi.iface.omp.IMConstants y


sus nombres.

Nombre Descripcin
IM El objeto ServiceInvoker de la instancia que
puede ser un mdulo de integracin Java o
un canal de invocacin.
IMNAME El nombre del mdulo de integracin.
IMVERSION La versin del mdulo de integracin.
LMONAME El nombre de la operacin de gestin lgica
que se invoca.
LMONAMESPACE El espacio de nombres de la operacin de
gestin lgica que se invoca.
OMPGUID El identificador exclusivo global (GUID) del
producto de gestin operativa que utiliza el
mdulo de integracin.
ENDPOINTNAME El nombre del punto final que utiliza el
mdulo de integracin para comunicarse con
el producto de gestin operativa.
ENDPOINTPROP Una correlacin de las propiedades
String.psdi.iface.mic.MaxEndPointPropInfo que
alteran temporalmente las propiedades de
punto final.
USERNAME El nombre de usuario que utiliza la
infraestructura de integracin para
comunicarse con el punto final.
PASSWORD La contrasea para USERNAME.

Flujo de procesos de mdulos de integracin


Los mdulos de integracin basados en Java llenan el objeto de respuesta o el
conjunto de objeto de respuesta de operacin de gestin lgica con los resultados
de la operacin. Para los canales de invocacin, puede especificar una correlacin
de la respuesta del producto de gestin de operaciones al objeto o conjunto de
objetos de respuesta. La infraestructura de integracin copia los datos en el objeto
o conjunto de objetos de respuesta.

Los mdulos de integracin deben volver rpidamente a sus interlocutores. Si el


servicio externo es un servicio de ejecucin larga, el mdulo de integracin debe
crear otra hebra. La hebra nueva hace la llamada al producto de gestin de
operaciones, mientras que la hebra original vuelve al interlocutor.

Los mdulos de integracin realizan las tareas de procesamiento siguientes:

Integracin de datos con aplicaciones externas 341


1. Recuperar la entrada del objeto de origen o el conjunto de objetos de origen.
2. Si procede, recuperar las propiedades de integracin especficas del mdulo.
3. Realizar toda la lgica de proceso que la operacin de gestin lgica requiere
antes de que llamar al producto de gestin de operaciones.
4. Llamar al producto de gestin de operaciones.
5. Si procede, manejar ala respuesta del producto de gestin de operaciones.
6. Si procede, llenar el objeto de respuesta o el conjunto de objetos de respuesta
con los datos de retorno.
7. Devolver informacin de procesamiento al interlocutor.

Puntos finales
Un mdulo de integracin que contiene un canal de invocacin debe utilizar un
punto final. Un mdulo de integracin de clase Java puede utilizar un punto final
o utilizar un mtodo personalizado para las invocaciones de servicios externos.

Los puntos finales contienen propiedades de URL y propiedades de manejador que


especifican el mecanismo de transporte que se ha de utilizar. Un punto final con
un manejador de servicios web tiene propiedades diferentes a las de un punto final
con un manejador de lnea de mandatos. Los puntos finales del mdulo de
integracin y las propiedades de punto final se pueden sobrescribir durante la
ejecucin cuando el producto de gestin de proceso pasa las propiedades de punto
final como entrada al mdulo de integracin. Las propiedades USERNAME y
PASSWORD que se devuelven desde el correlacionador de credenciales tambin
pueden alterar temporalmente las propiedades de punto final.

Los mdulos de integracin Java se pueden comunicar directamente con un


producto de gestin de operaciones o con un mdulo de integracin externo, sin
utilizar un punto final. Si no utiliza un punto final, elimina la necesidad de que el
mdulo de integracin Java convierta los objetos de origen al formato XML
necesario. Cuando excluye el uso del punto final, puede utilizar cualquier
protocolo de comunicaciones soportado por el producto de gestin de operaciones.
No es necesario que los mdulos de integracin utilicen los puntos finales. Puede
configurar el mdulo de integracin para la comunicacin con un producto de
gestin de operaciones utilizando las propiedades del mdulo de integracin.

La infraestructura de integracin proporciona manejadores predefinidos que dan


soporte a los protocolos de comunicaciones como HTTP y servicios web. Si no hay
disponible un manejador predefinido para dar soporte al protocolo de servicios de
productos de gestin operativa, implemente un mdulo de integracin externo. El
mdulo de integracin externo acta como una interfaz para el servicio de
productos de gestin de operacin que puede utilizar uno de los protocolos de
manejador disponibles. Una solucin alternativa es escribir un manejador
personalizado que admita el protocolo del servicio de productos de gestin de
operaciones.

Configure un punto final diferente para que cada producto de gestin de


operaciones establezca los protocolos individuales de cada producto. El manejador
que defina para el punto final debe coincidir con el manejador que configure para
el mdulo de integracin.

Los mdulos de integracin basados en los canales de invocacin requieren un


punto final. El nombre de punto fina es uno de los parmetros de la
infraestructura de integracin que se pasa como entrada al canal de invocacin. El
que llama al mdulo de integracin puede alterar temporalmente el nombre del
punto final.
342 Integracin de datos con aplicaciones externas
Independientemente de si utiliza un manejador de punto final para comunicarse
con el producto de gestin de operaciones, el mdulo de integracin debe manejar
escenarios que requieren mltiples invocaciones del producto de gestin de
operaciones para una sola ejecucin de la operacin de gestin lgica.

Canal de invocacin o implementacin de clase Java


Puede implementar un mdulo de integracin como una clase Java o como un
canal de invocacin. Antes de desarrollar un mdulo de integracin, revise las
ventajas y desventajas del uso de un canal de invocacin o una clase Java.

Comparacin entre los canales de invocacin y las clases Java


Antes de que desarrollar un mdulo de integracin, considere las ventajas y
desventajas de utilizar una clase Java o un canal de invocacin.

Ventajas y desventajas de utilizar un canal de invocacin

La implementacin de un mdulo de integracin utilizando un canal de invocacin


tiene las ventajas siguientes:
v Un canal de invocacin resulta til cuando se pasan datos complejos al punto
final. Tambin resulta til cuando se puede definir una correlacin clara entre los
campos del objeto de origen y la entrada que el punto final requiere.
v Puede dar soporte a estructuras de objeto jerrquicas en transacciones de
entrada y salida.
v La infraestructura de integracin gestiona la conversin de objetos a XML y de
XML a objetos.
v Se puede configurar para utilizar clases de procesamiento, salidas de usuario y
correlaciones de XSL para transacciones entrantes y salientes.
v La infraestructura de integracin realiza la invocacin de puntos finales.
v Se puede invocar directamente sin una asociacin a un mdulo de integracin o
a una operacin de gestin lgica.
v Se puede implementar una integracin simple utilizando una configuracin del
sistema que no requiere que reinicie el servidor de aplicaciones.

La implementacin de un mdulo de integracin utilizando un canal de invocacin


tiene las desventajas siguientes:
v Requiere ms registro y configuracin de artefactos del sistema, aunque la
invocacin sea simple.
v El mdulo de integracin no puede ser utilizado por varias aplicaciones con
objetos de negocios diferentes.
v Requiere conocimiento adicional de la infraestructura de integracin.
v Slo soporta una nica invocacin del punto final configurado. Requiere
codificacin adicional para permitir varias invocaciones.
v Requiere codificacin adicional para dar soporte a un servicio de larga ejecucin.
De forma predeterminada, el canal de invocacin espera una respuesta del punto
final.

Ventajas y desventajas de utilizar una clase Java

La implementacin de un mdulo de integracin utilizando una clase Java tiene las


ventajas siguientes:
v Requiere menos registro y configuracin de artefactos del sistema.

Integracin de datos con aplicaciones externas 343


v La pueden utilizar aplicaciones diferentes al utilizar objetos de negocios
diferentes.
v Se puede disear para realizar varias invocaciones externas.
v Puede utilizar protocolos de comunicacin diferentes para operaciones de
gestin lgica y productos de gestin de operaciones diferentes.
v Soporta el uso de otra hebra para acomodar un servicio de larga ejecucin.
v Puede implementar varias operaciones de gestin lgica, incluso cuando la
configuracin de entrada y la configuracin de salida sean diferentes.
v Es menos probable que requiera el uso de un mdulo de integracin externo.

La implementacin de un mdulo de integracin utilizando una clase Java tiene las


desventajas siguientes:
v Requiere la elaboracin de ms cdigo Java.
v No soporta una estructura de objeto con una relacin de nivel superior y nivel
inferior como entrada o salida. Slo se puede utilizar el objeto de nivel superior
como entrada y el cdigo Java debe encontrar la relacin de nivel inferior.
v Las conversiones de objetos a XML y de XML a objetos deben estar codificadas
cuando se utiliza un manejador de punto final.
v La personalizacin debe estar incorporada en el diseo del mdulo de
integracin. La personalizacin no se puede agregar posteriormente sin volver a
desplegar el cdigo.
v El uso de cualquier componente de infraestructura de integracin, como un
manejador de punto final, debe estar codificado en la clase Java.

Implementacin de canales de invocacin


Los canales de invocacin utilizan estructuras de objeto en sus implementaciones
para expandir el contenido de datos del mensaje. La estructura de objeto utiliza el
objeto que el producto de gestin de proceso pasa como objeto de origen para
crear un registro entero que puede consistir de varios objetos relacionados.

Los objetos identificados en las estructuras de objeto se utilizan en la creacin de


mensajes XML. Cuando se utiliza un canal de invocacin, los datos deben ser
conformes a los esquemas XML especificados para las estructuras de objeto
asociadas, y se debe definir un punto final para el canal de invocacin.

Los canales de invocacin soportan clases de salida de procesamiento entrantes y


salientes opcionales. La infraestructura de integracin utiliza clases de salida de
procesamiento para implementar lgica adicional. Las clases de salida de
procesamiento entrantes y salientes deben ser instancias de la clase Java
psdi.iface.migexits.ExternalExit.

Para las transacciones salientes, la infraestructura de integracin llama al mtodo


siguiente:
public StructureData setDataOut(StructureData irData)

Para las transacciones entrantes, la infraestructura de integracin llama al mtodo


siguiente:
public StructureData setDataIn(StructureData erData)

Cuando sustituya uno de estos mtodos, puede realizar el procesamiento de


mdulos de integracin adicional. Las propiedades que se pasan al canal de
invocacin estn disponibles para las clases de procesamiento.

344 Integracin de datos con aplicaciones externas


EL cdigo de clase de proceso saliente siguiente muestra cmo recuperar el
identificador exclusivo global del producto de gestin de operaciones al ejecutar un
canal de invocacin:
import psdi.server.MXServer;
import psdi.iface.omp.IMConstants;
import psdi.iface.omp.OmpServiceRemote;
import psdi.iface.mic.*;
import psdi.iface.migexits.*;
.
.
.
public class OutboundCIExit extends ExternalExit implements IMConstants
{
public StructureData setDataOut(StructureData irData)
throws MXException, RemoteException
{
IntegrationContext cntx = IntegrationContext.getCurrentContext();
String ompGUID = cntx.getStringProperty(OMPGUID);
.
.
.

}
}

Entre las funciones adicionales del canal de invocacin figuran las clases Java de
salida de usuario y una capa de correlacin de XSL. Puede configurar la capa de
correlacin de XSL para realizar la correlacin de XML o la transformacin de
datos.

Si la estructura de objeto que necesita para su invocacin de mdulo de


integracin no existe, puede crear una estructura de objeto en la aplicacin
Estructuras de objetos. Tambin puede utilizar XML con la estructura de objeto
MXINTOBJECT para crear estructuras de objeto como parte del proceso de
instalacin.

Implementacin de clases Java


Se pueden implementar mdulos de integracin para utilizar archivos de clase
Java. La utilizacin de un archivo de clase Java elimina la necesidad de registro y
configuracin de componentes de integracin. Adems, todas las implementaciones
de mdulo de integracin subyacentes son transparentes para el producto de
gestin de procesos.

Los mdulos de integracin de clase Java deben implementar la interfaz


psdi.iface.mic.ServiceInvoker. La interfaz Java del invocador de servicios se
incluye en el archivo businessobjects.jar. Incluya la clase Java del mdulo de
integracin en la ruta de clase del sistema en el tiempo de ejecucin.

La interfaz Java del invocador de servicios tiene variaciones de la firma de mtodo


siguiente:

public byte[] invoke(Map String,Object metaData, MboRemote sourceMbo,


MboRemote targetMbo, String endPointName) throws MXException,
RemoteException;
v metaData es una correlacin de las propiedades de nombre y valor que incluye:
El nombre y la versin del mdulo de integracin.
El nombre y el espacio de nombres de la operacin de gestin lgica.
El identificador exclusivo global del producto de gestin de operaciones.

Integracin de datos con aplicaciones externas 345


El nombre del punto final y cualquier propiedad de punto final que se
sobrescriba.
v sourceMbo es el objeto de origen que defini en la operacin de gestin lgica.
v targetMbo es el objeto de respuesta que defini en la operacin de gestin lgica.
v endPointName es el nombre del punto final que se utiliza para la comunicacin
con el producto de gestin de operaciones.

Si configura el mdulo de integracin para implementar varias operaciones de


gestin lgica, el mdulo de integracin debe determinar a qu operacin de
gestin lgica se est llamando. En tiempo de ejecucin, el mdulo de integracin
recupera las propiedades LMONAME y LMONAMESPACE de la correlacin de
entrada metaData:
import psdi.iface.omp.IMConstants;
.
.
.
String lmoName = metaData.get(IMConstants.LMONAME);
String lmoNamespace = metaData.get(IMConstants.LMONAMESPACE);

El mdulo de integracin puede recuperar datos de operacin de gestin lgica del


objeto de origen. El cdigo de ejemplo siguiente recupera valores de operacin de
gestin lgica del objeto de origen:
String guid = sourceMbo.getString("GUID");
int packID = sourceMbo.getInt("PACKID");
boolean hasSubs = sourceMbo.getBoolean("HASSUBS");

En el ejemplo, la operacin de gestin lgica tiene un atributo de entrada


alfanumrico denominado identificador exclusivo global, un atributo entero
denominado PACKID y un atributo booleano denominado HASSUBS.

Los mtodos de invocador de servicios pueden tomar un conjunto de valores


MboSetRemote como entrada de origen en lugar de un solo valor MboRemote. En
algunos casos, el mdulo de integracin pasa todos los objetos del conjunto de
objetos al producto de gestin de operaciones. En otros casos, el mdulo de
integracin slo pasa el primer objeto del conjunto. No hay ninguna regla definida
que se aplique al comportamiento del mdulo de integracin, pero se debe definir
claramente el comportamiento previsto en la descripcin de la operacin de gestin
lgica.

Procesamiento de mdulos de integracin


Los productos de gestin de procesos utilizan una accin del sistema para iniciar
un mdulo de integracin. La accin se puede asociar con una escalabilidad o un
flujo de trabajo o se puede iniciar desde un men o un botn. El producto de
gestin de procesos proporciona una clase de accin que invoca el mdulo de
integracin y procesa la respuesta que el mdulo de integracin devuelve.

Identificacin de los componentes de integracin


La clase de accin de iniciacin identifica los componentes necesarios para la
integracin, incluida la operacin de gestin lgica, el producto de gestin
operaciones y el mdulo de integracin.

La operacin de gestin lgica ejecuta un proceso, por ejemplo, el despliegue de


software, en un artculo de configuracin utilizando un producto de gestin de
operaciones. El producto de gestin de operaciones proporciona la entrada
necesaria al mdulo de integracin, en funcin de los objetos de negocio de
entrada y los atributos definidos en la operacin de gestin lgica.

346 Integracin de datos con aplicaciones externas


La clase de accin Java identifica un producto de gestin operativa que ejecuta la
operacin de gestin lgica en el artculo de configuracin seleccionado. Cuando
instala los artculos de configuracin y los productos de gestin operativa, tambin
se instalan las relaciones de componentes.

Un registro de mdulo de integracin identifica qu operaciones de gestin lgica


se admiten en un producto de gestin operativa. Cuando se registran mdulos de
integracin, artculos de configuracin y productos de gestin de operaciones, la
clase Java del producto de gestin de operaciones realiza una bsqueda. La clase
Java determina qu mdulos de integracin invoca basndose en los artculos de
configuracin que utiliza.

La infraestructura de integracin incluye un servicio que proporciona los siguientes


mtodos de programa de utilidad para ayudar a la clase con las bsquedas de
mdulo de integracin.

Mtodo de programa de utilidad Funcin


psdi.iface.app.omp.OmpSetRemote getOMPListForIM Recupera una lista de productos de gestin de
(String imName, String imVersion) operaciones asociados con el mdulo de integracin.
psdi.iface.app.im.MaxIMSetRemote getIMListForLMO Recupera una lista de mdulos de integracin que
(String lmoName, String lmoNamespace) implementa la operacin de gestin lgica especificada.
psdi.iface.app.im.MaxIMSetRemote Recupera una lista de mdulos de integracin que
getIMListForLMOWithOMP (String lmoName, String implementa la operacin de gestin lgica especificada
lmoNamespace) en cualquier producto de gestin de operaciones.
psdi.iface.app.im.MaxIMSetRemote getIMListForOMP Recupera una lista de mdulos de integracin que
(String ompGuid) implementa al menos una operacin de gestin lgica en
el producto de gestin de operaciones.
Collection getIMListForOMPAndLMO (String ompGUID, Recupera la lista de mdulos de integracin que
String lmoName, String lmoNamespace) implementa la operacin de gestin lgica en el producto
de gestin de operaciones especificado.

Devuelve una coleccin de objetos


psdi.iface.omp.OmpImLmoRelInfo.
Collection getIMListForOMPAndLMO (String ompHostname, Recupera la lista de mdulos de integracin que
String ompProductname, String ompManufacturer, implementa la operacin de gestin lgica en los
String lmoName, String lmoNamespace) productos de gestin de operaciones especificados.

Devuelve una coleccin de objetos


psdi.iface.omp.OmpImLmoRelInfo.
psdi.iface.omp.OmpImLmoRelInfo getPreferredIM Recupera el mdulo de integracin preferido que
(String ompGUID, String lmoName, String implementa la operacin de gestin lgica en el producto
lmoNamespace) de gestin de operaciones especificado.
psdi.iface.omp.OmpImLmoRelInfo getPreferredIM Recupera el mdulo de integracin preferido que
(String ompHostname, String ompProductname, String implementa la operacin de gestin lgica en el producto
ompManufacturer, String lmoName, String de gestin de operaciones especificado.
lmoNamespace)

Invocacin del mdulo de integracin


Los mdulos de integracin se pueden implementar como clases Java o como
canales de invocacin. Las instancias del mdulo de integracin se denominan
invocadores de servicios porque implementan la interfaz Java
psdi.iface.mic.ServiceInvoker.

Integracin de datos con aplicaciones externas 347


La interfaz del invocador de servicios oculta la implementacin subyacente al
interlocutor. La invocacin del mdulo de integracin por parte del interlocutor es
igual, independientemente de la implementacin subyacente.

Correlacin de propiedades de invocador de servicios:

Los mtodos del programa de utilidad de invocador de servicios devuelven una


correlacin de nombres y pares de valores.

La interfaz Java psdi.iface.omp.IMConstants define los nombres de las


propiedades que se devuelven en la correlacin. La propiedad IMConstants.IM
contiene la instancia del mdulo de integracin que el producto de gestin de
proceso invoca.

La propiedad IMConstants.ENDPOINTNAME contiene el nombre del punto final


asociado con el producto de gestin de operaciones, el mdulo de integraciones y
la relacin de operaciones de gestin lgica. En la mayora de casos, la propiedad
de punto final es el valor que el producto de gestin de procesos pasa al mdulo
de integracin. No obstante, en casos poco habituales, la clase de accin
sobrescribe el punto final configurado.

Si hay un correlacionador de credenciales configurado, los mtodos del programa


de utilidad del invocador de obtencin servicios llaman al correlacionador de
credenciales para recuperar el nombre de usuario y la contrasea utilizados para la
comunicacin del punto final. Estas propiedades las devuelven los mtodos de
programa de utilidad en una correlacin identificada por la propiedad
IMConstants.ENDPOINTPROPS. El interlocutor puede sobrescribir cualquier propiedad
de punto final aadindola a esta correlacin.

Antes de que la clase de accin llame al mdulo de integracin, debe llenar el


objeto de origen con los campos de entrada de la operacin de gestin lgica. La
clase de accin pasa entonces los datos de objeto del objeto de origen al mdulo de
integracin con la correlacin que devuelve el mtodo de programa de utilidad de
invocador de obtencin de servicios. La clase de accin proporciona el objeto de
respuesta de operacin de gestin lgico al mdulo de integracin cuando es
necesario.

El objeto de respuesta de operacin de gestin lgica requiere atributos. La clase


de accin debe garantizar que el objeto de respuesta tenga los atributos de
operacin de gestin lgica. Los atributos pueden ser persistentes o no persistentes.
El objeto de respuesta suele contener los datos del objeto de origen.

Mtodos de invocacin:

La infraestructura de integracin proporciona algunos mtodos de invocacin que


utiliza el interlocutor para invocar un mdulo de invocacin. Los mtodos de
invocacin utilizan propiedades para determinar qu datos de objetos se devuelven
al interlocutor. Las propiedades tambin determinan qu accin se realiza en los
datos devueltos y cmo se comunica la infraestructura de integracin con el
interlocutor.

La interfaz de invocador de servicio tiene cuatro firmas de mtodo de invocacin:


v public byte[] invoke(Map <String,Object> metaData, MboRemote sourceMbo,
MboRemote targetMbo, String endPointName)
v public byte[] invoke(Map <String,Object> metaData, MboRemote sourceMbo,
MboSetRemote targetMboSet, int action, String endPointName)

348 Integracin de datos con aplicaciones externas


v public byte[] invoke(Map <String,Object> metaData, MboSetRemote
sourceMboSet, MboRemote targetMbo, String endPointName)
v public byte[] invoke(Map <String,Object> metaData, MboSetRemote
sourceMboSet, MboSetRemote targetMboSet, int action, String endPointName)

La clase action pasa las siguientes propiedades cuando invoca uno de los mtodos
de invocacin en el invocador de servicio para el que se ha creado una instancia.

Propiedad Descripcin
metaData La correlacin de propiedades que devuelve
el mtodo del programa de utilidad del
invocador de servicios.
Objeto de origen y conjunto de objetos El objeto con los atributos de entrada que se
han definido en la operacin de gestin
lgica. Esta propiedad puede contener un
valor nulo.
Objeto de destino y conjunto de objetos El objeto y el conjunto de objetos que
contiene los datos devueltos. Esta propiedad
puede contener un valor nulo.
Accin Este parmetro indica si se actualizan los
objetos existentes en targetMboSet o si se
agregan nuevos objetos.

Los posibles valores para la accin son:


v psdi.mbo.MboSetRemote.INSERTONLY
v psdi.mbo.MboSetRemote.UPDATEONLY
Nombre de punto final El nombre del punto final que utiliza el
mdulo de integracin para la
comunicacin.

Mtodo de servicio del producto de gestin de operaciones:

Utilice el mtodo de servicio del producto de gestin de operaciones cuando la


clase de accin tenga una relacin con un artculo de configuracin o cuando tenga
un atributo de identificador exclusivo global (CIGUID) de artculo de
configuracin.

Cuando la clase de accin tiene un artculo de configuracin autorizado, en lugar


de un artculo de configuracin real, puede utilizar el atributo de identificador
exclusivo global del artculo de configuracin autorizado.

El mtodo de servicio siguiente recupera una lista de los mdulos de integracin


preferidos (invocadores de servicios). Los mdulos de integracin implementan la
operacin de gestin lgica especificada en los productos de gestin de
operaciones que gestionan el artculo de configuracin real especificado.

public Collection Map getServiceInvokerListForCIAndLMO(String actCIGUID,


String lmoName, String lmoNamespace, UserInfo userInfo)

Cada producto de gestin de operaciones que tiene una relacin con el artculo de
configuracin real especificado devuelve el mdulo de integracin preferido para
la operacin de gestin lgica.

Integracin de datos con aplicaciones externas 349


Mtodos del programa de utilidad de invocacin de servicios:

El programa de utilidad getServiceInvoker incluye mtodos que recuperan una


instancia de un mdulo de integracin para una operacin de gestin lgica y un
producto de gestin operativa.

La tabla siguiente lista los mtodos del programa de utilidad que se proporcionan
con el programa de utilidad getServiceInvoker.

Mtodo de programa de utilidad Funcin


Map<String, Object> getServiceInvoker Recupera el invocador de servicios para el mdulo de
(psdi.iface.omp.OmpImLmoRelInfo ompImLmoReMInfo, integracin especificado, la operacin de gestin lgica y
psdi.security.UserInfo userInfo) el producto de gestin operativa.
Map<String, Object> getServiceInvoker Recupera el invocador de servicios para el mdulo de
(psdi.iface.app.im.OmpImLmoRelRemote integracin especificado, la operacin de gestin lgica y
ompImLmoRelRemote, psdi.security.UserInfo userInfo) el producto de gestin operativa.
Map<String, Object> getServiceInvoker (String Recupera el invocador de servicios para el mdulo de
ompGUID, String imName, String imVersion, String integracin especificado, la operacin de gestin lgica y
lmoName, String lmoNamespace, psdi.security.UserInfo el producto de gestin operativa.
userInfo)
Map<String, Object> getServiceInvoker (String Recupera el invocador de servicios para el mdulo de
ompGUID, String lmoName, String lmoNamespace, integracin preferido para el producto de gestin
psdi.security.UserInfo userInfo) operativo especificado y la operacin de gestin lgica.
Collection<Map> getServiceInvokerListForCIAndLMO Recupera una lista de invocadores de servicio para los
(String actCIGUID, String lmoName, String mdulos de integracin preferidos que implementan la
lmoNamespace, psdi.security.UserInfo userInfo) operacin de gestin lgica especificada en los productos
de gestin operativa.

Los productos de gestin operativa tienen una relacin


con el artculo de configuracin.

Procesamiento de respuestas de mdulos de integracin


Si una operacin de gestin lgica tiene un objeto de respuesta, el mdulo de
integracin actualiza el objeto de respuesta con los resultados de su invocacin. La
clase de accin determina si hay que guardar los resultados en la base de datos. Si
la clase de accin no guarda los resultados, puede guardar los datos cuando vea
los resultados de la respuesta en la interfaz de usuario.

Si el objeto de respuesta es el objeto principal de la aplicacin o si el objeto


actualizado se basa en una relacin con el objeto principal de la aplicacin, la clase
de accin no guarda el objeto. En lugar de esto, la interfaz de usuario solicita
guardar el objeto. No obstante, si el objeto actualizado no guarda relacin con el
objeto de aplicacin principal, la clase de accin guarda y confirma los cambios.

Configuracin de mdulos de integracin


Los mdulos de integracin reciben solicitudes de datos de productos de gestin
de procesos y devuelven los datos de respuesta de productos de gestin de
operaciones.

Creacin de mdulos de integracin


Puede crear un mdulo de integracin para pasar datos entre aplicaciones internas
y externas. Dependiendo de sus necesidades, puede implementar un mdulo de
integracin como un canal de invocacin o como una clase Java. Tanto el canal de

350 Integracin de datos con aplicaciones externas


invocacin como la clase Java tienen acceso a la base de datos y a todos los objetos
de la memoria en el momento en que un producto de gestin de procesos invoca
un mdulo de integracin.

Procedimiento
1. En la aplicacin Mdulos de integracin, pulse Nuevo mdulo de integracin.
2. En los campos Nombre y Versin, indique una combinacin exclusiva de
nombre y nmero de versin del mdulo de integracin. El campo de versin
debe empezar por V e ir seguido de un entero de 0 a 9, ambos incluidos. El
entero puede ir seguido de un separador decimal (.) y de hasta 17 enteros
adicionales. Por ejemplo, V2.99. o V9.123456.
3. Opcional: Especifique valores en los campos siguientes:

Opcin Descripcin
Nombre de producto de gestin operativo El producto de gestin operativo que
invoca el mdulo de integracin. Si un
mdulo de integracin funciona con varios
productos, no debe especificar un nombre
de producto.
Versin de producto de gestin operativo El valor de versin del producto que
invoca el mdulo de integracin. Si un
mdulo de integracin funciona con varias
versiones de un producto de gestin
operativo, no debe especificar un valor de
versin.
Nombre del manejador El protocolo que utiliza el mdulo de
integracin para invocar el producto de
gestin operativo. Si el canal de invocacin
tiene un punto final asociado, no puede
configurar un manejador para el mdulo
de integracin.
Nombre del canal de invocacin El nombre del canal de invocacin que
ejecuta el mdulo de integracin. El
mdulo de integracin utiliza un canal de
invocacin o una clase Java. Especifique
slo uno de los dos.
Nombre de clase El nombre de la clase Java que ejecuta el
mdulo de integracin. El mdulo de
integracin utiliza un canal de invocacin
o una clase Java. Especifique slo uno de
los dos.

4. Pulse Guardar mdulo de integracin.

Qu hacer a continuacin

Puede asociar una operacin de gestin lgica con un mdulo de integracin para
definir las acciones que ejecutan los gestores de procesos. Tambin puede asociar
un producto de gestin operativo con un mdulo de integracin para definir las
aplicaciones externas que se pueden invocar desde un producto de gestin de
procesos.

Integracin de datos con aplicaciones externas 351


Seleccin de operaciones de gestin lgica para mdulos de
integracin
Puede utilizar el cuadro de dilogo Seleccionar operaciones para asociar una o
varias operaciones de gestin lgica a un registro de mdulo de integracin. Las
operaciones de gestin lgica definen una accin que ejecuta un producto de
gestor de procesos desde una aplicacin.

Antes de empezar

Debe asociar la operacin de gestin lgica con un producto de gestin operativo


previamente para que el producto de gestin operativo pueda ejecutar una
operacin de gestin lgica. Los registros de operacin de gestin lgica que asocia
con un mdulo de integracin que utiliza un canal de invocacin deben tener un
valor de nombre de objeto de origen. Este valor debe ser el mismo que el objeto de
origen superior registrado en el canal de invocacin. Adems, los registros de
operacin de gestin lgica deben tener un valor de nombre de objeto de respuesta
en el canal de invocacin que procesa respuestas. Este valor debe ser el mismo que
el objeto superior registrado en el canal de invocacin. Puede definir la operacin
de gestin lgica y los valores de objeto de respuesta en la aplicacin Operaciones
de gestin lgica.

Procedimiento
1. En la aplicacin Mdulos de integracin, seleccione el mdulo de integracin
que desee asociar a las operaciones de gestin lgica.
2. En la ficha Operaciones de gestin lgica, pulse Seleccionar operaciones.
3. Seleccione las operaciones de gestin lgica que desee asociar al registro de
mdulo de integracin.
4. Pulse Aceptar.
5. Pulse Guardar mdulo de integracin.

Qu hacer a continuacin

Puede asociar un producto de gestin de procesos con un mdulo de integracin


para definir las aplicaciones externas que puede invocar desde un producto de
gestin de procesos.

Seleccin de operaciones de gestin lgicas para productos de gestin de


procesos:

Puede utilizar el cuadro de dilogo Seleccionar operaciones para asociar una o


varias operaciones de gestin lgicas a un producto de gestin de procesos. La
asociacin que realice al producto de gestin de procesos habilita la operacin de
gestin lgica. La habilitacin indica que la operacin de gestin lgica est lista
para el uso.

Antes de empezar

Una operacin de gestin lgica se debe asociar con un mdulo de integracin


para que se pueda habilitar en un producto de gestin de procesos.

Procedimiento
1. En la aplicacin Mdulos de integracin, seleccione el mdulo de integracin
que desee asociar a las operaciones de gestin lgica.

352 Integracin de datos con aplicaciones externas


2. En la subficha Productos de gestin de operaciones seleccione el producto de
gestin de procesos que desee asociar a las operaciones de gestin lgica.
3. En la ventana de tabla Operaciones de gestin lgica para producto de gestin
de operaciones, pulse en Seleccionar operaciones.
4. Seleccione los productos de gestin lgica que desee habilitar para el producto
de gestin de procesos.
5. Pulse Aceptar.
6. Pulse Guardar mdulo de integracin.

Asociacin de una operacin de gestin lgica con un mdulo


de integracin
Puede asociar una operacin de gestin lgica con un mdulo de integracin para
definir las acciones que se realizan en un producto de gestin operativo. Los
productos de gestin de procesos como, por ejemplo, Cambiar o Desplegar, llaman
a un mdulo que integracin para ejecutar un producto de gestin operativo. El
producto de gestin operativo ejecuta el producto de gestin lgica, como por
ejemplo el despliegue de software, y notifica al producto de gestin de procesos
del estado de la accin.

Antes de empezar

Debe asociar la operacin de gestin lgica con un producto de gestin operativo


previamente para que el producto de gestin operativo pueda ejecutar una
operacin de gestin lgica. Los registros de operacin de gestin lgica que asocia
con un mdulo de integracin que utiliza un canal de invocacin deben tener un
valor de nombre de objeto de origen. Este valor debe ser el mismo que el objeto de
origen superior registrado en el canal de invocacin. Adems, los registros de
operacin de gestin lgica deben tener un valor de nombre de objeto de respuesta
en el canal de invocacin que procesa respuestas. Este valor debe ser el mismo que
el objeto superior registrado en el canal de invocacin. Puede definir la operacin
de gestin lgica y los valores de objeto de respuesta en la aplicacin Operaciones
de gestin lgica.

Acerca de esta tarea

El valor del patrn de invocacin determina si la operacin de gestin lgica es de


larga duracin. Tambin determina cmo espera el producto de gestin de
procesos una respuesta del producto de gestin operativo.

Procedimiento
1. En la aplicacin Mdulos de integracin, seleccione el mdulo de integracin
que desee asociar con una operacin de gestin lgica.
2. En la subficha Operaciones de gestin lgica, pulse Fila nueva.
3. Especifique valores en los campos siguientes:

Opcin Descripcin
Nombre de operacin de gestin lgica Identifica las acciones que admiten los
mdulos de integracin y las acciones que
solicitan los productos de gestin de
procesos.
Espacio de nombres Identifica el dominio del nombre de la
operacin de gestin lgica. Por ejemplo,
com.ibm.mss.

Integracin de datos con aplicaciones externas 353


4. Pulse Guardar mdulo de integracin.

Qu hacer a continuacin

Puede asociar un producto de gestin de procesos con un mdulo de integracin


para definir las aplicaciones externas que puede invocar desde un producto de
gestin de procesos.

Asociacin de un producto de gestin de procesos con un mdulo de


integracin:

Puede asociar un producto de gestin de procesos con un mdulo de integracin


para definir las aplicaciones externas que puede invocar desde un producto de
gestin de procesos. Los productos de gestin de procesos, como Cambiar o
Desplegar, llaman a un mdulo de integracin para ejecutar un producto de
gestin de procesos. A continuacin, el producto de gestin de procesos ejecuta el
producto de gestin lgica, como el despliegue de software, y notifica al producto
de gestin de procesos el estado de la accin.

Antes de empezar

Antes de que un producto de gestin de procesos pueda llamar a un mdulo de


integracin para ejecutar una operacin de gestin lgica en un producto de
gestin de procesos, configure los componentes siguientes:
v Definir y configurar una operacin de gestin lgica
v Asociar el mdulo de integracin a la operacin de gestin lgica y al producto
de gestin de procesos
v Habilitar la operacin de gestin lgica para el mdulo de integracin en el
producto de gestin de procesos

Acerca de esta tarea

Puede crear y configurar relaciones entre mdulos de integracin, productos de


gestin de procesos y operaciones de gestin lgica. Tambin puede realizar las
acciones siguientes:
v Asociar varios productos de gestin de procesos con un mdulo de integracin
v Habilitar operaciones de gestin lgica en el producto de gestin de procesos
para el mdulo de integracin
v Especificar un mdulo de integracin predeterminado para utilizarlo para una
operacin de gestin lgica determinada en un producto de gestin de procesos
v Configurar el punto final para una combinacin del producto de gestin de
procesos y el mdulo de integracin cuando el canal de invocacin no tiene
puntos finales asociados

Procedimiento
1. En la aplicacin Mdulos de integracin, seleccione el mdulo de integracin
que desee asociar con un producto de gestin de procesos.
2. En la subficha Productos de gestin de operaciones, pulse Fila nueva.
3. Especifique valores en los campos siguientes:
v Producto de gestin de operaciones
v Punto final
4. En la ventana de tabla Operaciones de gestin lgica, pulse en Fila nueva.

354 Integracin de datos con aplicaciones externas


5. Especifique un valor en el campo Nombre de gestin de operaciones lgicas.
Se muestran valores predeterminados en los campos Espacio de nombres y
Descripcin.
6. Opcional: Seleccione la casilla de verificacin Es primario para que el mdulo
de integracin se convierta en el predeterminado para la operacin de gestin
lgica seleccionada. Seleccione la casilla de verificacin Es primario al habilitar
la operacin de gestin lgica seleccionada o ms de un registro de mdulo de
integracin.
7. Pulse Guardar mdulo de integracin.

Qu hacer a continuacin

Puede asociar una operacin de gestin lgica con un mdulo de integracin para
definir las acciones que se llevan a cabo en un producto de gestin de procesos.

Configuracin de operaciones de gestin lgica


Puede crear una operacin de gestin lgica, para definir una accin para que la
ejecute un producto de gestin lgica desde la infraestructura de integracin.
Tambin puede definir los atributos de campo de objeto especficos que la
operacin de gestin lgica utiliza.

Creacin de operaciones de gestin lgica


Puede definir el patrn de invocacin en una operacin de gestin lgica. El valor
del patrn determina si la operacin de gestin lgica es de larga ejecucin y cmo
espera el producto de gestin de procesos una respuesta del producto de gestin
operativa.

Antes de empezar

Debe definir una relacin de operacin de gestin lgica para un producto de


gestin operativa y un mdulo de integracin antes de poder invocar ningn
proceso.

Procedimiento
1. En la aplicacin Aplicaciones de gestin lgica, pulse Operacin de gestin
lgica nueva.
2. En el campo Nombre, especifique un identificador de operacin de gestin
lgica.
3. Especifique valores en los campos siguientes:

Opcin Descripcin
Nombre de objeto de origen El objeto de entrada para la operacin de
gestin lgica.
Patrn de invocacin El patrn de una invocacin de operacin
de gestin lgica.
Espacio de nombres El identificador secundario del registro de
la operacin de gestin lgica.
Nombre de objeto de respuesta Resultado del objeto para la operacin de
gestin lgica.

4. Pulse Guardar operacin de gestin lgica.

Integracin de datos con aplicaciones externas 355


Adicin de atributos a operaciones de gestin lgica
Puede agregar atributos a una operacin de gestin lgica para identificar los
atributos de campo de objeto especficos que utilizan el origen y destino de datos
de la operacin de gestin lgica. Puede definir las entradas de atributos
individuales para las invocaciones de operaciones de gestin lgica tanto de
entrada como de salida.

Acerca de esta tarea

Los atributos de objeto de entrada identifican los datos que el producto de gestin
de procesos pasa al mdulo de integracin. Los atributos de objeto de salida
identifican los datos que el mdulo de integracin devuelve. Slo los atributos
respectivos de los objetos de origen y de respuesta seleccionados estn disponibles
para las selecciones de campos. Si no ha definido un objeto de origen ni de
respuesta, se pueden seleccionar todos los atributos del objeto.

Procedimiento
1. En la aplicacin Operaciones de gestin lgica, seleccione la operacin de
gestin lgica a la que desee agregar un atributo.
2. En la ventana Atributos para OGL, pulse Fila nueva.
3. Especifique un valor en el campo Nombre.
4. Opcional: Deseleccione la casilla de verificacin Entrada para indicar que el
atributo es para la salida de una invocacin de operacin de gestin lgica.
5. Opcional: Deseleccione la casilla de verificacin Requerido para indicar que el
atributo del campo no es necesario en la invocacin de la operacin de gestin
lgica.

Funcin de Inicio contextual


Puede utilizar la aplicacin Inicio contextual para crear y modificar registros de
entrada de ejecucin que abren una aplicacin externa en la misma sesin del
navegador o en una sesin diferente. Puede abrir aplicaciones independientemente
o como parte de un escenario de integracin de aplicaciones.

El registro de entrada de ejecucin puede utilizar las opciones siguientes en el


Diseador de aplicaciones para abrir una aplicacin externa:
v Elemento de men de accin
v Hipervnculos
v Botones

La aplicacin Inicio contextual se utiliza para crear y actualizar entradas de


ejecucin. Una entrada de ejecucin define un URL que abre una consola para una
aplicacin externa. La entrada de ejecucin puede pasar datos, que se conocen
como contexto, de la aplicacin a la consola externa. Puede configurar un URL de
consola para cualquier aplicacin con una consola basada en la web. Adems,
puede configurar URL de consola para consolas que utilicen Java Web Start. No
puede utilizar una entrada de ejecucin para abrir aplicaciones que no estn
habilitadas para la web. Puede configurar un punto de ejecucin desde cualquier
aplicacin.

356 Integracin de datos con aplicaciones externas


Preparacin de la aplicacin externa
La mayor parte de las aplicaciones externas tienen una consola basada en la web
que puede abrir desde un URL en un navegador web. La funcin de inicio
contextual soporta los tipos de consola de aplicacin de web (servlet o JSP), portal
Java Web Start.

Para realizar una navegacin, la consola de aplicacin externa debe soportar la


prestacin de destino segn contexto que acepta datos que se le pasan en un URL.
La consola externa utiliza el URL para abrir una ventana con los datos pasados en
el URL.

Si la aplicacin externa no ofrece la prestacin de destino segn contexto, la


funcin de inicio contextual puede abrir una pgina de inicio estndar dentro de la
consola, sin los datos contextuales. Si la aplicacin soporta la autenticacin de
inicio de sesin nico, se autentica a los usuarios de la aplicacin y se les dirige a
la consola externa. Si la autenticacin de inicio de sesin nico no se implementa,
la consola externa abrir un panel de inicio de sesin para autenticar al usuario de
la aplicacin.

URL de entrada de ejecucin en una aplicacin externa


Un valor de URL de entrada de ejecucin puede contener variables de sustitucin
que utilizan datos de los objetos de negocios relacionados que se visualizan en la
aplicacin.

Por ejemplo, para una entrada de ejecucin que se implementa en la aplicacin


Persona, puede sustituir el valor de nombre en la serie del URL utilizando el
nombre de atributo, {nombre_atributo}. El URL siguiente es un URL para la
aplicacin Persona que utiliza el atributo PERSONNAME:

https://extsyshost:9045/tcWebUI/interactionhandler?actionId=viewPerson
&Person={PERSONNAME}

Tambin puede proporcionar un atributo de un objeto relacionado con el objeto de


negocios principal especificando el nombre de la relacin y el nombre del atributo
{nombre_relacin.nombre_atributo}. El URL siguiente incluye un atributo de
ciudad de una direccin. Utilice este URL en la aplicacin Persona cuando el objeto
ADDRESS est relacionado con un objeto PERSON con una relacin denominada
ADDRESS:

https://extsyshost:9045/WebUI/interactionhandler?actionId=viewCity
&cityname={ADDRESS.CITY}

Utilice los valores {sourcetoken} y {reportinghostname} en un URL cuando desee


iniciar una consola del producto de gestin de operaciones.

URL de entrada de ejecucin en una aplicacin del producto


Un valor de URL de entrada de ejecucin puede contener variables de atributo y
una variable de clusula Where de SQL.

Una aplicacin externa puede ejecutarse en el producto, abrir una aplicacin del
producto especfica y buscar objetos de negocios especficos para mostrarlos.

Al realizar la ejecucin en el producto, se presenta la pantalla de inicio de sesin.


Despus de que el usuario inicie sesin, se abre la aplicacin especificada.

Integracin de datos con aplicaciones externas 357


Opcionalmente, puede incluir el nombre de usuario y la contrasea en el URL para
omitir la pantalla de inicio de sesin, pero slo si se ha configurado una capa de
sockets seguros (SSL) para proteger el acceso HTTP.

El URL para la ejecucin en el producto tiene el formato siguiente:

http://<servidor>:<puerto>/<maximo>/ui/<product.jsp>?event=loadapp
&value=<IDapl>

El URL del ejemplo siguiente abre la aplicacin Seguimiento de rdenes de trabajo


y muestra la orden de trabajo con un ID de 1000

http://<servidor>:<puerto>/<maximo>/ui/<maximo.jsp>?event=loadapp
&value=<wotrack>&attrname1=<WONUM>&attrvalue1=<1000>:

La bsqueda de un registro tiene un comportamiento similar al de la ficha Lista de


una aplicacin, donde la fila de filtro tiene varios valores cumplimentados a travs
de las columnas. Los nombres de los atributos son los nombres de la base de datos
del MBO primario para la aplicacin que se est ejecutando.

Si se requiere la bsqueda avanzada, puede agregar una clusula SQL WHERE al


URL, en el formato utilizado en el ejemplo siguiente:

http://:<servidor>:<puerto>/maximo/ui/maximo.jsp?event=loadapp
&value=wotrack&sqlwhere=WONUM%3D1000

El remitente debe proporcionar URL vlidos. En el ejemplo anterior, un valor "="


no vlido se ha convertido a "%3D".

Si un URL incluye tanto parmetros de tipo de atributo como un parmetro de


clusula SQL Where, se utiliza el parmetro de clusula SQL Where y los
parmetros de tipo de atributo se pasan por alto.

Habilitacin del inicio contextual


Para abrir una ventana de navegador en una aplicacin externa que puede
contener datos contextuales, un usuario debe ser capaz de activar el inicio en la
aplicacin de origen. El usuario tambin debe tener derechos de seguridad para
ver el elemento de men i el botn de la barra de herramientas. La aplicacin de
destino se debe configurar para aceptar la solicitud de la ventana de una aplicacin
remota y se deben haber realizado las disposiciones adecuadas para garantizar la
transaccin.

Creacin de una entrada de ejecucin


Puede crear una entrada de ejecucin para abrir una aplicacin externa en la
misma sesin de navegador o en una nueva. Los registros de las entradas de
ejecucin crean vnculos basados en sitios web entre aplicaciones y productos o
sitios web de gestin operativa.

Procedimiento
1. En la aplicacin Inicio contextual, pulse Nueva entrada de ejecucin.
2. En el campo Nombre de la entrada de ejecucin, especifique un identificador
de la entrada de ejecucin.
3. En el campo URL de consola, especifique el URL de un sitio web o de la
consola para un producto de gestin de operaciones que desee abrir en una
sesin de navegador.

358 Integracin de datos con aplicaciones externas


4. En el campo Ventana de navegador de destino, especifique uno de los
siguientes valores:
v Se abre el valor _usecurrent (valor predeterminado) abre una aplicacin o
sitio web en la sesin de navegador actual.
v El valor _blank abre una aplicacin o sitio web en una sesin de navegador
nueva.
5. Opcional: Si el destino de la entrada de ejecucin es una consola para un
producto de gestin operativa, especifique su nombre y versin en los campos
Nombre de producto de PGO y Versin de PGO.
6. En la tabla Ejecutar contextos, pulse Fila nueva.
7. En el campo Nombre de objeto de recurso, puede especificar un objeto
empresarial que restrinja el uso del registro de la entrada de ejecucin a las
aplicaciones que dan soporte a este objeto. Una entrada de ejecucin puede
soportar uno o varios objetos empresariales. No se aplican restricciones al uso
de la entrada de ejecucin si no selecciona ningn objeto empresarial.
Atributos de valores de clasificacin de la entrada de ejecucin. El valor de
clasificacin puede restringir las entradas de ejecucin visualizadas. Varios
objetos empresariales dan soporte al atributo de clasificacin. La restriccin de
clasificaciones se implementa durante la ejecucin cuando utiliza condiciones
del sistema. Se dispone de condiciones predefinidas para controlar el
comportamiento de la entrada de ejecucin. Tambin puede crear sus propias
condiciones. Por ejemplo, si especifica PERSONA en este campo, puede utilizar
la entrada de ejecucin solamente en la aplicacin Persona. Puede utilizar el
registro de entrada de ejecucin en cualquier aplicacin cuando el valor del
campo sea nulo.
8. En el campo Clasificacin de recursos, si se definen atributos de clasificacin
para el objeto de recurso especificado, puede seleccionar atributos que
restringen la visualizacin de las entradas de ejecucin. Muchos objetos
empresariales dan soporte a los atributos de clasificacin. La restriccin de
clasificaciones se implementa durante la ejecucin cuando utiliza condiciones
del sistema. Se dispone de condiciones predefinidas para controlar el
comportamiento de la entrada de ejecucin. Tambin puede crear sus propias
condiciones.
9. Seleccione la casilla de verificacin Incluir clasificacin de niveles inferiores
para incluir clasificaciones de recursos para objetos de nivel inferior en el
registro de la entrada de ejecucin.
10. Pulse en Guardar entrada de ejecucin.

Qu hacer a continuacin

Puede asociar registros de entrada de asociacin con opciones de firma en la


aplicacin Diseador de aplicaciones. Estas asociaciones definen y controlan
acciones de men para uso de la entrada de ejecucin.

Propiedades especficas de productos de gestin de operaciones:

Cuando se crea un registro de entrada de lanzamiento, algunas propiedades son


expresamente para el uso con productos de gestin operacionales.

Cuando se usted asocia un producto de gestin de operaciones a una entrada de


ejecucin, las bsquedas de infraestructura para el nombre del producto en los
servidores de producto de gestin de gestin de operaciones en la base de datos
que gestiona el artculo de configuracin. Si se proporciona la versin del producto

Integracin de datos con aplicaciones externas 359


de gestin de operaciones, la infraestructura busca la versin especificada. Los
datos del servidor llenan las variables {sourcetoken} y {reportinghostname} en el
URL de ejecucin.

Para determinar con qu artculo de configuracin trabaja, la infraestructura de


integracin busca un atributo de identificador exclusivo global (CIGUID) de
artculo de configuracin en el objeto de negocios que se visualiza. Si visualiza el
objeto de negocio del artculo de configuracin, en su lugar se utiliza el atributo de
identificador exclusivo global (GUID) en su lugar.

La seal de origen es un atributo del artculo de configuracin y la relacin con el


servidor de producto de gestin de operaciones. La consola del producto de
gestin de operaciones acepta la seal de origen como identificador del artculo de
configuracin. Al incluir un {sourcetoken} en el URL de inicio, la infraestructura
lo sustituye por la seal de origen correspondiente para el servidor del producto
de gestin de operaciones seleccionado.

El nombre del host que informa es el nombre de host del servidor del producto de
gestin de operaciones seleccionado. Cuando el valor de {reportinghostname} est
en el URL para la entrada de ejecucin, la infraestructura lo sustituye por el
nombre de host del producto de gestin de operaciones seleccionada. La
informacin de nombre de host y la seal de origen se cargan del motor de
descubrimiento. Si la informacin del nombre de host no se carga del motor de
descubrimiento, debe agregar la informacin del servidor de productos de gestin
operacional a su base de datos.

Configuracin de una opcin de firma para un punto de


ejecucin
Cuando cree una opcin de firma para un punto de ejecucin, estar disponible
para utilizarla dentro de los controles de la interfaz de usuario.

Procedimiento
1. En el Diseador de aplicaciones, seleccione la aplicacin donde desee
configurar un punto de ejecucin.
2. Seleccione la accin Agregar/Modificar opciones de firma.
3. En la ventana Agregar/Modificar opciones de firma, pulse en Fila nueva.
4. Especifique valores en los campos Opcin y Descripcin.
5. En la tabla Opciones de firma avanzadas, seleccione la opcin Asociar a
entrada de inicio para habilitar el inicio contextual. Para acceder a la tabla
Opciones de firma avanzadas, desplcese al final de la ventana
Agregar/Modificar opciones de firma y pulse en Maximizar para mostrar las
opciones disponibles.
6. En el campo Nombre de la entrada de ejecucin, especifique el nombre de la
entrada de ejecucin.
7. Pulse en Aceptar para regresar al Diseador de aplicaciones.
8. Pulse en Guardar definicin de aplicacin para confirmar las modificaciones
de la aplicacin en la base de datos.

Adicin de un punto de ejecucin a un men de aplicacin


Despus de configurar una opcin de firma para punto de ejecucin, puede aadir
la opcin a un men de aplicacin. El procedimiento es similar para aadir el
punto de inicio en una accin o en un men de barra de herramientas.

360 Integracin de datos con aplicaciones externas


Procedimiento
1. En Application Designer, elija una de las acciones siguientes:
v Agregar/Modificar men Seleccionar accin
v Agregar/Modificar men Barra de herramientas
2. Pulse Fila nueva.
3. En el campo Tipo de elemento, especifique el valor OPTION.
4. En el campo Valor clave, especifique el nombre de la opcin de firma que ha
configurado para el punto de ejecucin.
5. En el campo Posicin, especifique un nmero para indicar la posicin relativa
del elemento del men.
6. En el campo Fichas, seleccione uno de los valores siguientes:
v Seleccione el valor MAIN si el URL de ejecucin contiene variables de
sustitucin.
v Seleccione el valor ALL si el URL de ejecucin no contiene las variables de
sustitucin.
7. Especifique valores en otros campos opcionales, segn sea necesario.
8. Pulse en Aceptar para regresar al Diseador de aplicaciones.
9. Pulse en Guardar definicin de aplicacin para confirmar las modificaciones
de la aplicacin en la base de datos.

Qu hacer a continuacin

Para que los usuarios puedan ver el nuevo elemento de men o botn de la barra
de herramientas, debe otorgarle privilegios de acceso de usuario y grupo. Otorgue
los privilegios en la seccin Opciones de la ficha Aplicaciones en la aplicacin
Grupos de seguridad.

Adicin de un botn como un punto de ejecucin


Para agregar un botn a una aplicacin que acta como un punto de ejecucin,
configure un botn para utilizar la opcin de firma para el punto de ejecucin.

Procedimiento
1. En el Diseador de aplicaciones, pulse en Paleta de control.
2. Arrastre un control de pulsador al espacio de trabajo de la aplicacin.
3. Abra la ventana Propiedades correspondiente al control del pulsador.
4. En el campo Etiqueta, especifique el nombre que desee que aparezca en el
botn.
5. En el campo Evento, especifique el nombre de la opcin de firma.
6. Pulse en Aceptar para regresar al Diseador de aplicaciones.
7. Pulse en Guardar definicin de aplicacin para confirmar las modificaciones
de la aplicacin en la base de datos.

Adicin de una condicin a un punto de ejecucin


Puede crear una condicin y luego asociar la condicin con la opcin de firma para
el punto de ejecucin. Cuando se asocia una condicin con una opcin de firma, el
comportamiento de la interfaz de usuario se cambia de acuerdo con la condicin y
los datos que se estn visualizando.

Procedimiento
1. En la aplicacin Grupos de seguridad, seleccione el grupo para el que desee
aplicar una condicin.

Integracin de datos con aplicaciones externas 361


2. En la ficha Aplicacin, seleccione la aplicacin para la que desee aplicar la
condicin.
3. En la tabla Opciones, seleccione el valor de la condicin que haya creado.
4. Pulse en Guardar grupo.

Condiciones de opcin de firma:

Puede aplicar condiciones para controlar el comportamiento de la interfaz de


usuario segn los datos que se estn viendo.

La infraestructura de integracin proporciona una clase de condicin predefinida,


psdi.iface.app.launch.LaunchCICondition, para ocultar partes del men de entrada
de ejecucin cuando la clasificacin del objeto actual no coincida con el valor de
clasificacin de entrada de ejecucin. Esta condicin se aplica a cualquier de objeto
que tenga un atributo de clasificacin.

Las partes de men de entrada de ejecucin tambin se pueden ocultar cuando el


producto de gestin de operaciones que se configura en la entrada de ejecucin no
gestione el artculo de configuracin. Esta condicin se aplica a las entradas de
ejecucin que se asocian con un objeto de artculo de configuracin o un objeto de
artculo de configuracin real.

Puede configurar una condicin para utilizar la clase de condicin predefinida.


Tambin puede configurar una condicin para implementar una condicin
personalizada utilizando la aplicacin Administrador de expresiones condicionales.

El punto de ejecucin est disponible desde la aplicacin, sin tener en cuenta los
datos que se estn viendo, cuando no se utilice una condicin. Los datos que ve se
limitan a la configuracin de seguridad de la opcin de firma para un grupo de
usuarios. Tambin puede configurar sus ajustes de seguridad para ocultar un
punto de ejecucin, segn los privilegios de acceso del grupo establecidos.

Si utiliza una clase de condicin de Java, debe cambiar el atributo EXPRESIN de


condicin por nombre de la entrada de lanzamiento. La clase Java puede
identificar qu entrada de ejecucin se ejecuta. El valor del atributo de expresin
debe ser una coincidencia exacta con el nombre de la entrada de ejecucin y los
valores distinguen maysculas y minsculas.

Informacin de referencia de integracin


La informacin de referencia incluye una gua de las estructuras y los esquemas
XML utilizados por la infraestructura de integracin, las propiedades del sistema
que se pueden establecer y conmutadores de colaboracin predefinidos
proporcionados con las aplicaciones.

Propiedades del sistema de integracin


Las propiedades del sistema definen el comportamiento y las caractersticas de la
infraestructura de integracin. Para revisar o cambiar las propiedades de la
infraestructura de integracin, fltrelas en la aplicacin Propiedades del sistema.

362 Integracin de datos con aplicaciones externas


Propiedades generales de integracin

Para ver una lista de propiedades generales de integracin, especifique mxe.int


como trmino de filtro en la aplicacin Propiedades del sistema. Para las
propiedades booleanas (true/false), un valor 0 significa false y un valor 1 significa
true.
Tabla 47. Propiedades generales de integracin
Propiedad Descripcin Valor predeterminado
mxe.int.containerdeploy Despliega servicios web en el contenedor del servidor 0
de aplicaciones. Cuando se establece en 0 (false), los
servicios web se despliegan en el contenedor del
producto.
mxe.int.credentialmapperclassname El nombre de clase de correlacionador de credenciales
es un archivo de clase que puede utilizarse para
correlacionar informacin de credenciales cuando se
implementa un mdulo de integracin.
mxe.int.genboolasbool Generar booleano como booleano de esquema. 1
mxe.int.globaldir Especifica el directorio global de integracin. 1
mxe.int.queueusercachesize Nmero de usuarios almacenados en la memoria 10
cach para los mensajes de cola entrantes.
mxe.int.resolveschema Resuelve todas las inclusiones de esquema para que 1
contengan una definicin de esquema incorporado.
mxe.int.servicedeployer La clase de desplegador de servicios web es una clase
Java personalizada para el despliegue de servicios
web cuando no se utiliza la clase de desplegador
predeterminada.
mxe.int.uddiinqurl Representa el URL de consulta de registro UDDI de
integracin.
mxe.int.uddiname Representa el ID de usuario del registro UDDI de
integracin.
mxe.int.uddipassword Contrasea de registro UDDI de integracin.
mxe.int.uddipuburl URL de publicacin de registro UDDI de integracin.
mxe.int.validatedbupdates Valida las actualizaciones de las bases de datos 1
realizadas por la integracin. Cuando se establece en
1 (true), la supresin de objetos de negocio, atributos,
ndices y relaciones realizada por el usuario en la
aplicacin Configuracin de base de datos se valida
con el contenido de integracin. La validacin
garantiza que ningn componente de integracin haga
referencia a los datos que se estn suprimiendo. Si
existe una referencia, el usuario no puede completar
la accin de supresin.
mxe.int.validatemmpackage Valida las actualizaciones de la base de datos del 0
gestor de migracin realizadas por la integracin.
mxe.int.verifywebappurl Verifica el URL de aplicacin web cuando se generan 1
archivos de esquema.
mxe.int.webappurl Representa el URL de aplicacin web de integracin. http://localhost:9998/meaweb
Configure esta propiedad para que contenga el
nombre de host y el nmero de puerto correctos.
mxe.int.wsdlcurrentschema Muestra la definicin de esquema actual en WSDL. 1
mxe.int.wsdlincludesschema Incluye el esquema directamente en WSDL. 1
mxe.int.wsdlnamespace Representa el espacio de nombres WSDL de http://www.ibm.com/maximo/wsdl
integracin.
mxe.int.xmlnamespace Representa el espacio de nombres XML de http://www.ibm.com/maximo
integracin.

Integracin de datos con aplicaciones externas 363


Tabla 47. Propiedades generales de integracin (continuacin)
Propiedad Descripcin Valor predeterminado
mxe.int.binarytext Convierte un valor de texto en un valor codificado en 10
base 64.
mxe.int.defaultaction La accin predeterminada para la importacin de AddChange
archivos sin formato.
mxe.int.defaultoperation La operacin predeterminada para la exportacin de Sincronizacin
aplicaciones.
mxe.int.dfltuser Representa el usuario de inicio de sesin mxintadm
predeterminado de integracin.
mxe.int.doclink.maxfilesize Representa el tamao mximo de archivo (MB) para 10
los adjuntos que se incluyen como parte de un
mensaje de integracin.
mxe.int.enabledatemillis Permite la fecha con la parte de milisegundos. 0
mxe.int.expupdatesender Actualiza el campo SENDERSYSID en el objeto 0
primario durante la exportacin de datos.
mxe.int.extracttrycount El Recuento de reintentos de extraccin de archivos es 0
el nmero de veces que se reintenta un mensaje de
error durante la importacin de datos cuando se
utiliza la gestin de errores basada en archivos.
mxe.int.flatfiledelimiter Delimitador de texto del archivo sin formato de ,
integracin es el valor de delimitador predeterminado
que se utiliza para la habilitacin de importacin de
aplicaciones y la importacin de datos.
mxe.int.flatfilenewline Retiene el nuevo carcter de lnea en archivos sin 0
formato. Para los campos que pueden contener
caracteres de nueva lnea como, por ejemplo, las
descripciones, los caracteres se mantienen en los
mensajes de integracin cuando el valor de la
propiedad es 1 (true).
mxe.int.interactiveimport Realiza la importacin de la aplicacin de forma 0
interactiva.
mxe.int.keyresponse Proporciona un contenido de respuesta para los 1
mensajes de integracin entrantes de todas las
operaciones. Cuando se establece en 1 (true), se
proporciona un contenido de respuesta, que incluye
los valores de clave de objeto primaria, para todas las
operaciones de servicio. Cuando se establece en 0
(false), slo se proporciona un contenido de respuesta
para las operaciones Consultar y Crear.
mxe.int.maxextractdocs Representa el nmero de documentos de error que se 1000
graban en cada archivo temporal al crear un archivo
de extraccin.
mxe.int.mdbdelay Representa el tiempo de espera en milisegundos antes -1
de procesar un mensaje de la cola de errores.
mxe.int.propagateuser Propaga el usuario autenticado a travs de la cola 0
entrante. Cuando se establece en 1 (true), el usuario
del mensaje de integracin se guarda con el mensaje
de la cola y se utiliza durante el proceso del mensaje
porque se procesa desde la cola en los objetos de
negocio.
mxe.int.savemessage Indica que se guarde el mensaje JMS. 0
mxe.int.setclobasaln Controla el recorte de caracteres que se envan a las 0
tablas de interfaz.
mxe.int.textqualifier El calificador de texto de archivo sin formato es el "
valor de calificador de texto predeterminado en la
habilitacin de la importacin de aplicaciones y en la
importacin de datos.

364 Integracin de datos con aplicaciones externas


Tabla 47. Propiedades generales de integracin (continuacin)
Propiedad Descripcin Valor predeterminado
mxe.int.updatecoafromglcomp Actualiza el Plan contable que contiene un 1
componente identificado. Cuando se establece en 1
(true), el proceso de los datos de componente de LM
entrantes inicia actualizaciones relacionadas en los
datos del plan contable que hagan referencia al
componente de LM.
mxe.int.usescientific Utiliza notacin cientfica para los valores dobles. 1
mxe.int.validatexmltext Valida el valor de elementos XML para los caracteres 0
XML no vlidos. Cuando se establece en 1 (true), se
valida un mensaje saliente para garantizar que todos
los datos del mensaje utilizan caracteres XML vlidos.
Si hay mensajes con caracteres no vlidos, la
operacin se detiene y no se entrega ningn mensaje
saliente.
mxe.int.whereclausepolicy Establece la poltica de clusula Where para una parse
consulta de integracin.
mxe.int.adminfromemail La direccin de correo electrnico (FROM) desde la
administracin de integracin, que se utiliza como
direccin de correo electrnico Desde cuando la
integracin inicia un correo electrnico. Debe ser un
formato de direccin de correo electrnico vlido, por
ejemplo, from@example.com.
mxe.int.admintoemail La direccin de correo electrnico (TO) para la
administracin de integracin, que se utiliza como
direccin de correo electrnico Para cuando la
integracin inicia un correo electrnico. Debe ser un
formato de direccin de correo electrnico vlido, por
ejemplo, to@example.com. Puede proporcionar ms de
una direccin de correo electrnico en una lista
separada por comas.

Tabla 48. Propiedades generales de integracin.


Quin puede editar la
Propiedad Descripcin Valor predeterminado propiedad
mxe.int.containerdeploy 0 Administrador global
Despliega servicios web en el contenedor del
servidor de aplicaciones. Cuando se establece en
0 (false), los servicios web se despliegan en el
contenedor del producto.
mxe.int.credentialmapperclassname Administrador global
El nombre de clase de correlacionador de
credenciales es un archivo de clase que puede
utilizarse para correlacionar informacin de
credenciales cuando se implementa un mdulo de
integracin.
mxe.int.genboolasbool 1 Administrador global
Generar booleano como booleano de esquema.
mxe.int.globaldir 1 Administrador global
Especifica el directorio global de integracin.
mxe.int.queueusercachesize 10 Administrador global
Nmero de usuarios almacenados en la memoria
cach para los mensajes de cola entrantes.
mxe.int.resolveschema 1 Administrador global
Resuelve todas las inclusiones de esquema para
que contengan una definicin de esquema
incorporado.
mxe.int.servicedeployer Administrador global
La clase de desplegador de servicios web es una
clase Java personalizada para el despliegue de
servicios web cuando no se utiliza la clase de
desplegador predeterminada.

Integracin de datos con aplicaciones externas 365


Tabla 48. Propiedades generales de integracin (continuacin).
Quin puede editar la
Propiedad Descripcin Valor predeterminado propiedad
mxe.int.uddiinqurl Administrador global
Representa el URL de consulta de registro UDDI
de integracin.
mxe.int.uddiname Administrador global
Representa el ID de usuario del registro UDDI de
integracin.
mxe.int.uddipassword Administrador global
Contrasea de registro UDDI de integracin.
mxe.int.uddipuburl Administrador global
URL de publicacin de registro UDDI de
integracin.
mxe.int.validatedbupdates 1 Administrador global
Valida las actualizaciones de las bases de datos
realizadas por la integracin. Cuando se establece
en 1 (true), la supresin de objetos de negocio,
atributos, ndices y relaciones realizada por el
usuario en la aplicacin Configuracin de base de
datos se valida con el contenido de integracin.
La validacin garantiza que ningn componente
de integracin haga referencia a los datos que se
estn suprimiendo. Si existe una referencia, el
usuario no puede completar la accin de
supresin.
mxe.int.verifywebappurl 1 Administrador global
Verifica el URL de aplicacin web cuando se
generan archivos de esquema.
mxe.int.webappurl http://localhost:9998/ Administrador global
Representa el URL de aplicacin web de meaweb
integracin. Configure esta propiedad para que
contenga el nombre de host y el nmero de
puerto correctos.
mxe.int.wsdlcurrentschema 1 Administrador global
Muestra la definicin de esquema actual en
WSDL.
mxe.int.wsdlincludesschema 1 Administrador global
Incluye el esquema directamente en WSDL.
mxe.int.wsdlnamespace http://www.ibm.com/maximo/ Administrador global
Representa el espacio de nombres WSDL de wsdl
integracin.
mxe.int.xmlnamespace http://www.ibm.com/maximo Administrador global
Representa el espacio de nombres XML de
integracin.
mxe.int.binarytext 10 Administrador global,
Convierte un valor de texto en un valor administrador de
codificado en base 64. inquilinos
mxe.int.defaultaction AddChange Administrador global,
La accin predeterminada para la importacin de administrador de
archivos sin formato. inquilinos
mxe.int.defaultoperation Sincronizacin Administrador global,
La operacin predeterminada para la exportacin administrador de
de aplicaciones. inquilinos
mxe.int.dfltuser mxintadm Administrador global,
Representa el usuario de inicio de sesin administrador de
predeterminado de integracin. inquilinos
mxe.int.doclink.maxfilesize 10 Administrador global,
Representa el tamao mximo de archivo (MB) administrador de
para los adjuntos que se incluyen como parte de inquilinos
un mensaje de integracin.
mxe.int.enabledatemillis 0 Administrador global,
Permite la fecha con la parte de milisegundos. administrador de
inquilinos
mxe.int.expupdatesender 0 Administrador global,
Actualiza el campo SENDERSYSID en el objeto administrador de
primario durante la exportacin de datos. inquilinos

366 Integracin de datos con aplicaciones externas


Tabla 48. Propiedades generales de integracin (continuacin).
Quin puede editar la
Propiedad Descripcin Valor predeterminado propiedad
mxe.int.extracttrycount 0 Administrador global,
El Recuento de reintentos de extraccin de administrador de
archivos es el nmero de veces que se reintenta inquilinos
un mensaje de error durante la importacin de
datos cuando se utiliza la gestin de errores
basada en archivos.
mxe.int.flatfiledelimiter , Administrador global,
Delimitador de texto del archivo sin formato de administrador de
integracin es el valor de delimitador inquilinos
predeterminado que se utiliza para la habilitacin
de importacin de aplicaciones y la importacin
de datos.
mxe.int.flatfilenewline 0 Administrador global,
Retiene el nuevo carcter de lnea en archivos sin administrador de
formato. Para los campos que pueden contener inquilinos
caracteres de nueva lnea como, por ejemplo, las
descripciones, los caracteres se mantienen en los
mensajes de integracin cuando el valor de la
propiedad es 1 (true).
mxe.int.interactiveimport 0 Administrador global,
Realiza la importacin de la aplicacin de forma administrador de
interactiva. inquilinos
mxe.int.keyresponse 1 Administrador global,
Proporciona un contenido de respuesta para los administrador de
mensajes de integracin entrantes de todas las inquilinos
operaciones. Cuando se establece en 1 (true), se
proporciona un contenido de respuesta, que
incluye los valores de clave de objeto primaria,
para todas las operaciones de servicio. Cuando se
establece en 0 (false), slo se proporciona un
contenido de respuesta para las operaciones
Consultar y Crear.
mxe.int.maxextractdocs 1000 Administrador global,
Representa el nmero de documentos de error administrador de
que se graban en cada archivo temporal al crear inquilinos
un archivo de extraccin.
mxe.int.mdbdelay -1 Administrador global,
Representa el tiempo de espera en milisegundos administrador de
antes de procesar un mensaje de la cola de inquilinos
errores.
mxe.int.propagateuser 0 Administrador global,
Propaga el usuario autenticado a travs de la cola administrador de
entrante. Cuando se establece en 1 (true), el inquilinos
usuario del mensaje de integracin se guarda con
el mensaje de la cola y se utiliza durante el
proceso del mensaje porque se procesa desde la
cola en los objetos de negocio.
mxe.int.savemessage 0 Administrador global,
Indica que se guarde el mensaje JMS. administrador de
inquilinos
mxe.int.setclobasaln 0 Administrador global,
Controla el recorte de caracteres que se envan a administrador de
las tablas de interfaz. inquilinos
mxe.int.textqualifier " Administrador global,
El calificador de texto de archivo sin formato es administrador de
el valor de calificador de texto predeterminado en inquilinos
la habilitacin de la importacin de aplicaciones y
en la importacin de datos.
mxe.int.updatecoafromglcomp 1 Administrador global,
Actualiza el Plan contable que contiene un administrador de
componente identificado. Cuando se establece en inquilinos
1 (true), el proceso de los datos de componente
de LM entrantes inicia actualizaciones
relacionadas en los datos del plan contable que
hagan referencia al componente de LM.

Integracin de datos con aplicaciones externas 367


Tabla 48. Propiedades generales de integracin (continuacin).
Quin puede editar la
Propiedad Descripcin Valor predeterminado propiedad
mxe.int.usescientific 1 Administrador global,
Utiliza notacin cientfica para los valores dobles. administrador de
inquilinos
mxe.int.validatexmltext 0 Administrador global,
Valida el valor de elementos XML para los administrador de
caracteres XML no vlidos. Cuando se establece inquilinos
en 1 (true), se valida un mensaje saliente para
garantizar que todos los datos del mensaje
utilizan caracteres XML vlidos. Si hay mensajes
con caracteres no vlidos, la operacin se detiene
y no se entrega ningn mensaje saliente.
mxe.int.whereclausepolicy parse Administrador global,
Establece la poltica de clusula Where para una administrador de
consulta de integracin. inquilinos
mxe.int.adminfromemail Administrador de
La direccin de correo electrnico (FROM) desde arrendatarios
la administracin de integracin, que se utiliza
como direccin de correo electrnico Desde
cuando la integracin inicia un correo electrnico.
Debe ser un formato de direccin de correo
electrnico vlido, por ejemplo,
from@example.com.
mxe.int.admintoemail Administrador de
La direccin de correo electrnico (TO) para la arrendatarios
administracin de integracin, que se utiliza
como direccin de correo electrnico Para cuando
la integracin inicia un correo electrnico. Debe
ser un formato de direccin de correo electrnico
vlido, por ejemplo, to@example.com. Puede
proporcionar ms de una direccin de correo
electrnico en una lista separada por comas.

Propiedades de integracin de REST

Para ver una lista de propiedades de integracin de la API de REST, especifique


mxe.rest como trmino de filtro en la aplicacin Propiedades del sistema. Para las
propiedades booleanas (true/false), un valor 0 significa false y un valor 1 significa
true.
Tabla 49. Propiedades de integracin de la API de REST
Propiedad Descripcin Valor predeterminado
mxe.rest.format.json.mimetypes Los tipos MIME soportados por application/json
REST para JSON.
mxe.rest.format.xml.mimetypes Los tipos MIME soportados por application/xml,text/xml
REST para JSON.
mxe.rest.handler.mbo El manejador de recursos MBO com.ibm.tivoli.maximo.rest.
de REST. MboResourceRequestHandler
mxe.rest.handler.os El manejador de recursos de com.ibm.tivoli.maximo.rest.
estructura de objeto de REST. OSResourceRequestHandler
mxe.rest.handler.ss El manejador de recursos de com.ibm.tivoli.maximo.rest.
servicio estndar de REST. MaxServiceResourceRequestHandler
mxe.rest.serializer.mbo. El serializador REST para el com.ibm.tivoli.maximo.rest.
imglib.image MBO imagelib para el formato ImageLibSerializer
de imagen.
mxe.rest.serializer.mbo.json El serializador REST para MBO com.ibm.tivoli.maximo.rest.
para el formato JSON. MboJSONSerializer
mxe.rest.serializer.mbo.xml El serializador REST para MBO com.ibm.tivoli.maximo.rest.
para el formato xml. MboXMLSerializer

368 Integracin de datos con aplicaciones externas


Tabla 49. Propiedades de integracin de la API de REST (continuacin)
Propiedad Descripcin Valor predeterminado
mxe.rest.serializer.os.json El serializador REST de las com.ibm.tivoli.maximo.rest.
estructuras de objetos para el OSJSONSerializer
formato JSON.
mxe.rest.serializer.os.xml El serializador REST de las com.ibm.tivoli.maximo.rest.
estructuras de objetos para el OSXMLSerializer
formato xml.
mxe.rest.serializer.ss.json El serializador REST de servicios com.ibm.tivoli.maximo.rest.
estndar para el formato JSON. ServiceMethodResponseJSONSerializer
mxe.rest.serializer.ss.xml El serializador REST de servicios com.ibm.tivoli.maximo.rest.
estndar para el formato xml. ServiceMethodResponseXMLSerializer
mxe.rest.webappurl URL de autenticacin por testigo
de aplicacin web.
mxe.rest.mbo.blockaccess Bloquea el acceso a la lista de
MBO separados por comas.
mxe.rest.mbo.defaultformat El formato predeterminado de xml
REST para todos los MBO.
mxe.rest.mbo.imglib.defaultformat El formato predeterminado de image
REST para el MBO imglib.
mxe.rest.os.blockaccess Bloquea el acceso a la lista de 10
estructuras de objetos separadas
por comas.
mxe.rest.os.defaultformat El formato predeterminado de xml
REST para todas las estructuras
de objetos.
mxe.rest.ss.defaultformat El formato predeterminado de xml
REST para todas las respuestas
de servicios estndar
mxe.rest.supportedformats Los formatos soportados de xmljsonimage
REST para una respuesta.
mxe.rest.whereclausepolicy Establece la poltica de clusula parse
where para la consulta REST.

Propiedades de integracin de OSLC

Para ver una lista de propiedades de integracin de OSLC, especifique mxe.oslc


como trmino de filtro en la aplicacin Propiedades del sistema. Para las
propiedades booleanas (true/false), un valor 0 significa false y un valor 1 significa
true.
Tabla 50. Propiedades de integracin de OSLC
Propiedad Descripcin Valor predeterminado
mxe.oslc.dfltconsumerversion La versin de OSLC predeterminada que 2
el consumidor utiliza.
mxe.oslc.dfltversion La versin de OSLC predeterminada para 2
un proveedor de OSLC.
mxe.oslc.enableprovider Habilita el proveedor OSLC. 1
mxe.oslc.idleexpiry Indica el tiempo de caducidad 300
desocupado.
mxe.oslc.webappurl El URL pblico del proveedor. http://localhost/maximo/oslc/
mxe.oslc.collectioncount Aade el recuento total de la coleccin de 0
OSLC.
mxe.oslc.defaultep El punto final OSLC predeterminado. OSLCDEFAULT
mxe.oslc.defaultformat El formato predeterminado para OSLC. oslcjson

Integracin de datos con aplicaciones externas 369


Tabla 50. Propiedades de integracin de OSLC (continuacin)
Propiedad Descripcin Valor predeterminado
mxe.oslc.errorresponse El formato de respuesta de error de 1
OSLC.
mxe.oslc.preferproviderdesc Dar preferencia a la descripcin del false
proveedor de OSLC para los URL
combinados de registro de recursos.
mxe.oslc.prefersmallpreview Dar preferencia a la vista previa pequea false
para el Consumidor OSLC.
mxe.oslc.prettyjson JSON impreso. 0
mxe.oslc.prettyrdf RDF impreso. 0
mxe.oslc.prqueryep El punto final de consulta de registro de PROVIDERREGISTRY
proveedor.
mxe.oslc.prcreateep Es el punto final de creacin del registro
de proveedores.

XML de integracin
La mayora de los mensajes XML de integracin se basan en una estructura de
objeto y una operacin que un canal o servicio realiza. Los servicios estndar, sin
embargo, no soportan las estructuras de objeto y se utilizan esquemas XML
predefinidos para construir estos mensajes XML.

Descripcin general
Al configurar estructuras de objeto, la infraestructura de integracin especifica un
esquema XML adecuado que define el contenido y la estructura de los mensajes de
integracin.

Contenido de los mensajes

Para los mensajes XML basados en una estructura de objeto se pueden utilizar los
canales y los servicios siguientes:
v Canal de invocacin
v Canal de publicacin
v Servicio empresarial
v Servicio de estructura de objeto

Se admiten las siguientes operaciones:


v Crear
v Delete
v Invocar
v Publicar
v Consulta
v Sincronizacin
v Actualizar

Los valores de operacin distinguen entre maysculas y minsculas.

Estructura de los mensajes

El formato estndar para un mensaje XML de integracin empieza con un


elemento raz que contiene un elemento de estructura de objeto. El elemento de
estructura de objeto contiene elementos para el objeto principal y sus campos y
370 Integracin de datos con aplicaciones externas
para los objetos de nivel inferior definidos para la estructura de objeto. El ejemplo
siguiente se basa en la estructura de objeto PERSON, en la que el objeto principal y
sus campos preceden al objeto de nivel inferior y sus campos.
<?xml version="1.0" encoding="UTF-8"?>
<max:SyncMXPERSON xmlns:max="http://www.ibm.com/maximo"> (elemento raz)
<max:MXPERSONSet> (define el elemento de estructura de objeto)
<max:PERSON> (elemento de objeto para el objeto principal)
<max:PERSONID>Valor</max:PERSONID> (elemento de campo de objeto)
<max:EMPLOYEETYPE>Valor</max:EMPLOYEETYPE> (elemento de campo de objeto)
.
.
.
<max:PHONE> (elemento de nivel inferior)
<max:PHONENUM>Valor</max:PHONENUM> (elemento de campo de objeto de nivel
inferior)
<max:TYPE>Valor</max:TYPE> (elemento de campo de objeto de nivel
inferior)
</max:PHONE>
<max:EMAIL> (elemento de objeto de nivel inferior)
<max:EMAILADDRESS>Nuevo valor para actualizar</max:EMAILADDRESS>
<max:TYPE>Valor</max:TYPE> (elemento de campo de objeto de nivel
inferior)
</max:EMAIL>
.
.
.
</max:PERSON>
</max:MXPERSONSet>
</max:SyncMXPERSON>

El nombre del elemento raz es una concatenacin de la operacin especificada


para el canal o servicio y el nombre de la estructura de objeto. En este ejemplo, el
elemento raz SyncMXPERSON combina la operacin Sincronizar y la estructura de
objeto MXPERSON.

Cada elemento puede contener uno o varios atributos. En este mensaje XML de
ejemplo, el elemento raz incluye el atributo de espacio de nombres.

Generacin de esquemas

Para generar el esquema y ver el XML generado, filtre por un registro especfico y
seleccione la accin Generar esquema/Ver XML en cualquiera de las aplicaciones
siguientes:
v Servicios empresariales
v Canales de invocacin
v Estructuras de objetos
v Canales de publicacin
v Biblioteca de servicios web

Estructura XML
Un mensaje XML de integracin tpico tiene un elemento raz, un elemento de la
estructura de objeto y elementos para los objetos definidos para la estructura de
objeto. Los elementos de objeto contienen elementos para los campos de objeto, y
los elementos pueden contener uno o varios atributos. Los nombres y valores de
atributo distinguen entre maysculas y minsculas.

Integracin de datos con aplicaciones externas 371


Elemento raz y atributos:

El elemento raz de un mensaje XML est basado en una estructura de objeto y una
operacin especificada para el canal o servicio utilizado para la comunicacin. El
elemento raz puede contener uno o varios atributos.

La siguiente tabla muestra los atributos que puede aplicar a los elementos raz. Los
nombres y valores de atributo distinguen entre maysculas y minsculas. Todos
los atributos son opcionales.

Atributo Descripcin Tipo Aplicable a


baselanguage El lenguaje base en el que string Todas las operaciones de
se proporcionan los valores entrada y salida
de contenido.
creationDateTime Fecha y hora en que se ha dateTime Todas las operaciones de
generado el contenido. entrada y salida
maximoVersion La versin principal, la MaximoVersionType Todas las operaciones de
versin menor, la entrada y salida
compilacin y la
compilacin de base de
datos generadas para todo
el XML publicado.
messageID Identificador exclusivo string Todas las operaciones de
generado para todos los entrada y salida
mensajes.
transLanguage El idioma en el que se string Todas las operaciones de
proporcionan los campos entrada y salida
habilitados para varios
idiomas.
event El origen de un mensaje eventType Todas las operaciones de
XML de salida. Los valores salida
vlidos son:
v 0 (false), indica que el
mensaje lo genera la
funcin de exportacin.
v 1 (true), indica que el
mensaje lo genera una
escucha de eventos de
integracin de salida
(esto es, la entrada de
datos de una aplicacin).
uniqueResult Especifica si la consulta Booleano Consultas (entrada)
espera uno o varios
registros en una respuesta.
Si el valor es 0, o el
atributo no se ha
especificado, la consulta
puede devolver mltiples
registros. Si el valor es 1, la
consulta puede devolver
solamente un registro y, de
lo contrario, se produce un
error.

372 Integracin de datos con aplicaciones externas


Atributo Descripcin Tipo Aplicable a
maxItems Si una consulta puede positiveInteger Consultas (entrada)
devolver mltiples
registros, este atributo
limita el nmero de
registros que devuelve cada
vez. Si no se especifica este
atributo, la respuesta
contiene el conjunto de
resultados completo.
rsStart Especifica el primer registro integer Consultas (entrada)
que se ha de devolver en la
respuesta. Si no se
especifica, la respuesta
comienza por el primer
registro del conjunto de
resultados. Si el nmero de
registros del conjunto de
resultados de la consulta se
establece en un valor
inferior al valor de rsStart,
la respuesta no devuelve
ningn registro.

Si se especifica un valor de
maxItems, la respuesta
devuelve el nmero de
registros especificado,
comenzando por el valor
de rsStart, si se establece
uno.

Por ejemplo, si no se
especifican maxItems=10 y
rsStart, la respuesta
devuelve los resultados de
1 a 10. Para recibir los
resultados 11 a 20, vuelva a
enviar la consulta con
rsStart=11.
rsStart Este valor se corresponde integer Respuestas (salida)
con el valor de rsStart en
la consulta correspondiente.

Si la consulta contiene un
valor de maxItems, el valor
de rsStart en las
solicitudes de registros
adicionales es rsStart ms
el valor de rsCount ms 1.

Si no se especifica este
atributo, la respuesta
comienza con el primer
registro del conjunto de
resultados e incluye el
nmero de registros
especificado mediante el
atributo rsCount.

Integracin de datos con aplicaciones externas 373


Atributo Descripcin Tipo Aplicable a
rsCount El nmero de registros que integer Respuestas (salida)
se devuelven en un
mensaje. Si la consulta
original especifica un valor
de maxItems, el valor de
rsStart en la siguiente
solicitud de registros
adicionales es rsStart ms
el valor de rsCount ms 1.
rsTotal El nmero total de registros integer Respuestas (salida)
del conjunto de resultados.
Si la consulta no especifica
un valor de maxItems, el
valor de rsTotal es el
mismo que el valor de
rsCount.

Elemento de estructura de objeto:

El elemento de estructura de objeto contiene un elemento para el objeto principal y


elementos para cualquier objeto de nivel inferior definido para la estructura de
objeto. Este elemento puede soportar varias apariciones del objeto principal y sus
objetos de nivel inferior.

El elemento de objeto principal contiene elementos para cada campo de objeto. Los
elementos de objeto de nivel inferior, que contienen elementos para sus campos de
objeto, figuran en una lista despus del objeto principal.

Elementos de objeto y atributos:

Un elemento de objeto contiene elementos para los campos de objeto. Cada


elemento de objeto puede contener uno o varios atributos.

La tabla siguiente muestra los atributos que pueden aplicarse a un elemento de


objeto. Los nombres y valores de atributo distinguen entre maysculas y
minsculas. Todos los atributos son opcionales.

Atributo Descripcin Tipo Aplicable a


action Este valor se deriva del ProcessingActionType Todas las operaciones de
atributo de accin del entrada y salida
objeto primario en el
mensaje. Para los mensajes
salientes, este atributo slo
se utiliza a efectos
informativos.

Para los mensajes entrantes,


la lgica de proceso utiliza
este valor slo para la
operacin de
sincronizacin. Para las
dems operaciones, este
valor se ignora.

374 Integracin de datos con aplicaciones externas


Atributo Descripcin Tipo Aplicable a
relationship Identifica la relacin que string Todas las operaciones de
utiliza el sistema para entrada y salida
recuperar el objeto
utilizando el objeto de nivel
superior.
deleteForInsert Identifica un objeto de nivel string Todas las operaciones de
inferior que debe entrada y salida
suprimirse antes de volver
a insertarse. Este atributo
slo se aplica a los
mensajes entrantes en los
que la operacin es
sincronizar y la accin es
cambiar.

Referencia relacionada:
Atributos de accin en la pgina 377
Un atributo de accin es un atributo opcional que indica al sistema receptor el tipo
de proceso que debe llevar a cabo en un mensaje XML. Los atributos de accin se
aplican a los mensajes XML entrantes que sincronizan datos, mediante la operacin
Sincronizar, y a los mensajes XML salientes que utilizan canales de publicacin.

Elementos y atributos de campos de objetos:

Si el mismo campo est incluido en la clave tanto para un objeto de nivel superior
como para un objeto de nivel inferior de una estructura de objeto, el campo est
contenido slo en el objeto de nivel suprior. Cada campo de objeto puede incluir
uno o varios atributos.

Atributo de campo cambiado:

Se puede establecer un valor booleano en 1 (verdadero) en mensajes XML salientes


para indicar que el valor del campo ha cambiado. El atributo cambiado no se
establece en el XML generado por la funcin de exportacin de datos.

El atributo cambiado se establece en los mensajes XML salientes slo cuando la


transaccin satisface todas las condiciones siguientes:
v Una transaccin saliente basada en eventos crea el mensaje.
v El atributo de accin de cambio o el atributo de accin de sustitucin se
establecen en el objeto principal.
v La estructura de objeto que realiza el envo tiene la misma relacin de objeto de
nivel superior-nivel inferior que la aplicacin de recepcin.

En el ejemplo siguiente, se establece el atributo de accin de sustitucin (Replace)


para el objeto de nivel superior y el atributo cambiado se establece en 1 para el
campo ADDRESSLINE.
<MXPERSON>
<PERSON action="Replace">
<PERSONID>123</PERSONID>
<ADDRESSLINE1 changed="1" >1 Main Street</ADDRESSLINE1>

Para los campos de libro mayor (GL), el atributo cambiado siempre se establece en
el elemento de nombre, que es GLDEBITACCT en el ejemplo siguiente:

Integracin de datos con aplicaciones externas 375


<GLDEBITACCT changed="1">
<VALUE>6600-800-SAF</VALUE>
<GLCOMP glorder="0">6600</GLCOMP>
<GLCOMP glorder="1">800</GLCOMP>
<GLCOMP glorder="2">SAF</GLCOMP>
</GLDEBITACCT>

Atributo de campo de libro mayor:

El atributo glorder se establece en los elementos GLCOMP en campos que


identifican cuentas de libro mayor (GL), como por ejemplo un campo
GLDEBITACCT. Cada elemento GLCOMP contiene parte del nmero de cuenta y
el atributo glorder identifica cmo combinar estos elementos para construir el valor
de GL.

En los mensajes XML salientes, el valor de un campo de tipo de libro mayor,


incluidos los delimitadores, se establece en el elemento de nivel inferior VALUE
del campo. Los componentes del valor, segn la definicin de la base de datos de
los componentes, se incluyen los elementos GLCOMP. El atributo glorder de cada
elemento GLCOMP identifica el orden del componente, empezando de 0 (cero) y
hasta un mximo de 20. En el ejemplo siguiente, el nmero de cuenta tiene tres
componentes GL.
<GLDEBITACCT>
<VALUE>6600-800-SAF</VALUE>
<GLCOMP glorder="0">6600</GLCOMP>
<GLCOMP glorder="1">800</GLCOMP>
<GLCOMP glorder="2">SAF</GLCOMP>
</GLBDEBITACCT>

Los mensajes XML entrantes pueden establecer un nmero de cuenta del libro
mayor en elemento VALUE o en elementos GLCOMP con atributos glorder
asociados. Si el mensaje incluye elementos GLCOMP, el nmero de cuenta se
vuelve a crear de acuerdo con los delimitadores definidos en la tabla
GLCONFIGURE. Si tanto el VALOR como los elementos GLCOMP se incluyen en
el mensaje, se utiliza el elemento VALUE y los elementos GLCOMP se pasan por
alto.

Atributo de campo traducible:

El atributo langenabled est establecido en 1 (verdadero) en todos los campos que


se pueden traducir en mensajes XML salientes.

Atributo de campo sinnimo:

Para los mensajes salientes, los campos asociados con un dominio de tipo sinnimo
especifican el valor interno correspondiente utilizando el atributo maxvalue. Este
valor est disponible para la personalizacin o el procesamiento de la salida segn
sea necesario. El atributo slo es informativo y no se utiliza para el procesamiento
de mensajes entrantes.

En el ejemplo siguiente, se establece un maxvalue de NOLOT para el campo


LOTTYPE.
<MXITEM>
<ITEM>
<ITEMNUM>560-00</ITEMNUM>
<DESCRIPTION>Tubing, Copper-1 In ID X .030 In Wall Test
</DESCRIPTION>
<LOTTYPE maxvalue="NOLOT">NOLOT</LOTTYPE>

376 Integracin de datos con aplicaciones externas


Atributo de campo cifrado:

Cuando los datos de un campo, como un campo de contrasea, est cifrado, el


atributo booleano, maxencrypted, se establece en 1 (true). Los sistemas externos
utilizan este valor para determinar si se ha de aplicar un proceso de descifrado a la
informacin del campo.

El siguiente ejemplo utiliza la estructura de objeto MXPERSUSER para


proporcionar informacin de usuario, incluida una contrasea, y el atributo
maxencrypted se establece en el campo PASSWORD del objeto MAXUSER.
<MXPERUSER>
<PERSON action="Replace">
<PERSONID>123</PERSONID>
<MAXUSER>
<MAXUSERID>10</MAXUSERID>
<PASSWORD maxencrypted=1> dmFzdG8=</PASSWORD>
<MAXUSER>
<PERSON>
<MXPERUSER>

Atributos de accin:

Un atributo de accin es un atributo opcional que indica al sistema receptor el tipo


de proceso que debe llevar a cabo en un mensaje XML. Los atributos de accin se
aplican a los mensajes XML entrantes que sincronizan datos, mediante la operacin
Sincronizar, y a los mensajes XML salientes que utilizan canales de publicacin.

La descripcin siguiente explica el proceso de los mensajes entrantes utilizando la


operacin Sincronizar. El sistema externo debe evaluar el cdigo de accin que se
proporciona con los mensajes salientes y determinar el proceso adecuado para la
aplicacin externa.

Los atributos de accin pueden aplicarse al contenido del objeto de nivel superior
y a los objetos de nivel inferior de una estructura de objeto. Un atributo de accin
que se aplica a un objeto de nivel superior especifica la accin de proceso global
para los registros de nivel superior e inferior. Si se aplica a un objeto de nivel
inferior, la accin indica el proceso especfico para dicho registro. Si un atributo se
proporciona para un objeto de nivel inferior, solo se evala cuando el objeto
principal tiene un valor de accin Cambiar. Cuando la accin del objeto principal
no es Cambiar, se ignoran las acciones del objeto de nivel inferior.

Las reglas de negocio prevalecen sobre los atributos de accin. Si una regla de
negocio prohbe una accin especificada en un mensaje XML entrante, se produce
un error. Por ejemplo, si una transaccin entrante intenta actualizar una orden de
compra cerrada, se produce un error.

Si un mensaje XML contiene varias instancias de una estructura de objeto, cada


instancia de la estructura de objeto puede especificar un atributo de accin
diferente. En el ejemplo siguiente, el registro COMPANIES tiene diversos registros
COMPCONTACT de nivel inferior, y cada instancia tiene su propio atributo de
accin.
<MXVENDOR>
<COMPANIES action="Cambiar">
<COMPANY>TEST4
<NAME>prueba</NAME>
<ADDRESS1>Calle principal 100</ADDRESS1>
<COMPCONTACT action="Agregar">
<NAME>SMITH</NAME>

Integracin de datos con aplicaciones externas 377


<TITLE>ADMINISTR</TITLE>
</COMPCONTACT>
<COMPCONTACT action="Cambiar">
<NAME>JONES</NAME>
<TITLE>IGNENIERO</TITLE>
</COMPCONTACT>
</COMPANY>
</COMPANIES>
</MXVENDOR>

El atributo de accin puede tener los valores siguientes, los cuales distinguen entre
maysculas y minsculas:
v Add
v Delete
v Cambiar
v Replace
v AddChange
v Nulo

Valor Descripcin
Add Agregar registros a la base de datos del
sistema receptor.
Delete Suprimir registros de la base de datos del
sistema receptor.
Cambiar Actualizar registros existentes de la base de
datos del sistema receptor.
Replace Agregar o sustituir registros del sistema
receptor en funcin de si el registro principal
existe en la base de datos.
AddChange Agregar o actualizar registros existentes de
la base de datos del sistema receptor.
Nulo Agregar o sustituir registros del sistema
receptor en funcin de si el registro principal
existe en la base de datos.

Proceso de accin predeterminado

Cuando un mensaje XML entrante no contiene ningn atributo de accin, el


mensaje se procesa de la forma siguiente:
v Si el registro principal no existe en la base de datos, se aplica la accin Agregar.
v Si el registro principal existe en la base de datos, se aplica la accin Sustituir.

Si un mensaje proviene de un archivo sin formato o una tabla de interfaz,


nicamente puede proporcionar un cdigo de accin para el objeto principal. No se
admite la especificacin de cdigos de accin para objetos de nivel inferior.

Accin Agregar

La accin Agregar agrega registros a la base de datos del sistema receptor.

Para las transacciones salientes, se produce un error si los datos ya existen. Si la


accin Agregar est establecida en un objeto de nivel superior, la accin se ampla
a los objetos de nivel inferior y no es necesario especificar la accin a nivel de

378 Integracin de datos con aplicaciones externas


objeto de nivel inferior. Las transacciones salientes contienen una accin Agregar
cuando al insertar un objeto se genera la transaccin.

Accin Suprimir

La accin Suprimir suprime registros de la base de datos del sistema receptor.

Si la accin Suprimir est establecida en un objeto de nivel superior, la accin se


ampla a los objetos de nivel inferior y no es necesario especificar la accin a nivel
de objeto de nivel inferior.

Si la accin Suprimir est establecida en el objeto de nivel superior en un mensaje


XML saliente que no incluye los objetos de nivel inferior, el sistema receptor es el
responsable de identificar y suprimir los objetos de nivel inferior.

Si la accin Suprimir est establecida en el objeto de nivel superior en un mensaje


XML entrante, la infraestructura de integracin suprime los objetos de nivel
inferior relacionados. Si el objeto de nivel superior no existe en la base de datos, no
se informa de ningn error al sistema de envo.

Accin Cambiar

La accin Cambiar actualiza los registros existentes en la base de datos del sistema
receptor.

Una accin Cambiar en el objeto principal de un mensaje XML indica que el


mensaje contiene uno o varios registros de nivel superior o inferior que se agregan,
cambian o suprimen. El mensaje siempre contiene el nivel superior de cualquier
registro de nivel inferior que se deba actualizar, incluso cuando el nivel superior
no se modifica.

La accin Cambiar en el objeto principal es el nico caso en el que puede


proporcionar una accin para el objeto de nivel inferior. Cuando el objeto principal
de un mensaje XML entrante o saliente contiene una accin Cambiar, los objetos de
nivel inferior del mensaje pueden contener una de las acciones siguientes.

Atributo de accin del objeto de nivel


inferior Accin de proceso
Aadir Aadir el registro de nivel inferior. Si el
registro de nivel inferior existe, se genera un
error.
Delete Suprimir el registro de nivel inferior. Si el
registro de nivel inferior no existe, se genera
un error.
Cambiar Actualizar el registro de nivel inferior. Si el
registro de nivel inferior existe, se genera un
error.
Nulo o ninguna accin especificada Si el registro de nivel inferior existe, se
actualiza. Si el registro de nivel inferior no
existe, se agrega.

Accin Sustituir

La accin Sustituir actualiza los registros existentes en la base de datos del sistema
receptor.

Integracin de datos con aplicaciones externas 379


Una accin Sustituir en el objeto principal de un mensaje XML indica que el
mensaje contiene un conjunto completo de objetos que representa el resultado de
las adiciones, los cambios y las supresiones en la estructura de objeto. Estos objetos
sustituyen los registros de base de datos existentes y se suprimen todos los
registros a los que el mensaje XML no hace referencia.

Para el proceso saliente, siempre se utiliza la accin Sustituir, y no la accin


Cambiar.

Para el proceso entrante, se suprimen todos los registros de nivel inferior que el
mensaje no menciona explcitamente. Los sistemas externos tambin deben
suprimir los registros de nivel inferior que no se incluyen en el mensaje XML.

La accin Sustituir nicamente se puede aplicar a los objetos principales de un


mensaje XML. Si un registro de nivel inferior de un mensaje XML entrante
contiene una accin Sustituir cuando el objeto principal contiene una accin
Cambiar, el mensaje no se procesa. Si un registro de nivel inferior contiene una
accin Sustituir cuando el nivel superior contiene una accin diferente de Cambiar,
se ignora la accin en el registro de nivel inferior.

Accin AddChange

La accin AddChange agrega o actualiza los registros existentes en la base de datos


del sistema receptor. La accin AddChange es parecida a la accin Sustituir salvo
que la accin AddChange no se aplica a los objetos de nivel inferior.

Una accin AddChange en el objeto principal agrega el registro principal y todos


los subregistros especificados en el mensaje, si el registro principal no existe en la
base de datos. Si el registro principal existe, se actualiza el registro, adems de
cualquier registro de nivel inferior incluido en el mensaje. Los registros de nivel
inferior existentes que no se especifican en el mensaje entrante no se suprimen.

La accin AddChange es til cuando la estructura de objeto incluye elementos que


no existen en el sistema externo. Por ejemplo, un sistema externo puede mantener
informacin de distribuidores, pero la informacin de contacto nicamente se
almacena en la base de datos. Un mensaje de entrada con un registro de
distribuidor con un valor de accin de NULL suprime la informacin de contacto
en la base de datos. Si la accin est establecida en AddChange para esta
transaccin, la informacin de distribuidores se actualiza y la informacin de
contacto sigue igual.

Comparacin de las acciones Cambio, Sustituir y AddChange

Las acciones Cambio, Sustituir y AddChange varan en la informacin que


incluyen en el mensaje XML y el proceso que requieren del sistema receptor.

Combinaciones de atributos de accin

La tabla siguiente muestra las combinaciones de atributos de accin que puede


incluir en los registros principales y de nivel inferior.

Registro de
nivel Ningn
inferior Add Delete Cambiar Replace AddChange valor Comentarios
Registro
principal

380 Integracin de datos con aplicaciones externas


Registro de
nivel Ningn
inferior Add Delete Cambiar Replace AddChange valor Comentarios
Add N/A N/A N/A N/A N/A N/A Se ignoran
todos los
valores de
nivel inferior
Delete N/A N/A N/A N/A N/A N/A Se ignoran
todos los
valores de
nivel inferior
Cambiar S S S No No S (insertar, Sustituir y
actualizar) AddChange
no se
permiten en
el nivel
inferior
Replace N/A N/A N/A N/A N/A N/A Se ignoran
todos los
valores de
nivel inferior
AddChange N/A N/A N/A N/A N/A N/A Se ignoran
todos los
valores de
nivel inferior
Ningn N/A N/A N/A N/A N/A N/A Se ignoran
valor todos los
valores de
nivel inferior

Referencia relacionada:
Elementos de objeto y atributos en la pgina 374
Un elemento de objeto contiene elementos para los campos de objeto. Cada
elemento de objeto puede contener uno o varios atributos.

Tipos de valor de campo:

La infraestructura de integracin especifica el comportamiento del proceso de los


distintos tipos de datos utilizados para dar formato a los valores de campo.

Columnas booleanas

En las transacciones entrantes, un elemento que representa un campo booleano


debe contener un valor 0 (false) o 1 (true). Si el elemento no contiene un 0 o un 1,
se genera un error. Si el XML no incluye un elemento para un campo booleano, el
valor de base de datos correspondiente se actualiza con el valor predeterminado (0
o 1) definido para dicha columna.

Campos cifrados

En las transacciones entrantes, el atributo que representa el campo maxencrypted


debe contener un valor 0 (false) o 1 (true). Cuando el valor de atributo es 1, se
aplica un proceso de descifrado a los datos recibidos. Cuando el valor de atributo
es 0, los datos recibidos no se descifran.

Integracin de datos con aplicaciones externas 381


Si el atributo no contiene un 0 o un 1, los datos recibidos no se descifran. Si el
campo XML no incluye un elemento para un campo cifrado, los datos recibidos no
se descifran.

Codificacin de caracteres

El XML de integracin utiliza la codificacin UTF-8. Si una transaccin entrante


especifica otro tipo de codificacin, el mensaje completo debe utilizar dicha
codificacin. Si se produce un error durante el proceso de una transaccin entrante
que utiliza una codificacin distinta de UTF-8, el XML de error completo que se
graba se codifica como UTF-8.
<?xml version="1.0" encoding="ISO-8859-2"?>

Formato de fecha

El XML de integracin da soporte al siguiente formato de fecha ISO 8601:


2011-04-06T10:11:58-05:00

Columnas nulas

Si un elemento en una transaccin entrante no contiene ningn valor, la columna


de base de datos correspondiente se actualiza con un valor nulo. Si el XML no
incluye un elemento para un determinado campo, el campo no se actualiza en la
base de datos.

Para los datos entrantes que se obtienen de un archivo sin formato o una tabla de
interfaz, puede establecer un campo en nulo proporcionando ~NULL~ como valor
de campo en el archivo sin formato o la tabla de interfaz. El proceso de integracin
crea un rtulo vaco en el mensaje XML correspondiente para los valores ~NULL~
proporcionados. Esta funcin no da soporte a los campos numricos o de fecha de
un origen de tabla de interfaz.

Formato de nmero

Independientemente del valor de entorno local del servidor de aplicaciones o la


base de datos, en todos los campos de decimales se debe utilizar un punto (.) como
separador decimal. No formatee los nmeros situados a la izquierda del indicador.
Este formato se aplica a los datos entrantes y salientes.

$1,738,593.64 debe tener este formato: 1738593.64

Esquemas de XML de integracin


Los esquemas XML para canales y servicios, excluidos los servicios estndar, se
basan en la configuracin de los objetos incluidos en la estructura de objeto. Puede
generar esquemas en las aplicaciones de integracin.

Vista general de esquemas XML:

Un esquema de infraestructura de integracin incluye un componente de esquema


predefinido para los metadatos y componentes de esquema basados en objetos
configurados, estructuras de objeto y servicios estndar.

Se pueden generar esquemas para dar soporte a los escenarios de integracin


basados en XML en los que se utilizan los siguientes componentes:
v Servicio de estructura de objeto

382 Integracin de datos con aplicaciones externas


v Canal de publicacin
v Canal de invocacin
v Servicio empresarial
v Servicio estndar

Campos de clave

La anotacin de esquema XML identifica los campos de clave para un servicio o


canal de la definicin de estructura de objeto y las definiciones de diccionario de
datos para el objeto correspondiente.

En el ejemplo siguiente, el elemento ITEMNUM se identifica como el campo de


clave del esquema para la estructura de objeto MXITEM.
<xsd:element name="ITEMNUM" minOccurs="0" type="MXString">
<xsd:annotation>
<xsd:documentation>ITEMNUM es un campo de clave</xsd:documentation>
</xsd:annotation>
</xsd:element>

Validacin XML

Las transacciones XML entrantes y salientes no se validan en el esquema XML


correspondiente. Las reglas de negocio de integracin se aplican a los datos de
entrada, independientemente de la validacin de esquema. Para la estructura de
objeto y los servicios empresariales, la integracin debe cumplir el formato de
esquema en el punto en el que la capa de estructura de objeto procesa el mensaje.

Propiedad de espacio de nombres

Puede cambiar la designacin del espacio de nombres XML actualizando la


propiedad mxe.int.xmlnamespace en la aplicacin Propiedades del sistema. El valor
de la propiedad de espacio de nombres predeterminada es http://www.ibm.com/
maximo Si cambia la propiedad de espacio de nombres, se vuelve a general el
archivo MXMeta.xsd. Este archivo contiene la informacin de esquema de metadatos
que se utiliza para compilar el resto de los esquemas. La infraestructura de
integracin valida el espacio de nombres proporcionado con los mensajes XML
entrantes.

Generacin de esquemas

Al cambiar una estructura de objeto o el diccionario de datos, debe volver a


generar los esquemas afectados. Tambin debe volver a generar los esquemas
despus de los cambios siguientes:
v Hacer que un campo de base de datos sea opcional o necesario
v Cambiar el tipo de datos de un campo de base de datos
v Agregar o eliminar campos de una estructura de objeto
v Cambiar la estructura de una estructura de objeto

Los esquemas se generan automticamente al desplegar un servicio web.

Puede generar esquemas manualmente seleccionando un registro y, a continuacin,


seleccionando la accin Generar esquema/Ver XML en las aplicaciones siguientes:
v Servicios empresariales
v Canales de invocacin

Integracin de datos con aplicaciones externas 383


v Estructuras de objetos
v Canales de publicacin
v Biblioteca de servicios web

Directorio y archivos de esquema

Los archivos de esquema generados se ubican en los subdirectorios


correspondientes del directorio de esquema en el servidor.

Grupo Subdirectorio Descripcin


Metadatos <raz>/schema/common/meta Archivo de esquema de
metadatos, MXMeta.xsd
Estructura de objeto <raz>/schema/common/mos Archivos de esquema de
estructura de objeto

Objeto <raz>/schema/common/mbo Archivos de esquema de


objeto
Servicio <raz>/schema/service Archivos de esquema de
servicio de estructura de
objeto y servicio empresarial
Servicio estndar <raz>/schema/service/ss Archivos de esquema de
servicio estndar

Estructuras de esquema:

Las estructuras de esquema incluyen el componente de esquema de Metadatos


predefinido y componentes para objetos, estructuras de objeto, servicios y servicios
estndar. Todos ellos se generan en el momento de la creacin del esquema

Esquema de metadatos:

El archivo MXMeta.xsd contiene la informacin de metadatos que se utiliza para


crear los dems esquemas. No modifique el archivo MXMeta.xsd, por lo que los
cambios pueden generar esquemas incorrectos y problemas con los servicios web.
El sistema regenera este esquema cuando alguien cambia la propiedad Namespace.

Adems del contenido de los datos, el archivo de esquema de metadatos incluye la


siguiente informacin adicional sobre los mensajes:
v Grupos de atributos
v Tipos de contenido
v Tipos de datos de consulta
v Tipos de datos de soporte

384 Integracin de datos con aplicaciones externas


Grupos de atributos

En la tabla siguiente se enumeran los atributos por grupo.

Grupo Atributos Se aplica a


CommonContentGroup v baseLanguage El elemento raz de todos los tipos de
esquema de entrada y salida.
v creationDateTime
v maximoversion
v messageID
v transLanguage
ObjectStructurePropertyGroup v action El elemento de objeto de todos los
tipos de esquema de entrada y salida.
v relationship
v deleteForInsert
PublishingContentGroup v event El elemento raz de todos los tipos de
esquema de salida.
QueryContentGroup v maxItems El elemento raz de todos los tipos de
esquema de entrada de consulta.
v rsStart
v uniqueResult
ResponseContentGroup v rsCount El elemento raz de todos los tipos de
esquema de salida de respuesta.
v rsStart
v rsTotal

Tipos de contenido

En la tabla siguiente se enumeran los tipos de contenido en el esquema de


metadatos.

Tipo Descripcin Atributos


MaximoVersionType Serie concatenada que identifica:
v versin principal
v versin menor
v build
v build de base de datos

Identifica la versin de software


MXBooleanType Extensin de integer modificado
MXDateTimeType Extensin de dateTime modificado
MXDomainType Extensin de string; identifica el modificado
Maxvalue correspondiente para un
valor de dominio. maxvalue
MXDoubleType Extensin de double modificado
MXFloatType Extensin de float modificado
MXGLAccountType Tipo complejo con 2 valores: VALUE modificado
y GLCOMP; identifica los
componentes de LM individuales y
su orden secuencial para una cuenta.

Integracin de datos con aplicaciones externas 385


Tipo Descripcin Atributos
MXGLComponentType Extensin de string; identifica el glorder
orden secuencial de los componentes
de LM en la estructura del plan
contable.
MXIntType Extensin de integer modificado
MLLangStringType Extensin de MXString modificado

languageEnabled
MXLongType Extensin de long modificado
MXStringType Extensin de string modificado

Tipos de consulta

En la tabla siguiente se enumeran los tipos de consulta en el esquema de


metadatos.

Tipo Descripcin Atributo


MXBooleanQueryType Extensin de integer operador
MXDateTimeQueryType Extensin de dateTime operador
MXDomainQueryType Extensin de string operador

maxvalue
MXDoubleQueryType Extensin de double operador
MXFloatQueryType Extensin de float operador
MXGLAccountQueryType Tipo complejo con un valor VALUE operador
MXGLComponentQueryType Extensin de string operador
MXIntQueryType Extensin de integer operador
MXLongQueryType Extensin de long operador
MXStringQueryType Extensin de string operador

Tipos de datos

En la tabla siguiente se enumeran los tipos de datos en el esquema de metadatos.

Tipo Descripcin Valores restringidos


BooleanType Indica si el resultado de una prueba v 0 (false)
lgica es true o false.
v 1 (true)
ChangeIndicatorType Indica si un campo tiene un nuevo 1 (true)
valor.

Slo se aplica a las estructuras de


objetos generadas por un evento.

386 Integracin de datos con aplicaciones externas


EventType Indica si una estructura de objeto v 0 (false)
publicada es el resultado de un
v 1 (true)
evento. Si el valor es 1, la estructura
publicada es el resultado de un
evento.

EventType es una extensin de


BooleanType.
ProcessingActionType Acciones de proceso que admiten los v Add
servicios de integracin.
v Cambiar
v Replace
v Delete
v AddChange
QueryOperatorType Identifica la accin de Consulta v =
mediante ejemplo que se ejecuta en el
v !=
campo correspondiente.
v &lt
v &lt;=
v &gt
v &gt;=
v SW
v EW

Esquemas de estructura de objeto:

Los esquemas de estructura de objeto definen el contenido de una estructura de


objeto. Cada estructura de objeto tiene su propio esquema, que incluye todos los
campos persistentes y no persistentes que se han definido para cada objeto en la
estructura. Los esquemas de estructura de objeto se utilizan para definir los tipos
de entrada y salida, y no se utilizan directamente como entrada o salida de un
servicio.

Nombres de archivo y su ubicacin

El convenio de denominacin de los esquemas de estructura de objeto es el


nombre de la estructura de objeto, por ejemplo, MXPERSON.xsd. Todos los esquemas
de estructura de objeto incluyen el archivo de esquema MXMeta.xsd. Los esquemas
generados se ubican en el directorio schema/common/mos.

Generacin de esquemas

Cuando genera los siguientes componentes, se vuelven a generar los esquemas de


estructura de objeto:
v El esquema de estructura de objeto mediante el uso de una accin en la
aplicacin de estructuras de objeto
v El esquema de servicio empresarial, donde el servicio hace referencia a la
estructura de objeto
v El esquema de canal de publicacin, donde el canal hace referencia a la
estructura de objeto

Integracin de datos con aplicaciones externas 387


Contenido de la estructura de objeto del esquema

Un esquema de estructura de objeto tiene los siguientes elementos:


v Objeto
v Conjunto de objetos
v Consulta de objeto

Por ejemplo, el esquema de la estructura de objeto MXPERSON tiene los siguientes


elementos:

Elemento Nombre de elemento Tipo


Objeto MXPERSON MXPERSONType
Conjunto de objetos MXPERSONSet MXPERSONSetType
Consulta de objeto MXPERSONQuery MXPERSONQueryType

Contenido del objeto del esquema

El elemento de objeto tiene el siguiente contenido:


v El elemento MXPERSON tiene un tipo MXPERSONType.
v El MXPERSONType es un tipo complejo y tiene el elemento PERSON, que tiene
un tipo MXPERSON_PERSONType.
v El tipo complejo MXPERSON_PERSONType tiene elementos para todos los
atributos configurados del objeto PERSON y elementos para los objetos de nivel
inferior en la estructura de objeto.
v Los objetos adicionales del esquema tienen un tipo complejo correspondiente
como, por ejemplo, MXPERSON_PERSONType, que define el objeto PERSON.

Elemento Tipo
PERSON (objeto primario) MXPERSON_PERSONType
PHONE (objeto de nivel inferior) MXPERSON_PHONEType
EMAIL (objeto de nivel inferior) MXPERSON_EMAILType
SMS (objeto de nivel inferior) MXPERSON_SMSType

El siguiente ejemplo muestra la estructura del XML correspondiente:


<MXPERSON>
<PERSON>
<PHONE>
</PHONE>
.
.
.
<EMAIL>
</EMAIL>
.
.
.
<SMS>
</SMS>
.
.
.
</PERSON>
</MXPERSON>

388 Integracin de datos con aplicaciones externas


Contenido del conjunto de objetos

Para el ejemplo MXPERSON, el elemento MXPERSONSet sustituye al elemento


MXPERSON y MXPERSONSetType sustituye al tipo complejo MXPERSONType. El
resto se mantiene. El elemento de conjunto acta como un derivador para varias
apariciones del objeto primario (MXPERSON) y sus objetos de nivel inferior.

Contenido de la consulta de objeto

Slo puede utilizar elementos de consulta en el contexto de un esquema de nivel


de servicio.

El siguiente formato de contenido est en el elemento de consulta de objeto:


v El elemento MXPERSONQuery es de tipo MXPERSONQueryType.
v MXPERSONQueryType es un tipo complejo y tiene elementos para todos los
atributos configurados del objeto primario (PERSON) de la estructura de objeto.

La consulta de objeto y el conjunto de objetos varan en lo siguiente:


v El elemento de consulta slo incluye el objeto primario de la estructura de
objeto.
v El elemento de consulta no incluye columnas no persistentes.
v El elemento de consulta puede incluir dos apariciones de los elementos para dar
soporte a una consulta de un rango, por ejemplo, un intervalo de fechas.

Por ejemplo, como la consulta slo incluye el objeto superior de la estructura, no es


posible consultar a una persona por nmero de telfono. El nmero de telfono
existe en el objeto PHONE de nivel inferior.

Esquemas de objeto:

Los esquemas de objeto definen el contenido de los objetos. Cada objeto tiene un
esquema diferente, que incluye todos los campos persistentes de un objeto
persistente y todos los campos no persistentes definidos para un objeto no
persistente. Los esquemas de objeto se utilizan para definir los tipos de entrada y
salida, y no se utilizan directamente como entrada o salida de un servicio.

Nombres de archivo y su ubicacin

El convenio de denominacin de los esquemas de objeto es el nombre de objeto,


por ejemplo, PERSON.xsd y los archivos se ubican en el directorio
schema/common/mbo.

Generacin de esquemas

Los archivos de esquemas de objeto se generan cuando genera los siguientes


componentes:
v Un esquema de estructura de objeto que contiene el objeto
v Un servicio de estructura de objeto o un esquema de servicio empresarial que
hace referencia a una estructura de objeto que incluye el objeto
v Un esquema de servicio estndar que contiene el objeto

Todos los esquemas de objeto incluyen el archivo de esquema MXMeta.xsd.

Integracin de datos con aplicaciones externas 389


Contenido del esquema

El esquema tiene los siguientes elementos (utilizando MXPERSON como ejemplo)

Elemento Tipo Comentarios


PERSONMbo PERSONMboType Este tipo contiene una
instancia del elemento
PERSONMbo
PERSONMboSet PERSONMboSetType Este tipo contiene varias
instancias del elemento
PERSONMbo.
PERSONMboKey PERSONMboKeyType Este tipo contiene slo una
instancia del elemento
PERSON que es
PERSONKeyType.
PERSONKeyType contiene el
atributo que es la clave
primaria del objeto PERSON,
PERSONID.

Si varios atributos forman la


clave primaria de un objeto,
objectKeyType contiene los
atributos que forman la clave
primaria.

Este elemento se incluye en


la respuesta a una operacin
de creacin.
PERSONMboKeySet PERSONMboKeySetType Este tipo contiene varias
instancias del elemento
PERSON que es
PERSONKeyType.

PERSONKeyType contiene el
atributo que es la clave
primaria del objeto PERSON,
PERSONID.

Si varios atributos forman la


clave primaria de un objeto,
objectKeyType contiene los
atributos que forman la clave
primaria.

Este elemento se incluye en


la respuesta de una
operacin de creacin.
PERSONMboQuery PERSONMboQueryType Este tipo contiene dos
instancias del elemento
PERSON. Dos instancias
permiten una consulta para
especificar un rango, por
ejemplo, Desde fecha y Hasta
fecha.

390 Integracin de datos con aplicaciones externas


Mensajes con varios nombres:

Un mensaje XML puede contener varios nombres.


<MXPERSON>
<MXPERSONSET>
<PERSON>
.
.
<SMS>
</SMS>
</PERSON>
<PERSON>
.
.
<SMS>
</SMS>
</PERSON>
</MXPERSONSET>
</MXPERSON>

Esquemas de nivel de servicio:

Los esquemas de nivel de servicio se aplican a los servicios empresariales, los


servicios de estructuras de objetos y los servicios estndar. El mismo esquema
describe los servicios empresariales y los servicios de la estructura de objeto. Un
esquema diferente describe los servicios estndar.

Los servicios empresariales, los servicios de la estructura de objeto y los servicios


estndar utilizan objetos y estructuras de objetos como entrada y salida de las
operaciones que soportan. Mltiples servicios pueden realizar la misma operacin
utilizando la misma entrada y salida.

La entrada y salida predefinidas para los canales de publicacin y los canales de


invocacin se utiliza para implementar estos canales de modo que se invoquen
servicios externos o para su correlacin con otros formatos de salida.

Nombres de archivo y su ubicacin

El convenio de nombres para los esquemas de estructuras de objetos y los


esquemas de servicios empresariales es nombre servicio aplicacin ms Service, por
ejemplo, PERSONService.xsd, donde PERSON es el nombre del servicio de
aplicacin.

El convenio de nombres para los esquemas de nivel de servicio es estructura de


objeto ms Service, por ejemplo, MXPERSONService.xsd.

Los archivos de esquema se encuentran en el directorio /schema/service.

Los archivos de esquema se encuentran en el directorio <raz>/schema/common/


service.

Generacin de esquemas

No se proporcionan archivos de esquema de nivel de servicio predefinidos.


Cuando despliega un servicio web, se genera un archivo de esquema de nivel de
servicio para la estructura de objeto asociada, si existe. Tambin puede generar un
esquema de nivel de servicio utilizando una accin en la aplicacin de biblioteca
de servicios web.

Integracin de datos con aplicaciones externas 391


Todos los esquemas de nivel de servicio incluyen el archivo del esquema de
metadatos, la estructura de objeto aplicable y los archivos del esquema de objetos.

Contenido del esquema

Se genera un archivo de esquema para cada estructura de objeto con mltiples


tipos de datos dentro de cada archivo. Cada tipo de datos se corresponde a cada
operacin de entrada y salida que se puede desplegar o procesar como un servicio.
Los diferentes servicios reutilizan los tipos de datos de estos esquemas. Ningn
servicio individual utiliza todos los tipos de datos de un solo esquema.

Los esquemas de nivel de servicio contienen los tipos siguientes, utilizando el


ejemplo MXPERSON:
v CreateMXPERSON
v CreateMXPERSONResponse
v DeleteMXPERSON
v InvokeMXPERSON
v InvokeMXPERSONResponse
v publishMXPERSON
v QueryMXPERSON
v QueryMXPERSONResponse
v SyncMXPERSON
v UpdateMXPERSON

Entrada y salida de esquemas de servicio estndar:

Las aplicaciones proporcionan servicios estndar para realizar operaciones


especficas sobre objetos y estos servicios estndar pueden exponer varios mtodos
como servicios web. Los servicios estndar slo estn disponibles para los mtodos
que estn correctamente anotados dentro del servicio.

Los esquemas de nivel de servicio que se generan para los servicios estndar slo
son utilizados por las acciones correspondientes.

Estructura de objetos y entrada y salida de servicio empresarial:

La estructura de objeto contiene el contenido para el servicio de la estructura de


objeto y los esquemas del servicio empresarial. Un servicio de estructura de objeto
da soporte a todas las operaciones definidas pero un servicio empresarial da
soporte simplemente a una operacin especfica. Se deben crear varios servicios
empresariales para dar soporte a mltiples operaciones incluso cuando hacen
referencia a la misma estructura de objeto y utilizan el mismo esquema.

La estructura de objeto y los esquemas de servicio empresarial identifican lo


siguiente:
v Los tipos de entrada y salida de la estructura de objeto y de los servicios
empresariales
v La entrada y salida de un canal de invocacin
v La salida proporcionada por un canal de publicacin

Todas las operaciones dan soporte a un tipo de salida:

392 Integracin de datos con aplicaciones externas


v La salida para las operaciones de creacin, actualizacin, supresin y
sincronizacin son las claves de objeto primario, el campo de ID interno y los
valores de autoclave.
v La salida de una operacin de consulta es un conjunto de resultados de
estructuras de objetos.

Los ejemplo siguientes, basados en la estructura de objeto MXPERSON, describen


el contenido de la estructura de objeto y los servicios empresariales.

Elemento CreateMXPERSON

El elemento CreateMXPerson tiene las siguientes definiciones:


v El elemento CreateMXPERSON es de tipo CreateMXPERSONType.
v El CreateMXPERSONType tiene el elemento MXPERSONSet, que es de tipo
MXPERSONSetType. MXPERSONSet se deriva del esquema de la estructura de
objeto.
v MXPERSONSetType tiene elementos para todos los atributos configurados del
objeto PERSON y elementos para los objetos de nivel inferior definidos en la
estructura de objeto.

Las definiciones de los siguientes elementos y tipos se pueden comparar con el


elemento y tipo CreateMXPERSON:

Elemento Tipo
UpdateMXPERSON UpdateMXPERSONType
SyncMXPERSON SyncMXPERSONType
InvokeMXPERSON InvokeMXPERSONType
InvokeMXPERSONResponse InvokeMXPERSONResponseType

Crear elemento MXPERSONResponse

El elemento CreateMXPERSONResponse tiene las definiciones siguientes:


v El elemento CreateMXPERSONResponse es de tipo
CreateMXPERSONResponseType.
v CreateMXPERSONResponseType tiene el elemento PERSONMboKeySet, que es
de tipo PERSONMboKeySetType.
v PERSONMboKeySetType tiene el elemento PERSON, que es de tipo
PERSONKeyType.
v PERSONKeyType slo contiene el atributo PERSONID del objeto PERSON, que
es la clave primaria del objeto PERSON.

Elemento PublishMXPERSON

El elemento PublishMXPERSON tiene las definiciones siguientes:


v El elemento PublishMXPERSON es de tipo PublishMXPERSONType.
v PublishMXPERSONType tiene el elemento MXPERSONSet, que es de tipo
MXPERSONSetType. MXPERSONSet se deriva del esquema de la estructura de
objeto.
v MXPERSONSetType tiene elementos para todos los atributos configurados del
objeto PERSON y elementos para los objetos de nivel inferior (PHONE, EMAIL
y SMS) definidos en la estructura de objeto.

Integracin de datos con aplicaciones externas 393


El elemento Publicar es como el elemento Crear pero utiliza un atributo adicional,
event, que se define en PublishingContentGroup en el esquema de metadatos.

Elemento DeleteMXPERSON

El elemento DeleteMXPERSON tiene las siguientes definiciones:


v El elemento DeleteMXPERSON es de tipo DeleteMXPERSONType.
v DeleteMXPERSONType tiene el elemento MXPERSONDelete, que es de tipo
MXPERSONDeleteType.
v MXPERSONDeleteType tiene elementos para todos los atributos configurados
del objeto PERSON. La supresin slo da soporte al objeto de nivel superior
(principal) de la estructura de objeto.

Elemento QueryMXPERSON

El elemento QueryMXPERSON tiene las definiciones siguientes:


v El elemento QueryMXPERSON es de tipo QueryMXPERSONType.
v QueryMXPERSONType tiene el elemento MXPERSONQuery, que es de tipo
MXPERSONQueryType.
v MXPERSONQueryType tiene elementos para todos los atributos configurados
del objeto PERSON. La consulta slo permite consultar el objeto de nivel
superior (principal) de la estructura de objeto.

El elemento Query utiliza los atributos adicionales uniqueResults, maxItems y


rsStart, que estn definidos en QueryContentGroup en el esquema de metadatos.

Elemento QueryMXPERSONResponse

El elemento QueryMXPERSONResponse tiene las siguientes definiciones:


v El elemento QueryMXPERSONResponse es de tipo
QueryMXPERSONResponseType.
v QueryMXPERSONResponseType tiene el elemento MXPERSONSet, que es de
tipo MXPERSONSetType.
v MXPERSONSetType tiene elementos para todos los atributos configurados del
objeto PERSON y elementos para los objetos hijo definidos en la estructura de
objeto (PHONE, EMAIL, XYZ y SMS).
v Aunque el elemento QueryMXPERSON restringe las consultas al objeto de nivel
superior de la estructura de objeto (PERSON), la respuesta puede contener
objetos de nivel inferior (PHONE, EMAIL y SMS).

El elemento Query Response utiliza los atributos adicionales rsStart, rsCount y


Total, que estn definidos en ResponseContentGroup en el esquema de metadatos.

Conmutadores de colaboracin
Los conmutadores de colaboracin utilizan un concepto de propiedad para ayudar
a los usuarios a gestionar la sincronizacin de datos entrantes entre la
infraestructura de integracin y un sistema externo. Los conmutadores permiten
controlar subprocesos especficos dentro de una aplicacin, segn la propiedad de
objetos de datos diferentes dentro de una transaccin.

El objeto principal de la estructura de objeto para la mayor parte de los datos


maestros y los objetos de integracin de documento incluyen un atributo
OWNERSYSID. De forma predeterminada, el procesamiento de integracin

394 Integracin de datos con aplicaciones externas


entrante no especifica ningn valor en el campo OWNERSYSID y los servicios
empresariales se procesan de forma estndar.

Formato de los conmutadores de colaboracin


Los conmutadores de colaboracin ofrecen una forma flexible y definida por el
usuario de controlar el proceso de algunas transacciones de entrada eludiendo el
proceso predeterminado para determinados tipos de transacciones. Los
conmutadores de colaboracin se encuentran en la tabla MXCOLLAB.

Elementos de los conmutadores

Todos los conmutadores de colaboracin contienen cuatro elementos, tres de los


cuales se combinan para crear una clave exclusiva. La tabla siguiente lista estos
elementos; los elementos que componen la clave exclusiva aparecen marcados con
un asterisco (*).

Elemento Campo MXCOLLAB correspondiente


ID de control de procesos* PCID
ID del sistema 1* OWNER1SYSID
ID del sistema 2* OWNER2SYSID
Valor de control de procesos PCVALUE

ID de control de procesos

El ID de control de procesos identifica un proceso empresarial en un aplicacin,


como la validacin de una coincidencia de factura, la creacin de una actualizacin
de OC global y la actualizacin de un recuento de inventario fsico.

La tabla siguiente muestra el prefijo del ID de control de procesos e indica la


aplicacin a la que se aplica.

Prefijo del ID de control de procesos Aplicacin correspondiente


INV Factura
ITM Item
IV Inventory
LT Labor
PO Orden de compra
PR Solicitud de compra
WO Orden de trabajo

Por ejemplo, los conmutadores de colaboracin IVRC, IVRCY, e IVWO estn


relacionados con el proceso de inventario.

Valores de ID del sistema

El ID del sistema 1 y el ID del sistema 2 identifican los sistemas internos y


externos. Los valores de estos campos varan en funcin de la transaccin y de los
objetos de la transaccin. En general, el ID del sistema 1 identifica el sistema que
crea un objeto, y el ID del sistema 2 identifica el sistema que crea el registro que se
actualiza o al que se hace referencia.

Integracin de datos con aplicaciones externas 395


Valor de control de procesos

El valor de control de procesos identifica si los componentes empresariales eluden


el proceso predeterminado para el tipo de transaccin que indica el ID de control
de procesos, el ID del sistema 1 y el ID del sistema 2. El valor de control de
procesos puede ser 0 (falso) o 1 (verdadero) y puede tener los significados
siguientes:

Valor del control de procesos Descripcin


0 Realiza el proceso predeterminado
1 Elude el proceso predeterminado

Recuperacin de un conmutador de colaboracin


Cada ID de control de proceso est asociado al menos con tres conmutadores de
colaboracin, los conmutadores predeterminados y cualquier conmutador que el
usuario agregue. La infraestructura de integracin proporciona la lgica que
determina qu valores de ID del sistema se deben establecer al recuperar un
conmutador de colaboracin de la tabla MXCOLLAB.

Procedimiento
1. La infraestructura de integracin determina los valores para el ID del sistema
1 y el ID del sistema 2 segn el ID de control de proceso en una transaccin
entrante. Por ejemplo, si el ID de control del proceso es PRDEL, el ID del
sistema 1 es THISMX y el ID del sistema 2 es el sistema propietario del PR.
2. Si el valor del ID del sistema 1 est en blanco, es nulo o es igual al valor de la
fila MXSYSID de la tabla MAXVARS, se establece THISMX como ID del
sistema 1.
3. Si el valor del ID del sistema 2 est en blanco, es nulo o es igual al valor de la
fila MXSYSID de la tabla MAXVARS y el ID de control de proceso no es
PRPAB, se establece THISMX como ID del sistema 2.
4. Si el ID de control de proceso es PRPAB, el valor del ID del sistema 2 se
establece como nulo despus del paso 1 y el ID del sistema 2 se establece en
EXT (si no existe una OC en blanco).
5. Si tanto el ID del sistema 1 como el ID del sistema 2 estn establecidos ahora
en THISMX, se utiliza el procesamiento predeterminado y la lgica restante no
se aplica.
6. Se comprueba la tabla MXCOLLAB para identificar si contiene un registro con
la clave. Si el registro existe, el valor de control del proceso del registro indica
si hay que utilizar o pasar por alto el procesamiento estndar y la lgica
restante no se aplica.
7. Si no existe un registro coincidente en la base de datos, la clave se modifica de
la manera siguiente:
v Si el ID del sistema 1 ahora es igual a THISMX y el ID del sistema 2 no es
igual a THISMX, EXT se establece como valor para el ID del sistema 2.
v Si el valor del ID del sistema 1 no es igual a THISMX y el ID del sistema 2
es igual a THISMX, EXT se establece como valor para el ID del sistema 1.
8. Se vuelve a comprobar la tabla MXCOLLAB para identificar si contiene un
registro con la clave modificada. Si el registro existe, el valor de control del
proceso del registro indica si hay que utilizar o pasar por alto el
procesamiento estndar y la lgica restante no se aplica.
9. EXT se establece como valor para el ID del sistema 1 y el ID del sistema 2.

396 Integracin de datos con aplicaciones externas


10. El registro con la clave modificada se recupera de la tabla MXCOLLAB. Este
registro siempre existe, porque cada valor de control del proceso tiene un
conmutador de colaboracin predeterminado con ambos ID de sistema
establecidos en EXT.
11. El valor de control del proceso del registro indica si hay que utilizar o pasar
por alto el procesamiento estndar.

Configuracin de conmutadores de colaboracin


Puede utilizar conmutadores de colaboracin predefinidos y puede configurar
conmutadores nuevos si es necesario.

Visualizacin de conmutadores de colaboracin:

Utilice cualquier herramienta de base de datos para ejecutar una consulta SQL para
ver los valores en la tabla MXCOLLAB o generar un informe para ver su
contenido.

Procedimiento
1. Para ver los conmutadores de colaboracin para un solo ID de control de
proceso, utilice la consulta SQL siguiente:
select pcid, owner1sysid, owner2sysid, pcvalue
from mxcollab
where pcid = PCID
order by pcid, owner1sysid, owner2sysid;
2. Para ver todos los conmutadores de colaboracin, utilice la consulta SQL
siguiente:
select pcid, owner1sysid, owner2sysid, pcvalue
from mxcollab
order by pcid, owner1sysid, owner2sysid;
3. Para ver una descripcin breve de los ID de control de proceso, utilice la
consulta SQL siguiente:
select * from mxcollabref order by pcid;

Modificacin de un conmutador de colaboracin:

Los usuarios autorizados pueden modificar el valor de control de proceso de un


conmutador de colaboracin. No cambie el valor de PCID ni valores de
OWNER1SYSID ni OWNER2SYSID en conmutadores de colaboracin existentes.

Acerca de esta tarea

Los valores de la tabla MXCOLLAB distinguen entre maysculas y minsculas.

Procedimiento
1. Utilice una herramienta de base de datos para conectarse a la base de datos de
Maximo.
2. Utilice la sentencia SQL siguiente para cambiar el valor de control del proceso
en un conmutador de colaboracin:
update
mxcollab
set pcvalue = PCVALUE
where pcid = 'PCID'
and owner1sysid = 'OWNER1SYSID'
and owner2sysid = 'OWNER2SYSID';

Integracin de datos con aplicaciones externas 397


3. Reinicie el servidor de aplicaciones para renovar los valores almacenados en la
memoria cach para los conmutadores de colaboracin.

Adicin de un conmutador de colaboracin a la base de datos:

Los usuarios autorizados pueden aadir conmutadores de colaboracin a la tabla


MXCOLLAB. Los nuevos conmutadores deben utilizar un ID de control de proceso
existente pero pueden utilizar los ID del sistema nuevos.

Acerca de esta tarea

Solamente los conmutadores de colaboracin predeterminados pueden utilizar los


valores THISMX y EXT en los campos de ID del sistema.

Procedimiento
1. Utilice una herramienta de base de datos para conectarse a la base de datos de
Maximo.
2. Utilice la siguiente sentencia SQL para aadir un conmutador de colaboracin:
insert into mxcollab
(pcid, owner1sysid, owner2sysid, pcvalue)
values ('PCID', 'OWNER1SYSID', 'OWNER2SYSID', PCVALUE);

Ejemplo

Por ejemplo, puede configurar la infraestructura de integracin de modo que se


integre con un sistema de finanzas de Oracle y otras aplicaciones. Cuando el
sistema de finanzas de Oracle despacha el inventario propiedad del sistema, la
infraestructura de integracin acepta la transaccin y actualiza los balances de
inventario y los costes en la base de datos de Maximo. Cuando otras aplicaciones
despachan inventario propiedad del sistema, la infraestructura de integracin
acepta la transaccin pero no actualiza los balances de inventario ni los costes en la
base de datos de Maximo.

Antes de modificar la tabla MXCOLLAB para que refleje estas condiciones, los
conmutadores de colaboracin INV tienen los valores siguientes:

ID de control de Valor de control de


procesos ID del sistema 1 ID del sistema 2 procesos
INV THISMX EXT 1
INV EXT THISMX 0
INV EXT EXT 1

Para modificar la tabla MXCOLLAB, para dar soporte a este escenario:


1. Para actualizar el conmutador de colaboracin, utilice la sentencia SQL
siguiente:
update
mxcollab
set pcvalue = 1
where pcid = INV
and owner1sysid = EXT
and owner2sysid = THISMX;

Esta sentencia cambia el valor de los conmutadores de colaboracin INV/


EXT/ THISMX a 1 para ignorar el proceso de actualizacin normal.

398 Integracin de datos con aplicaciones externas


2. Utilice la siguiente sentencia SQL para aadir un conmutador de colaboracin
nuevo para transacciones desde el sistema de finanzas de Oracle:
insert into mxcollab
(pcid, owner1sysid, owner2sysid, pcvalue)
values (INV, ORC, THISMX, 0);

El nuevo conmutador de colaboracin establece ORC como el ID del sistema y


establece el valor de control de proceso en 0, de modo que se aplica el proceso
normal para el despacho de las transacciones recibidas desde la aplicacin de
finanzas de Oracle. Si OWNERSYSID est en blanco, se utiliza el valor del
control de integracin de DEFEXTSYS.

Despus de realizar este procedimiento, los conmutadores de colaboracin INV


tienen los valores siguientes.

ID de control de Valor de control de


procesos ID del sistema 1 ID del sistema 2 procesos
INV THISMX EXT 1
INV EXT THISMX 1
INV EXT EXT 1
INV ORC THISMX 0

Por ejemplo, cuando establece el valor del control de integracin ISUIN en 1, las
transacciones de despacho se aceptan desde un sistema externo. El conmutador de
colaboracin INV controla la actualizacin del balance de inventario y el coste
relacionado con los despachos. Puede ajustar el valor de este conmutador, si es
necesario, para ignorar dicho proceso de actualizacin.

El conmutador de colaboracin INV/EXT/THISMX controla el proceso del


inventario (donde el ID de control de proceso es igual a INV) que se ha
despachado en el sistema externo (el ID del sistema 1 es igual a EXT) y es
propiedad del sistema (el ID del sistema 2 es igual a THISMX).

Si el valor del conmutador de colaboracin INV/EXT/THISMX es 0, se aplica el


proceso predeterminado y se actualizan los valores de balance de inventario y
coste.

Si el valor del conmutador de colaboracin INV/EXT/THISMX es 1, se ignora el


proceso predeterminado y no se actualizan los valores de balance de inventario y
coste.

En el ejemplo, ISUIN acepta cualquier despacho en el sistema. El conmutador de


colaboracin INV/EXT/THISMX determina de qu modo el componente
empresarial de inventario procesa un tipo de despacho especfico.

Conmutadores de colaboracin predefinidos


Puede utilizar los conmutadores de colaboracin predeterminados y los
conmutadores de colaboracin predefinidos que se proporcionan.

Conmutadores de colaboracin predeterminados:

Para cada ID de control de proceso se crean tres conmutadores de colaboracin


predeterminados, con diferentes combinaciones de valores de ID del sistema. Los
usuarios autorizados pueden crear conmutadores adicionales, segn sea necesario.

Integracin de datos con aplicaciones externas 399


Los conmutadores predeterminados utilizan diferentes combinaciones de los
valores siguientes en los campos ID del sistema 1 e ID del sistema 2:

Valor de
ID del
sistema Significado
THISMX El sistema identificado en MAXVARS.MXSYSID

Los conmutadores de colaboracin no utilizan el valor real en MXSYSID.


EXT Cualquier sistema distinto al identificado en MAXVARS.MXSYSID.

Los usuarios autorizados pueden actualizar solamente el valor de control de


proceso en los conmutadores de colaboracin predeterminados. Si se suprime un
conmutador de colaboracin predeterminado o modificar un campo distinto al
valor de control de proceso se puede producir una anomala del sistema.

Conmutadores de colaboracin de inventario:

Se proporcionan conmutadores de colaboracin predefinidos para la aplicacin


Inventario.

ID de control de Derivacin de ID Derivacin de ID


procesos Descripcin Valor y accin de sistema 1 de sistema 2
INV Actualizar inventario. 0 Actualizar INVTRANS o INVENTORY
inventario. MATUSETRANS
Se utiliza al crear 1
despachos, devoluciones, o No actualizar
recepciones o ajustes inventario.
varios. El inventario debe
existir en este sistema.
INVDEL Suprimir inventario. 0 Suprimir parte si THISMX INVENTORY
pasa las
Se utiliza al suprimir 1 validaciones de
inventario de propiedad sistema normales.
externa. Si el valor es 1, la
combinacin Suprimir
parte-almacn todava inventario sin
existir en las SC, OC, ninguna validacin
SDC y rdenes de trabajo, y suprimir el
entre otras, que estn registro
abiertas y relacionadas. INVBALANCES
Esto puede provocar para la parte.
problemas al
recibir/aprobar estas
lneas.
INVISS Especificar despachos de 0 Permitir despachos TRANSUSMAT INVENTORY
partes. de material para el
1 inventario.
Se utiliza al despachar
material. No permitir
despachos de
material para el
inventario.

400 Integracin de datos con aplicaciones externas


ID de control de Derivacin de ID Derivacin de ID
procesos Descripcin Valor y accin de sistema 1 de sistema 2
INVISSR Especificar devoluciones 0 Permitir TRANSUSMAT INVENTORY
de despachos de partes. devoluciones de
1 material.
Se utiliza al devolver
material. No permitir
devoluciones de
despachos para el
material.
INVISSWO Actualizar coste real de 0 Actualizar coste de TRANSUSMAT WORKORDER
orden de trabajo, material real de
INVCOST de equipo. 1 orden de trabajo,
INVCOST de
Se utiliza al procesar equipo.
despachos o devoluciones.
Se utiliza para manejar los No actualizar coste
casos de sistema a sistema de material real de
en los que estas orden de trabajo,
actualizaciones se INVCOST de
realizarn por separado. equipo.
INVPHY Especificar recuentos 0 Permitir recuento INVTRANS INVENTORY
fsicos externos. fsico para el
1 inventario.
Se utiliza al crear
recuentos fsicos. No permitir
recuento fsico
para el inventario.
INVTR Actualizar Desde almacn 0 Actualizar TRANSRECMAT LOCATIONS
en una transferencia o la INVBALANCES (almacn para la
recepcin de una OC 1 en Desde almacn. transferencia;
interna. distribuidor para
No actualizar la OC interna)
Se utiliza al crear INVBALANCES
transferencias o crear en Desde almacn.
recepciones para una OC
interna.
ITMDEL Suprimir partes. 0 Suprimir parte si THISMX ITEM
pasa las
Se utiliza al suprimir 1 validaciones de
partes de las cuales este sistema normales.
sistema no es propietario.
Suprimir parte sin
Atencin: si el valor es 1, ninguna
la parte todava existir en validacin.
las SC, OC; SDC y rdenes Suprimir tambin
de trabajo, etc. que estn los registros
asociadas y abiertas. Esto INVENTORY,
puede provocar problemas INVBALANCES e
al recibir/aprobar estas INVVENDOR de
lneas. la parte.

Conmutadores de colaboracin de facturas:

Se proporcionan conmutadores de colaboracin predefinidos para la aplicacin


Factura.

Integracin de datos con aplicaciones externas 401


ID de control de Derivacin de ID Derivacin de ID
procesos Descripcin Valor y accin de sistema 1 de sistema 2
IVILC Actualizar ltimo 0 Actualizar ltimo INVOICE INVENTORY
coste de inventario. coste de inventario.
1
Se utiliza al aprobar No actualizar
facturas. ltimo coste de
inventario.
IVINV Actualizar coste 0 Actualizar coste INVOICE INVENTORY
medio de medio de
inventario. 1 inventario.

Se utiliza al aprobar No actualizar coste


facturas. medio de
inventario.
IVMATCH Utilizar y validar 0 Validar THISMX INVOICE
coincidencia de coincidencia.
facturas. 1
No validar ninguna
Se utiliza al aprobar coincidencia
facturas. proporcionada.

Si est establecido
en 1, IVPO tambin
debera estar
establecido en 1.
IVPO Actualizar OC y 0 Actualizar estado INVOICE PO
recepciones. de OC y
1 recepciones.
Se utiliza al aprobar
facturas. No actualizar
estado de OC ni
recepciones.
IVPRO Comprobar y 0 Prorratear la THISMX INVOICE
prorratear diferencia entre el
diferencias entre 1 total de lnea y
cabeceras y lneas cabecera.
de factura.
No prorratear la
Se utiliza al aprobar diferencia entre el
facturas. total de lnea y
cabecera.
IVRC Crear recepciones 0 Generar recepciones THISMX INVOICE
de servicio para de servicio para las
lneas de factura sin 1 lneas de factura
referencia de OC. que no tienen una
referencia de OC.
Se utiliza al aprobar
facturas que No generar una
contienen una lnea recepcin de
sin una referencia servicio para las
de OC. lneas de factura
que no tienen una
referencia de OC.

402 Integracin de datos con aplicaciones externas


ID de control de Derivacin de ID Derivacin de ID
procesos Descripcin Valor y accin de sistema 1 de sistema 2
IVRCY Crear recepciones 0 Generar una INVOICE PO
de servicio para recepcin de
lneas de factura 1 servicio para la
con una referencia lnea de factura.
de OC y
RECEIPTREQD = No generar una
N. recepcin de
servicio para la
Se utiliza al aprobar lnea de factura.
facturas que
contienen una lnea
con una referencia
de OC, cuando la
POLINE
correspondiente es
un servicio y
RECEIPTREQD =
N.
IVTOL Realizar validacin 0 Realizar todas las THISMX INVOICE
de comprobacin comprobaciones de
de tolerancia de 1 tolerancia en la
factura. factura.

Se utiliza al aprobar No realizar


facturas. comprobaciones de
tolerancia en la
factura.
IVVLC Actualizar ltimo 0 Actualizar ltimo INVOICE INVVENDOR
coste de coste de
distribuidor. 1 distribuidor.

Se utiliza al aprobar No actualizar


facturas. ltimo coste de
distribuidor.
IVWO Actualizar rdenes 0 Actualizar orden de INVOICE WORKORDER
de trabajo. trabajo.
1
Se utiliza al aprobar No actualizar orden
una factura. de trabajo.

Conmutadores de colaboracin de transaccin de mano de obra:

Se proporcionan conmutadores de colaboracin predefinidos para las transacciones


de mano de obra.

ID de Derivacin Derivacin
control de de ID del de ID del
procesos Descripcin Valor y accin sistema 1 sistema 2
LTSRC Generar recepciones de 0 Permitir la definicin del valor de LABTRANS OC
servicio para OC. LABTRANS. GENAPPRSERVRECEIPT en Y;
1 configurable en Configuracin de
Se utiliza al crear aplicacin.
transacciones de mano
de obra o al cambiar el Dejar el valor de LABTRANS.
estado. La OC debe GENAPPRSERVRECEIPT en N.
existir en este sistema.

Integracin de datos con aplicaciones externas 403


Conmutadores de colaboracin de rdenes de compra:

Se proporcionan conmutadores de colaboracin predefinidos para las rdenes de


compra.

ID de Derivacin de Derivacin de
control de ID de sistema ID de sistema
procesos Descripcin Valor y accin 1 2
PODEL Suprimir OC. 0 No suprimir OC. THISMX PO

Se utiliza al suprimir 1 Suprimir OC y PRLINES; no


OC. Utilcelo suprimir POSTATUS.
nicamente al suprimir
y, posteriormente, volver
a agregar una OC
debido a modificaciones.

Borre las PRLINES que


contengan una
referencia a la OC. Si es
necesario, vuelva a abrir
la solicitud de compra.
Al volver a agregar una
OC, se volvern a
establecer las PRLINEs.
POINV No permitir inventario 0 Si la combinacin parte-distribuidor PO LOCATIONS,
externo sin referencia no se encuentra en la tabla donde
para OC internas. 1 INVENTORY, error. distribuidor es
el almacn
Se utiliza al agregar o Si la combinacin parte-distribuidor
actualizar lneas de OC no se encuentra en la tabla
y cambiar el estado de INVENTORY (donde PO.VENDOR =
OC internas. LOCATIONS.LOCATION), ignorar el
error.
POIVM Crear informacin de 0 Actualizar o crear registro PO ITEM de
distribuidor de INVVENDOR. POLINE
inventario para el 1
inventario. No crear registro INVVENDOR.

Se utiliza al aprobar OC.


POPR Actualizar estado de SC. 0 Cambiar el estado de la solicitud de PO PR
compra (cierre automtico basado en
Se utiliza al copiar 1 el valor MAXVAR), o volver a abrir
lneas de SC a las OC, cuando se suprima la POLINE con la
crear OC desde SC, referencia de solicitud de compra, u
volver a abrir SC. otras instancias de abrir de nuevo.

No cambiar el estado de la SC.

404 Integracin de datos con aplicaciones externas


ID de Derivacin de Derivacin de
control de ID de sistema ID de sistema
procesos Descripcin Valor y accin 1 2
POREL Crear actualizaciones 0 Generar actualizacin de OC. (Si PR PO global
para OC globales. PRLINE. AGREEMENTPONUM no est en
1 la OC, no generar actualizacin de
Se utiliza cuando al OC).
aprobar una SC y las
lneas de la SC No volver a generar actualizaciones
zcontienen referencias de OC.
globales, y cuando la
actualizacin se crea
directamente desde una
OC sin SC.
PORES Procesa las reservas de 0 Generar reservas de inventario. Si la PO INVENTORY
materiales. combinacin parte-distribuidor (en la
1 que distribuidor es el almacn
Se utiliza al cambiar el interno) no se encuentra en la tabla
estado de OC internas. INVENTORY, no generar reservas de
OC. Esto puede ocurrir si POINV es
0.

No generar reservas de inventario.

Conmutadores de colaboracin de solicitudes de compra:

Se proporcionan conmutadores de colaboracin predefinidos para las solicitudes de


compra.

Derivacin de Derivacin de
ID de control ID de sistema ID de sistema
de procesos Descripcin Valor y accin 1 2
PRDEL Suprimir SC. 0 No suprimir SC. THISMX PR

Se utiliza al 1 Suprimir SC y PRLINES; no suprimir


suprimir SC. PRSTATUS.
Utilcelo
nicamente al
suprimir y,
posteriormente,
volver a
agregar una SC
debido a
modificaciones.

Si WPMATERIAL o
MRLINE
contienen
referencias a la
SC, brrelas. Se
volvern a
establecer al
leer la SC.

Integracin de datos con aplicaciones externas 405


Derivacin de Derivacin de
ID de control ID de sistema ID de sistema
de procesos Descripcin Valor y accin 1 2
PRINV No permitir 0 Si la combinacin parte-distribuidor PR LOCATIONS,
inventario no se encuentra en la tabla INVENTORY, donde
externo sin 1 error. distribuidor es
referencia en el almacn
SC internas. Si la combinacin parte-distribuidor interno
(distribuidor es el almacn interno) no
Se utiliza se encuentra en la tabla INVENTORY,
cuando los donde
almacenes se
mantienen en PR.VENDOR = LOCATIONS.LOCATION,
un sistema ignorar error. LOCATIONS debe existir;
externo. Las es decir, pasar la validacin estndar
partes se para la ubicacin.
encuentran en
el maestro de
artculos en el
sistema; el
almacn se
define como
LOCATION;
INVENTORY
no se define
para la
combinacin
parte-almacn
porque no es
propiedad del
sistema.

El propietario
de la SC es el
MXSYSID del
sistema que
crea la SC. La
validacin se
produce
cuando una
combinacin
parte-almacn
(INVENTORY)
se valida en
PRLINE. El
OWNERSYSID
del almacn se
compara con
OWNERSYSID
de la SC, y el
distintivo
determina si se
permite la
combinacin.

406 Integracin de datos con aplicaciones externas


Derivacin de Derivacin de
ID de control ID de sistema ID de sistema
de procesos Descripcin Valor y accin 1 2
PRPAB No permitir 0 Si PRLINE.AGREEMENTPONUM no est en PR EXT
acuerdos de la OC, error.
compra 1 Normalmente
externos sin Si PRLINE.AGREEMENTPONUM no est en ser a partir de
referencia o la OC, ignorar el error. la OC del
globales. acuerdo global,
pero en este
Se utiliza al caso la OC
agregar o global no
actualizar existe.
lneas de SC y
cambiar el
estado de SC
internas.

Conmutadores de colaboracin de recepcin:

Se proporcionan conmutadores de colaboracin predefinidos para las recepciones.

ID de control de Derivacin de ID Derivacin de ID


procesos Descripcin Valor y accin de sistema 1 de sistema 2
RC Especificar 0 Permitir recepcin MATRECTRANS PO
recepciones de en OC. o
OC. 1 SERVRECTRANS
No permitir
Se utiliza al crear recepcin en OC.
recepciones.
RCILC Actualizar ltimo 0 Actualizar ltimo TRANSRECMAT INVENTORY
coste de coste de
inventario. 1 inventario.

Se utiliza al No actualizar
aprobar ltimo coste de
recepciones. inventario.
RCINV Actualizar 0 Actualizar TRANSRECMAT INVENTORY
inventario. inventario si
1 existe.
Se utiliza al
recibir o aprobar No actualizar
recepciones. inventario.
RCIV Generar facturas 0 Generar factura si MATRECTRANS PO
para recepciones el valor de o
de OC. 1 PayOnReceipt SERVRECTRANS
est establecido.
Se utiliza al
aprobar No generar
recepciones. factura aunque el
valor de
PayOnReceipt
est establecido.

Integracin de datos con aplicaciones externas 407


ID de control de Derivacin de ID Derivacin de ID
procesos Descripcin Valor y accin de sistema 1 de sistema 2
RCPO Actualizar OC 0 Actualizar OC. MATRECTRANS PO
externa. o
1 No actualizar OC. SERVRECTRANS
Se utiliza al
aprobar una
recepcin.
RCR Especificar 0 Permitir MATRECTRANS PO
devolucin de devoluciones de o
recepcin de OC. 1 recepcin para la SERVRECTRANS
OC.
Se utiliza al crear
una devolucin No permitir
de recepcin. devoluciones de
recepcin para la
OC.
RCVLC Actualizar ltimo 0 Actualizar ltimo TRANSRECMAT INVVENDOR
coste de coste de
distribuidor. 1 distribuidor.

Se utiliza al No actualizar
aprobar una ltimo coste de
recepcin o distribuidor.
recibir una lnea
de OC.
RCWO Actualizar 0 Actualizar orden MATRECTRANS WORKORDER
rdenes de de trabajo. o
trabajo. 1 SERVRECTRANS
No actualizar
Se utiliza al orden de trabajo.
aprobar
recepciones.

Conmutadores de colaboracin de las rdenes de trabajo:

Se proporcionan conmutadores de colaboracin predefinidos para las rdenes de


trabajo.

ID de control de Derivacin de ID Derivacin de ID


procesos Descripcin Valor y accin de sistema 1 de sistema 2
WORES Procesa las 0 Genera una WORKORDER INVENTORY
reservas de reserva de
materiales. 1 inventario.

Se utiliza cuando No genera una


cambia el estado reserva de
de una orden de inventario.
trabajo. Debe
existir un
inventario en este
sistema.

408 Integracin de datos con aplicaciones externas


Avisos
Esta informacin se ha desarrollado para productos y servicios ofrecidos en
Estados Unidos.

Puede que IBM no ofrezca en otros pases los productos, servicios o caractersticas
que se explican en este documento. Consulte a su representante local de IBM la
informacin sobre los productos y servicios disponibles actualmente en su rea.
Cualquier referencia a un producto, programa o servicio de IBM no pretende
indicar o implicar que slo se pueda utilizar ese producto, programa o servicio de
IBM. En su lugar, se puede utilizar cualquier producto, programa o servicio
funcionalmente equivalente que no infrinja los derechos de propiedad intelectual
de IBM. Sin embargo, es responsabilidad del usuario evaluar y verificar el
funcionamiento de cualquier producto, programa o servicio que no sea de IBM.

Puede que IBM tenga patentes o solicitudes de patentes pendientes relacionadas


con el tema principal que se describe en este documento. El presente documento
no le confiere ningn derecho sobre estas patentes. Puede enviar sus consultas
sobre licencias, por escrito, a:

IBM Director of Licensing


IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
EE.UU.

Para consultas sobre licencias relativas a informacin de doble byte (DBCS),


pngase en contacto con el Departamento de propiedad intelectual de IBM de su
pas o enve las consultas, por escrito, a:

Intellectual Property Licensing


Legal and Intellectual Property Law
IBM Japan Ltd.
1623-14, Shimotsuruma, Yamato-shi
Kanagawa 242-8502, Japn

El prrafo siguiente no se aplica al Reino Unido ni a ningn otro pas donde estas
disposiciones sean incompatibles con la legislacin local: INTERNATIONAL
BUSINESS MACHINES CORPORATION PROPORCIONA ESTA PUBLICACIN
TAL CUAL, SIN NINGN TIPO DE GARANTA, EXPLCITAS NI IMPLCITAS,
INCLUYENDO PERO NO LIMITNDOSE A ELLAS, LAS GARANTAS
IMPLCITAS DE NO VULNERACIN, COMERCIALIZACIN O IDONEIDAD
PARA UN PROPSITO DETERMINADO. Algunos pases no contemplan la
exclusin de garantas, ni implcitas ni explcitas, en determinadas transacciones,
por lo que cabe la posibilidad de que esta declaracin no se aplique en su caso.

Esta informacin puede incluir imprecisiones tcnicas o errores tipogrficos.


Peridicamente se efectan cambios en la informacin aqu contenida; dichos
cambios se incorporarn a las nuevas ediciones de la publicacin. IBM puede
realizar en cualquier momento mejoras o cambios en los productos o programas
descritos en esta publicacin sin notificacin previa.

Copyright IBM Corp. 2008, 2014 409


Las referencias contenidas en esta informacin a sitios web no IBM slo se
proporcionan por comodidad del usuario y de ningn modo constituyen un
respaldo de dichos sitios web. Los materiales de estos sitios web no forman parte
de los materiales para este producto IBM, y la utilizacin de dichos sitios web es a
cuenta y riesgo del usuario.

IBM puede utilizar o distribuir la informacin que proporcione el usuario de


cualquier manera que considere adecuada sin incurrir por ello en ninguna
obligacin con el usuario.

Los titulares de licencias de este programa que deseen obtener informacin sobre el
mismo con el fin de permitir: (i) el intercambio de informacin entre programas
creados independientemente y otros programas (incluido ste) y (ii) el uso mutuo
de la informacin intercambiada, debern ponerse en contacto con:

IBM Corporation
2Z4A/101
11400 Burnet Road
Austin, TX 78758 EE.UU.

Esta informacin puede estar disponible, sujeta a los trminos y condiciones


pertinentes, e incluir en algunos casos el pago de una cantidad.

El programa bajo licencia que se describe en este documento y todo el material


bajo licencia disponible para l lo proporciona IBM, de acuerdo con los trminos
del contrato con el cliente de IBM, del contrato internacional de programas bajo
licencia de IBM o de cualquier acuerdo equivalente entre ambos.

La informacin relacionada con productos que no son de IBM se ha obtenido de


los proveedores de dichos productos, de sus anuncios publicados o de otras
fuentes de disponibilidad pblica. IBM no ha comprobado estos productos y no
puede confirmar la precisin en cuanto a rendimiento, compatibilidad u otros
aspectos relacionados con los productos que no son de IBM. Las preguntas sobre
las prestaciones de los productos no IBM se debern dirigir a los proveedores de
estos productos.

Esta informacin contiene ejemplos de datos e informes utilizados en operaciones


comerciales diarias. Para ilustrarlos lo mejor posible, los ejemplos pueden incluir
nombres de personas, compaas, marcas y productos. Todos estos nombres son
ficticios y cualquier parecido con nombres y direcciones utilizados por empresas
comerciales reales es mera coincidencia.

LICENCIA DE COPYRIGHT:

Esta informacin contiene programas de aplicaciones en idioma de origen, que


ilustran tcnicas de programacin en diversas plataformas operativas. El usuario
puede copiar, modificar y distribuir estos programas de ejemplo como lo crea
conveniente sin tener que realizar ningn pago a IBM, con fines de desarrollo,
utilizacin, marketing o distribucin de programas de aplicaciones conforme a la
interfaz de programacin de aplicaciones para la plataforma operativa en la que se
han escrito los programas de ejemplo. Estos ejemplos no se han comprobado de
forma exhaustiva bajo todas las condiciones. Por lo tanto, IBM, no puede
garantizar ni ofrecer fiabilidad, ni prestar servicios de estos programas. Los
ejemplos de programa se proporcionan "TAL CUAL", sin garanta de ningn tipo.
IBM no se responsabiliza de ningn dao derivado del uso de estos ejemplos de
programa.

410 Integracin de datos con aplicaciones externas


Marcas registradas
IBM, el logotipo de IBM e ibm.com son marcas registradas o marcas comerciales
registradas de International Business Machines Corp. en varias jurisdicciones de
todo el mundo. Otros nombres de productos y servicios pueden ser marcas
registradas de IBM u otras compaas. Hay una lista actualizada de marcas
registradas de IBM disponible en la web en Informacin de Copyright y marcas
registradas en www.ibm.com/legal/copytrade.shtml.

Java y todas las marcas registradas y logotipos basados en Java son marcas
comerciales o marcas registradas de Oracle y/o sus filiales.

Linux es una marca registrada de Linus Torvalds en los Estados Unidos y/o en
otros pases.

Microsoft, Windows y el logotipo de Windows son marcas registradas de Microsoft


Corporation en Estados Unidos, otros pases o en ambos.

UNIX es una marca registrada de The Open Group en los Estados Unidos y/o en
otros pases.

Avisos 411
412 Integracin de datos con aplicaciones externas


Impreso en Espaa

S-ar putea să vă placă și