Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | Datasul | Módulo | Básico |
Segmento Executor | Tecnologia | ||
Projeto | FRWJOI01 | IRM |
|
Requisito | FRWJOI01-469 | Sub tarefa | FRWJOI01-481 |
País | ( ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( X ) TODOS. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
O diagnóstico dos recursos utilizados pela experiência de uso 2, tem por objetivo analisar as configurações e componentes que impactam no funcionamento adequado dos Workflows do Fluig, apresentando o resultado da análise e meios para correção das inconsistências encontradas. Portanto, um dos itens essenciais para o correto funcionamento dos serviços dos Workflows do ERP Datasul no Fluig é a disponibilidade do serviço WSExecBO, que deve estar devidamente publicado no Fluig como um Dataset para que seja possível executar os programas Progress, à partir dos workflows do Fluig.
Definição da Regra de Negócio
Visão Geral
A ferramenta de diagnóstico das experiências de uso engloba quatro experiências, no entanto esta especificação irá tratar exclusivamente o diagnóstico da experiência 2 (workflows). As demais experiências estarão descritas em especificações distintas facilitando a compreensão profunda de como é realizado o diagnóstico em cada experiência de uso.
O diagnóstico de serviços de workflow deverá analisar e disponibilizar meios para correção de inconformidades nas configurações relevantes para o funcionamento do sistema no que tange à experiência de workflow. A localização deste recurso se dará no Fluig-configurator em uma nova aba específica denominada "Diagnóstico". A funcionalidade de diagnóstico de serviços de workflows estará visível logo abaixo do título "#UX2" - Workflow.
As validações descritas nesta especificação se restringem ao Dataset WSExecBO, suas configurações e disponibilidade do serviço.
Interface:
A interface da funcionalidade irá atender o diagnóstico das experiências de uso do Fluig 1(Single Sign-on), 2(Workflows), 3(Itens de Menu), 5(Consultas Rápidas). A ferramenta de diagnóstico é dividida em containers separados para facilitar a utilização da ferramenta, e cada item terá um checkbox para que seja possível realizar um diagnóstico personalizado. A seleção do checkbox ao lado do título de cada experiência dispara a seleção de todos os itens relacionados à experiência.
O botão "Diagnosticar Tudo" realizará automaticamente a seleção de todas as experiências de uso e seus respectivos itens, em seguida iniciará o procedimento de diagnóstico.
O botão "Diagnosticar Selecionados" iniciará o procedimento de diagnóstico que irá verificar apenas os itens previamente selecionados pelo usuário.
Protótipo de interface: (Apresentando apenas o container da experiência 2 evidenciando em vermelho a funcionalidade que verificará se o WSEXECBO está publicado no Fluig)
- Consulta se o WSExecBO está publicado no Fluig
WSExecBO é um webservice que permite a execução de procedures (regras de negócio) em programas Progress (BO – Business Object) no Datasul através de aplicações web, incluindo Fluig. As chamadas poderão ser feitas a qualquer procedure de maneira não persistente, cujos programas estão disponíveis no AppServer Progress do Datasul configurado. Detalhes: WSExecBO
Para que o Fluig execute um programa do Datasul, é necessário que no Fluig exista um Dataset (Desenvolvimento de Formulários#Dataset) denominado WSExecBO cuja propriedade dataServiceURL aponte para um servidor onde está o Datasul. Exemplo:( http://[servidor onde está o Datasul]:[porta]/wsexecbo/WebServiceExecBO?wsdl ).Verificação das configurações de acesso
A A existência dos dados de configuração é essencial para o funcionamento da execução de programas do Datasul por meio do Fluig, portanto a verificação das configurações de acesso é realizada no momento em que o usuário clicar no botão "Diagnosticar". O sistema irá verificar as seguintes informações:
ecm.integrated=[true/false]
ecm.isFluig=[true/false]
ecm.url=http://barravelha:8080[servidor do Fluig]:[Porta]/webdesk
ecm.integration.user.login=[email protected][email do usuário de integração]
ecm.integration.user.password=Totvs@123[senha do usuário de integração]
ecm.totvs.company.id=10http://ribanceira:8080/webdesk/ECMDataServiceService[código da empresa de integração]
Verificação da disponibilidadeProcedimentos para verificação do status do AppServer Progress
1. Ao selecionar a opção "Outro AppServer", as opções abaixo aparecem para que seja possível informar um servidor, porta e aplicação diferente. O objetivo desta opção é possibilitar o teste teste de disponibilidade de um AppServer que esteja em outra instância. (Por padrão, a opção "AppServer Padrão" está selecionada).
2. O usuário clicará no botão "Diagnosticar".3. O sistema buscará no arquivo de propriedades "<dir-instalação>/ServidorAplicacao\jboss-4.2.3.GA\server\<instance>\conf\datasul\datasul_framework.properties" os dados de conexão do AppServer.
4. O sistema tentará executar um programa Progress pré-definido para sempre retornar um Status "Ativo".
5. O sistema informará na tela o resultado da tentativa de execução de um programa de teste no AppServer progress conforme protótipos de tela abaixo.
Protótipo de tela (Ação Diagnosticar resultou em "Ativo"):
O retorno positivo é indicado na tela sob a forma de uma mensagem "Status: Ativo" em verde. Significando o sucesso na execução de um programa Progress dentro do AppServer Progress utilizando as configurações definidas no arquivo de propriedades do produto Datasul "<dir-instalação>/ServidorAplicacao\jboss-4.2.3.GA\server\<instance>\conf\datasul\datasul_framework.properties".
Protótipo de tela (Ação Diagnosticar resultou em "AppServer não encontrado"):
O retorno negativo é indicado na tela sob a forma de uma mensagem "AppServer não encontrado" em vermelho demonstrando a inexistência das configurações de conexão definidas no arquivo de propriedades do produto Datasul "<dir-instalação>/ServidorAplicacao\jboss-4.2.3.GA\server\<instance>\conf\datasul\datasul_framework.properties".
Protótipo de tela (Ação Diagnosticar resultou em "Sem conexão"):
O retorno negativo é indicado na tela sob a forma de uma mensagem "Sem conexão" em vermelho demonstrando que apesar de existirem configurações de conexão, as mesmas podem estar inconsistentes ou apesar de consistentes, o AppServer Progress pode estar inativo.
Verificação da publicação do WSExecBO no ERP
WSExecBO é um webservice que permite a execução de procedures (regras de negócio) em programas Progress (BO – Business Object) no Datasul através de aplicações web, incluindo Fluig. As chamadas poderão ser feitas a qualquer procedure de maneira não persistente, cujos programas estão disponíveis no AppServer Progress do Datasul configurado. Detalhes: WSExecBO
Procedimentos para verificação de disponibilidade do WSExecBO
O usuário irá clicar no botão "Diagnosticar".
Existirá a possibilidade de alterar a URL para testar a funcionalidade em casos onde houve alguma customização da localização padrão do serviço.
Verificação das configurações utilizadas pelo WSExecBO:
O sistema buscará no arquivo de propriedades "<dir-instalação>/ServidorAplicacao\jboss-4.2.3.GA\server\<instance>\conf\datasul\datasul_framework.properties" os dados de configuração necessários para o funcionamento do WSExecBO:
sso.java.naming.factory.initial=com.datasul.framework.sso.SSOLoginInitialContextFactory
sso.java.naming.provider.url=<ip ou endereço do servidor aonde se encontra o Datasul>: <porta>
sso.java.naming.security.principal=<senha do usuário super>
sso.java.naming.security.credentials=<usuário super>
sso.java.naming.security.protocol=<tipo de protocolo de segurança>Validação da propriedade sso.java.naming.provider.url
A validação da propriedade sso.java.naming.provider.url irá verificar se existe algum protocolo definido antes do endereço do servidor porque um protocolo jnp:// já é concatenado automaticamente ao endereço dentro do sistema.
- Verificação de disponibilidade do serviço WSExecBO:
O sistema executará uma procedure de testes utilizando o método userLogin passando o usuário super do datasul_framework.properties.
Requisição interna: ex: http://jvd002925:8080/wsexecbo/WebServiceExecBO
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.execbo.ws.framework.totvs.com">
<soapenv:Header/>
<soapenv:Body>
<ser:userLogin>
<!--Optional:-->
<arg0>super</arg0>
</ser:userLogin>
</soapenv:Body>
</soapenv:Envelope>
Retorno:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<ns2:userLoginResponse xmlns:ns2="http://service.execbo.ws.framework.totvs.com">
<return>96B559C739EB681738BC7A1973907B48</return>
</ns2:userLoginResponse>
</env:Body>
</env:Envelope> - O token retornado pela execução do serviço userLogin será utilizado para executar o método callProcedureWithToken conforme abaixo:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.execbo.ws.framework.totvs.com">
<soapenv:Header/>
<soapenv:Body>
<ser:callProcedureWithToken>
<arg0>96B559C739EB681738BC7A1973907B48</arg0>
<arg1>CalculadoraSimples.p</arg1>
<arg2>pi-calc</arg2>
<arg3>[{"dataType":"character","name":"pOperador","value":"+","type":"input"},{"dataType":"decimal","name":"pNum1","value":2,"type":"input"}, {"dataType":"decimal","name":"pNum2","value":2,"type":"input"}, {"dataType":"decimal","name":"pResult","value":0,"type":"output"}]</arg3>
</ser:callProcedureWithToken>
</soapenv:Body>
</soapenv:Envelope> - A execução da requisição acima dispara um conjunto de classes no Java que por sua vez executa um programa em progress conforme exemplo (CalculadoraSimples.p) com uma estrutura de parâmetros compatível com a estrutura definida no arg3 da requisição acima.
Programa Progress:PROCEDURE pi-calc:
DEFINE INPUT PARAMETER pOperador AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER pNum1 AS DECIMAL NO-UNDO.
DEFINE INPUT PARAMETER pNum2 AS DECIMAL NO-UNDO.
DEFINE OUTPUT PARAMETER pResult AS DECIMAL NO-UNDO.
CASE pOperador:
WHEN "x" THEN DO:
ASSIGN pResult = pNum1 * pNum2.
END.
WHEN "/" THEN DO:
ASSIGN pResult = pNum1 / pNum2.
END.
WHEN "+" THEN DO:
ASSIGN pResult = pNum1 + pNum2.
END.
WHEN "-" THEN DO:
ASSIGN pResult = pNum1 - pNum2.
END.
END CASE.
END PROCEDURE.
- Haverá um retorno da requisição indicando que a mesma foi executada com sucesso apresentando o resultado da soma como prova de que a procedure soma foi efetivamente executada.
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<ns2:callProcedureWithTokenResponse xmlns:ns2="http://service.execbo.ws.framework.totvs.com">
<return>[{"dataType":"decimal","name":"pResult","value":4.0,"type":"output"}]</return>
</ns2:callProcedureWithTokenResponse>
</env:Body>
</env:Envelope> - O resultado da execução de uma procedure por meio do WSExecBO será informado na para o usuário conforme protótipos de tela abaixo.
- Protótipo de tela (Ação Diagnosticar resultou em "Ativo"):
O retorno positivo é indicado na tela sob a forma de uma mensagem "Status: Ativo" em verde. Significando o sucesso na execução de uma procedure Progress por meio do WSExecBO utilizando as configurações definidas no arquivo de propriedades do produto Datasul "<dir-instalação>/ServidorAplicacao\jboss-4.2.3.GA\server\<instance>\conf\datasul\datasul_framework.properties". Protótipo de tela (Ação Diagnosticar resultou em "Não autenticado"):
O retorno negativo é indicado na tela sob a forma de uma mensagem "Não autenticado" em vermelho demonstrando a inexistência das configurações de autenticação definidas no arquivo de propriedades do produto Datasul "<dir-instalação>/ServidorAplicacao\jboss-4.2.3.GA\server\<instance>\conf\datasul\datasul_framework.properties".
Protótipo de tela (Ação Diagnosticar resultou em "Não disponível"):
O retorno negativo é indicado na tela sob a forma de uma mensagem "Não disponível" em vermelho demonstrando que o serviço não está disponível.
Relatório:
A ferramenta de diagnóstico deve produzir um relatório com os resultados das verificações de cada item selecionado. Este relatório ficará disponível para download enquanto o Fluig-configurator estiver aberto.
O relatório será emitido em formato de texto contendo as mesmas informações existentes em tela.
- Layout do Relatório
O layout do relatório deve seguir a mesma ordem estrutural do resultado apresentado em tela. Também deve conter data e horário em que o mesmo foi emitido pelo sistema, desconsiderando a data e horário de download.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|