Á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 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)


  1. 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 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á acessar o arquivo de propriedades "<dir-instalação>/ServidorAplicacao\jboss-4.2.3.GA\server\<instance>\conf\datasul\datasul_framework.properties" para verificar as seguintes informações:

      ecm.integrated=[true/false]
      ecm.isFluig=[true/false]
      ecm.url=http://[servidor do Fluig]:[Porta]/webdesk
      ecm.integration.user.login=[email do usuário de integração]
      ecm.integration.user.password=[senha do usuário de integração]
      ecm.totvs.company.id=[código da empresa de integração]

       

    • Verificação da disponibilidade


      A verificação da disponibilidade do serviço será realizada por meio de três verificações:

      13. 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 AppServeras configurações de acesso já validadas.

      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.

      2. O sistema executará uma requisição: http://[servidor_fluig]:[porta]/webdesk/ECMDataServiceService   e o método "getAllServices" para listar todos os serviços disponíveis.

      3. O sistema buscará o serviço "WSEXECBO" e informar a URL existente na propriedade "dataServiceURL".

                  <item>
                     <binding/>
                     <companyId>10</companyId>
                     <dataServiceDescription>WSEXECBO</dataServiceDescription>
                     <dataServiceName>WSEXECBO</dataServiceName>
                     <dataServiceType>1</dataServiceType>
                     <dataServiceURL>http://[servidor do Datasul]:[porta]/wsexecbo/WebServiceExecBO?wsdl</dataServiceURL>
                     <wsEngine>1</wsEngine>
                  </item>
       

     

     

  2. 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 busca pelo "WSEXECBO" dentro do AppServer Progress Fluig 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".

     



     
  3. Protótipo de tela (Ação Diagnosticar resultou em "AppServer não encontradoConfiguração: Não foi possível acessar os serviços do Fluig com as configurações atuais."):

    O retorno negativo é indicado na tela sob a forma de uma mensagem "AppServer não encontradoConfiguração: Não foi possível acessar os serviços do Fluig com as configurações atuais." em vermelho demonstrando a inexistência das ou inconsistência nas 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".



     
  4. Protótipo de tela (Ação Diagnosticar resultou em "Sem conexãoStatus: WSEXECBO não encontrado publicado no Fluig"):

    O retorno negativo é indicado na tela sob a forma de uma mensagem "Sem conexãoStatus: WSEXECBO não encontrado publicado no Fluig" 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 inativoWSEXECBO não está publicado no Fluig.

     


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


      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é desejável verificar a disponibilidade do WSEXECBO em outro servidor.

         

      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>

         

        ecm.integrated=[true/false]
        ecm.isFluig=[true/false]
        ecm.url=http://[servidor do Fluig]:[Porta]/webdesk
        ecm.integration.user.login=[email do usuário de integração]
        ecm.integration.user.password=[senha do usuário de integração]
        ecm.totvs.company.id=[código da empresa de integração]



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

        ribanceira:8080/

        wsexecbo

        webdesk/

        WebServiceExecBO

        ECMDataServiceService 
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:

        ser

        ws="http://

        service

        ws.

        execbo

        dataservice.

        ws

        ecm.

        framework

        technology.totvs.com/">
           <soapenv:Header/>
           <soapenv:Body>
             

        <ser:userLogin>
                 <!--Optional:-->
                 <arg0>super</arg0>

        <ws:getAllServices>
                 <companyId>10</companyId>
                 <username>integrador@totvs.com.br</username>
                 <password>Totvs@123</password>
              </

        ser

        ws:

        userLogin>

        getAllServices>
           </soapenv:Body>
        </soapenv:Envelope>



        Retorno:

        <env

        <soap:Envelope xmlns:

        env

        soap="http://schemas.xmlsoap.org/soap/envelope/">
          

        <env:Header/>
           <env:

        <soap:Body>
             

        <ns2

        <ns1:

        userLoginResponse

        getAllServicesResponse xmlns:

        ns2

        ns1="http://

        service

        ws.

        execbo

        dataservice.

        ws

        ecm.

        framework

        technology.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".
    Image Removed

     

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

     

    Image Removed

    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.
    Image Removed
      1. <dataservice>
                    <item>
                       <binding/>
                       <companyId>10</companyId>
                       <dataServiceDescription>WSECMSERVICELOGIX</dataServiceDescription>
                       <dataServiceName>WSECMSERVICELOGIX</dataServiceName>
                       <dataServiceType>1</dataServiceType>
                       <dataServiceURL>http://marape.jv01.local:5330/WSECMSERVICELOGIX.apw?wsdl</dataServiceURL>
                       <wsEngine>2</wsEngine>
                    </item>
                    <item>
                       <binding/>
                       <companyId>10</companyId>
                       <dataServiceDescription>WSEXECBO</dataServiceDescription>
                       <dataServiceName>WSEXECBO</dataServiceName>
                       <dataServiceType>1</dataServiceType>
                       <dataServiceURL>http://cordas:8080/wsexecbo/WebServiceExecBO?wsdl</dataServiceURL>
                       <wsEngine>1</wsEngine>
                    </item>
                 </dataservice>
              </ns1:getAllServicesResponse>
           </soap:Body>
        </soap:Envelope>
         

        A existência do Serviço <dataServiceName>WSEXECBO</dataServiceName> e o endereço para onde o serviço está apontando são propriedades analisadas pelo sistema para resultar em um status positivo ou negativo sobre o WSEXECBO publicado no Fluig.

 

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.