DANIEL VIEIRA COSTA - Space DevMedia
DANIEL VIEIRA COSTA << Space Anterior | Pr�ximo Space >>
�ltimas 20 atualiza��es de DANIEL VIEIRA COSTA
Artigo - Criando Beans din�micos
Criando Beans din�micos
Como vai senhores?
Neste artigo iremos tratar de um assunto muito importante e interessante para os desenvolvedores de sistemas corporativos feito em Java: A cria��o de Beans din�micos. A maioria de nossos aplicativos representam nada mais, nada menos do que o modelo de nossa base de dados, incluindo � claro, toda a l�gica de neg�cio. Por�m, podemos perceber que os nossos objetos (ou modelos) de neg�cio muitas vezes se encontram amarrados conforme uma tabela e seus atributos em um banco de dados, tornando-os, �nada din�micos�. Essa � uma forma errada de se programar? � l�gico que n�o! A muitos anos desenvolvemos desta maneira, tanto � que �aprendemos� a programar desta maneira, refletindo no c�digo a �apar�ncia� da tabela. Isto j� � de praxe, tanto � que v�rias empresas e corpora��es trabalham (e muito bem) desta maneira. Essa situa��o se encaixa muito bem quando desenvolvemos algo pensando em um cliente espec�fico. Mas, e se pretendemos desenvolver um produto visando a usabilidade do mesmo em empresas diferentes, o que fazer? Temos que aprender com o tempo, melhorar nossa estrutura e at� mesmo o pensamento para que nosso sistema/aplicativo/m�dulo seja um tanto quanto flex�vel para os nossos clientes. Vamos imaginar o seguinte cen�rio onde o nosso cliente necessita que v�rios campos sejam atribu�dos para um cadastro. Vejam atrav�s de um fluxo de processo, o trabalho que teremos para que seja implementado um requisito do usu�rio cliente:
� O cliente solicita a inser��o de novos campos;
� O analista registra esses requisitos do cliente;
� O projetista (ou respons�vel) documenta as necessidades e passa para os envolvidos no desenvolvimento do sistema;
� O DBA cria na tabela X, os campos necess�rios conforme os requisitos;
� O programador altera os Beans, DAOS, Fa�ades, etc., para setar e capturar os valores dos atributos;
� O programador d� check in dos arquivos alterados no servidor de controle de vers�o;
� Os testers possivelmente efetuam testes do que foi sincronizado de novo no sistema;
� � preparado ent�o, um pacote de entrega para que o usu�rio possa come�ar a utilizar o sistema com os novos requisitos implementados;
� explicito um certo trabalho que d� para a �rea de desenvolvimento. � l�gico, muitas empresas pensam em elaborar um contrato onde indica que cada requisi��o do g�nero, ter� um valor a ser cobrado e bl� bl� bl�, etc. etc. etc. Por�m, vamos pensar diferente. Vamos pensar em dinamismo. E como isso � poss�vel? Criando Beans din�micos!
N�o seria o ideal (mesmo que seja um pouco complicado) implementar um c�digo gen�rico onde um objeto (j� instanciado, � claro) represente de forma autom�tica o modelo de dados de nossa aplica��o? Isso n�o seria o ideal, tanto para n�s quanto (e principalmente) para nossos clientes? Al�m de oferecer, esse mecanismo possibilida uma flexibilidade tornando uma feature a mais em nosso sistema empresarial, sem termos que nos preocupar com o in�cio de um fluxo em nosso processo de trabalho para a implementa��o do mesmo, eliminando tempo e custo para o desenvolvimento.
O que eu estou abordando neste artigo, n�o � nada novo, por�m, muitos programadores j� passaram por essa situa��o (muitas e muitas vezes) at� que um indiv�duo resolveu elaborar um padr�o de projeto (design pattern) para que pessoas, assim como eu e voc�, n�o fiquem quebrando a cabe�a pensando em �como implementar� algo do genero. Esse design pattern � conhecido como Dynamic Object Models. O respons�vel por essa �obra de arte� � um cara chamado Ralph Johnson, que hoje pertence ao GoF (Gang of Four). O DOM (Dynamic Object Models) possui uma estrutura que consitui de outros patterns existentes e reconhecidos na engenharia de software. Por isso � altamente aconselh�vel o estudo (ou pelo menos um breve conhecimento) sobre os Design Patterns. A estrutura do DOM � composta pelos seguintes patterns:
� Type Object (Entity / EntityType; Attributes / AttributesTypes);
� Property (Property type);
� Strategy;
O pattern mais importante no DOM � o Type Object na qual separa uma Entity em um Entity Type. Vamos tratar nosso beans sendo entitys, e como sabemos, nossas entitys possuem atributos, na qual ser�o implementados com o pattern Property. Para separarmos os atributos para os nosso tipos de atributos, iremos utilizar o pattern Type Object. O pattern Strategy � utilizado para definir o comportamento de um tipo de entidade (no caso, EntityType) [1]. A Figura 1 nos apresenta o relacionamento entre cada artefato do DOM:
13/12/2006 10:58:00
Artigo - Boas Vindas a Daniel Costa
Boas Vindas a Daniel Costa
Ol� galera da DevMedia. Referente ao convite do Eduardo Sp�nola, gostaria de me apresentar como novo colunista do Portal Java Magazine. Meu nome � Daniel Vieira Costa, tenho 22 anos, nascido em S�o Bernardo do Campo, por�m, ao longo do tempo, acabei parando numa linda cidade chamada Foz do Igua�u (Terra das Cataratas, ITAIPU Binacional e da muamba tamb�m), aqui no Paran�.
Atualmente estou trabalhando em uma empresa (DATAPAR) no Paraguai que atua no desenvolvimento de um software ERP para gest�o de agrobusiness. Sou formado em Sistemas de Informa��o pela UDC (Uni�o Din�mica Cataratas) e atualmente estou cursando na UTFPR (Universidade Tecnol�gica Federal do Paran�) o curso de P�s-gradua��o na �rea de �Desenvolvimento de Projetos Orientado a Objetos para a Internet�. Desenvolvo sistemas a mais ou menos
06/10/2006 00:54:00
Daniel Vieira Costa (danielvc@gmail.com), Bacharel em Sistemas de Informa��o pela Uni�o Din�mica de Faculdades Cataratas, cursando o 1� ano de p�s-gradua��o do curso de Projeto e Desenvolvimento Baseados em Objetos para Ambiente Internet pela Universidade Tecnol�gica Federal do Paran�. Trabalha com o desenvolvimento de aplica��es corporativas desde 1998. Atuante como Analista de Sistemas/desenvolvedor pela empresa Datapar no Paraguai.