Páginas filhas
  • 2. Exportação e Importação de Configurações do EAI

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

A tabela abaixo descreve o significado de cada uma das tags usadas no arquivo de configuração de EAI.

SimBothSendReceiveNot

Tag

Descrição

Obrigatória

EaiConfiguration

Tag que abrange as configurações de EAI.

Atributos:

• Instance: nome do aplicativo hospedeiro.

Sim

Applications

Agrupa os vários aplicativos da configuração.

Sim

Application

Descreve um aplicativo, que pode ser interno (hospedeiro) ou externo. O aplicativo hospedeiro será aquele cujo nome conste no atributo instance da tag EaiConfiguration.

Atributos:

• name: nome do aplicativo (obrigatório).
• productName: nome do produto do aplicativo. Pode ser: LOGIX, PROTHEUS, DATASUL, RM (obrigatório).
• productVersion: versão do produto do aplicativo (obrigatório).

Sim

AppProgram

Nome do programa ou classe que executa as funções de processamento das transações.

Sim

ChannelProgram

Nome do programa ou classe que faz o envio das mensagens de forma síncrona.

Sim

QueueProgram

Nome do programa ou classe que envia as mensagens para a fila, em caso de envio assíncrono.

Sim

Properties

Agrupa as propriedades de um aplicativo.

Sim (aplicativo externo)

Property

Descreve uma propriedade do aplicativo.

Atributos:

• Category: categoria da propriedade. Pode ser: Channel, Application, Input-Queue.
• Name: nome da propriedade.

Sim (aplicativo externo)

 

   
   
   
   
   
   
TransactionsAgrupa as transações relacionadas ao aplicativo.Sim

Transaction

Descreve uma transação relacionada a um aplicativo.

Sim

Name

Nome da transação.

Sim

Version

Versão da transação.

Sim

SupportedMode

Modo de operação suportado pela transação. Pode ser: not_enabled, send_enabled, receive_enabled e both_enabled.

Sim

EnabledMode

Modo de operação habilitado para a transação. Pode ser: not_enabled, send_enabled, receive_enabled e both_enabled.

O valor desta tag deve estar de acordo com a tag supportedMode conforme segue:

SupportedModeEnabledMode
both_enabled

both_enabled

send_enabled

receive_enabled

not_enabled

send_enabledsend_enabled
 not_enabled
receive_enabled

receive_enabled

not_enabled

not_enablednot_enabled
Sim

Adapter

Nome do programa ou classe que processa a mensagem recebida para a transação.

Sim (aplicativo hospedeiro)

Anonymous

Indica se a transação pode ser recebida de um aplicativo não conhecido.

Sim (aplicativo hospedeiro)

IncludeOriginalMsg

Indica se a mensagem original será incluída no corpo da mensagem de resposta para aquela transação.

Sim (aplicativo hospedeiro)

Contexts

Agrupa os contextos relacionadas com a transação.

Sim (aplicativo hospedeiro)

   

Context (em Contexts)

Descreve o contexto associado à transação.

Sim, se houver Contexts

   

Routes

Agrupa as rotas relacionadas com a transação.

Sim (aplicativo hospedeiro)

Route

Descreve a rota da transação.

Sim, se houver Routes

Destination

Aplicativo externo para o qual a mensagem da transação será enviada.

Sim, se houver Route

Context (em Route)

Indica o contexto que deve estar na mensagem para que esta seja enviada ao aplicativo externo.

Sim, se houver Route

InternalIDs

Agrupa os registros de de-para.

Não

InternalID

Descreve um registro de de-para.

Atributos:

• Id: Identificador (nome) do de-para.

Sim, se houver InternalIDs

Table

Tabela do ERP contendo o registro referenciado pela parte "interna" do de-para.

Sim, se houver InternalID

KeyFields

Campos chaves da tabela que são usados na composição da parte "interna" do de-para.

Sim, se houver InternalID

ValueMappings

Agrupa os valores de um de-para.

Não

ValueMapping

Valores de de-para para um aplicativo externo.

Atributo:

• App: Identificador do aplicativo externo ao qual se refere o de-para.

Sim, se houver ValueMappings

ExternalValue

Valor no aplicativo externo.

Sim

InternalValue

Valor no aplicativo hospedeiro (interno).

Sim

 

 

XML Schema

...

XML Schema

O XML abaixo define a estrutura do arquivo de configuração e é usado no processo de importação para validar o arquivo utilizado. Caso haja alguma inconsistência, o processo de importação é abortado.

Bloco de código
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
 <xs:complexType name="TransactionType">
 <xs:sequence>
 <xs:element name="Name">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="Version" type="xs:string"></xs:element>
 <xs:element name="SupportedMode">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:enumeration value="not_enabled"></xs:enumeration>
 <xs:enumeration value="send_enabled"></xs:enumeration>
 <xs:enumeration value="receive_enabled"></xs:enumeration>
 <xs:enumeration value="both_enabled"></xs:enumeration>
 <xs:enumeration value="NOT_ENABLED"></xs:enumeration>
 <xs:enumeration value="SEND_ENABLED"></xs:enumeration>
 <xs:enumeration value="RECEIVE_ENABLED"></xs:enumeration>
 <xs:enumeration value="BOTH_ENABLED"></xs:enumeration>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="EnabledMode">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:enumeration value="not_enabled"></xs:enumeration>
 <xs:enumeration value="send_enabled"></xs:enumeration>
 <xs:enumeration value="receive_enabled"></xs:enumeration>
 <xs:enumeration value="both_enabled"></xs:enumeration>
 <xs:enumeration value="NOT_ENABLED"></xs:enumeration>
 <xs:enumeration value="SEND_ENABLED"></xs:enumeration>
 <xs:enumeration value="RECEIVE_ENABLED"></xs:enumeration>
 <xs:enumeration value="BOTH_ENABLED"></xs:enumeration>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="Adapter" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
 </xs:annotation>
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="Anonymous" type="xs:boolean" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="IncludeOriginalMsg" type="xs:boolean" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="Contexts" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
 </xs:annotation>
 <xs:complexType>
 <xs:sequence>
 <xs:element name="Context" type="xs:string" maxOccurs="unbounded"></xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 <xs:element name="Routes" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
 </xs:annotation>
 <xs:complexType>
 <xs:sequence>
 <xs:element name="Route" maxOccurs="unbounded">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="Destination" type="xs:string"></xs:element>
 <xs:element name="Context" type="xs:string"></xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 </xs:complexType>
 <xs:complexType name="ApplicationType">
 <xs:sequence>
 <xs:element name="AppProgram">
 <xs:simpleType> 
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="ChannelProgram">
 <xs:simpleType> 
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="QueueProgram">
 <xs:simpleType> 
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="Properties" minOccurs="0" >
 <xs:annotation>
 <xs:documentation>Esta tag é opcional para aplicativo interno</xs:documentation>
 </xs:annotation>
 <xs:complexType>
 <xs:sequence>
 <xs:element name="Property" maxOccurs="unbounded"> 
 <xs:complexType>
 <xs:simpleContent>
 <xs:extension base="xs:string">
 <xs:attribute name="category">
 <xs:annotation>
 <xs:documentation>Categoria à qual a propriedade se refere.
- Channel: propriedade relativa ao canal de comunicação com o aplicativo ao qual ela pertence.
- Application: propriedade relativa ao aplicativo.
- Input-Queue: propriedade relativa à fila de saída das mensagens.</xs:documentation>
 </xs:annotation>
 <xs:simpleType>
 <xs:restriction
 base="xs:string">
 <xs:enumeration
 value="Channel">
 </xs:enumeration>
 <xs:enumeration
 value="Application">
 </xs:enumeration>
 <xs:enumeration
 value="Input-Queue">
 </xs:enumeration>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="name" type="xs:string"></xs:attribute>
 </xs:extension>
 </xs:simpleContent> 
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 <xs:element name="Transactions">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="Transaction" type="TransactionType" maxOccurs="unbounded"></xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 <xs:attribute name="name" use="required">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType> 
 </xs:attribute>
 <xs:attribute name="productName" use="required">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:enumeration value="logix"></xs:enumeration>
 <xs:enumeration value="datasul"></xs:enumeration>
 <xs:enumeration value="protheus"></xs:enumeration>
 <xs:enumeration value="rm"></xs:enumeration>
 <xs:enumeration value="LOGIX"></xs:enumeration>
 <xs:enumeration value="DATASUL"></xs:enumeration>
 <xs:enumeration value="PROTHEUS"></xs:enumeration>
 <xs:enumeration value="RM"></xs:enumeration>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="productVersion" type="xs:string"></xs:attribute>
 </xs:complexType>
 <xs:complexType name="InternalIDType">
 <xs:sequence>
 <xs:element name="Table" type="xs:string"></xs:element>
 <xs:element name="KeyFields" type="xs:string"></xs:element>
 <xs:element name="ValueMappings" minOccurs="0">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="ValueMapping" maxOccurs="unbounded">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="ExternalValue" type="xs:string"></xs:element>
 <xs:element name="InternalValue" type="xs:string"></xs:element> 
 </xs:sequence>
 <xs:attribute name="app" use="required">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 <xs:attribute name="id" use="required">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 </xs:complexType>
 <xs:complexType name="EaiConfigurationType">
 <xs:sequence>
 <xs:element name="Applications">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="Application" type="ApplicationType" maxOccurs="unbounded"></xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 <xs:element name="InternalIDs" minOccurs="0">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="InternalID" type="InternalIDType" maxOccurs="unbounded"></xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 <xs:attribute name="instance" use="required">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 </xs:complexType>
 <xs:element name="EaiConfiguration" type="EaiConfigurationType"></xs:element> 
</xs:schema>