TDC 2009: Floripa eu fui

 Acabei de chegar do TDC 2009, estou em casa, morto de cansaso mas feliz. Foi um grande evento. Quando cheguei domingo em Floripa(08/11/2009) fiquei um pouco triste que o tempo estava muito ruim e perdi a praia, tive que me contentar com um chopp com meus amigos Giuliano, Simundi e Metz. Foi um pecado estar em Floripa com aquele tempo.



Visão do Hotel - Com tempo ruim :(

No chegando o grande dia dia 09/11/2009, que por sinal estava muito melhor do que domingo :D Acordei cedo, tomei café e fui para o hotel da conferência, chengando quem eu encontro na porta do hotel??? Bom vou deixar as duas fotos a baixo "falarem por mim".


Eu e o Rod Johnson(SpringSource)


Simundi, Eu, Rod Johnson, Giuliano e Metz

Bom só com este inicio já era o suficiente, poderia ir para casa :) Fiquei para ver o evento. A primeira palestra foi a do Rod Johnson que era sobre o futuro do Java daqui a 5 anos, algumas coisas importantes que ele mencionou:
  • Ruptura, grande mudança de paradigma
  • Cloud Computing
  • Polyglot persistence
  • Produtividade
Bom a questão da Cloud é bem obvia, ainda mais depois da aquisição da Vmware, mas um ponto que ele tocou muito importante é a questão que cada vez mais estamos lidando com um grande volume de dados, cada vez maior e crescendo cada vez mais rápido, então tem todas as questões de custos e de adquirir hardware up-to-front, junto com isso o fato de existir muita aplicação porrada rodando sem um banco relacional, como BigTable, que esta ligado a questão de termos a necessidade de persistir dados em diversas formas diferentes além do Banco de Dados Relacional ou um simples arquivo XML.

Outro ponto crucial desta apresentação e da apresentação que ele fez sobre o Roo é a questão da produtividade, fico feliz por termos pessoas tão importantes na comunidade Java como ele precupado com isso, por que este sempre foi um grande problema do desenvolvimento Java, a falta de produtividade.

A resposta do Rod foi basicamente usar o que temos de Java que é bom para infra estrutura, ou seja, Spring, AspectJ mixados com DDD e tudo isso rodando em um eclipse com AJDT e plugins da SS, dando assim produtividade a comunidade java com o Roo.

No café tive a oportunidade de falar mais com o Rod e questinou ele sobre a criação do Roo, já que o Grails é muito maduro e já uma solução DDD produtiva que por sinal é mantido pela SS deplois da compra da G2One, ele respondeu basicamente que a grande questão é a produtividade, pois não existe nenhum solução segundo o Rod que tenha a produtividade que o Roo tem para Java. Ele até brincou quando perguntaram para ele sobre a produtividade de quem usa JBoss Seam, ele considera de 1 a 5, 5 para Grails e Roo e 2 para Seam, sem falar que ele mencionou o overhead que o Seam tem em runtime :)

Durante o Café tive a honra de ser apresentando ao Mike Keith da ORACLE pelo Rod Johnson :) Que fez um comentário bem ineteressante para mim sobre JPA 2.0 e balas de pratas, em resumo eu questini eles se a cloud iria resolver problemas que temos hoje de escalabilidade e que muitas vezes resolvemos com particionamento horizontal, a resposta foi: "Na verdade não, por que para certor cenários vou vai ter que descer o nível de abstração e lidar com este tipo de coisas." então ele comentou sobre as anotações do JPA e repare que o JEE6 é recheado de anotações, então ele disse que ficava um pouco encomodado com o fato do desenvolvedor só colocar anotações e não saber o que realmente aocntece por baixo e achar que isso resolve 100% de todos os problemas.

Não vou Falar que o Vinicius Senger roubou a cena com a sua apresentações dos Robos! Por sinal o Vinicius e a Yara fizeram um video com uma musica sobre Bugs muito bacana.Quer o ver se mais para frante eles liberam este video :)

O Chris Schalk infelizmente não pode participar do evento por que teve problemas ao entar no Brasil, problemas com visto, ele até tentou ir na Argentina para resolver mas não rolou, uma pena. :( Então o Rod fez uma apresentação de Spring Real Object Oriented muito bacana!

Foi muito legal, por que além de mostrar o framework funcionando com o Spring STS(IDE da SS) ele falou de diversos detalhes de implementação como o uso de AspectJ e o plugin AJDT do eclipse e o uso forte de DRY e DDD.  O Roo gera as classes Java no estilo Groovy, só com atributos e com algumas anotações, o código de getters/setters e toString por exempo reside em aspectos, muito bom o "round-trip" inicial do Roo.

Outra coisa que gostei foi o fato do Roo não te obrigar a trabalar com um Prmary Key, pois é um conceito relacional e não OO, isso fica a cargo de um aspecto, por sinal como fiquei com vontade de programar quando estava vendo o Rod fazer a demo ao vivo :) Outro ponto legal que o Rod abriu foi que as anotações do Spring Roo são de nivel de retenção "Source", ou seja, não existem, em tempo de runtime, são meta-dados para o Roo se achar nas gerações de código, gostei muito desta abordagem.

Quando falei com o Rod John de novo no segundo café, questionei ele sobre as escolhas de design do Spring Batch e ele mencionou que não se envolveu com o projeto, eu percebi :) Apesar do framework ser muito bom e ter boas abstrações, tam alguns detalhes que poderia ser melhores como a questão do TX manager obrigatorio e todo o setup para fazer uma simples leitura do banco e gerar um CSV. Outro coisa que perguntei a ele era sobre Scala, perguntei quando quando vamos ter uma boa integração de Scala com Spring, assim como temos com JRuby, Groovy e BeanShell, ele disse que esta nos planos da SS ter esta integração e ainda escrever servlets no Spring MVC com Scala , não vejo a hora disso acontecer.

Depois o Ed Burms falou sobre JSF 2.0, basicamento sobre as grandes mudanças referentes a:
  • View
  • Model Integration
  • Navigation
  • Lifecycle
JSF 2.0 vem com um bom suporte a Ajax, a resolução do PRG que agora vai! Eu nunca entendi por que ele fizeram nas versões anteriores daquele jeito mas... Um ponto importante que o Ed mencionou é que JSP é @Deprecated, concordo! Também acho que o facelets é o scriplet ultimate killer mas mesmo assim, a idéia de um XML verbose para camada de apresentação ainda não me ganhou, por que tem muito overhead é por que não é produtivo, legivel, faça um tela complexa com ajax você vai ver do que estou falando, neste ponto acredito que tanto o IDE quando o ASPX estão melhores, espero que não seja sempre assim mas...

Outro ponto bacana do JSF 2.0 é o implicit navigation, agora com isso você pode navegar sem ter aqueles mapeamento em XML, o que deixa as coisas mais simples e produtivas... boa :) Por fim foi legal saber que o projeto ScrumToys que é Brazuca vem com o Netbeans é o projeto do JSF, o Ed Burms implementou a parte de validação da aplicação... muito legal a iniciativa.

Eu fiquei com uma grande dúvida... hahahaha(risada maligna) se algum especialista em JSF 2.0 de plantão esta por ai pode de ajudar... Um recurso novo é Project Stage, que você configura e diz se o projeto esta em desenvolvimento, testes, produção, etc... legal mas... isso não é um pouco bem Waterfall? Por que na prática ou sempre vou ter um pedaço da aplicação em produção e outro sempre em desenvolvimento/testes não vejo como uma unica configuração pode fechar com este cenário... e vocês?

Por fim teve o Painel onde os 3 discutiram sobre o futuro do Java com questões como Cloud, OSGI, Persistencia e até mesmo Androind Vs IPhone... :) Gostaria que tivesse tido mais tempo nessa discussão e espaço para maior interação. No mais a conferencia foi muito boa, valeu muito a pena.

Mais fotos do evento podem ser acessadas no meu flickr aqui. Também fiz um ppt com o resumo do evento que pode ser acessado no meu Slideshare aqui.

Abraços e até a próxima.

Popular posts from this blog

Kafka Streams with Java 15

Rust and Java Interoperability

HMAC in Java