Transcript
Page 1: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

CONSOLIDAÇÃO DA

DOCUMENTAÇÃO TÉCNICA

ARQUITETURA DE SISTEMAS - AS

Versão 01.00.00

Salvador (BA), dezembro de 2018

SEFAZ-BA Secretaria da Fazenda do Estado da Bahia SGF Superintendência da Gestão Fazendária DTI Diretoria de Tecnologia da Informação GEPIN Gerência de Politicas da Informação

Page 2: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 2 Consolidação_tecnica_AS_VS_02_R4.docx

CONTROLE DE VERSÃO

Versão Data Responsável Histórico

01.00.00 19/11/2019 AS Criação do Documento

Page 3: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 3 Consolidação_tecnica_AS_VS_02_R4.docx

RESUMO

O presente documento contempla os Padrões de Elaboração Documentos a serem

adotados pelos desenvolvedores da Secretaria da Fazenda do Estado da Bahia. Esse

Manual abrange os padrões de formatação de Manuais, Modelos e Artefatos da

Metodologia de Desenvolvimento e Manutenção de Sistema (MDMS), como também

pela Administração de Dados para a documentação de padrões e procedimentos.

Todos os Manuais citados acima podem ser acessados através do PRT – Procedimentos de

Rotinas de Tecnologia (http://prt.sefaz.ba.gov.br/).

Page 4: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 4 Consolidação_tecnica_AS_VS_02_R4.docx

Índice

1. INTRODUÇÃO ........................................................................................................... 5

2. PADRÃO DE ARQUIVOS DE CONFIGURAÇÃO ................................................ 5

3. URLs DOS REPOSITÓRIOS DE COMPONENTES SEFAZ E SONAR ........... 10

4. MENU HORIZONTAL ANGULAR ....................................................................... 15

5. NOVAS DIRETRIZES PARA INTEGRAÇÕES DE SISTEMAS ....................... 15

6. TEMPLATES DE MENU – SISTEMA PRINCIPAL E SEUS MÓDULOS ....... 17

7. PADRÃO DE DESENVOLVIMENTO, LAYOUT/IDENTIDADE VISUAL E

UTILIZAÇÃO DE COMPONENTES PARA TODOS OS PROJETOS DA INDRA 24

Page 5: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 5 Consolidação_tecnica_AS_VS_02_R4.docx

1. INTRODUÇÃO

Este documento contém a consolidação de todos os padrões e boas práticas encaminhados

pela equipe AS, até o momento. Nesta versão foi contemplado dois novos itens: Padrão dos

arquivos de configuração e URLs dos Repositórios de componentes SEFAZ e Sonar.

2. PADRÃO DE ARQUIVOS DE CONFIGURAÇÃO

2.1. Aplicações - LEGADO

Para a correta aplicação do padrão sugerido, é necessário que as estruturas de arquivos de

configurações obedeçam às recomendações exemplificadas a seguir.

Para efeito de exemplo, utilizaremos o sistema legado SLCT. A sua estrutura de arquivos de

configuração ficaria da seguinte maneira:

-ASLIB.config

Este arquivo deverá conter as chaves referente à configuração do ASLIB na aplicação.

É possível informar uma chave do tipo “autenticação”, e atribuir valores relativos à mesma

como, por exemplo, “habilitar” ou “não” o certificado digital.

Este arquivo poderá conter configurações do Crystal Reports e deverá conter uma chave

referenciando a connectionString a ser utilizada.

Exemplo de uso:

<Add key="DefaultConnectionString" value="HOMOLOGACAO"/>

-ConnectionStrings.config

Deve conter apenas a chave com a connectionString referente ao ambiente onde

o arquivo será publicado.

-Packages.config (Padrão do .NET)

Exemplo de uso:

<package id="Microsoft.AspNet.WebApi.Core" version="5.2.4"

targetFramework="net452" />

<package id="Microsoft.AspNet.WebApi.Cors" version="5.2.3"

targetFramework="net452" />

-SLCT.config

Este arquivo substitui o “appSettings.config”. Aqui deverão estar todas as configurações que

dizem respeito apenas a esta aplicação. Exemplo de chave: “EmailGestor”,

“Mensagens_de_alerta”.

-Web.config

Deve referenciar o arquivo connectionStrings.config bem como o arquivo que contém as

configurações específicas da aplicação como, SLCT.config.

IMPORTANTE: Não é permitido informar login e/ou senha nas chaves dos arquivos de

configuração sem que os mesmos estejam criptografados. A exceção para este caso é para

acessos FTP onde, por inviabilidade técnica, não seja possível o uso da criptografia e,

Page 6: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 6 Consolidação_tecnica_AS_VS_02_R4.docx

portanto, devendo ser tratado o assunto junto às áreas de Arquitetura, Infraestrutura e

Segurança.

-RegExUrlMapping.config

Configuração de rotas via expressão regular do ASLIB

2.2. API | .NET 4.5.2 com ASLIB 2.2.0

Para a correta aplicação do padrão sugerido, é necessário que as estruturas de arquivos de

configurações obedeçam às recomendações exemplificadas a seguir.

Para efeito de exemplo, utilizaremos a API NBPA. A sua estrutura de arquivos de

configuração ficaria da seguinte maneira:

-NBPA.config

Aqui estarão todas as configurações que dizem respeito apenas a esta aplicação.

Nota: Embora esta aplicação tenha sido utilizada no exemplo, atualmente ela não atende ao

padrão pois utiliza o arquivo -appSettings.config em detrimento ao recomendado.

Exemplo de uso:

<add key="ano_inicio_etapa" value="2015" />

-Packages.config (Padrão do .NET)

Este arquivo contém uma lista dos componentes utilizados no projeto e suas respectivas

versões, bem como frameworks.

Exemplo de uso:

<package id="Microsoft.AspNet.WebApi.Cors" version="5.2.3"

targetFramework="net452" />

-Web.config

Deve referenciar o arquivo connectionStrings.config bem como o arquivo que contém as

configurações específicas da aplicação como, NBPA.config.

IMPORTANTE: Não é permitido informar login e/ou senha nas chaves dos arquivos de

configuração sem que os mesmos estejam criptografados. A exceção para este caso é para

acessos FTP onde, por inviabilidade técnica, não seja possível o uso da criptografia e,

portanto, devendo ser tratado o assunto junto às áreas de Arquitetura, Infraestrutura e

Segurança.

Page 7: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 7 Consolidação_tecnica_AS_VS_02_R4.docx

2.3. ANGULAR

Para a correta aplicação do padrão sugerido, é necessário que as estruturas de arquivos de

configurações obedeçam às recomendações exemplificadas a seguir.

Para efeito de exemplo, utilizaremos a solução Angular NBPP (com Service Worker). A sua

estrutura de arquivos de configuração ficaria da seguinte maneira:

-Web.config

Este arquivo torna-se necessário para aplicativos Angular apenas para habilitar a

funcionalidade de URL Rewrite no servidor IIS, e expor as rotas de comunicação, protocolos

de compatibilidade de browser, e o nome da página principal que será aberta ao acessar o

endereço da mesma via navegador, por exemplo.

Exemplo de uso:

<rewrite>

<rules>

<rule name="NBPP Routes" stopProcessing="true">

<!-- Combinar tudo por padrão -->

<match url=".*" />

<conditions logicalGrouping="MatchAll">

<!-- Negar se for um arquivo -->

<add input="{REQUEST_FILENAME}" matchType="IsFile"

negate="true" />

<!-- ou um diretório -->

<add input="{REQUEST_FILENAME}" matchType="IsDirectory"

negate="true" />

<!-- ou se estiver abaixo do diretório /api -->

<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />

</conditions>

<!-- redireciona para /index.html -->

<action type="Rewrite" url="/index.html" />

</rule>

</rules>

</rewrite>

Page 8: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 8 Consolidação_tecnica_AS_VS_02_R4.docx

2.4. API com ASLIB 2.2.0 ou 3.0.0 | ANGULAR

Para a correta aplicação do padrão sugerido, é necessário que as estruturas de arquivos de

configurações obedeçam às recomendações exemplificadas a seguir.

Para efeito de exemplo, utilizaremos a solução API FCAS. A sua estrutura de arquivos de

configuração ficaria da seguinte maneira:

- ASLIB.xml

Configurações referentes ao ASLIB e conexão com o banco de dados.

-Packages.config (Padrão do .NET)

Este arquivo contém uma lista dos componentes utilizados no projeto e suas respectivas

versões, bem como frameworks.

Exemplo de uso:

<package id="Microsoft.AspNet.WebApi.Cors" version="5.2.3"

targetFramework="net452" />

-FCAS.config

Este arquivo substitui o “appSettings.config”. Aqui deverão estar todas as configurações que

dizem respeito apenas a esta aplicação.

-Web.config

Para o Backend:

Deve referenciar o arquivo connectionStrings.config bem como o arquivo que contém as

configurações específicas da aplicação como, NBPA.config.

IMPORTANTE: Não é permitido informar login e/ou senha nas chaves dos arquivos de

configuração sem que os mesmos estejam criptografados. A exceção para este caso é para

acessos FTP onde, por inviabilidade técnica, não seja possível o uso da criptografia e,

portanto, devendo ser tratado o assunto junto às áreas de Arquitetura, Infraestrutura e

Segurança.

Para o FrontEnd:

Pode conter ou não o arquivo “web.config” na raiz do pacote publicável. Caso tenha, atentar

para a informação da página inicial do sistema, ou seja, observar as configurações de rotas

(url rewrite).

Page 9: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 9 Consolidação_tecnica_AS_VS_02_R4.docx

2.5. .NET 4.5.2 com Entity Framework 6.X + ASLIB.ENTITY

Para a correta aplicação do padrão sugerido, é necessário que as estruturas de arquivos de

configurações obedeçam às recomendações exemplificadas a seguir.

Para efeito de exemplo, utilizaremos a aplicação MFCVI ou SIGEP. A sua estrutura de

arquivos de configuração ficaria da seguinte maneira:

-ConnectionStrings.config

Deve conter apenas a chave com a connectionString referente ao ambiente onde o arquivo

será publicado.

-Packages.config (Padrão do .NET)

Este arquivo contém uma lista dos componentes utilizados no projeto e suas respectivas

versões, bem como frameworks.

Exemplo de uso:

<package id="Microsoft.AspNet.WebApi.Cors" version="5.2.3"

targetFramework="net452" />

-Web.config

Deve referenciar o arquivo connectionStrings.config bem como o arquivo que contém as

configurações específicas da aplicação como, MFCVI.config.

IMPORTANTE: Não é permitido informar login e/ou senha nas chaves dos arquivos de

configuração sem que os mesmos estejam criptografados. A exceção para este caso é para

acessos FTP onde, por inviabilidade técnica, não seja possível o uso da criptografia e,

portanto, devendo ser tratado o assunto junto às áreas de Arquitetura, Infraestrutura e

Segurança.

2.6. ASLIB ORM

Para a correta aplicação do padrão sugerido, é necessário que as estruturas de arquivos de

configurações obedeçam às recomendações exemplificadas a seguir.

Para efeito de exemplo, utilizaremos a aplicação PPFF. A sua estrutura de arquivos de

configuração ficaria da seguinte maneira:

- ASLIB.xml

Não é necessário conter informações específicas de banco de dados Ex: instância, banco,

timeout etc.

-Packages.config (Padrão do .NET)

Este arquivo contém uma lista dos componentes utilizados no projeto e suas respectivas

versões, bem como frameworks.

Exemplo de uso:

<package id="Microsoft.AspNet.WebApi.Cors" version="5.2.3"

targetFramework="net452" />

Page 10: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 10 Consolidação_tecnica_AS_VS_02_R4.docx

-Web.config (Padrão do .NET)

Deve referenciar o arquivo connectionStrings.config bem como o arquivo que contém as

configurações específicas da aplicação como caso seja necessário. Não é obrigatório a

existência do arquivo de configuração do escopo da aplicação (ex.: PPFF.config).

3. URLs DOS REPOSITÓRIOS DE COMPONENTES

SEFAZ E SONAR

Foi realizada a migração do TFS 2010 para o TFS 2018, bem como evoluímos nosso

gerenciador de pacotes, permitindo reunir todos os repositórios em um só servidor

(tfs.sefaz.ba.gov.br).

Desta forma, todos estes repositórios terão função de proxy e cache o que vai proporcionar

melhorias consideráveis dentre elas as seguintes:

1. Mais segurança com varredura e proteção do antivírus;

2. Armazenamento dos componentes permitidos em cache local;

3. Redução de tráfego de rede para internet;

4. Possibilidade de invalidar todo o cache, caso necessário;

5.ZPossibilidade de permitir/proibir download de componentes não autorizados;

6. Remover componente específico do cache;

7. Centralização do acesso a estes repositórios em um único servidor, não sendo mais

necessária liberação acesso no firewall a URLs respectivas;

8. Pesquisa das versões atuais via web;

9. Acesso ao “help/readme” dos componentes com exemplos via web (Angular e

Typescript);

10.Controle centralizado de atualizações.

Favor verifiquem seus ambientes e atualizem

(caso necessário) conforme listagem abaixo:

Page 11: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 11 Consolidação_tecnica_AS_VS_02_R4.docx

NPM (Angular / Typescript):

http://tfs.sefaz.ba.gov.br:4873/repository/npm/

1. Acessar a o diretório: %userprofile%

2. Abrir o arquivo “.npmrc” que deverá conter apenas a seguinte linha:

registry=http://tfs.sefaz.ba.gov.br:4873/repository/npm/

NUGET (.NET – VB.Net e C#) – Não utilizar o repositório público

http://tfs.sefaz.ba.gov.br:4873/repository/nuget/

Data limite para DESATIVAÇÃO do servidor anterior: 20/09/2018

Como atualizar:

1. No Visual Studio, menu Tools ou Ferramentas escolher NuGet Package

Manager / Gerenciador de Pacotes Nuget

Page 12: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 12 Consolidação_tecnica_AS_VS_02_R4.docx

2. Clicar em Package Sources e substituir o Source do repositório SEFAZ.

Que deverá ser o principal e único.

3. Desmarcar o repositório público do nuget e clicar em OK.

Page 13: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 13 Consolidação_tecnica_AS_VS_02_R4.docx

Page 14: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 14 Consolidação_tecnica_AS_VS_02_R4.docx

Maven (Java):

Proxy: Busca em todos os repositórios privados e públicos

http://tfs.sefaz.ba.gov.br:4873/repository/maven-public/

Componentes internos – Releases (apenas para publicação de componentes,

inicialmente do e-Fiscalização)

http://tfs.sefaz.ba.gov.br:4873/repository/maven-releases/

Componentes internos – Snapshots (apenas para publicação de componentes,

inicialmente do e-Fiscalização)

http://tfs.sefaz.ba.gov.br:4873/repository/maven-snapshots/

URL do Sonar – Apenas criado um DNS, não houve modificação

http://sonar.sefaz.ba.gov.br:9000

VMS FÁBRICAS (informativo):

Portas e servidores necessários para acesso ao TFS, Sonar e Repositórios:

1. Sonar

- Versão Sonar: 7.2.1

– DNS: tfs.sefaz.ba.gov.br

- Servidor atual: NILOPOLIS

a. HTTP 9000

Page 15: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 15 Consolidação_tecnica_AS_VS_02_R4.docx

2. TFS e Repositórios (Nuget, Maven, NPM)

– DNS: tfs.sefaz.ba.gov.br

- Servidor atual: MONTEFORMOSO

a. http 80

b. http 8080

c. http 4873

4. MENU HORIZONTAL ANGULAR

Reitero que o HTML gerado pela GERAD que foi disponibilizado para fábrica conforme e-

mail anexo, foi um protótipo para o desenvolvimento do RF (e-mail anexo) do ASLIB

angular transcrito abaixo:

RF. Desenvolver Componente Menu Horizontal

Desenvolver o componente padrão de menu horizontal, que será utilizado em alguns sistemas

web da SEFAZ, para possibilitar que sistemas que atuem como módulos de outros sistemas

possam manter suas funcionalidades sem a necessidade de alteração do sistema pai em

decorrências de alterações no menu, quando for criada uma nova funcionalidade no módulo.

Observo que o protótipo era apenas para a visualização do layout discutido em reunião, e foi

desenvolvido e disponibilizado apenas para exemplificação da solução, com os recursos e aporte

técnico da equipe Web design da GERAD, sem contemplar os requisitos exigidos para

implementação desta funcionalidade pela Indra.

Portanto, entendemos que os ajustes citados no seu e-mail não cabem a GERAD, e sim faz parte

da demanda do ASLIB Angular que está sob a responsabilidade da Indra.

5. NOVAS DIRETRIZES PARA INTEGRAÇÕES DE

SISTEMAS

Com os primeiros projetos sendo implantados pela nova Fábrica de Software, surgiram

dúvidas sobre as novas diretrizes relativas à integração de sistemas.

Fizemos um alinhamento entre os gerentes das três áreas (GDSAT. GDAF e GEPIN) e o

diretor da DTI sobre este assunto. É importante ressaltar que estas diretrizes buscam

possibilitar o início da mudança do modelo de integração de sistemas da SEFAZ-BA, em

vista dos problemas associados ao modelo atual.

Segue o que ficou acertado. Caso tenham dúvidas e/ou sugestões de complementos/ajustes,

fiquem à vontade para se manifestar:

Page 16: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 16 Consolidação_tecnica_AS_VS_02_R4.docx

1) A regra para integração dos novos sistemas/módulos que serão desenvolvidos com

outros sistemas/módulos existentes é sempre usarmos webservices em detrimento da

integração via procedures de banco de dados.

2) A não utilização de webservices, e consequente integração via procedures, só será

admitida quando alguma dessas hipóteses ocorrer:

a. Se tratar de integração de um novo sistema/módulo com um sistema/módulo com

previsão de desativação em curto ou médio prazo. O objetivo, neste caso, é não gastarmos

recursos com um sistema que deva “morrer” em pouco tempo;

b. O projeto de origem e o projeto alvo da integração fizerem parte do mesmo projeto

pai. Ou seja, não será necessária a utilização de webservices para integração de dois

subprojetos de um mesmo sistema já que o principal objetivo dessa forma de integração é

tornar os processos de negócio independentes entre si;

c. Houver alguma outra forte justificativa para não utilização da integração via

webservices. Esta justificativa pode ser técnica (desempenho ou impossibilidade tecnológica,

etc.) ou relativa a alguma restrição do negócio (impeditivos em relação a prazos e/ou custos

do projeto);

i. Não deverão ser aceitas justificativas baseadas meramente em menor esforço ou menor

custo de implementação;

ii. Não servirá como justificativa a existência prévia de procedure que disponibilize a mesma

integração pretendida;

3) O desenvolvimento dos webservices de integração, tanto no projeto de origem como no

projeto alvo, devem, preferencialmente, ser feitos pela própria Fábrica de Software, com as

seguintes premissas:

a. Para os desenvolvimentos nos sistemas alvo, deverão ser abertos projetos ou subprojetos

específicos;

b. Os gestores e/ou líderes dos sistemas alvo deverão ser envolvidos o mínimo possível, com

as especificações sendo feitas, quando couber, pela própria Fábrica e/ou líder do projeto de

origem;

c. Quando, além da mera integração, houver necessidade de outros ajustes no sistema alvo,

será avaliado, caso a caso, a conveniência desses ajustes serem feitos pela Fábrica ou pela

própria equipe do sistema alvo;

d. A Fábrica deverá fazer a passagem para a equipe do sistema alvo, quando o

desenvolvimento da integração ficar a seu cargo;

4) A área de Administração de Dados (AD) da GEPIN deverá fazer a Governança dos

webservices criados para integração, assim como já o faz para as procedures de bancos de

dados.

a. Antes da criação de um novo webservice de integração, AD deverá ser consultada para

identificar a existência prévia de outro serviço ou procedure que forneça a integração

pretendida;

i. Quando já houver um webservice que ofereça parte da integração pretendida, deve-se dar

preferência para ajustar o webservice existente, ao invés se criar um novo;

Page 17: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 17 Consolidação_tecnica_AS_VS_02_R4.docx

ii. Quando um novo webservice disponibilizar integração que já exista via procedures, AD

deverá fazer uma Avaliação de Impacto com o objetivo de controlar a adaptação das

aplicações existentes para consumo do novo serviço no lugar da integração via banco:

1. As aplicações existentes deverão fazer os ajustes na integração quando de uma nova

versão não corretiva do sistema;

2. Este ajuste poderá ser dispensado quando se tratar de aplicação com previsão de

desativação a curto e médio prazo ou por outra justificativa a ser avaliada caso a caso;

5). Essas diretrizes devem ser adotadas em todos os novos sistemas a serem desenvolvidos

pela SEFAZ-BA, tanto na modalidade de Fábrica de Software como nos desenvolvimentos

internos.

6). Os desenvolvimentos dos webservices de integração deverão seguir as orientações e

padrões técnicos definidos pela área de Arquitetura de Sistemas (AS) e pela equipe de

Infraestrutura da GETEC.

6. TEMPLATES DE MENU – SISTEMA PRINCIPAL E

SEUS MÓDULOS

Pontos Abordados:

- A INDRA apresentou os slides em anexo, mostrando a necessidade do Sistema MFC

(Malha Fiscal Censitária) com ênfase no módulo de verificação de indícios (MFCVI) que

será desenvolvido por essa empresa.

- Foi mostrado a opção atual (existente na SEFAZ) para criação de MENU no Sistema

Principal e nos seus respectivos módulos, sabendo-se que cada Sistema é uma “aplicação”.

OPÇÃO 1(slide)

- Foi apresentada uma proposta para a criação de MENU no Sistema Principal (macro itens)

e MENU interno nos respectivos módulos (subitens), com o objetivo de tornar essas

aplicações mais “independentes”. OPÇÃO 2 (slide)

- Foram apresentados os principais “motivos” e os principais pontos positivos e negativos

dessas duas opções. A INDRA sugere a OPÇÃO 2. Porém queria verificar com as áreas de

AS e GERAT se existe impedimento técnico ou descumprimento de algum padrão interno

SEFAZ, antes de apresentar a proposta para avaliação do Gestor do MFC.

- A GERAT informou que não há impedimentos. Porém informou sobre a necessidade de ser

feito um estudo de viabilidade gráfica antes de emitir um parecer.

- Foi esclarecido pela GERAT e AS que essa solução requer alteração no TEMPLATE

PADRÃO de aplicação web (GERAT) e no ASLIB (AS).

Page 18: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 18 Consolidação_tecnica_AS_VS_02_R4.docx

Pontos Acordados:

- A INDRA enviar esse e-mail com o resumo dos itens tratados nessa reunião, bem como

uma sugestão de itens do MENU (ainda não confirmados pelo Gestor) para a GERAT

realizar o estudo de viabilidade gráfica.

- A GERAT ficou de informar um prazo para retorno deste estudo e apresentará o modelo

(menu) em reunião. A sugestão dessa área é só levar a proposta para o gestor após esse

retorno.

- A GERAT informou que irá considerar a possibilidade “mobile” apesar de não ser um

requisito do Sistema. Também foi informado que há um limite para a quantidade de itens no

Menu interno do módulo (7 itens macros podendo esses terem subitens, sem restrição de

limite de subitens). A ideia é usar MENU HORIZONTAL.

- Após a avaliação da GERAT será apresentada a proposta para o GESTOR. Esse

aprovando, a ideia é aplicar essa mesma solução para os demais módulos do Sistema MFC.

- Aplicação MFC é do setor TRIBUTÁRIO (TEMPLATE ASLIB AZUL), conforme

informado pela GDSAT.

- MENU APLICAÇÃO PRINCIPAL (SISTEMA MFC) - Rascunho

Batimentos

Verificação de Indícios

Monitoramento On-Line

Gestão

- MENU INTERNO DO MÓDULO VERIFICAÇÃO DE INDÍCIOS (SISTEMA MFCVI) -

Rascunho

Menu Cadastro

Tipo de Indício

Ordem de Verificação

Processo de Verificação

Exceção

Menu Fiscalização

Acompanhar Fiscalização

Registrar Manifestação Fiscal

Page 19: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 19 Consolidação_tecnica_AS_VS_02_R4.docx

Menu Consulta

Tipos de Indício

Selecionar Indício para fiscalização

Consultar Indício

Ordens de Verificação de Indícios

Processo de Verificação

Exceção

Importar Dados

Carregar resultados de batimentos

- Os itens de MENU acima podem vim a ser alterados pelo GESTOR, porém deve ser

obedecido o limite de 7(sete) itens para o Menu interno do módulo (sem restrição para os seus

subitens.

Desktop

Page 20: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 20 Consolidação_tecnica_AS_VS_02_R4.docx

Desktop Submenu

Mobile

Page 21: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 21 Consolidação_tecnica_AS_VS_02_R4.docx

Mobile Menu

Desktop

Page 22: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 22 Consolidação_tecnica_AS_VS_02_R4.docx

Desktop Submenu

Mobile_Hover

Page 23: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 23 Consolidação_tecnica_AS_VS_02_R4.docx

Mobile Submenu

Page 24: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 24 Consolidação_tecnica_AS_VS_02_R4.docx

7. PADRÃO DE DESENVOLVIMENTO,

LAYOUT/IDENTIDADE VISUAL E UTILIZAÇÃO DE

COMPONENTES PARA TODOS OS PROJETOS DA

INDRA

Conforme acordado esta ATA, servirá como definição de Arquitetura

PADRÃO DE ARQUITETURA:

1 . Os padrões definidos pela Indra para desenvolvimento de WebAPI utilizados no NBPA

devem ser aplicados e seguidos por todos os projetos, que deverão ser ajustados até no máximo

liberação de uma próxima versão.

LAYOUT / IDENTIDADE VISUAL:

2 . Os sistemas deverão seguir padrão de identidade visual aprovado pela SEFAZ/GERAD,

onde:

FRONT-END

Deve ser desenvolvido utilizando o ASLIB e componentes de terceiros, exceto em casos

excepcionais como o NBPP com layout pré-aprovado pela SEFAZ.

COMPONENTES AUTORIZADOS:

ASLIB – Biblioteca de componentes

@aslib/common 3.0.0-rc.6

@aslib/components 3.0.0-rc.5

@aslib/core 3.0.0-rc.4

@aslib/dual-list 3.0.2

@aslib/enviroment 3.0.0-rc.7

@aslib/grid 3.0.0-rc.6

@aslib/icon 3.0.2

@aslib/input-info 3.0.0-rc.3

@aslib/loading 1.0.0-rc.2

@aslib/modal 3.0.4

Page 25: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 25 Consolidação_tecnica_AS_VS_02_R4.docx

@aslib/security 3.0.0-rc.10

@aslib/template 3.0.0-rc.6

@aslib/theme 3.0.0-rc.5

@aslib/title 3.0.3

ASCAS – Controle de Acesso

@ascas/core 3.0.0-rc.14

COMPONENTES DE TERCEIROS:

§ ANGULAR:

o "@angular/cli": "1.7.4"

o “@angular/**”: “>5.0.0 <6.0.0”

o “typescript”: “>=2.4.2 <2.7.0”

§ DIVERSOS:

· "@ng-bootstrap/ng-bootstrap": "1.1.2" ou “^1.0.0”

· “primeng/inputmask” : “5.2.5”

· “primeng/multiselect” : “5.2.5”

· “primeng/autocomplete” : “5.2.5”

· “primeng/editor”: “5.2.5”

· "@ng-idle/core": "^2.0.0-beta.15"

· "@ng-idle/keepalive": "^2.0.0-beta.15"

· "ng2-currency-mask": "4.4.1"

· "ng-recaptcha": "^2.1.1"

· "underscore": "^1.8.3"

· "rxjs": "^5.5.6"

· "bootstrap": Embutido no ASLIB

· "font-awesome": Embutido no ASLIB

UTILIZAÇÃO:

O exemplo de código para utilização dos componentes está publicado em:

http://poctsf:4873/

Page 26: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 26 Consolidação_tecnica_AS_VS_02_R4.docx

Page 27: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 27 Consolidação_tecnica_AS_VS_02_R4.docx

LAYOUT VISUAL:

PRÉ-LOADING

i. Arquivo .angular-cli.json

ii. Arquivo: index.html

MODAL:

@aslib/modal

Page 28: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 28 Consolidação_tecnica_AS_VS_02_R4.docx

DUAL-LIST:

@aslib/dual-list

Page 29: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 29 Consolidação_tecnica_AS_VS_02_R4.docx

LOADING

@aslib/loading

BUILD E PUBLICAÇÃO:

Utilizar o seguinte padrão de código:

ng build --prod --aot -ec --base-href /sistemas/dscad/-base-href /sistemas/dscad/

Não deverá ser utilizada tag de environment. Ex: --env=hml ou –env=prod, etc. Utilizar

o ASLIB/ENVIROMENT para detecção automática do ambiente.

MIGRAÇÃO ANGULAR 5 – COMPATIBILIDADE COM AOT (Ahead of Time

Compilation):

Seguir roteiro disponibilizado pela Indra em Abril de 2018 (anexo) para atualização e

utilização dos padrões definidos acima. Caso exista versão mais nova disponibilizar

para SEFAZ.

BACK-END:

COMPONENTES:

Todos os componentes devem ser referenciados a partir do Nuget e/ou Nuget SEFAZ.

Para utilização de componentes de terceiros deve ser seguido o seguinte procedimento:

Solicitar prospecção via mantis, com informações do Site, documentação, utilização,

repositório e justificativa. Será realizado download do código, inspeção sonar, avaliação

de identidade visual e caso aprovado, compilado e disponibilizado via Nuget SEFAZ.

O DSCAD, não possuía configuração do repositório da SEFAZ, adicionada url:

http://labas.sefaz.ba.gov.br/sistemas/nuget/nuget/

Page 30: CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da seguinte maneira: -NBPA.config Aqui estarão todas as configurações que dizem

Secretaria da Fazenda do Estado da Bahia 17/12/18

DTI - Diretoria de Tecnologia da Informação

Página - 30 Consolidação_tecnica_AS_VS_02_R4.docx

ARQUITETURA

Padrão de desenvolvimento de Web APIs proposto pela Indra. Todos os projetos

(NBPA já utiliza)

HTTPS

C# .net 4.5.2

EntityFramework 6.1.3

ASLIB.Entity / ASLIB.Security para criptografia das ConnectionStrings

SEGURANÇA / BOAS PRÁTICAS

Web.config: Os itens devem estar criptografados, não devendo conter nenhum item não

autorizado pela área de segurança, mesmo que comentados, como:

Nomes de usuário;

Senhas;

Definições de servidor;

O código fonte não deve possuir trechos de codificação comentados, pois, no controle

de versão (TFVC) é possível realizar comparação com códigos anteriores;

Utilizar padrão de documentação da linguagem.

As configurações de CORS (Cross-origin resource sharing) não devem ser atribuídas

como “*”, ou seja, aberta a todos, o sistema deve possuir configuração para limitar o

acesso apenas ao FontEnd e/ou sistemas permitidos. Utilizar como padrão/exemplo a

configuração já utilizada no NBPA; para utilização por sistemas externos a

comunicação deverá utilizar obrigatoriamente certificado digital.

INSPEÇÃO E AUDITORIA DE CÓDIGO:

Todos os itens citados serão inspecionados;

Inspeção via SonarQube;

Deverá ser realizada pela equipe do projeto em data/hora igual ou imediatamente

posterior a criação do LABEL no TFS;

Será realizada inspeção de confirmação pela equipe responsável AS ou GQS.