Académique Documents
Professionnel Documents
Culture Documents
___________________________________________________________________________
Histrico de Revises
Data
06/08/2014
Verso Descrio
1.0
Elaborao do Documento
Autor
Frank Coelho
1.
Introduo
2.
Objetivos
3.
Consideraes Gerais
4.
Responsabilidades
Fazer parte do comit que decide sobre os problemas que tenham algum impacto
arquitetural.
5.
Referncias
6.
Arquitetura
A arquitetura foi desenvolvida para ser totalmente de alta coeso e baixo acoplamento,
e que ao mesmo tempo fosse independente de tecnologia de soluo existentes no mercado.
Portanto para que a arquitetura conseguisse esse seu objetivo foi desenvolvido o que
chamamos de ltima milha.
6.1.
ltima Milha
6.2.
Banco de dados
Repositrio
Controlador
Exceo
Fachada
WEB
o ASP.Net
o Java Script
o Ajax
o JQuery
Nos prximos captulos iremos discutir cada componente listado anteriormente e qual
o seu papel dentro da arquitetura como um todo, alm de discutir de forma sucinta a
tecnologia e/ou o padro adotado para a implementao do mesmo.
6.3.
Banco de Dados
6.4.
Repositrio
6.5.
Controlador
6.6.
Excees
6.7.
Fachada
6.8.
WEB
6.9.
Definio e finalidade?
As trs camadas...
A camada de apresentao cuida da interao entre o usurio e o software. Pode ser
to simples quanto um sistema de linha de comando, ou um cliente rico com interface grfica
ou ainda um sistema baseado em navegadores de Internet. As responsabilidades primrias da
camada de apresentao so exibir a informao para o usurio e interpretar os comandos
emitidos pelo usurio em aes para as camadas de domnio e de dados.
A camada de dados cuida de toda interao com SGBDs e outras fontes de dados. Pode
ser um monitor de transaes, outras aplicaes, sistemas de mensagens e assim por diante.
Para a maior parte das aplicaes corporativas, a fonte de dados um banco de dados cuja
responsabilidade a persistncia de dados no volteis.
Responsabilidades
Apresentao
Domnio / Negcio
Dados
A camada de domnio pode ser arranjada de tal maneira que se interponha separando
as outras duas. Contudo, pode ser tambm que a camada de apresentao faa acesso
camada de dados diretamente. Apesar de ser menos puro, pode ser prtico em alguns
casos.
Uma aplicao pode possuir vrias interfaces em cada uma das trs camadas. Por exemplo,
pode existir uma interface da camada de apresentao para ser utilizada por usurios da
aplicao como linha de comando e outra para usurios da aplicao como interface grfica,
ou mesmo uma interface para ser utilizada por outro sistema, como um Web Service. O
mesmo se aplica s demais camadas, permitindo abstrair fontes de dados e/ou permitir a
aplicao de conjuntos diversos de regras de negcios. A construo de aplicaes deste
modo, todavia, no trivial, e seu desenvolvimento deve considerar questes de custo,
tempo de desenvolvimento, desempenho, entre outras.
Junto com a separao em camadas caminha uma regra importante sobre
dependncias: as camadas de domnio e de dados nunca devem ser dependentes da
camada de apresentao. Esta regra facilita a utilizao de diferentes camadas de
apresentao baseados na mesma fundao, sem srias alteraes. O relacionamento entre
domnio e dados mais complexo e depende dos padres de arquitetura utilizados para a
camada de dados. Uma das tarefas mais rduas reconhecer o que lgica de domnio e o
que outra forma de lgica. Um teste informal adicionar uma camada radicalmente
diferente aplicao, como uma interface de linha de comando a uma aplicao Web. Se
houver alguma funcionalidade que precise ser duplicada, sinal que a lgica de domnio
vazou para a camada de apresentao. Similarmente, necessrio duplicar algum cdigo ao
substituir o banco de dados relacional por arquivos XML?
10
7.
Padres de Projeto
7.1.
Facade
7.2.
PDC
11
7.3.
Singleton
Assegura que a classe ter uma nica instncia e prov um ponto nico de acesso a
ela. O padro Singleton usado, portanto, dentro da classe Fachada, para limitar a sua
instncia, acessvel a partir de um nico ponto especfico. Isto importante por que a
Fachada que serve de ponto de acesso a todos os servios oferecidos pelo SETA, e que
dispe do conjunto de dados que ser compartilhado entre os usurios.
8.
8.1.
Requisitos bsicos
O modelo de interface dever ser WEB responsiva de forma a suportar todos os tipos
de browsers Internet Explorer, Chrome e etc.
8.2.
Estratgias de implementao
12
13