No primeiro dia do TDC 2009, em São Paulo, Rod Johnson apresentou um keynote sobre tendências para o Java EE. Rod Johnson é PhD em música e formado em Ciências da Computação. Criador do framework Spring, Johnson atualmente assume a função de CEO Fundador da Spring Source, ícone da comunidade Java.
Segundo Johnson, Java existe em um contexto onde as perguntas que realmente influenciam são menores do que deveriam. Antigamente ao discutirmos sobre tendências para o futuro, o maior problema era a especulação sobre algo onde a tecnologia não existia. Hoje, podemos falar sobre tecnologia comprovada.
Bancos de Dados
Sua primeira abordagem foi com relação aos diferentes tipos de persistência. Desde os anos 70, os bancos de dados relacionais são o padrão na escolha da persistência para a grande maioria, isso porque é razoável a praticamente todas as áreas. Mas apenas por poder suprir grande parte das necessidades, não significa que necessariamente são a melhor opção.
Os bancos de dados relacionais surgiram em uma época onde a necessidade era o armazenamento, hoje as necessidades giram em torno de escalabilidade. A cada instante milhões e milhões de dados são gerados e, como gerenciar e servir esses dados de forma a corresponder as expectativas dos usuários?
Grandes empresas já buscam soluções e investem nessa área, como exemplo temos o Google, Amazon, Facebook e LinkedIn.
E o que isso influencia no universo JEE? Os dados são fundamentais para determinar a arquitetura da aplicação, e se existirá uma evolução nos tipos de armazenamento, também temos que ter em mente a mudança na arquitetura das aplicações.
Cloud Computing
Uma outra grande diferença no contexto atual, é que os maiores custos hoje são com gestão e não com hardware, assim começaria um dos tópicos mais influentes no TDC deste ano, o Cloud Computing.
"Not just vendor-driven like SOA" - Rod Johnson.
Cloud Computing é real, tem força em termos econômicos, uma nova abstração integrada, dinamicamente escalável e consumida como serviço.
Afirma também que:
Para a maioria das empresas não há sentido em operar seus próprios dados, assim, grandes empresas tenderão a adotar nuvens internas (como premissa) e pequenas empresas buscarão uma solução pública.
E onde entra o mundo JEE? Isso muda os processos, a tecnologia. Novos frameworks devem ajudar o usuário a manter o controle de sua arquitetura e de seus dados, devendo facilitar a adoção ao Cloud. Coloca também, o desenvolvedor mais perto dos ambientes e das implementações em produção.
"Estamos em uma fase onde não apenas iremos escolher uma solução, mas podemos ajudar a criá-la e isso é uma grande oportunidade para a comunidade Open Source. O Open source trás talento junto. E hoje a oportunidade de colocar uma grande ideia em prática é muito maior do que a 15 anos atrás."
A Influência do Ruby
Há uma grande oportunidade para a JVM. O Open Source tem contribuído muito, mas também fez do Java uma plataforma confusa para iniciantes. O Ruby on Rails mostrou que uma grande produtividade pode ser conquistada sem enfatizar tanto o código, porém não "doodleware" como o MDA.
Lean software
Desenvolvimento Lean é a tradução dos princípios e práticas do Lean para o domínio de desenvolvimento de software.
Princípios do desenvolvimento Lean:
- Eliminar Desperdício
- Amplificar o aprendizado
- Decidir tão tarde quanto possível
- Entregar tão rápido quanto possível
- Fortalecer o time
- Construir integridade
- Ver o todo
Essa maneira de pensar deve impactar em como observamos certas tecnologias. Johnson citou como “casualidades do Lean Software”:
- SOA
- EJB
- SOAP
- XML
- UML (Obssession/MDA)
- Sun/Oracle
O criador do Spring afirmou ainda que a aquisição da Sun pela Oracle não põe o Java em risco, pelo contrário, mas que a Oracle depende muito do Java e deve trazer benefícios por ser forte do que a Sun.
Achou algum dos temas interessantes? Pesquise e fique por dentro do que há por vir.
Bancos de Dados:
Google lança base de dados para rivalizar com Oracle, IBM e Microsoft
Bancos de dados não relacionais e o movimento NoSQL
Conhecendo as entranhas do Facebook
Cloud Computing
Conteúdo envolvendo Cloud no InfoQ Brasil