Anda di halaman 1dari 32

Secretaria da Fazenda do Distrito Federal

Documento de Arquitetura de
Software
Documento de Arquitetura de
Software

Histrico de Reviso
Data Verso Descrio Autor Revisor

Confidencial CAST Informtica S.A., 2017 Pgina 2 de 32


Documento de Arquitetura de
Software

ndice
1. Introduo 5
1.1 Objetivo 5
1.2 Escopo 5
1.3 Definies, Acrnimos, e Abreviaes 5
1.4 Referncias 5
1.5 Viso Geral 5

2. Arquitetura da Aplicao 5
2.1 Representao da Arquitetura 6
2.2 Objetivos e Restries da Arquitetura 6
2.3 Critrios da Avaliao Arquitetural 6
2.4 Arquiteturas Descartadas 6
2.5 Anlise da Arquitetura Imposta pelo Cliente 6

3. Viso de Casos de Uso 7


3.1 Realizao de Casos de Uso 7

4. Viso Lgica 8

4.1 Estrutura de Camadas 8


4.1.1 Padres utilizados 8
4.1.2 Viso das camadas 8

4.2 Diviso de Componentes 11


4.2.1 Viso dos componentes 8
4.2.2 Tecnologias adotadas 8
4.2.3 Componentes bsicos 8

4.3 Estratgia de reuso 11

5. Viso de Processos 12

6. Viso de Implantao 13

7. Viso de Implementao 14

8. Viso dos Dados 16

9. Estratgia de Desenvolvimento/Compra/Reutilizao 16

10. Tamanho e performance 17

11. Pr-requisitos e Restries de Ambiente 20


11.1 Ambiente de Desenvolvimento 20
11.2 Ambiente de Testes 21

Confidencial CAST Informtica S.A., 2017 Pgina 3 de 32


Documento de Arquitetura de
Software

11.3 Ambiente de Produo 21


11.4 Ambiente de Integrao 22

12. Prova de Conceito Arquitetural 22


12.1 Descrio 22
12.2 Critrios de Avaliao 22
12.3 Tempo e Esforo 22
12.4 Viso da Prova de Conceito 22
12.5 Resultados Obtidos 22

13. Qualidade 23

Confidencial CAST Informtica S.A., 2017 Pgina 4 de 32


Documento de Arquitetura de
Software

Documento de Arquitetura de Software


1. Introduo

Este documento apresenta a arquitetura proposta para portais internos da Secretaria de Fazenda
do Distrito Federal. A arquitetura apresentada atravs de um conjunto de vises que juntas visam
cobrir os principais aspectos tcnicos relativos ao desenvolvimento e implantao do sistema em
questo. O objetivo capturar e formalizar as principais decises tomadas com relao
arquitetura do sistema.

1.1 Objetivo

Este documento tem como objetivo apresentar uma arquitetura para sistemas que possuem
caractersticas de portais externos que exigem alta escalabilidade.

1.2 Escopo

O escopo deste documento documentar as partes significativas do ponto de vista da arquitetura,


como sua diviso em camadas e pacotes.

1.3 Definies, Acrnimos, e Abreviaes

Secretaria da Fazenda do Distrito Federal - Sefaz

1.4 Referncias

Documento de arquitetura de software SEFAZ, nele descreve o framework utilizado e os


componentes integrantes.

1.5 Viso Geral

Este documento est organizado em tpicos relacionados s diferentes vises arquiteturais.

2. Arquitetura da Aplicao

Esta seo descreve as caractersticas da arquitetura do sistema e os detalhes da avaliao das


alternativas arquiteturais avaliadas. A seo tambm descreve a avaliao de impacto da
arquitetura imposta pelo cliente, caso aplicvel.

Confidencial CAST Informtica S.A., 2017 Pgina 5 de 32


Documento de Arquitetura de
Software

2.1 Representao da Arquitetura

Os sistemas sero desenvolvidos tendo como base a arquitetura multicamadas aderente


arquitetura orientada a servio utilizando WCF (Windows Communication Foundation), WebServices
e ASP. NET na camada de apresentao.

2.2 Objetivos e Restries da Arquitetura

A arquitetura proposta tem como objetivo disponibilizar um portal acessvel e escalvel, utilizando
camadas separadas fisicamente e aderentes arquitetura SOA, expondo funcionalidades de
negcios ou aplicao.

2.3 Critrios da Avaliao Arquitetural

Os critrios utilizados para a seleo da soluo arquitetural foram:

Escalabilidade
Manutenibilidade
Segurana
Acessibilidade e Usabilidade
Integrao

2.4 Arquiteturas Descartadas

Por determinao da Sefaz e para reaproveitar toda infraestrutura de cdigo disponvel no foi
avaliada outra plataforma, porem outras tecnologias da plataforma .net foram avaliadas.

Utilizao de WebForms: foi descartada pela dificuldade e/ou impossibilidade de trabalhar com
frameworks Javascripts, pois no desenvolvimento no obtemos total controle do HTML gerado, no
garantindo as acessibilidade desejada.

Confidencial CAST Informtica S.A., 2017 Pgina 6 de 32


Documento de Arquitetura de
Software

3. Metas e Restries de Arquitetura

Softwares Utilizados

Para execuo do sistema ser necessria a instalao dos seguintes softwares:


.Net (DotNet) FrameWork 3.5;
ADO .Net (DotNet) para Oracle;
IIS - Internet Information Service;
Sistema operacional Windows 2003 Server;
Microsoft Visual Studio 2008 Professional Edition.

Caso no sejam instalados os softwares descritos acima a aplicao no ir funcionar como esperado ou
pode nem ser inicializada.

Disponibilidade

Para garantir uma alta disponibilidade os sistemas devem segmentar suas funcionalidades de
forma a aplicar uma distribuio para execuo das suas aplicaes separadas.
Aplicao que envolve processamento batch, recomenda-se no ser executada dentro do IIS;
Funcionalidade que envolve grande quantidade de acesso em uma aplicao distinta, isso evitar
a sobrecarga do ISS em uma nica aplicao que somente conseguir tratar aproximadamente
500 conexes simultneas. (Este item ser atendido quando o hardware tambm suportar tal
intensidade de acesso)

Escalabilidade
Os sistemas devem ser construdos de forma a manter uma escalabilidade vertical,
principalmente para sistemas que possua um grande volume de acesso.

Manutenibilidade
Os componentes devem ser construdos de forma a distribuir o processamento do sistema, e
descentralizar os componentes.
Os componentes dos sistemas produzidos devero manter as nomenclaturas disponibilizadas
neste documento;
Manter o padro de classes e componentes por este documento mencionado

Segurana

Para garantia de segurana do sistema que transacione informao com o contribuinte deve ser instalado
um certificado digital para servidor, que esteja em conformidade com a ICP-Brasil. O acesso a todos os
webservice dever ser feito atravs de uma conexo segura em protocolo HTTPS. O servidor deve
requisitar uma autenticao do cliente atravs de um certificado ICP-Brasil, na qual o IIS verificar se a
cadeia de certificao enviada pelo contribuinte vlida para estabelecer uma conexo segura.
Todas as transaes na qual utilizado login e senha disponvel ao contribuinte devem se estabelecidas
atravs de uma rea segura mantida por SSL (HTTPS).

Confidencial CAST Informtica S.A., 2017 Pgina 7 de 32


Documento de Arquitetura de
Software

4. Viso Lgica

4.1 Estrutura de Camadas

4.1.1 Padres utilizados

Padres de Projetos fundamentais na estruturao da framework:


Proxy;
Facade;
Business Delegate;
Business Object;
Data Transfer Object;
Data Access Object;
Intercepting Filter;
Singleton.

4.1.2 Viso das camadas

Demonstrao da organizao das camadas para aplicaes desenvolvidas em acordo com essa
arquitetura.

Camada de Apresentao
Essa camada conter todas as interfaces visuais, na qual interagir diretamente com o usurio do
sistema. E estar subdividida em:
Visual: contem a pgina Web, e as referencias adequadas para Designer. Observaes:
Deve-se se evitar qualquer tipo de desenvolvimento de cdigo em C# ou linguagem
equivalente nesta camada.
Controle: Contem todos os cdigos necessrios para comunicao entre a camada de
integrao ou negocio, com a pagina Web (Ajax).

Confidencial CAST Informtica S.A., 2017 Pgina 8 de 32


Documento de Arquitetura de
Software

Camada de Servio
Essa camada conter todas as interaes de servio, para integrar remotamente com qualquer
tipo de servio que tambm possui a tecnologia para consumir WebService e WCF (Windows
Communication Foundation). Padro de Projeto utilizado (Proxy).

Camada de Integrao
Essa camada conter as interaes necessrias para integrar a camada de negocio com a
camada de apresentao. A integrao deve ser realizada quando o servidor Web e o servidor de
aplicao estiverem em mquina distinta. Padro de Projeto utilizado (Proxy).

Camada de Negcio
Essa camada conter todas as interaes necessrias para estruturao do negocio do cliente.
Padro de Projeto utilizado (Facade, Data Transfer Object, Business Object).

Camada de Persistncia
Essa camada conter todas as interaes necessrias para integrar o banco de dados com os
objetos de negocio, e separar todo tipo de SQL ou linguagens padres de banco de dados, da camada de
negocio. Padro de Projeto utilizado (Singleton, Data Access Object).

Confidencial CAST Informtica S.A., 2017 Pgina 9 de 32


Documento de Arquitetura de
Software

4.2 Diviso de componentes


4.2.1 Viso dos componentes
Os componentes esto organizados da seguinte forma:

cmp Component Model

Camada de Apresentao

Apresentacao<Sistema> FWK Fw kApresentacao DLL

Camanda de Servio

Ws - WebServ ice

se<Sistema> Compoente de FWK Fw kServ ico DLL


Serv ico DLL

Componentes BACH -
Window s Serv ice

Camada de Negocio

Fw kNegocio -
Componentes Negocio DLL

ne<Sistema> Componente
de Negocio DLL

Fw kUtilitarios - Componentes
Utilitarios da Framew ork DLL

Camada de Persistncia

pe<Sistema> Componente
de Persistencia DLL
FWK - Fw kConexao DLL FWK - Fw kPersistencia DLL

Camada de Apresentao
FWK Apresentao (Nome do componente: MasterPage)
Formulrio definido para ser comum a todos as pginas aspx, podendo ser definido por sistema. Possui
tambm os componentes que podero ser agregados aos formulrios de acordo com a definio de
negcio de cada sistema.

Confidencial CAST Informtica S.A., 2017 Pgina 10 de 32


Documento de Arquitetura de
Software

Sistema - Apresentao (Nome do componente: ContextoVisual.aspx)


Formulrio para definio da interface com o usurio, embarcado pela framework. Este componente gera
automaticamente a tela padro para todas as transaes baseada no contexto da transao. Segue a
tela:

Figura 1

Camada de Servio
ws WebService tecnologia para integrar com outros sistemas, devendo ser apenas
implementados os mtodos de negcios, sem qualquer regra de negcio.
ce Sistema Componente de negcio: Ser uma DLL contendo ao para cada negcio e
integrao com o legado (dlls em Delphi) acessado via WCF.
Componentes BACH Windows Service tecnologia adotada para realizar rotinas Bach, devendo
ser implementado sobre um WebService para manter um status do servio.
FWK Componente Servio: Contem todas as definies de servio que sero definidas como
comum.

Camada de Negocio
ne Sistema Componente de negcio: Ser uma DLL com as regras estabelecidas por cada
negcio.
FWK Componente Negcio: Contem todas as definies de negcio que sero definidas como

Confidencial CAST Informtica S.A., 2017 Pgina 11 de 32


Documento de Arquitetura de
Software

comum.
FWK Componente Utilitrio Framework: Contem todos os componentes utilizando para manter
o funcionamento da framework.

Camada de persistncia
FWK FwkConexao - h uma DLL, especializada em implementar qualquer tipo de conexo, realizando
as transaes com o banco e as manipulaes de dados com o banco.

4.2.2 Tecnologias adotadas


Camada de Apresentao: WebForm, Ajax, Master Page, UserControl, JqGrid, Jquery, JavaScript
Camada de Servio: WebService, WCF
Camada de Integrao: .Net Remoting
Camada de Persistncia: ADO .Net para Oracle

4.2.3 Componentes bsicos


Para agilizar o processo de desenvolvimento, foram desenvolvidos vrios motores para criao da tela
inicial dos sistemas baseados em contexto, visando a padronizao das telas e buscando excelncia no
designe e usabilidade. Segue a descrio dos componentes:

MOTOR PARA INTERPRETAO DE UM MODELO XML

Elaborao e desenvolvimento de um componente capaz de executar as seguintes tarefas:

Consultar o contexto um cdigo de contexto informado e motor captura o contexto no


formato xml;
Inicializar o contexto feita a leitura do xml e armazenamento em memria de todo contexto
em formato de objetos para serem utilizados no motor de gerao de interface;
Construir sql baseada no contexto e filtros do usurio aps a montagem dos filtros pelo usurio
montado a string sql quer far a consulta no banco de dados;
Validao de sql esta funcionalidade valida qualquer string sql formada pelo usurio;
Execuo do sql esta funcionalidade executa o sql construdo e retorna uma lista de dicionrios
contendo os campos e valores formados pelos registro vindo do banco de dados.

MOTOR PARA GERAO DA INTERFACE GENRICA A PARTIR DE UM MODELO XML

Elaborao e desenvolvimento de uma interface padro capaz de executar os seguintes itens:

Nomes de variveis e cabealho do grid mais significativos;


Mscaras no campo valor;
Facilidade para manter regras de filtro includas pelo usurio;
Estudo de um grid funcional e customizvel, com bastante recursos extras para o usurio, como:
pesquisas, filtros, ocultao de colunas, vrias opes de paginao, mltipla seleo, duplo click,
grande quantidade de registros e resposta rpida.

A interface web criada automaticamente a partir de um contexto em formato XML, ter as seguintes
reas:

Parmetros de pesquisa:

Confidencial CAST Informtica S.A., 2017 Pgina 12 de 32


Documento de Arquitetura de
Software

Varivel este controle conter as colunas que podero ser usadas como filtros de pesquisa. O
usurio poder criar regra de filtros obrigatrios;
Operador este controle conter operadores lgicos (>, <, =, etc) para compor a regra de
pesquisa;
Valor este controle contm o valor a ser pesquisado, podendo inclusive ser inserido uma lista
de valores ou selecionar a partir de uma outra tabela;
Conector este controle permite conectar mais de uma regra de pesquisa.

Regras:

Este rea contm as regras de pesquisa inseridas pelo usurio;


Para garantir maior agilidade no processo de pesquisa, o usurio poder alterar valores
diretamente nesta rea para cada regra existente.

Grid com resultado da pesquisa:

Permite visualizao de grandes quantidades de registros com performance razovel para o


ambiente intranet;
Pesquisa e filtros por cada coluna da grid;
Permite ocultar colunas;
Permite incluir uma ao quando o usurio executar um duplo click em uma linha;
Permite visualizar at 1000 registros em uma pgina;
Permite ordenar de forma crescente ou decrescente por qualquer coluna;
Permite multi-seleo de linhas;
Permite o resumo de colunas com grande quantidade de caracteres;
Permite comparao entre colunas.

Barra de aes:

Para todos os contexto ser permitido impresso do grid em pdf, arquivo ou excel. As colunas
podero ser configuradas no contexto ou diretamente no grid de resultado;
Podero ser configurados at oito botes de ao;
Todos os oito botes de ao podero conter sub-aoes;
As aes so configuradas no contexto e podero abrir uma nova tela aspx, chamar um mtodo
em um webservice, dll ou simplesmente imprimir relatrios.

MOTOR PARA GERAO DAS REGRAS DEFINIDAS NO CONTEXTO

Elaborao e desenvolvimento de regras capazes interpretar o negcio, as regras mapeadas neste


primeiro momento so:

Regras implementadas:
tag Colunas id, nome, apelido e formato;
tag Tabelas;
tag Condies clusulas WHERE;
tag Extenses clusulas ORDER BY;
tag Regras - sefViso, sefDeciso, sefObrigatrio, sefLista, sefReferencia.
Contexto de referncia:
tag Colunas alinhamento, mscara e tamanho;

Confidencial CAST Informtica S.A., 2017 Pgina 13 de 32


Documento de Arquitetura de
Software

tag Regras - sefTotalizador, sefArquivo, sefPDF, sefExcel, sefChaveDecisaoInvisivel,


sefComparaValor, sefClasses, sefChave;
tag Aes e sub-Aes - Nome, aplicao, classe, mtodo;
sefNamespace, sefConfirmacao, sefConfirmacaoTexto, sefListaSelecionados;

4.3 Estratgia de Reuso

A estratgia utiliza tecnologia de orientao a objetos e fundamentos da orientao a servio


para re-aproveitamento das funcionalidades que so identificados como componentes. Assim, a
integrao entre as diversas camadas e os componentes sero mais efetivas e menos dependentes. Cada
negcio ir prover seu componente de negcio (DLL) e componente de integrao (Web Service e WCF).

5. Viso de Implantao

Os sistemas so distribudos da seguinte forma:


Servidores Web
Servidores de Aplicao;
Servidores de processamento Bach;
Servidor de Intranet

Estrutura Lgica do funcionamento dos hardwares

Segurana
A aplicao dever estar organizada de forma a conseguir separar fisicamente a interface das
camadas de Negocio, Servio, e Persistncia. Buscando assim, dar uma maior segurana a aplicao.
Quanto h uso de certificado digital, as aplicaes devem ser alocadas em uma rea restrita,
diversa a das aplicaes comuns.

Escalabilidade
A aplicao dever estar preparada de forma a utilizar mltiplos processamentos, possibilitando a
distribuio em mquinas distintas para realizar o processamento.

Manutenibilidade
A aplicao dever estar nas melhores prticas de implementao para que as manutenes
sejam feitas de forma breve, e tambm se adequando e suportando novos ambientes. Viso de
Implementao.

Confidencial CAST Informtica S.A., 2017 Pgina 14 de 32


Documento de Arquitetura de
Software

5.1. Viso Geral


Fluxo de comunicao entre os modelos de classes criadas.

Conexo com o Banco de dados


So determinadas 2 classes responsveis por manter a interao entre o banco de dados e toda
estrutura de negocio. Para satisfazer essa necessidade foram criadas as seguintes classes:
Fachada de Transao: Responsvel por manter o controle transacional e estabelecer a
conexo com o banco;
Fachada de Dados: Responsvel por manter as requisies para realizar operaes com
DML;

Classe responsvel por manter DML


DAO<Negocio>: a partir da idia utilizada pelo padro de projeto Data Access Object,
essa classe conter todas as DML.

Classe de Negocio
TO<Negocio>: a partir da idia utilizada pelo padro de projeto Transfer Object, essa
classe conter as informaes manipuladas entre a Classe de negocio a classe de apresentao e a classe
de persistncia.
BO<Negocio>: a partir da idia utilizada pelo padro de projeto Business Object, essa
classe conter apenas mtodos de negocio. Neste classe no se manipula transao com o banco de
dados.

Classe de Servio
BD<Negocio>: a partir da idia utilizada pelo padro de projeto Business Delegate, essa
classe conter as implementaes as classes de negocio e persistncia, funcionar como uma fachada
para o negocio. Devendo refletir o mtodo que dever ser executado pela inferface.
5.2. Tratamento Especial

Objetos Remotos
Os objetos remotos para descentralizar o servidor de interface ser determinada atravs de
solicitaes utilizando a tecnologia Remoting.Net. Atravs dessa estrutura ser possvel manipular objetos
virtuais em servidores remotos. Evitando a centralizao do processamento quando houver estruturas
complexas.

Controle de Log

Confidencial CAST Informtica S.A., 2017 Pgina 15 de 32


Documento de Arquitetura de
Software

Para controlar todas as interaes realizadas pelo usurio seja o controle de acesso, ou a
execuo de ao ser agregada ao framework classes para controlar os acessos.

Autenticao
Para realizar a autenticao dos sistemas WEB sero utilizados uma interceptao de informao,
pois assim que houver uma requisio na pgina ser enviado ao servidor. Ento a cada requisio todas
as informaes sero monitoradas por uma classe especifica a fim de conceder ou no a permisso.

Conexo com Banco de Dados.


Haver uma ferramenta para implantar uma senha no banco de dados, de forma a repassar ao
controle de produo os meios necessrios para na gerao de senhas na aplicao.

5.3. Estrutura de componentes da Framework

Componentes utilizados na estruturao das funcionalidades da framework:

FwkUtilitrio - componentes responsveis pela estrutura de individuais de tecnologias diversas:


Exemplo: tratamento de arquivo, tratamento de xml, utilizao de FTP, manipulao de pastas e
diretrios, etc.
FwkSeguranca componentes responsveis pela estrutura de segurana: Exemplo: Certificao
digital, criptografia, busca de credenciais no Windows, etc.

FwkApresentacao componentes responsveis pela estrutura de controle de toda pagina


comum. Exemplo: controle de acesso, gerao de menu, distribuir componentes em comum da camada
de apresentao.

FwkServico componentes responsveis pelas configuraes bsicas comuns a todos os


sistemas. Este componente tratara dos servios especficos da framework.

FwkNegocio componentes responsveis pelas configuraes bsicas comuns a todos os


sistemas. Este componente tratara das regras de negocio da framework.

FwkPersistencia componentes responsveis pelas estrutura da acesso ao banco de dados, a


conexo com o banco de dados.

FwkConexao componente responsvel em integrar todas as conexes com o banco de dados.


5.4. Camadas e Classes e Pacotes
Relao de componentes/subsistemas por camadas:

Confidencial CAST Informtica S.A., 2017 Pgina 16 de 32


Documento de Arquitetura de
Software

1. Interface
a. Nome do projeto: app<Sistema>;
b. Referencias necessrias:
i. FwkServico;
ii. FwkNegocio;
iii. FwkApresentao;
c. Nome do pacote: Sefaz.Sistema.Apresentacao;
i. ASPX;
ii. CS;
iii. ASCX;
2. Servio (BD)
a. Nome do projeto: se<Sistema>;
b. Referencias necessrias:
i. FwkNegocio;
ii. FwkPersistencia;
iii. FwkConexao;
c. Nome do pacote: Sefaz.SistemaServico.Servico;
i. BD<Negcio>
3. Negcio (BO e TO)
a. Nome do projeto: ne<Sistema>;
b. Nome do pacote: Sefaz.SistemaNegocio.Negocio;
i. BO<Negcio>
ii. TO<Negcio>
4. Persistncia (DAO)
a. Nome do projeto: pe<Sistema>;
b. Referencias necessrias:
i. FwkConexao;
c. Nome do pacote: Sefaz.SistemaPersistencia.Persistencia
i. DAO<Negcio>
5. Framework Interface
a. Nome do projeto:FwkApresentacao;
b. Referencias necessrias:
i. FwkServico;
ii. FwkNegocio;

Confidencial CAST Informtica S.A., 2017 Pgina 17 de 32


Documento de Arquitetura de
Software

c. Nome do pacote: Sefaz.FwkApresentacao.;


i. ASPX;
ii. CS;
iii. ASCX;
6. Framework Servio (BD)
a. Nome do projeto: FwkServico;
b. Referencias necessrias:
i. FwkConexao;
ii. FwkNegocio;
iii. FwkPersistencia;
c. Nome do pacote: Sefaz.FwkServico.Servico;
i. BD<Negcio>
7. Framework Negcio (BO e TO)
a. Nome do projeto: FwkNegocio;
b. Nome do pacote: Sefaz.FwkNegocio.Negocio;
i. BO<Negcio>
ii. TO<Negcio>
8. Framework Persistncia (DAO)
a. Nome do projeto: FwkPersistencia;
b. Referencias necessrias:
i. FwkConexao;
c. Nome do pacote: Sefaz.FwkPersistencia.Persistencia
i. DAO<Negcio>
9. Framework de Utilitrios neUtilitario
a. (nome do pacote: Sefaz.FwkUtilitario)
10. Framework de Segurana
a. Nome do projeto: neSeguranca;
b. Nome do pacote: Sefaz.FwkSeguranca;
11. Framework de Conexo com banco de dados (ADO)
a. Nome do projeto: FwkConexao;
b. Referencias necessrias:
i. DLL do oracle;
c. Nome do pacote: Sefaz.FwkConexao;
i. FachadaDados;

Confidencial CAST Informtica S.A., 2017 Pgina 18 de 32


Documento de Arquitetura de
Software

ii. FachadaTransao;
iii. FachadaConexao;
iv. ServicoLocConexao;
v. TOConexao;

5.5. Implantao
A implantao poder ser realizada atravs do SISVER. Na atualizao dos componentes que so
desenvolvidos em formato de DLL. Para componentes adversos na qual pertencer prpria tecnologia
do Dot.Net, podero ser implantado atravs do prprio Visual Studio, que possui uma funcionalidade
especifica para implantao dos seus

6. Viso de Implementao

Apresentao
App<Sistema>(Projeto Asp.Net)
Negocio
ne<Sistema>(Biblioteca de Classes)
se<Sistema>(Biblioteca de Classes)
pe<Sistema>(Biblioteca de Classes)
ce<Sistema> (Biblioteca de Classe)
Servio
Web Services
ws<Sistema> (Servios web)
WCF
Bs<Sistema> (Biblioteca de Servios)
Host
sw<Sistema> (Instalador servio Windows)
hs<Sistema> (Host de aplicao IIS)

Confidencial CAST Informtica S.A., 2017 Pgina 19 de 32


Documento de Arquitetura de
Software

Viso Visual Studio

Exemplo de implementao (UC Manter Remessa)

Neste exemplo, ser mostrada a realizao do caso de uso Manter Remessa do sistema
CCRWeb utilizando a framework visual baseada em contexto.

Confidencial CAST Informtica S.A., 2017 Pgina 20 de 32


Documento de Arquitetura de
Software

A primeira parte do projeto a criao do XML que dever seguir um padro de tags e regras
pr-definidas, conforme a necessidade de cada funcionalidade. Segue a imagem do contexto j
construdo (para melhor visualizao, utilizar o zoom):

Confidencial CAST Informtica S.A., 2017 Pgina 21 de 32


Documento de Arquitetura de
Software

Confidencial CAST Informtica S.A., 2017 Pgina 22 de 32


Documento de Arquitetura de
Software

Confidencial CAST Informtica S.A., 2017 Pgina 23 de 32


Documento de Arquitetura de
Software

Confidencial CAST Informtica S.A., 2017 Pgina 24 de 32


Documento de Arquitetura de
Software

Baseado na linguagem XML, o contexto configurado atravs de tags. So elas:

<contextos> - utilizada para abranger os contextos;


<contexto> - utilizada para definir um contexto, que pode ser do tipo principal ou referncia;
o Principal definido para aparecer na tela principal do sistema (figura 1);
o Referncia utilizado como tela de busca e seleo em tabelas secundrias.
<colunas> - utilizada para abranger as colunas do grid;
<coluna> - utilizada para definir cada coluna do grid, com suas propriedades, atributos e regras;
<regra> - define a regra para uma tag pai;
<tabelas> - utilizada para abranger tabelas do contexto;
<tabela> - utilizada para definir cada tabela que da consulta principal do contexto;
<condicoes> - utilizada para abranger as condies do contexto;
<condio> - utilizada para configurar a clusula where do contexto;
<extensoes> - utilizada para abranger as extenses do contexto;
<extensao> - utilizada para configura uma clusula order by ou group by do contexto;
<acoes> - utilizada para abranger as aes do contexto;
<acao> - utilizada para configurar os botes de funcionalidades de determinado contexto. Essas
aes podem chamar:
o Telas aspx;
o Dlls atravs da camada de aes;
o Web services;
<subacoes> - utilizada para abranger as subaes do contexto;
<subacao> - utilizada para configurar botes com subaes, normalmente, usados para
impresso de vrios relatrios;

Alm da definio das tags do contexto, para cada tag necessrio inserir as regras de dada tag.
Segue abaixo a definio de cada regra que poder ser inserida em uma contexto:

sefVisao Define que a coluna ser visvel no grid;


sefDecisao Define que a coluna ser uma varivel para filtro;
sefDecisaoInvisivel Define que a coluna far parte apenas do SQL;
sefLista Define que uma varivel do tipo Lista (um arquivo texto com uma lista de valores);
sefArquivo Define que a coluna far parte do arquivo gerado na ao Arquivo;
sefPdf - Define que a coluna far parte do arquivo gerado na ao PDF;

Confidencial CAST Informtica S.A., 2017 Pgina 25 de 32


Documento de Arquitetura de
Software

sefCompararValor Define que o contedo da coluna ser comparado com outra coluna e a cor
azul ser mostrada no grid se o valores forem iguais, do contrrio mostrar a cor vermelha;
OBS: Todas as colunas podem ter um atributo chamado mascara. Esse atributo aplicado na
tela principal no campo Valor. As possveis mscaras so: data, cpf, cnpj, cfdf,
numerico, alfabeto, alfanumerico;
sefNamespace Dll ou WebService que poder ser chamado no click da ao/subao;
sefModal Nome da tela aspx que ser aberta no click do boto da ao/subao;
sefListaParametros Ser enviado uma lista como parmetro na chamada do Namespace
ao/subao;
sefDuploClick Ser disparado ao ou abertura de um modal ao dar um duploclick no Grid
ao/subao.

Aps a definio do contexto o desenvolvedor dever construir as suas telas aspx, programar aes e
transaes nos WebServices.

7. INTERFACE

7.1 Viso

A organizao da estrutura de interface ser administrada atravs das seguintes classes:

FwkPageBaseMaster: classe responsvel em manter a visualizao necessria para a Classe


Principal;
FwkPageBaseDetail: classe responsvel em manter a visualizao necessria para a Classe
Intermediaria;
FwkPageBase: contm toda as estruturas responsvel pelo controle de Autenticao, Dados para
exibio do componente de menu e informaes necessrias para controle de acesso.
MasterPage: o objetivo da utilizao da MasterPage padronizar toda e qualquer pagina principal
dos projetos a serem criados no requisito visual. Na qual j ter agregado os menus, e a
estrutura de autenticao, e os controles de acesso.
Ajax: deve ser utilizado na rea que possua o envio de informaes para requisio do servidor.
JQGrid: componente grid padro utilizado em todas as telas. O mesmo utiliza tecnologia jquery e
foi customizado para atender as necessidades das aplicaes da Sefaz.

Confidencial CAST Informtica S.A., 2017 Pgina 26 de 32


Documento de Arquitetura de
Software

7.2 Estrutura bsica para organizao da interface

A criao das estruturas bsicas de interface deve ser orientada pela seguinte tela. Observaes: as
orientaes repassadas neste documento no sero determinantes para estabelecer o designer da
pgina e sim para orientar a organizao dos componentes de interface. No ser utilizado
MasterPage nas paginas de manipulao de funcionalidade apenas nas paginas principais dos
projetos.
Exemplo para controle de manipulao de Tela:
Visualizao antes da consulta:

Funcionalidades propostas na tela de consulta:


Boto de realizao de incluso <Novo>;
rea - Parmetros de pesquisa: composta pelos controles
o Varivel so os campos definidos pelo usurio que compes as regras de pesquisa
da transao;
o Operador operador utilizado para montar a regra, podendo ser inclusive uma lista
de valores;
o Valor informao que dever ser buscada;
o Conector caso o usurio necessite encadear regras o uso do conector (ou/e)
obrigatrio.
Boto de <Adicionar regra>;
rea Regras est rea permite ao usurio:
o Visualizar as regras adicionadas;
o Excluir regras, atravs de um checkbox;
o Alterar diretamente os valores no campo de texto sem a necessidade de excluir ou
incluir nova regra.
Link que oculta a opo dos filtros de pesquisa <Ocultar filtros de pesquisa>, veja exemplo:

Confidencial CAST Informtica S.A., 2017 Pgina 27 de 32


Documento de Arquitetura de
Software

Boto para excluir uma regra <Excluir>


Boto para realizao da consulta <Consultar>;

Visualizao aps a consulta:

Funcionalidades propostas na tela resultado da consulta:


Grupo de botes de relatrios <Relatrios>;
Grupo de botes de gerar arquivos <Gerar arquivos>. Padro para todas as telas, gera
arquivo texto, pdf e excel de toda a consulta ou customizada pela seleo de linhas e filtro
de colunas visveis;
Botes de aes definidos no contexto. Estes botes quando acionados chamaro aes ou
telas aspx (Ex: Preparar, Gerar e etc);
Boto <Limpar>. Retorna a configurao de Consulta;

Boto de refresh do grid ;


Boto de filtro de registros na grid depois do resultado da consulta . Na tela abaixo
possvel pesquisar valores por qualquer coluna e aplicar dezenas de controles (>, <, =, <>,
no nulo, nulo e etc);

Confidencial CAST Informtica S.A., 2017 Pgina 28 de 32


Documento de Arquitetura de
Software

Boto que torna visvel ou invisvel coluna do grid

Visualizao de mensagem de confirmao:

Funcionalidades propostas para mensagens so:

Confidencial CAST Informtica S.A., 2017 Pgina 29 de 32


Documento de Arquitetura de
Software

Mensagem de confirmao (com ou sem informao de um motivo ou observao);


o Boto [Fechar] e [Gravar]
Mensagem de informao;
o Boto [ok];
Mensagem de alerta;
o Boto [ok];

Visualizao de funcionalidade para Incluso e Alterao de informaes;

Funcionalidades propostas na tela possuem os seguintes controles e funes:


Boto de realizao de confirmao da operao <Salvar>;
Boto de realizao de cancelamento da operao <Cancelar>;
Informa atravs de (*) os campos obrigatrios;
Destaca o campo que est sendo editado.

Visualizao de funcionalidade quando h uma inconsistncia;

Confidencial CAST Informtica S.A., 2017 Pgina 30 de 32


Documento de Arquitetura de
Software

7.3 Relatrios

Confidencial CAST Informtica S.A., 2017 Pgina 31 de 32


Documento de Arquitetura de
Software

Para a gerao de relatrios, a estrutura padro ser a criao de pginas web com todas as
informaes necessrias e definidas nos relatrios, de acordo com cada negcio, e a partir desta
pgina ser gerada a informao no formato que for necessrio ou definido pelo usurio. Paginao
poder ser visualizada atravs de abas e como padro o boto imprimir, conforme figura abaixo.
J na tela de consulta (principal) poder at ser gerados a partir das Grids arquivos Textos, Pdf
ou Arquivos Excel, contendo o resultado das consultas.
Visualizao bsica de um relatrio;

Confidencial CAST Informtica S.A., 2017 Pgina 32 de 32

Anda mungkin juga menyukai