Posts na Categoria ‘Arquitetura’

Artigo sobre VRaptor

2 de novembro de 2008   Nenhum Comentário  Tags:

Nunca foi tão fácil escrever aplicações WEB utilizando MVC!! O VRaptor é um projeto 100% nacional que faz uso de Anotações e Inversão de Controle para que de forma bem simples, o usuário mais leigo, possa tirar o máximo na construção de aplicações para a Internet. Para fala um pouco sobre a idéia do projeto e mostrar como utilizar o Framework escrevi um artigo publicado na Java Magazine Edição 61 (Outubro). Para vocês lerem o artigo acessem este link onde poderão encontrar o artigo na integra.

Abraço,
Igor Takenami

MVC fácil com VRaptor

1 de maio de 2007   3 Comantários  Tags:

VRaptorApesar do padrão de arquitetura MVC já existir desde a época do Smalltalk, só usufruímos de fato de seus benefícios há alguns anos. Como o padrão foi criado para uma das primeiras linguagens orientadas a objetos, a comunidade JAVA apostou na idéia e logo surgiram diversos framework’s.

O Struts é o mais popular framework MVC, sendo utilizado na maioria dos projetos WEB. O Struts representou uma grande melhoria na forma de integração entre as camadas de MODELO, VISÃO e CONTROLE. O que parecia ser uma solução para facilitar o desenvolvimento, se mostrou muito improdutivo. Sua improdutividade era decorrente da necessidade de se criar muitas classes e configurar complicados arquivos no formato XML.

Com o passar do tempo, a evolução do framework e do próprio JAVA foi inevitável. Para chegar a versão 2 o Struts uniu-se ao Webwork, outro conhecido framework. A evolução também veios em outros projetos como a especificação JSF, Open Laszlo, ThinWire, etc…

Pessoalmente, nunca gostei do Struts! Mesmo tendo IDE’s para apoiar a adoção do framework, sempre achei muito trabalhoso e pouco simples. Foi tentando manter o padrão MVC, mas sem utilizar o Struts que conheci o VRaptor.

Escrito pelo Brasileiro Guilherme de Azevedo Silveira o VRaptor é um framework MVC que utiliza recursos do JAVA 1.5 para fornecer eficiência e produtividade ao desenvolvedor. Utilizar o VRaptor para criar aplicações MVC é bastante simples, tornando a curva de aprendizado muito pequena.

O que mais atrai no framework é a facilidade para construir Actions fazendo uso das notações e o conceito de convenção ao invés de configuração (difundido pelo Ruby on Rails). Os recursos disponíveis no VRaptor permitem escrever programas utilizando MVC sem a necessidade de conhecer outras API’s como a Servlet. Para demonstrar isto vamos ver como seria uma Action escrita em Struts:

3.gif

Além de todo este código, leve em consideração a criação do ActionForm e as configurações no struts-config.xml. Agora vejamos como ficaria esta mesma Action no VRaptor:

2.gif

Observer que a classe é simples e manipula objetos conhecidos (não é preciso estender nada). Além de toda simplicidade, não é preciso criar ActionForms e nem configurar nenhum arquivo XML (Se você seguir a convenção é claro). Depois disto é só escrever o arquivo cliente\adicionar.sucesso.jsp e utilizar as TAGLIBS ou TAGFILES de sua preferência.

Utilizar o padrão de arquitetura MVC garante segurança para possíveis problemas que podem ocorrer na camadas de apresentação caso utilize outras tecnologias como: JSF, Laszlo ou Thinwire, pois estamos em contato direto com o código HTML. O ponto negativo é a baixa produtividade gerada por um processo que exige mais trabalho de codificar a VIEW em arquivos JSP com TAGS Java e HTML.

Grande Abraço,
Igor Takenami

Defina sua Camada de Apresentação

26 de abril de 2007   1 Comentário  Tags:

Escolha seu caminhoNas ultimas consultorias realizadas tenho ouvido sempre a mesma pergunta: O que utilizar na camada de apresentação das aplicações WEB desenvolvidas em JAVA? Minha opinião é simples: DEPENDE. Para esta pergunta não existe uma resposta baseado em receita de bolo, pois cada caso é um caso. Para se chegar a uma decisão é preciso avaliar fatores como: objetivo, risco, tamanho, produtividade e importância da solução. Por exemplo, quando o fator risco é maior que a produtividade, precisamos manter a segurança e garantir que nada vai dar errado. Neste caso, é importante desenvolver soluções que utilizam com cuidado recursos de abstração.

A abstração é o principal motivo para o aumento da produtividade, mas também pode ser a engrenagem que “emperra” o desenvolvimento. Este é um risco deve ser bem estudado.

O cenário pode ser exemplificado da seguinte forma: Em um projeto, muito importante ,você utiliza JSF (Java Server Faces) na camada de apresentação. O IDE NetBeans lhe ajuda bastante para construir as telas de forma visual. Os componentes lhe poupam um grande trabalho pois abstraem muitos dos problemas do desenvolvimento WEB.

Com estas informações poderíamos deduzir que a utilização do JSF trouxe um significativo ganho de produtividade, mas vamos supor que no meio do projeto surge à necessidade de utilizar vários componentes que não existem. O que fazer se não sabemos como construir estes componentes? Qual a dificuldade para criar estes componentes? Existe suporte? Documentação?

Este exemplo mostra que precisamos saber o que estamos utilizando antes de se aventurar em um projeto. Quando for utilizar alguma tecnologia/especificação nova, faça testes em um projeto piloto de media/baixa importância. Isto diminui o risco de problemas em um grande projeto.

Agora que falei minha opinião sobre o assunto posso dizer que na maioria (não sempre) das vezes o mais seguro é utilizar o batido padrão MVC. O desenvolvimento “feijão com arroz” pode ser improdutivo, mas garante que um problema seja facilmente contornado. Mas fique atento, pois ao falar MVC não me refiro ao Struts (muito pelo contrário). Se você pensou desta forma, esqueça, pois este framework esta longe de ser produtivo. Isto é um assunto para o próximo POST.

Grande Abraço,
Igor Takenami

Liberado o Código da VCL4PHP

4 de abril de 2007   1 Comentário  Tags:

A Codegear, empresa criada pela Borland para administrar o desenvolvimento e comercialização de seus IDE’s, acaba de liberar no Sourceforge sua popular biblioteca de componentes VCL (Visual Component Library) para PHP. Como parte da estratégia de lançamento e popularização do seu novo IDE (Delphi For PHP) a Codegear já havia anunciado que iria disponibilizar o código fonte da biblioteca escrita em PHP. Seu objetivo é fazer a comunidade contribuir com a evolução dos componentes e popularizar a plataforma. A Codegear em contra partida oferece o IDE comercialmente.

Utilizar a VCL4PHP mesmo sem o IDE da Codegear já é uma boa alternativa para facilitar o desenvolvimento. Com o tempo IDE’s abertos devem utilizar este componente aumentando a produtividade para quem desenvolve em PHP. O VCL4PHP funciona de forma bastante similar ao VCL do Delphi. Assim como no Delphi cada página possui uma Unit onde estão todos os componentes e seu comportamento. Para cada Unit existe outro arquivo PHP que contem uma estrutura XML com informações sobre as propriedades dos componentes. Estas propriedades definem: posicionamento, layout e comportamento.

É importante observar que para rodar o VCL4PHP fora do IDE da Codegear é preciso baixar os componentes e configurar o arquivo php.ini habilitando a extensão php_filter, que trata os eventos dos componentes.

Download com Exemplo Basico do VCL4PHP

Abraço,
Igor Takenami