CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da...
Transcript of CONSOLIDAÇÃO DA DOCUMENTAÇÃO TÉCNICA...A sua estrutura de arquivos de configuração ficaria da...
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
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
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/).
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
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,
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.
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>
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).
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" />
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:
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
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.
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
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
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:
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;
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).
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
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
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
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
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
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
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
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/
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
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
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
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/
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.