TECNOLOGIA - Arquivos Especiais - O que são arquivos especiais (BPL, JAR, DLL), para quais situações estão disponíveis esses arquivos e quais sistemas utilizam esse tipo de liberação
Dúvida
O que são arquivos especiais (BPL, JAR, DLL), para quais situações estão disponíveis esses arquivos e quais sistemas utilizam esse tipo de liberação?
Solução
1. Explicação sobre arquivos especiais
Arquivos especiais são arquivos que antecipam um ajuste pontual em alguma rotina do sistema, sem que haja necessidade de executar uma atualização completa do sistema.
Observação
- Comumente esse tipo de liberação via arquivo especial pode ser conhecida como hotfix.
- Esses arquivos especiais podem ser conhecidos por outros termos como, por exemplo: Alfa, Pacote de BPLs.
Estes arquivos podem ser aplicados para alguns dos sistemas da Senior. Exemplos de sistemas Senior que permitem a utilização de arquivos especiais:
Sistema | Arquivos especiais disponíveis (extensões) |
Gestão Empresarial | ERP | BPL (para rotinas em Delphi), JAR (para rotinas em Java), EXE (para arquivos executávies) |
Gestão Empresarial PME | GOUP | BPL (para rotinas em Delphi), JAR (para rotinas em Java), EXE (para arquivos executávies) |
eDocs | DLL (para rotinas), Arquivos Frontend HTML (para tratativas pontuais do Monitor) |
2. Exemplo comparativo de aplicação de arquivos especiais e atualização completa do sistema
2.1. No caso do Gestão Empresarial | ERP:
- Uma atualização completa exige a parada de todo o ambiente e executa todo o processo do SeniorUpdater.exe, inclusive o Deploy de recursos no Servidor Web (Wildfly). O processo é mais demorado do que a Aplicação de Pacote de BPLs;
- A aplicação de um pacote de BPLs também exige a parada de todo o ambiente, no entanto, não existe a utilização do SeniorUpdater.exe neste processo, não havendo necessidade de Deploy de recursos no Servidor Web (Wildfly). A aplicação do pacote especial é realizada no Servidor de Aplicação, substituindo os arquivos. O processo é mais rápido do que a atualização completa da versão.
Observação
Quando o ajuste pontual for em um WebService ou outro recurso que é disponibilizado no Middleware/Servidor Web, pode haver a necessidade de Deploy manual do recurso no Servidor Web após a aplicação do arquivo especial.
2.2. No caso do eDocs:
- Uma atualização completa exige a parada de todo o ambiente e executa todo o processo de Atualização do eDocs, inclusive a desinstalação e reinstalação dos Serviços e recursos do IIS. O processo é mais demorado do que a Aplicação de Pacote de DLLs;
- A aplicação de um pacote de DLLs também exige a parada de todo o ambiente, no entanto, não existe a utilização do Atualizador do eDocs neste processo, não havendo desinstalação e reinstalação dos Serviços e recursos do IIS. A aplicação do pacote especial é realizada no Servidor de Aplicação, substituindo os arquivos. O processo é mais rápido do que a atualização completa da versão.
3. Cenários de Liberação de arquivos especiais
3.1. Cenários com possibilidade de liberação de arquivo especial
Abaixo seguem alguns exemplos de casos onde é possível efetuar liberação de pacote especial:
- Ajuste pontual em um uma rotina (Exemplo: cálculo de algum valor do sistema);
- Ajuste pontual na exibição de alguma mensagem do sistema;
- Ajuste pontual no geração de arquivo XML de uma NF-e;
- Ajuste pontual na chamada de uma função da Tecnologia.
Importante
Alguns casos podem ter impeditivo técnico de liberação de pacote de BPLs especiais, mesmo que haja o exemplo indicado neste tópico.
3.2. Cenários sem possibilidade de liberação de arquivo especial
Abaixo seguem alguns exemplos de casos que não há possibilidade de liberação de pacotes especiais:
- Atendimento de cenários relacionado a Exigência Legal ou Implementação/Melhoria;
- Liberações que tiveram alteração em campos/tabelas do banco de dados (alteração de TBS);
- Liberações que exigem alteração maior em rotinas do código-fonte do sistema, o que impede o repasse;
- Liberações de ajustes de em versões que não sejam versões 'Em Disponibilidade Comercial', conforme PCVV - Política do Ciclo de Vida das Versões;
- Liberação de ajustes em releases desatualizadas.
4. Como a Senior efetua o controle de arquivos especiais liberados?
Quando falamos de controle sobre a liberação de pacotes especiais, podem haver diferenciação destes controles conforme o sistema utilizado.
Além disso, é necessário ter em mente de que Controle da Liberação é diferente do Controle de Aplicação dos pacotes no ambientes.
Abaixo seguem informações específicas sobre liberação e aplicação de pacotes especiais para alguns sistemas Senior:
4.1. Gestão Empresarial | ERP e Gestão Empresarial | ERP GOUP
4.1.1. Processo de controle de liberação de pacotes especiais:
O processo de controle de liberação de pacotes especiais é efetuado apenas em rotinas específicas de Produto considerando o seguinte conjunto de informações:
- Código do Cliente (código da Proprietária);
- Ambiente (Produção e Homologação)
- Versão;
Para uma melhor exemplificação desse processo, considere um exemplo de informações abaixo:
- Código do Cliente (código da Proprietária): 99999 (Nome Cliente: Empresa ABC)
- Ambiente: Produção
- Versão: 5.10.4.58
A partir dessas informações, as equipes de Manutenção/Desenvolvimento internas da Senior efetuam um processo de controle conforme descrito abaixo:
1. Sendo o primeiro pacote especial a ser liberado com o conjunto de dados indicado acima, o Desenvolvimento efetua uma cópia do branch da versão 5.10.4.58, criando então o branch** específico para o Cliente 9999-Empresa ABC para ambiente de Produção;
2. Após a criação do branch, a equipe de Desenvolvimento efetua as alterações no código-fonte;
3. Em seguida, é efetuada a compilação do código-fonte e efetuada a liberação do pacote de arquivos especiais;
4. Caso haja a solicitação de uma nova liberação especiais para o mesmo conjunto de informações (Cliente + Ambiente + Versão), o Desenvolvimento localiza a existência deste branch e não cria um novo, apenas efetua a alteração no código-fonte no branch já existente.
Observação
- **Branch é o termo utilizado no processo de desenvolvimento de Software onde você cria versões do código-fonte diferentes, sem que as alterações efetuadas neste branch afetem outros branches. Na prática, a partir do momento que gera-se um branch específico para um Cliente, ele se torna único, e as alterações geradas neste branch não estarão automaticamente disponíveis para todos os Clientes (exceto quando essa alteração for liberada em uma versão oficial do sistema).
- O pacote de BPLs especiais é comumente liberado seguindo um padrão de nomenclatura. Exemplo: PRODUCAO(3039)bpl-99999-empresaabc-5-10-4-58-ap.zip (O final do arquivo pode indicar 'ap' para Ambiente de Produção ou 'ah' para ambiente de Homologação);
- A deleção do branch ocorre pela equipe de Desenvolvimento a partir do momento que um Cliente pediu a liberação de um pacote de especiais para um Ambiente em uma versão mais atual do que a versão anterior cujo branch já existia. Exemplo: existe o branch do ambiente de Produção do Cliente Empresa ABC para versão 5.10.4.58. Quando o Cliente Empresa ABC solicitar um pacote especial para o ambiente de Produção na versão 5.10.4.61, na hora da geração deste pacote a equipe de Desenvolvimento deletará o branch existente do ambiente de produção na versão 5.10.4.58.
Importante
O controle de especiais indicado acima se aplica apenas a rotinas de Produto, não sendo considerado para liberações pontuais de Tecnologia. Para rotinas de Tecnologia, comumente é efetuada a liberação pontual do arquivo sem criação de branch específico, apenas validando que o arquivo liberado tenha compatibilidade entre versão de Tecnologia e Versão de Produto.
4.1.2. Processo de controle de aplicação de pacotes especiais:
Em ambientes OnPremise, é de responsabilidade:
Do Cliente a aplicação adequada do pacote de arquivos especiais e também o controle do pacote que está atualmente aplicado.
Em ambientes Cloud Senior, é de responsabilidade:
- Do Cliente a aprovação para a aplicação do pacote especial em seu ambiente Cloud (isso ocorre mediante o registro de um ticket com equipe de IT Services). Através destas aprovações, o Cliente pode manter o registro de quais arquivos especiais estão atualmente aplicados em seu ambiente Cloud;
- Da equipe de IT Services Senior a aplicação dos pacotes especiais que foram aprovados pelo Cliente através do ticket específico de aplicação.
Observação
Geralmente as tratativas de aplicação de arquivos especiais são efetuados com equipe de IT Services em tickets separados por ambiente (Um ticket para Produção e um ticket para Homologação).
4.2. eDocs
4.2.1. Processo de controle de liberação de pacotes especiais:
O processo de liberação de arquivos especiais (DLLs) no eDocs segue o processo indicado abaixo:
1. A equipe de Desenvolvimento do eDocs é responsável por gerar um branch específico para cada versão que possuir uma DLL especial liberada;
Importante
Diferente do processo do Gestão Empresarial | ERP, é criado um branch por versão do eDocs e não um branch por versão/ambiente/Cliente.
2. Ao fazer a liberação da DLL, o Desenvolvedor responsável pela liberação da DLL insere obrigatoriamente informações no código fonte dessa DLL fazendo com que, quando o sistema for executado com essa DLL, seja gerada uma linha de log do eDocs;
3. O Log do eDocs, quando iniciado com a DLL especial, exibe a seguinte mensagem no cabeçalho da inicialização:
Senior.SapiensNfe.Processos.Sistema.Aplicacao.Inicializar - DLL Especial. Issue <Código da Issue>.
Exemplo: Senior.SapiensNfe.Processos.Sistema.Aplicacao.Inicializar - DLL Especial. Issue MNTSDE-3030.
Log Monitor.Log
Log Sde.log
Importante
- Esse trecho do Log poderá ser exibido em qualquer componente do eDocs, desde que o mesmo tenha sido inicializado com a DLL especial, Desta forma se, por exemplo, a DLL for aplicada na pasta Sde e na pasta Monitor\bin, tanto o log Sde.log como o log Monitor.log apresentarão o trecho do log (Sde.log quando o Serviço for inicializado e Monitor.log quando o Monitor for inicializado no IIS);
- O log também é exibido na tela Configurações / Logs do Monitor do eDocs;
- Issue é o termo interno que a Senior utiliza para registro das atividades das equipes de Desenvolvimento (é o equivalente a um ticket aberto para o Suporte).
4.2.2. Processo de controle de aplicação de pacotes especiais:
Em ambientes OnPremise, é de responsabilidade:
Do Cliente a aplicação adequada do pacote de arquivos especiais e também o controle do pacote que está atualmente aplicado.
Em ambientes Cloud Senior, é de responsabilidade:
- Do Cliente a aprovação para a aplicação do pacote especial em seu ambiente Cloud (isso ocorre mediante o registro de um ticket com equipe de IT Services). Através destas aprovações, o Cliente pode manter o registro de quais arquivos especiais estão atualmente aplicados em seu ambiente Cloud;
- Da equipe de IT Services Senior a aplicação dos pacotes especiais que foram aprovados pelo Cliente através do ticket específico de aplicação.