Você está na página 1de 19

Coordenao Geral de Tecnologia da Informao - CGTI

MAPA - Ministrio da Agricultura, Pecuria e Abastecimento

Documento de Arquitetura de Referncia de Software

Verso 1.1

MAPA/SE/SPOA/CGTI, 2009

Pgina 1

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software Verso 1.1 Data: 30/3/2011

Histrico da Reviso
Data 25/02/2009 25/03/2009 Verso 1.0 1.1 Descrio Criao do artefato. Correo de figuras, detalhamento da viso de implementao Autor Ricardo Sousa Marques Jos Roberto Vasconcelos Revisor Jos Roberto Vasconcelos Francisco Menezes

MAPA/SE/SPOA/CGTI, 2009

Pgina 2

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software Verso 1.1 Data: 30/3/2011

ndice
1. 2. 3. 4. 5. 6. 7. 8. 9. INTRODUO ......................................................................................... 4 REPRESENTAO DA ARQUITETURA................................................ 4 METAS E RESTRIES DE ARQUITETURA ........................................ 6 VISO DE CASOS DE USO.................................................................... 8 VISO LGICA ....................................................................................... 9 VISO DE IMPLEMENTAO.............................................................. 11 VISO DE IMPLANTAO................................................................... 16 TAMANHO E DESEMPENHO ............................................................... 18 QUALIDADE .......................................................................................... 18

MAPA/SE/SPOA/CGTI, 2009

Pgina 3

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software Verso 1.1 Data: 30/3/2011

Documento de Arquitetura
1. Introduo
O documento de arquitetura apresenta uma viso geral abrangente da arquitetura e utiliza uma srie de vises arquiteturais para ilustrar os diversos aspectos dos sistemas. Sua inteno capturar e transmitir as decises significativas do ponto de vista da arquitetura que foram tomadas pelo MAPA - Ministrio da Agricultura, Pecuria e Abastecimento para o desenvolvimento de seus sistemas. O objetivo deste documento descrever uma arquitetura de referncia para os projetos desenvolvidos no mbito do Ministrio da Agricultura Pecuria e Abastecimento tendo como foco sistemas desenvolvidos utilizando tecnologia J2EE. Neste documento vamos contemplar o que comum aos sistemas. Torna-se necessrio que cada uma das aplicaes, adote um documento com informaes suplementares a este demonstrando as suas especificaes de caso de uso arquiteturalmente significativas demonstrando tambm as diferenas implementadas e algum destaque que seja relevante ao processo de desenvolvimento. Os projetos de sistema de informao desenvolvidos pelo MAPA tm um domnio similar, desta maneira, verificou-se que as decises arquiteturais que aqui sero apresentadas podem ser aplicadas de maneira homognea. Tratam-se de aplicaes com forte influncia transacional, em ambiente WEB, utilizando o mesmo banco de dados, o mesmo ambiente de implantao (Servidores de aplicao/Servidores de banco de dados), com requisitos parecidos de performance, portabilidade, usabilidade e compartilhando a mesma infra-estrutura de apoio ao desenvolvimento, (segurana, autenticao e log). 1.1 Definies, Acrnimos e Abreviaes Vide MAPA Glossrio. 1.2 Referncias MAPA Glossrio; MAPA Especificao Suplementar; Especificao W3C para o HMTL 4.01 http://www.w3.org/TR/html401/ Modelo de acessibilidade de Governo Eletrnico Verso http://www.governoeletronico.gov.br/anexos/e15_1556emag-acessibilidade-degoverno-eletronico-modelo-v20.zip 2.0

2.

Representao da Arquitetura
A modelagem, implementao e documentao de um sistema requerem que o sistema seja visualizado de diferentes perspectivas. Desse modo, a arquitetura proposta ser apresentada conforme o modelo de vises 4+1, proposta por Philippe Kruchten (Kruchten, 1995),
MAPA/SE/SPOA/CGTI, 2009 Pgina 4

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software Verso 1.1 Data: 30/3/2011

utilizadas no RUP (Kruchten, 2000), que apresenta 5 diferentes vises: Viso de Casos de Uso, Viso Lgica, Viso de Processos, Viso de Implementao e Viso de Implantao. A rigor, cada sistema desenvolvido, deve conter um documento de arquitetura informando as decises arquiteturais mais significativas ao projeto. A Viso de Caso de Uso e a Viso de Processos por se tratar de um item especfico de cada sistema far parte de um outro documento especfico por sistema contendo esta informao. A figura 1 apresenta a organizao das perspectivas utilizadas. E em seguida apresentada uma simples descrio das responsabilidades de cada uma das perspectivas.

Viso Lgica

Viso de Componentes

Viso de Casos de Uso

Viso de Processos

Viso de Implantao

Figura 1 - Modelo de Viso 4+1 (Philippe Kruchten, 1995) Viso de Casos de Uso: O propsito desta viso apresentar os casos de uso arquiteturalmente significativos para o sistema, ou seja, este ser o conjunto de casos de uso que direcionaro a arquitetura do sistema como um todo. Esta viso usar diagramas de casos de uso para expor as funcionalidades e diagramas de seqncia para mostrar a interao entre objetos e o relacionamento entre os diversos elementos da arquitetura. Viso Lgica: Esta viso ir apresentar as definies do sistema atravs de diagramas de classes, ou quaisquer outros diagramas que descrevam os servios que o sistema fornecer aos seus usurios. Esta viso ser utilizada para apresentar a arquitetura num nvel elevado de abstrao. Viso de Processos: Esta viso mostra a decomposio do sistema, bem como as formas de comunicao entre processos, passagem de mensagens, atividades entre componentes e seqncia de mensagem. Essa representao feita atravs dos diagramas de seqncia, e opcionalmente pelos diagramas de colaborao e atividades. Viso de Implementao: Esta viso ir descrever a organizao dos subsistemas e componentes do sistema. Esta viso ir mostrar as diversas camadas do software, bem como as fronteiras entre essas camadas. Viso de Implantao: Esta viso descrever como o sistema ser distribudo e implantado
MAPA/SE/SPOA/CGTI, 2009 Pgina 5

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software nos ns fsicos, nos quais ser executado. Verso 1.1 Data: 30/3/2011

3.

Metas e Restries de Arquitetura


A arquitetura deve obedecer s metas e restries impostas pelos requisitos funcionais e no funcionais. Com o propsito de enumerar alguns itens genrico enumeramos algumas das metas utilizadas como base para as decises tomadas: Ganhos expressivos de produtividade no desenvolvimento dos sistemas; Garantir de evoluo nos produtos utilizados como base da arquitetura; Aderncia a padres de mercado; Utilizar softwares que tenham seu cdigo sob licena GPL ou equivalente com exceo do banco de dados e servidor de aplicao; Integrar aplicaes; Reutilizar rotinas relacionadas a questes corporativas. Ex, alterao de senha, cadastro de usurios, etc; Implementar auditoria nica nos sistemas; Disponibilizar um ponto nico para acesso aos sistemas usando SSO; Padronizar o desenvolvimento para facilitar a manuteno, principalmente quando este realizado por fbricas de software que porventura sejam contratas; Estar adequado infra-estrutura j utilizada pelo MAPA; Conformidade com os requisitos de segurana (autenticao e autorizao); Estimulo aos testes automatizados; Estmulo ao reuso. Como itens restritivos de arquitetura, analisando-se genericamente o ambiente de desenvolvimento, enumeramos os itens a seguir: Utilizao do SGBD corporativo (Oracle verso 10.2.0.4) seguindo os padres de criao de tabelas existente no MAPA; Utilizao de servidores de aplicao diferentes: OC4J para o desenvolvimento e o OAS como servidor nos ambientes de homologao/produo; Desenvolvimento em estaes Windows e posterior homologao/produo cujo sistema operacional Linux; disponibilizao para

Os sistemas desenvolvidos devero ser homologados utilizando os seguintes navegadores: Internet Explorer 7.x e no Mozilla Firefox 3.x; Funcionamento do servidor de aplicao de produo em cluster de forma a ter maior disponibilidade e gerenciamento de recursos norteando assim as solues adotadas de cache e variveis de sesso; As trilhas de auditoria sero construdas utilizando elementos de banco de dados (triggers); Aderente aos padres visuais definidos pelo MAPA e em consonncia com os padres governamentais de acessibilidade e usabilidades.

MAPA/SE/SPOA/CGTI, 2009

Pgina 6

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software 3.1 Restrio de Ambiente No MAPA esto definidos os seguintes ambientes para o desenvolvimento de projetos: Desenvolvimento Homologao Produo Os ambientes possuem gestores para sua administrao e todas as requisies de criao e disponibilizao tem que passar por um processo formal j definido na CGTI. Na produo o servidor de banco de dados e servidor de aplicao esto em cluster, o que no acontece nos outros ambientes (desenvolvimento e homologao). Os testes e treinamento de usurios podem ser feitos utilizando o ambiente de homologao. 3.1.1 Sistemas Operacionais Desenvolvimento : Windows XP SP2 Homologao: Linux Redhat 3 Produo: Linux Redhat 4 update 7 3.1.2 Gerenciador de Banco de Dados Oracle database Desenvolvimento verso 10.2.0.4 Homologao verso 10.2.0.4 Produo verso 10.2.0.4 3.1.3 IDE de desenvolvimento Eclipse verso 3.4.1 3.1.4 Gerenciador de Aplicao Desenvolvimento: OC4J verso 10.1.3.4 Homologao: Oracle Application Server verso 10.1.3.4 Produo: Oracle Application Server verso 10.1.3.4 3.1.5 Navegadores Internet Firefox 3.0 ou superior nas suas sub-verses; Internet Explorer 7.0 ou superior nas suas sub-verses. Verso 1.1 Data: 30/3/2011

MAPA/SE/SPOA/CGTI, 2009

Pgina 7

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software 3.1.6 Java Virtual Machine Java JDK 1.5 Os recursos tecnolgicos utilizados pelo MAPA - Ministrio da Agricultura, Pecuria e Abastecimento so relacionados a seguir, so eles:
Recursos Tecnolgicos Nome Descrio Verso Fornecedor Tipo

Verso 1.1 Data: 30/3/2011

Struts

Framework de apresentao utilizada para resolver controle de aes, lgicas de 2.1.6 apresentao e disponibilizao de vises.

Apache Software Foundation Sun Microsystems

Framework

Framework responsvel em gerenciar a EJB (Enterprise persistncia, processamento transacional, 3.0 JavaBeans) controle de concorrncia, segurana de acesso e lgica de negcio. Hibernate Framework de persistncia utilizada para realizar mapeamento objeto relacional, 3.2.6 persistncia e consultas. Biblioteca responsvel em gerar relatrios 3.0.0 em PDF. Biblioteca responsvel em gerar grficos. Padro para persistncia. 1.0.10 1.0

Framework

JBoss Hat.

Red

Framework

JasperReports JFreeChart JPA(Java Persistence API) JSTL

JasperSoft JFree Sun Microsystem Sun Microsystem Apache Software Foundation

Biblioteca Biblioteca Padro

Biblioteca que encapsula tags simples para ser utilizada provendo muitas 1.2 funcionalidades nas aplicaes Framework templating para desenvolvimento web que permite a juno de vrios pedaos HTML gerados 2.1.2 em partes da mesma aplicao em um nica pgina final renderizada. Biblioteca que facilita a navegao em listas de resultados com funcionalidades 1.2 de paginao, ordenao, exportao, agrupamento. IDE para design de relatrios Tabela 1 - Tabela com lista de recursos tecnolgicos 3.0.0

Biblioteca

Tiles

Biblioteca

DisplayTags

Projeto disponvel no Biblioteca sourceforge JasperSoft IDE

IReport

4.

Viso de Casos de Uso


Nesta seo h definio dos principais casos de uso que representam um grande risco arquitetural, no entanto, com a proposta desse documento de mbito mais amplo, essas definies estaro contempladas em um documento de especificao suplementar de arquitetura, por parte de cada projeto.
MAPA/SE/SPOA/CGTI, 2009 Pgina 8

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software Verso 1.1 Data: 30/3/2011

5.

Viso Lgica
Esta viso descreve em que arquitetura o software ser construdo, abordando aspectos de organizao dos pacotes, como responsabilidades, topologia e a forma de comunicao e dependncia entre os pacotes.

5.1

Viso Geral Os diagramas abaixo mostram as classes, os pacotes e as camadas mais significativas do ponto de vista arquitetural do framework de arquitetura.

MAPA/SE/SPOA/CGTI, 2009

Pgina 9

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software Verso 1.1 Data: 30/3/2011

class Arquitetura Padro MAPA Camada de Apresentao

view View

Action Action

call

Serv ice Locator use

BD Business Delegate

Camada de Negcio

bind

association

EJB Business Serv ices

use association

Application Serv ice

association

BO Business Obj ect use

Camada de Integrao

association

use

DAO Data Access Obj ect Abstrato

DAO Data Access Obj ect

use

entitity Entidade

Figura 2 - Representao das camadas e dos respectivos padres de projeto.


MAPA/SE/SPOA/CGTI, 2009 Pgina 10

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software 5.2 Pacotes Significativos do Ponto de Vista da Arquitetura Verso 1.1 Data: 30/3/2011

Apresentao
Na camada de apresentao so utilizados Struts 2 e Tiles. So utilizados os seguintes padres de projeto: MVC (Model-View-Controller) Responsvel em controlar as requisies dos usurios, disponibilizando vises e lgica de negcio apropriada; Service Locator Responsvel em localizar os componentes de negcio (EJB); Business Delegate Responsvel em delegar a regra de negcio e tratar as excees oriundas da camada de negcio, como resultado minimiza o acoplamento entre a camada de apresentao e a camada de negcio.

Negcio
Na camada de negcio utilizado EJB 3(Enterprise JavaBeans) para gerenciamento de transaes declarativas, pool de objetos e para segurana declarativa. So utilizados os seguintes padres de projeto: Facade/Business Service Responsvel em prover um ponto nico de acesso aos componentes de negcio, prover controle transacional e de segurana; Application Service Responsvel em conter as regras de negcio por caso de uso e invocar todos os objetos de negcio necessrios ao caso de uso; Business Object Responsvel em conter as regras de negcio por entidade de negcio;

Integrao
Na camada de integrao utilizado Hibernate 3 para a persistncia e recuperao de dados. utilizado o seguinte padro de projeto: DAO (Data Access Object) Responsvel em realizar a persistncia e consulta aos dados. Entidades Responsvel pela representao dos dados persistentes da aplicao. 5.3 Estratgia de Reuso Existem duas estratgias de reuso adotadas para o MAPA - Ministrio da Agricultura, Pecuria e Abastecimento, so elas: Desenvolver com granularidade em nvel de entidade, para possibilitar o reuso aos casos de uso dos sistemas a serem desenvolvidos; Permitir o reuso atravs de componentes, que por sua vez disponibilizam servios para atender aos sistemas do MAPA.

6.

Viso de Implementao

Esta viso detalha as camadas dos sistemas, componentes, suas responsabilidades, fronteiras e nomenclatura.

MAPA/SE/SPOA/CGTI, 2009

Pgina 11

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software Verso 1.1 Data: 30/3/2011

Camada Controle e Apresentao Camada de Lgica de Negcio Camada de Acesso aos Dados

Pginas HTML (.jsp) Actions (Struts 2) Business Delegate Controle

Servios de Aplicao Entidades de Negcio Servios de Negcio

Componentes de Persistncia DAO Hibernate

Oracle

Figura 3 Arquitetura em camadas

6.1

Viso Geral Os sistemas devem ser desenvolvidos no estilo arquitetural de camadas (3-Tier) A estrutura em camadas ser dividia em: Camada de Controle e Apresentao; Camada de Lgica de Negcio; Camada de Acesso a Dados;

6.2

Camada de Controle e Apresentao Na sua maioria os sistemas do MAPA tero sua camada de apresentao baseada em WEB utilizando um Front Controller, porm da forma que esta nova arquitetura foi pensada, ela est preparada para que possa tambm ser utilizada por aplicaes em PDAs, Celulares, processos BPM, Web Services, etc.

6.2.1

Responsabilidade Prover ao usurio final a interface grfica (GUI) de utilizao da aplicao; Captar dados do usurio ou de outras fontes externas; Realizar validaes bsicas de entrada de dados, como por exemplo, datas e valores. A validao nesta camada no pode ser considerada a nica validao; Formatar os dados para o usurio do sistema, como por exemplo, mscara para os campos data, nmeros formatados, CNPJ, etc; Paginar resultados de pesquisa que retornem uma grande quantidade de elementos; Formatar erros repassados pelas camadas inferiores, realizando o tratamento adequado para
MAPA/SE/SPOA/CGTI, 2009 Pgina 12

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software apresentao do erro ao usurio final; Mediar e coordenar os pedidos feitos utilizando o Business Delegate repassando a resposta dada atravs da camada de Negcio; Mediar e coordenar os pedidos feitos atravs da camada de Apresentao e resposta dada atravs da camada de Negcio; Gerenciar as excees recebidas do negcio e transform-las em excees amigveis; Prover o conceito de internacionalizao para a apresentao. 6.2.2 Contedo Verso 1.1 Data: 30/3/2011

A camada de apresentao tipicamente formada por pginas WEB que so visualizadas por navegador internet: As interfaces WEB podem receber vrios elementos compatveis com o navegador (browser), por exemplo, arquivos PDF, imagens, etc. As pginas HTML so formatadas atravs de estilos CSS Cascade Style Sheet. Modelos (template) de relatrios utilizados por frameworks de mercado, por exemplo, JasperReports; Para gerao dinmica das interfaces WEB, ser utilizada a tecnologia de JSP; Mecanismo para paginao padro de mercado, a exemplo o DisplayTag; O menu do usurio na aplicao construdo de acordo com suas permisses; Com a utilizao do tiles, a confeo das pginas de um mesmo sistema ser baseada em template de forma a maximizar o padro de tela definido e maximizar a produtividade, permitindo assim que s as partes que interessam da pgina principal sejam renderizadas pela aplicao; A interao com a tela (HTML) utiliza controladores Actions que neste modelo trabalho como um orquestrador de requisies camada de negcio. 6.2.3 Relacionamento com a camada de Lgica de Negcio A camada de apresentao se relaciona com a camada de negcio utilizando um pattern J2EE denominado Business Delegate. O Business Delegate se comporta como uma fachada para acesso aos servios disponibilizados nos componentes de negcio. 6.2.4 Nomenclatura Controladores de viso so representados por uma classe extendida de ActionSupport, cuja sua nomenclatura dever seguir o seguinte padro Nome + sufixo (Action), exemplo LoginAction; A interface de comunicao entre as Actions e a Camada de Negcio, ser representada por uma classe relacionada ao pattern Business Delegate, cujo padro de nomenclatura ser Nome + sufixo (BD), exemplo SegurancaBD.
MAPA/SE/SPOA/CGTI, 2009 Pgina 13

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software 6.3 Camada de Lgica de Negcio A camada de negcio encapsula todas as regras de negcio da aplicao disponibilizando para a requisio das aplicaes interfaces de servios. Estes servios so mtodos disponibilizados para acesso. 6.3.1 Responsabilidade Disponibilizar a camada de apresentao um conjunto de mtodos que representam operaes de negcio ou eventos demandados por casos de uso do sistema. Mediar e coordenar os pedidos feitos atravs da camada de Apresentao e resposta dada atravs da camada de Negcio; Desacoplar a camada de Apresentao da camada de Negcio; Cumprir a lgica de aplicao, ou seja, a lgica envolvida na mediao e coordenao de operaes de negcio que suprem as necessidades de um ou mais casos de uso Executar tarefas tcnicas que no so responsabilidade da camada de apresentao, como por exemplo, envio de e-mail, gerao de arquivos, exemplo relatrios PDF. Repassar camada de Apresentao o retorno das invocaes solicitadas, inclusive erros apontados no processamento da requisio, como, por exemplo, Excees de Negcio; Executar as regras de negcio vinculadas aos conceitos especficos do negcio; Manter a integridade dos dados atravs de mecanismos de validao das regras de negcio quanto incluso e excluso. Implementao dos algoritmos com as regras de negcio. Problemas de desempenho quando detectados devero ser tratados pontualmente. Orquestrao das varias regras que podem envolver um determinado caso de uso. 6.3.2 Contedo Esta camada contm basicamente os seguintes objetos: Business Services: Centraliza as chamadas aos applications services funcionando como ponto nico de acesso. Objetos de Negcio BO que representam os conceitos de negcio aplicados a um domnio. Estes objetos podem estar associados com outros Objetos de Negcio em uma relao de dependncia. Estes relacionamentos podem ser feitos por associaes diretas, atravs de agregaes/composies, delegao ou herana. 6.3.3 Relacionamento com a camada de Negcio Atravs do Business Delegate passando e recebendo entidades, objetos e tipos primitivos. Vale ressaltar que existir apenas um BD por aplicao. Verso 1.1 Data: 30/3/2011

MAPA/SE/SPOA/CGTI, 2009

Pgina 14

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software 6.3.4 Nomenclatura Controladores de Caso de Uso devem terminar com a palavra APS, exemplo ManterUsuarioAPS; As interfaces do Beans devem possuir concatenado ao seu nome o prefixo I (letra i) e ao sufixo a palavra Remote ou Local de acordo com o tipo de interface, exemplo ISegurancaRemote ou ISegurancaLocal; Para o Bean (EJB) ser composto do nome e do sufixo Bean, exemplo SegurancaBean; Para as classe que representam as regras de domnio relacionadas ao pattern Business Object, o padro de nomenclatura seguir Nome do Domnio + sufixo (BO), exemplo UsuarioBO. 6.4 Camada de Dados Em projetos orientados a objeto esta camada faz a transformao entre o modelo entidaderelacionamento dos bancos relacionais para um modelo OO de forma transparente para a aplicao. 6.4.1 Responsabilidade Mapeamento das entidades de negcio no banco de dados Controle de cache de dados recuperados do banco Centralizao de acesso a dados nas diversas pesquisas Permite um reaproveitamento das consultas utilizadas pela aplicao 6.4.2 Contedo Entidades, Objetos que tramitam entre a camada de negcio e camada de dados transportando valores recuperados de tabelas mapeadas no banco de dados. Data Access Object DAO, permite separar regras de negcio das regras de acesso a banco de dados. Todos os DAOs do sistema devem estender a classe EntidadeDAO, assim garante-se a reutilizao de cdigo, pois esta j possui todo mecanismo necessrio para incluir, alterar e excluir. Responsvel por solicitar ao meio persistente a persistncia e recuperao do estado dos objetos de negcio; Executam as operaes de CRUD. 6.4.3 Nomenclatura Classes que contm operaes para manipulao de dados persistentes devem ter como sufixo o complemento DAO ao seu nome, exemplo UsurioDAO; As entidades refletem o nome da tabela mapeada no banco e os nomes de suas colunas respectivas.
MAPA/SE/SPOA/CGTI, 2009 Pgina 15

Verso 1.1 Data: 30/3/2011

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software Verso 1.1 Data: 30/3/2011

7.

Viso de Implantao
Esta a viso arquitetural que ilustra a distribuio do processamento nos ns computacionais, incluindo a distribuio fsica de processos e threads. O detalhamento desta viso est condicionado aos levantamentos a serem efetuados com a equipe de rede do MAPA.

Figura 4 - Viso fsica da rede A Figura 4 representa a infra-estrutura fsica do ambiente de produo do mapa. No h nenhum ambiente de teste/homologao que simule este ambiente no MAPA. O deployment da aplicao ser efetuado nos servidores de aplicao em um nico container do OAS que replicado nos outros servidores do cluster.

MAPA/SE/SPOA/CGTI, 2009

Pgina 16

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software
cmp Components artefato aplicacao.ear

Verso 1.1 Data: 30/3/2011

manifest Entity Hibernate aplicacaoEntity.j ar manifest artefato aplicacao_ejb.jar

manifest

artefato .tld, .gif, .html, etc

artefato aplicacao_web.war

use

manifest manifest session bean aplicacaoEJB.j ar Dispatcher

manifest JSP .j sp

Figura 5 - A figura abaixo ilustra a forma geral de deployment dos componentes de arquitetura. O diagrama de componentes abaixo representa a dependncia de componentes do sistema.
cmp Componentes da Arquitetura

framework Struts2

framework EJ B3

trace

trace

executable Mapa .Ear

trace

trace

trace

library JasperReports

library JFree Chart

framework Hiber nate

Figura 6 Representao dos respectivos componentes de software.


MAPA/SE/SPOA/CGTI, 2009 Pgina 17

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software Verso 1.1 Data: 30/3/2011

8.

TAMANHO E DESEMPENHO
Este item vai ser especificado no documento de arquitetura suplementar de cada um dos sistemas.

9.

QUALIDADE
De acordo com o IEEE Task Force, os trs principais fatores que influenciam a qualidade de projetos de TI baseados na WEB so confiabilidade, usabilidade e segurana. Alm destes, alguns fatores importantes seriam disponibilidade, escalabilidade e manutenabilidade. Com a arquitetura apresentada para servir de base aos sistemas do MAPA esperamos atender a estes requisitos no funcionais: Confiabilidade A arquitetura garante a confiana de que a aplicao sempre retornar aquilo que esperado da mesma. Mantendo a separao das funcionalidades, acesso ao banco, regras de negcio e apresentao, possvel diminuir a ocorrncia de erros e a falta de clareza de conceitos. Usabilidade A interface com o usurio ser definida da forma mais intuitiva respeitando critrios de acessibilidade possibilitando facilitar o treinamento dos usurios e a gesto de mudana. Como h uma camada especialmente definida para isso, o foco ser mantido na soluo desta questo separadamente, sem a mistura com outras questes de responsabilidade de outras camadas. Segurana A utilizao de mecanismos de autorizao/autenticao unificados em conjunto com uma padronizao do sistema de log e auditoria torna possvel incrementar a segurana facilitando o desenvolvimento e estabelecendo normas com um baixo esforo dos programadores. Disponibilidade Este requisito tem o benefcio da robustez do desenvolvimento de arquiteturas JAVA usando servidores em cluster. Combinado separao de responsabilidade das camadas, o que reduz a quantidade de erros, chega-se a garantir a disponibilidade do sistema para atendimento das necessidades. Escalabilidade Um dos grandes benefcios da separao em camadas consiste em permitir que o sistema possa evoluir naturalmente com o crescimento da demanda sem esforos desproporcionais. As camadas podem ser alteradas, observando-se as interfaces, de modo a manter a atualizao necessria do ciclo de vida do produto. Manutenabilidade Talvez o maior benefcio da arquitetura n-tier, uma vez que o cdigo est separado em especialidades, tornando assim bem mais fcil a depurao de erros e a construo de novas funcionalidades. Vide MAPA Especificao Suplementar para informaes de critrios adicionais de qualidade e as caractersticas dos requisitos no funcionais que norteiam a arquitetura. Percebe-se, portanto, que a arquitetura escolhida traz grandes benefcios para o projeto. Assim, a qualidade do sistema est garantida mantendo-se foco no processo, na produo da documentao atualizada e na qualidade dos testes.

MAPA/SE/SPOA/CGTI, 2009

Pgina 18

Coordenao Geral de Tecnologia da Informao - CGTI MAPA - Ministrio da Agricultura, Pecuria e Abastecimento Documento de Arquitetura de Software Verso 1.1 Data: 30/3/2011

Marcelo Fiadeiro
rea: CGTI Cargo:

Matricula:

Coordenador Geral de Tecnologia da Informao


Data:

Rosngela Gomes
rea: CGTI Cargo:

Matricula:

Coordenador de Sistemas de Informao


Data:

Kleber Simo
rea: CGTI Cargo:

Matricula:

Chefe da Diviso de Sistemas e Gesto de Banco de Dados


Data:

Francisco Menezes
rea: Cargo:

Matricula:

CGTI
Data:

Arquiteto do Projeto Migrao - MAPA


Assinatura:

Jos Roberto Vasconcelos


rea: Cargo:

Matricula: -

Consrcio BPM
Data:

Arquiteto do Projeto Migrao B2Br


Assinatura:

MAPA/SE/SPOA/CGTI, 2009

Pgina 19