Árvore de páginas

Versões comparadas

Chave

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

 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 à AppServer, suas configurações e disponibilidade do serviço, e ao Dataset WSExecBO, suas configurações e disponibilidade do serviço com base em testes de autenticação e execução de procedure.


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)


  1. Consulta de disponibilidade do AppServer Progress
    AppServer é o servidor de aplicação responsável por processar e disponibilizar a execução remota de programas progress. Sua execução permite o acesso remoto aos componetes de negócio do Datasul disponibilizando informações do ERP à outras interfaces e sistemas devidamente autenticados.
    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 ( http://[servidor onde está o Datasul]:[porta]/wsexecbo/WebServiceExecBO?wsdl ).

    • Verificação das configurações de acesso

      A  verificação das configurações de acesso é realizada no momento em que

      Verificação do status do AppServer Progress

      A  verificação da situação do AppServer Progress é realizada em nível de configuração das propriedades de conexão e a disponibilidade do programa de testes à ser executado dentro do AppServer. O evento de verificação será disparado após o usuário clicar no botão "Diagnosticar". O sistema irá verificar as seguintes informações:


      ecm.integrated=true
      ecm.isFluig=true
      ecm.url=http://barravelha:8080/webdesk
      [email protected]
      ecm.integration.user.password=Totvs@123
      ecm.totvs.company.id=10


      http://ribanceira:8080/webdesk/ECMDataServiceService

    • Procedimentos 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.

     



  2. 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


      1. 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.

         

      2. 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>

         

      3. 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.

      4. 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>


      5. 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>


      6. 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.

      7. 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>


      8. 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.