Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Especificação | |||||||||||||||||||
Produto | TOTVS | Módulo | EAI | ||||||||||||||||
Segmento Executor | Framework | ||||||||||||||||||
Projeto1 | FRAMEWORK SP - 005 | IRM1 |
| ||||||||||||||||
Requisito1 |
| Subtarefa1 |
| ||||||||||||||||
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||||||||||||||||||
Outros |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Descrever os serviços necessários para que o monitor do TOTVS EAI consiga realizar o diagnóstico dos serviços/integrações habilitadas entre os produtos integrados.
Os serviços de diagnósticos disponibilizados pelos produtos deverão atender os seguintes pré-requisitos:
Todas as linhas de produto deverão definir uma URL base, a partir da qual os serviços REST do monitor de EAI serão disponibilizados. Todos os caminhos descritos neste documento serão relativos a esta URL base, conforme a especificação de requisitos ER_FRWJOI01-3_Serviços_para_monitoramento_de_EAI.
Os objetos de retorno dos métodos REST seguem o retorno especificado no requisito ER_FRWJOI01-3_Serviços_para_monitoramento_de_EAI.
Todas as linhas de produto deverão disponibilizar no monitor os caminhos dos serviços do EAI de seus produtos.
Todos os parâmetros de query string page e perpage, quando não especificados, assumem o valor default de 1 e 10, respectivamente.
Serviços REST - Originados do Monitor EAI para o serviço REST do monitor disponível nos aplicativos (produtos)
GET /totvseai/monitor/v1/admin/companies/{appID}/{companyID}/{branchID}?page={page}&perPage={perPage}
Recebe | appId - string - path param |
companyID - string - path param | |
branchID - string - path param | |
page - int - query string | |
perpage - int - query string | |
Retorna | Application/JSON |
Este método lista os de-para de empresas do aplicativo interno.
Retorno esperado:
Caso o parâmetro appID seja enviado, é buscado a informação do relacionamento somente para o aplicativo em questão. Caso contrário, é buscado todas as informações dos aplicativos disponiveis (no Protheus uma mesma instalação pode possuir mais de um aplicativo, pois cada Grupo de empresas Protheus comporta um aplicativo).
Pode-se também enviar os parâmetros de companyID (para buscar o mapeamento somente de uma empresa/grupo daquele aplicativo) e branchID, para buscar somente daquela filial.
Retorno esperado:
Bloco de código | ||||
---|---|---|---|---|
| ||||
|
| ||
{
"messages": [],
"length": 2,
"data": [
{
"appID": "PRODUCAO18",
"product": "PROTHEUS",
"companies": [
{
"company": "18",
"branch": "D MG 01",
"integratedProducts": [
{
"appId": "AMBIENTE",
"product": "RM",
"company": "01",
"branch": "01"
},
{
"appId": "AMBX",
"product": "DATASUL",
"company": "1",
"branch": "10"
}
]
},
{
"company": "18",
"branch": "D RJ 01",
"integratedProducts": [
{
"appId": "AMBIENTE",
"product": "RM",
"company": "01",
"branch": "02"
},
{
"appId": "AMBX",
"product": "DATASUL",
"company": "1",
"branch": "11"
}
]
}
]
},
{
"appID": "PRODUCAO19",
"product": "PROTHEUS",
"companies": [
{
"company": "19",
"branch": "D MG 01",
"integratedProducts": [
{
"appId": "AMBIENTE",
"product": "RM",
"company": "02",
"branch": "02"
}
]
}
]
}
]
} |
Bloco de código | ||||
---|---|---|---|---|
| ||||
{
"messages" : [],
"length" : 1,
"data" : {
"appID" : "PRODUCAO19",
"product" : "PROTHEUS",
"companies" : [{
"company" : "19",
"branch" : "D MG 01",
"integratedProducts" : [{
"appId" : "AMBIENTE",
"product" : "RM",
"company" : "02",
"branch" : "02"
}
]
}
]
}
}
|
Serviços SOAP - Originados do Monitor EAI para o serviço de EAI do aplicativo
Os serviços SOAP a seguir visam reutilizar os serviços de EAI - Mensagem Única já existentes nos produtos. Eles tem como originador o Monitor Totvs EAI e tem como destino os serviços de EAI dos aplicativos cadastrados.
Verificação de WSDL e autenticação Âncora WsGetStatus WsGetStatus
Serviço que verifica se o servidor do serviço do EAI está disponível.
O serviço irá gerar uma requisição de consulta ao WSDL do serviço do EAI cadastrado para o aplicativo.
GET http://localhost:8080/eaiservice.apw
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?xml version="1.0" encoding="utf-8"?> <!-- Generated 20160927 10:35:39 by ADVPL WSDL Server 1.110216 / Protheus 7.00.131227A-20160909 NG --> <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.totvs.com/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://www.totvs.com/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <s:schema elementFormDefault="qualified" targetNamespace="http://www.totvs.com/"> <s:element name="RECEIVEMESSAGE"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="INMSG" type="s:string" /> </s:sequence> </s:complexType> </s:element> <s:element name="RECEIVEMESSAGERESPONSE"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="RECEIVEMESSAGERESULT" type="s:string" /> </s:sequence> </s:complexType> </s:element> </s:schema> </types> <message name="RECEIVEMESSAGESOAPIN"> <part name="parameters" element="s0:RECEIVEMESSAGE" /> </message> <message name="RECEIVEMESSAGESOAPOUT"> <part name="parameters" element="s0:RECEIVEMESSAGERESPONSE" /> </message> <portType name="EAISERVICESOAP"> <operation name="RECEIVEMESSAGE"> <documentation>Metodo que recebe mensagens para processamento pelo Microsiga Protheus</documentation> <input message="s0:RECEIVEMESSAGESOAPIN" /> <output message="s0:RECEIVEMESSAGESOAPOUT" /> </operation> </portType> <binding name="EAISERVICESOAP" type="s0:EAISERVICESOAP"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> <operation name="RECEIVEMESSAGE"> <soap:operation soapAction="http://www.totvs.com/RECEIVEMESSAGE" style="document" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> </binding> <service name="EAISERVICE"> <documentation><b>Serviço genérico de integração com o Microsiga Protheus via EAI</b></documentation> <port name="EAISERVICESOAP" binding="s0:EAISERVICESOAP"> <soap:address location="http://172.16.32.191:89/pr12_bra/eai/EAISERVICE.apw" /> </port> </service> </definitions> |
Caso seja necessária autenticação no aplicativo destino, a mesma deverá ser enviada no header da requisição, via basic authentication. Para isto será necessário cadastrar o usuário de acesso ao EAI no monitor (o usuário de acesso nem sempre é o usuário logado no monitor).
Âncora | ||||
---|---|---|---|---|
|
Serviço que visa verificar se o aplicativo destino está recebendo requisições normalmente.
POST WhoIS
Este serviço irá realizar o post da Mensagem Única TOTVS WhoIs e irá aguardar o retorno da requisição.
A mensagem única TOTVS espera um código de empresa e filial para mapeamento de integrações. Este empresa e filial será capturada pelo método GET /totvseai/monitor/v1/admin/getcompanies.
O SourceApplication e Product enviados na mensagem serão padronizados como "TOTVSMONITOR". O atributo version da tag Product será enviado com a versão "1.000".
O retorno deste método definirá se o EAI está disponível para recebimento (serviço disponível no ar) e se houve sucesso na autenticação. A verificação será realizada pelo retorno do status da conexão HTTP e pelo retorno da mensagem do tipo ResponseMessage.será realizada pelo retorno do status da conexão HTTP e pelo retorno da mensagem do tipo ResponseMessage.
Os valores de companyID e branchID são recuperados pelo método GET /totvseai/monitor/v1/admin/companies/{appID}/{companyID}/{branchID}?page={page}&perPage={perPage}
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/"> <soapenv:Header/> <soapenv:Body> <tot:receiveMessage> <tot:inMsg><![CDATA[ <?xml version="1.0" encoding="utf-8"?> <TOTVSMessage> <MessageInformation version="1.000"> <UUID>dee8c4da-1e19-4b44-df97-249443638a9d</UUID> <Type>BusinessMessage</Type> <Transaction>WHOIS</Transaction> <StandardVersion>1.000</StandardVersion> <SourceApplication>TOTVSMONITOR</SourceApplication> <CompanyId>18</CompanyId> <BranchId>D MG 01</BranchId> <Product name="TOTVSMONITOR" version="1.000"></Product> <GeneratedOn>2015-11-26T10:55:23</GeneratedOn> <DeliveryType>Sync</DeliveryType> </MessageInformation> <BusinessMessage> <BusinessRequest> <Operation>WhoIs</Operation> </BusinessRequest> <BusinessContent/> </BusinessMessage> </TOTVSMessage>]]></tot:inMsg> </tot:receiveMessage> </soapenv:Body> </soapenv:Envelope> |
O retorno esperado da Mensagem Única WhoIs deverá ser semelhante ao seguinte:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RECEIVEMESSAGERESPONSE xmlns="http://www.totvs.com/"> <RECEIVEMESSAGERESULT><?xml version="1.0" encoding="utf-8"?><TOTVSMessage><MessageInformation version="1.001"><UUID>66a7fdd0-ec4d-ac9a-0915-4a0c17a75cd4</UUID><Type>Response</Type><Transaction>WHOIS</Transaction><StandardVersion>1.000</StandardVersion><SourceApplication>PR12_BRA</SourceApplication><CompanyId>18</CompanyId><BranchId>D MG 01 </BranchId><Product name="PROTHEUS" version="12"></Product><GeneratedOn>2016-09-27T17:05:16Z</GeneratedOn><DeliveryType>Sync</DeliveryType></MessageInformation><ResponseMessage><ReceivedMessage><SentBy>TOTVSMONITOR</SentBy><UUID>dee8c4da-1e19-4b44-df97-249443638a9d</UUID><MessageContent><![CDATA[<?xml version="1.0" encoding="utf-8"?><TOTVSMessage><MessageInformation version="1.000"><UUID>dee8c4da-1e19-4b44-df97-249443638a9d</UUID><Type>BusinessMessage</Type><Transaction>WHOIS</Transaction><StandardVersion>1.000</StandardVersion><SourceApplication>TOTVSMONITOR</SourceApplication><CompanyId>18</CompanyId><BranchId>D MG 01</BranchId><Product name="TOTVSMONITOR" version="1.000"></Product><GeneratedOn>2015-11-26T10:55:23</GeneratedOn><DeliveryType>Sync</DeliveryType></MessageInformation><BusinessMessage><BusinessRequest><Operation>WhoIs</Operation></BusinessRequest><BusinessContent></BusinessContent></BusinessMessage></TOTVSMessage>]]></MessageContent></ReceivedMessage><ProcessingInformation><ProcessedOn>2016-09-27T17:05:16Z</ProcessedOn><Status>ok</Status></ProcessingInformation><ReturnContent><EnabledTransactions><Transaction><Name>WHOIS</Name><Version>1.001 </Version><Mode>both_enabled</Mode></Transaction><Transaction><Name>MYMESSAGE</Name><Version>1.000 </Version><Mode>send_enabled</Mode></Transaction><Transaction><Name>COSTCENTER</Name><Version>2.000 </Version><Mode>both_enabled</Mode></Transaction><Transaction><Name>FINANCIALNATURE</Name><Version>2.000 </Version><Mode>both_enabled</Mode></Transaction><Transaction><Name>ACCOUNTRECEIVABLEDOCUMENTDISCHARGE</Name><Version>2.001 </Version><Mode>both_enabled</Mode></Transaction><Transaction><Name>CUSTOMERVENDOR</Name><Version>2.002 </Version><Mode>both_enabled</Mode></Transaction><Transaction><Name>BANK</Name><Version>1.007 </Version><Mode>both_enabled</Mode></Transaction></EnabledTransactions></ReturnContent></ResponseMessage></TOTVSMessage></RECEIVEMESSAGERESULT> </RECEIVEMESSAGERESPONSE> </soap:Body> </soap:Envelope> |
Âncora | ||||
---|---|---|---|---|
|
Este método visa verificar buscar as transações habilitadas no aplicativo.
Para este método será utilizado o mesmo recurso da autênticação, onde o retorno esperado é a WhoIs do aplicativo consultado.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|