Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico |
---|
Especificação | |||
Produto | Datasul | Módulo | EAI |
Segmento Executor | Tecnologia | ||
Projeto1 | PDR_LD_FRW001 | IRM1 | PCREQ-9836 |
Requisito1 | PCREQ-10303 | Subtarefa1 | |
País | ( ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( x ) TODOS | ||
Outros |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Este desenvolvimento visa possibilitar a descoberta dos cadastros e serviços expostos pelo Datasul para utilização via Mensageria TOTVS. Para isso, o serviço Whois, que faz parte da implementação da Mensagem Única TOTVS, será adequado para fornecer também o nome das DBOs e APIs disponíveis.
Para permitir relacionar os objetos de negócio (cadastros e serviços) disponíveis no aplicativo destino, a transação Whois será alterada, passando à versão 1.001. Nesta versão, será incluída a tag <RequestType> com o atributo "BusinessObjectOnly", de tipo "booleano", no BusinessContent da mensagem.
Abaixo, segue o XSD com as alterações citadas.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:include schemaLocation="../totvsmsg.xsd"></xs:include> <xs:complexType name="BusinessContentType"> <xs:sequence> <xs:element name="RequestType" minOccurs="0"> <xs:complexType> <xs:attribute name="BusinessObjectOnly" default="false"> <xs:simpleType> <xs:restriction base="xs:boolean"> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType></xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="ReturnContentType"> <xs:sequence> <xs:element name="EnabledTransactions" minOccurs="0" maxOccurs="1"> <xs:complexType> <xs:sequence> <xs:element name="Transaction" minOccurs="1" maxOccurs="unbounded"> <xs:complexType> <xs:all> <xs:element name="Name" minOccurs="1" type="xs:string"> </xs:element> <xs:element name="BusinessObject" type="xs:string" minOccurs="0"> </xs:element> <xs:element name="Version" type="xs:string" minOccurs="0"> </xs:element> <xs:element name="Mode" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="SEND_ENABLED"> </xs:enumeration> <xs:enumeration value="RECEIVE_ENABLED"> </xs:enumeration> <xs:enumeration value="BOTH_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:all> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:element name="BusinessContent" type="BusinessContentType" substitutionGroup="AbstractBusinessContent"></xs:element> <xs:element name="ReturnContent" type="ReturnContentType" substitutionGroup="AbstractReturnContent"></xs:element> </xs:schema> |
O conteúdo a retornar será determinado conforme abaixo.
RequestType | BusinessObjectOnly | Retorno |
---|---|---|
Ausente | N/A | Transações de Mensagem Única e objetos de negócio. |
Presente | false | Transações de Mensagem Única e objetos de negócio. |
Presente | true | Objetos de negócio (Mensageria TOTVS) apenas. |
A transação Whois, na versão 1.000, manterá seu comportamento e retornará somente transações de Mensagem Única. Os objetos de negócio que eventualmente estiverem disponíveis não serão retornados. |
Em relação à nova tag <BusinessObject>, adicionada no ReturnContent, a mesma não será incluída no retorno da mensagem Whois 1.001, já que o conteúdo seria o mesmo da tag <Name>. Isso contribui para redução na quantidade de dados trafegado entre os aplicativos.
Para dar suporte à nova versão do Whois, será desenvolvido um novo adapter - WhoisAdapter1001 - para gerar o retorno conforme esperado. Adicionalmente, o adapter atual - WhoisAdapter - será adequado para não retornar os objetos de negócio relacionados à Mensageria TOTVS, os quais são identificados com o prefixo "MT_" no nome da classe informada no registro da transação (ver no item Outros, da seção Informações Gerais deste documento).
O novo adapter fará uso da classe helper correspondente a transação Whois 1.001, logo o arquivo XSD que define a transação deve estar no repositório de mensagens únicas TOTVSMSGXML.
O Engine do EAI no Datasul também deve ser alterado para permitir a utilização do novo adapter. Neste contexto, deve-se estar atento ao parâmetro "multiVersionSupport", informado na aba "Outras Opções" da tela de configuração do aplicativo interno (ou hospedeiro) do TOTVS Monitor - aba EAI2. Este parâmetro determinará qual adapter de Whois tratará as mensagens recebidas.
multiVersionSupport | Whois recebido | Adapter usado |
---|---|---|
Ligado | 1.000 | WhoisAdapter |
Ligado | 1.001 | WhoisAdapter1001 |
Desligado | 1.000 | WhoisAdapter1001 |
Desligado | 1.001 | WhoisAdapter1001 |
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico |
---|