Histórico da Página
...
A tabela abaixo descreve o significado de cada uma das tags usadas no arquivo de configuração de EAI.
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)
| |||||||||||||||||
Transactions | Agrupa 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: | Sim
| Both
| Send
| Receive
| Not
| 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 | ||
---|---|---|
| ||
<?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> |