Construindo projetos em camadas usando Java

Esse artigo objetiva mostrar aos leitores, com um pequeno exemplo para ilustração, como construir uma aplicação em Java que trabalhe com um nível de estruturação...

Esse artigo objetiva mostrar aos leitores, com um pequeno exemplo para ilustração, como construir uma aplicação em Java que trabalhe com um nível de estruturação que permita um melhor planejamento para a resolução de um dado problema, usando para esse fim o desenvolvimento em camadas.

Introdução
Um dos grandes ³baratos´ de se desenvolver em camadas é a possibilidade de separarmos componentes por responsabilidades em comum. Existem muitos programadores que acham bobagem se preocupar com toda essa estruturação. Mas se formos falar de um grande projeto de desenvolvimento de software, onde há toda uma equipe de desenvolvimento trabalhando, vários desenvolvedores alocados para aquele projeto, chegará um momento em que determinados trechos de códigos se tornaram quase que ilegíveis, quase impossíveis de trabalhar com eles. Bom, mas antes de começarmos a por a mão na massa, citaremos e falaremos um pouco a respeito das camadas que podemos utilizar para resolvermos um dado problema de desenvolvimento de software.

Camadas
Falaremos um pouco sobre os modelos de desenvolvimento de 2 e 3 camadas. Mas antes de falarmos sobre os modelos propostos anteriormente, daremos alguns conceitos de possíveis camadas que possam existir num projeto. Conceitos - Camada de Apresentação é a camada que trata a parte de interface gráfica. Quando falamos de interface gráfica, estamos nos referindo à parte de botões, de janelas, de formulários, de Textbox, de Label, de Combobox, ou seja, queremos nos referir a parte visível, a parte do sistema a qual o usuário interage e se comunica com o mesmo. - Camada de Negócios camada responsável pela lógica de negócios do sistema. Não é uma camada visível, como as camadas de apresentação e aplicação. Por exemplo: quando estamos prestes a sacar dinheiro em um caixa eletrônico, a condição primordial para isto acontecer é que exista saldo na sua conta. Ou seja, é a camada que contém a lógica de como o sistema trabalha como o negócio transcorre.

A base de dados será feita em MSAccess. e tabela que construiremos nesta base terá o nome de µcliente¶. o diretório. Camada de persistência. usaremos a IDE Eclipse. você deve ligar a fonte ODBC de dados criada (no caso. . a pasta aonde estiver a ba se de dados. Projeto em duas camadas Os primeiros sistemas cliente-servidor eram basicamente constituídos de duas camadas.Camada de Persistência camada responsável por salvar o estado do objeto em algum lugar (geralmente.. Exemplo prático Para desenvolvermos este exemplo. A conexão ODBC deverá ter o seguinte nome: µprojetoTeste¶. Projeto em três camadas A arquitetura cliente/servidor em 2 camadas sofria de vários problemas: y y Falta de escalabilidade ± conexões a bancos de dados. conforme descrito na figura abaixo. µprojetoTeste¶). OBS: (Não se esqueça de criar uma conexão ODBC no seu micro). numa base de dados). um funcionário de uma loja de confecções precisa cadastrar um cliente.mdb¶. já houve uma melhor estruturação e organização da idéia de como montar um projeto de fabricação de software. para aonde no projeto. Abaixo segue a estrutura da base de dados e a estruturação do projeto na IDE Eclipse. esses dados coletados serão ao final de todo este processo de cadastro inseridos numa base de dados. Abaixo está a figura da configuração da base de dados. Por exemplo. Depois de ter criado a conexão. Base de dados O nome que daremos a nossa base de dados será µbaseTeste. As camadas são: y y Camada Cliente: encapsulava as camadas de apresentação e da lógica de negócios. Camada Servidor: Camada responsável pela persistência de dados(SGBD). As camadas são: y y y Camada de apresentação. Enormes problemas de manutenção. etc. O ato de cadastrar o cliente significa coletar dados desse cliente. Com o surgimento do desenvolvimento em 3 camadas. Camada de aplicação.

excluir. alterar.Figura 01 Projeto Logo após. Para usar a IDE Eclipse basta descompactar o arquivo zipado num diretório de sua escolha.exe¶. Abra a IDE Eclipse (disponível para download em http://www. Figura 02 Estruturação dos pacotes Bom. Este sistema fará coisas simples.EXE com o nome µeclipse. . como descrita na figura abaixo. como incluir.org/downloads/). Só mesmo para ilustrar toda a parte conceitual dita até agora. A estrutura do projeto ficará assim. vamos construir a estrutura de pacotes do nosso projeto. vamos à explicação do por que da estrutura do nosso projeto estar montada tal como é. Bom. como já foi dito no inicio deste artigo. um dos grandes ³baratos´ de projetos organizados em camadas é a organização de componentes por responsabilidades em comum.eclipse. e executar o .

Pacote µbr. possui a responsabilidade de tratar a parte de dados.devmedia.com.com.devmedia. Pacote µbr. a classe da janela principal do programa.aplicacao¶ Este pacote contém a classe que iniciará a aplicação (contendo o método main) e.formularios¶ Este pacote contém as classes que farão a interface com o usuário.com.com.devmedia. Pacote µbr. se você quiser incluir um objeto no banco (um cliente). com as funcionalidades do sistema. também a parte de lógica de negócios. o formulário irá capturar as informações dos campos do formulário.devmedia. Abaixo. de persistência no banco de dados. um trecho de código para ilustração: Ex: Conclusão . será instanciado um objeto da classe µClienteVo.vo¶ Este pacote possui a classe que contém o padrão de um ³objeto de valor´. Pacote µbr.java¶.cliente. e os valores provenientes do formulário serão atribuídos a esse novo objeto de valor.devmedia. que por su a vez será persistido no banco de dados.dao¶ Já este pacote. onde estarão os acessos as outras partes do sistema.com.Pacote µbr. Por exemplo.services¶ Neste pacote se encontram as classes que irão trabalhar as requisições do usuário na interface e.

espero ter trazido um artigo de qualidade. que enriqueça seus conhecimentos sobre desenvolvimento em camadas.Bom. Os códigos-fontes estão todos comentados.br/post-6418-Construindo-projetos-em-camadas-usandoJava.com.html .devmedia. Bom estudo! http://www.