3 jun 2008

Integration Broker (Parte 12) Version Tools hasta 8.46

Transformaciones


La finalidad de aplicar una transformación a un mensaje es que su estructura cumpla con los requisitos del sistema de destino.




En un sistema de destino, existe un campo denominado Purchase Order (pedido), mientras que en PeopleSoft se denomina PO. El programa de transformación interpretará las etiquetas XML para que sean coherentes con las del sistema de destino.

PeopleSoft admite la utilización de código XSLT (Extensible Stylesheet Language Transformation) y de PeopleCode, incluidos en su programa de transformación como una o más acciones del tipo XSLT o PeopleCode respectivamente.

Las transformaciones pueden ser utilizadas tanto en mensajes inbound como en mensajes outbound para cambiar la estructura o el valor de los datos enviados o recibidos.

Las transformaciones se utilizan asociadas a RelationShip.



Los campos tienen la misma longitud y tipo pero se llaman distintos. Se puede utilizar Alias.
  1. Una Transformación es automáticamente invocada por el Integration Engine basada en la RelationShip seteada entre los nodos.

  2. Uno de los pasos del programa contiene una acción definida como XSLT.

  3. Para utilizar esta estructura, el Application Engine del tipo Transform Only (sólo transformación)

XSLT: (NOTA: se saco de todas las lineas el primer "<" porque el blog no deja visualizarlo correctamente.)

?xml version="1.0"?>
xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
xsl:template match="IC_MSG_CUST">
IC_MSG_CUST>
xsl:apply-templates/>
/C_MSG_CUST>
/xsl:template>
xsl:template math= "IC_MSG_EMPL">
MSG_EMPL>
SETID>
EMPLID>
EMPL_STATUS>
NAME2>
NAMESHORT>
/MSG_EMPL>
/xsl:template>
xsl:template match = "FieldTypes">
FieldTypes>
IC_MSG_EMPL class="R">
SETID type="CHAR"/>
EMPLID type="CHAR"/>
EMPL_STATUS type="CHAR"/>
NAME2 type="CHAR"/>
NAMESHORT TYPE="CHAR"/>
/IC_MSG_EMPL>
PSCAMA class="R">
LANGUAGE_CD type="CHAR"/>
AUDIT_ACTN type="CHAR"/>
BASE_LANGUAGE_CD type="CHAR"/>
MSG_SEQ_FLG type="CHAR"/>
PROCESS_INSTANCE type="NUMBER"/>
PUBLISH_RULE_ID type="CHAR"/>
MSGNODENAME type="CHAR"/>
/PSCAMA>
/FieldTypes>
/xsl:template>
/xsl:stylesheet>


Existen programas para la edición de XSLT (No Peoplesoft)



Relationship



Para usar las transformaciones primero se hace una RELATIONSHIP que indica con que NODOS existen TRANSFORMACIONES. Es quien indica las transformaciones que hay entre nodos (relación entre nodos)

El programa de AE del proceso de transformaciones se activa automáticamente mediante el motor de integración, en función de las relaciones (Relationship) entre nodos que se hayan definido para una determinada transacción.

La relación puede contener varias transformaciones diferentes para diversos mensajes, por lo que el nombre de la relación debe identificar al nodo.



La relación se define en la base de datos de la que parte el proceso de transformación.

En el ejemplo siguiente, vamos a utilizar la relación PSFT_HR para indicar que contiene transformaciones entre el nodo local y el nodo PSFT_CR.

Esta relación sólo puede utilizar las transacciones que se hayan incluido en las definiciones de los nodos seleccionados.




  1. Se agregan las transacciones que vas a ser relacionadas





  2. Initial Node/ Result Node: Seleccione el nodo inicial y el nodo resultante a los que está asociada cada transacción. Éstos deben ser los dos nodos definidos para la relación seleccionada.
    Request Message Name: Seleccione el nombre del mensaje de petición inicial y resultante que debe transmitir cada transacción. (Origen/Destino) Request Message Version : Seleccione la versión del mensaje de petición de origen y de destino que debe transmitir cada transacción


Esta relación sólo puede utilizar las transacciones que se hayan incluido en las definiciones de los nodos seleccionados. Como ha seleccionado cada parámetro de la transacción (nodo, tipo de transacción, nombre del mensaje de petición y versión del mensaje de petición), las opciones disponibles para el resto de los parámetros se reducen en función de los que acaba de seleccionar para definir transacciones existentes. Por ejemplo, si ha seleccionado un nodo que sólo tiene definidas transacciones de entrada asincrónicas, el único tipo de transacción disponible será Inbound Asynchronous.




El programa de transformación de peticiones se utiliza tanto para transacciones sincrónicas como asincrónicas.
El programa de transformación de respuestas sólo se utiliza para transacciones sincrónicas.

No hay comentarios: