JustJava 2007, Arquitetura e Caelum

Neste último JustJava palestrei juntamente com o Phillip Calçado a respeito das novidades em relação a arquitetura Java. Aproveitei para extrair conhecimento e idéias do Phillip, que sempre anda muito ligado com as novidades.

DSC00334 DSC00359

Como a apresentação é bem sucinta, vale falar um pouco sobre ela. O intuito foi mostrar as arquiteturas e designs enlatados e que durante muito tempo reinaram por aí, seja na forma de Core J2EE patterns mal aplicados ou no mal uso de clusters. O início da palestra mostra diversos pontos do nosso cotidiano de décadas passadas: destaque para os design patterns ValueObject (na realidade TransferObject), BusinessDelegate e ServiceLocator. Esses design patterns faziam muito sentido quando no J2EE os entity beans não eram serializáveis, e sim acessados remotamente, além de que não existia injeção de dependência.

Apesar do Java EE 5.0 trazer essas novidades, muita gente acaba aplicando esses design patterns sem nenhuma necessidade, o que acaba criando o padrão carinhosamente chamado de BOLOVO pelo Phillip: classes como UsuarioBusinessObject (BO), UsuarioLayerObject (LO), UsuarioValueObject (VO), UsuarioXYZ, etc.

Toda vez que uma classe de domínio é criada em um sistema como esses, suas irmãs também aparecem: BOs, VOs, LOs, XYZs. Utilizar TOs apenas para transportar objetos entre camadas (e não tiers) não faz sentido algum, polui o código e diminui flexibilidade e manutenção. Separar funcionalidade e dados entre BOs e VOs é outro grande problema: onde está a orientação a objetos? Entity beans apenas com getters e setters é um mau sinal.

Passamos por Model Driven Design, dando alguns exemplos com código de Domain Driven Design e de Domain Specific Languages. Por último atacamos SOA, comparando o modelo WSDL/SOAP com o Plain Old XML (POX), além de outras alternativas. Cada forma de webservices, seja SOAP, POX ou JSON, tem seu caso de uso. O que mostramos na palestra foi que não deve-se optar diretamente por SOAP sem antes pensar bem nas necessidades para aquele serviço. O mesmo para os design patterns, práticas e idéias aqui discutidos ou até mesmo criticados: cada um tem seu lugar, não utilize-os apenas porque estão em um livro ou já foram muito usados em prévias arquiteturas.

No final falamos que não há uma arquitetura enlatada que possa resolver todos nossos problemas, e que devemos tomar muito cuidado para não construir um monstro para resolver um pequeno sistema. Cada projeto deve ter sua arquitetura muito bem estudada, com todas as suas particularidades.

Na sexta feira ainda tivemos uma palestra de Lucene apresentada pelo Guilherme Moreira. Aproveitando a ocasião, este domingo ocorreu uma confraternização e reunião da Caelum para discutir idéias, projetos e metas.

DSC00377 DSC00389
Time Caelum Out/2007 faltando 3 pessoas DSC00392

Tivemos novos participantes, os mais novos integrantes e colaboradores da Caelum: Jonas Abreu, Cecília Fernandes, Alexandre Magno, Danilo Sato e Ricardo Nakamura! O time está crescendo. Nas fotos faltam apenas o Carlos Felício, Suellen Campana e o Rafael Consentino.

Tags: ,

9 Comentários

  1. Leonardo Marques 08/10/2007 at 07:42 #

    Vocês tem feito um ótimo trabalho, é um pequena que poucas pessoas tem tido acesso. Esses conceitos e idéias que estão na apresentação vocês estão falando a meses ou anos e tem muita gente por fora, mas é muita MESMO.
    Parabens.

  2. Alexandre Lobaczewski Garcia 08/10/2007 at 07:55 #

    Excelente a palestra sobre arquiterua no Just Java 2007.

    Eu acho que o “conceito” de arquiteto de sw é o que vcs fizeram
    nesta palestra, ou seja, uma capacidade de analisar cada situação
    com o seu contexto, procurando caso a caso o melhor caminho.
    Típica palestra que quem assiste deve sair pensando sobre o que anda fazendo…
    Valeu !!!

    Garcia.

  3. Fernando Boaglio 08/10/2007 at 12:10 #

    Parabéns para a equipe Caelum!
    Alguma alma caridosa que filmou a palestra, por favor coloque no YouTube e passe o link =)

  4. Leandro 08/10/2007 at 12:29 #

    O curso de arquitetura da Caelum é realmente muito interessante. Ele faz de você um pensador, pra ser um bom arquiteto e programador.

    Vale a pena!

  5. Davi 09/10/2007 at 17:48 #

    Senhores, gostaria de dar os parabéns pela palestra e, haja vista a sua relevância para toda a comunidade, gostaria de solicitar, e até mesmo suplicar, para que alguma alma caridosa que tenha filmado ou mesmo gravado só áudio da palestra, para que publique no YouTube ou algo parecido. Grato, Davi.

  6. Luca Bastos 12/10/2007 at 14:51 #

    Esta foi com certeza a melhor palestra do evento atendendo a tudo que espero quando estou na platéia assistindo:

    – Divertida
    – Conteúdo relevante
    – Slides bonitos e adequados
    – Timing perfeito

    Olha, se eu não soubesse de alguns detalhes de bastidores, juraria que a performance da dupla P2 foi muito bem ensaiada.

    O que eu posso dizer? Parabéns e obrigado!

Deixe uma resposta