Improving Java Development - An Open Letter to the Java Community

A empresa ZeroTurnaround, criadora da ferramenta JavaRebel, que permite que alterações feitas em classes Java da sua aplicação sejam automagicamente recarregadas pelo seu servidor de aplicações sem a necessidade de redeploys, publicou uma “carta aberta” à comunidade de desenvolvedores de frameworks Java defendendo melhoras nos mecanismos de configuração utilizados por estes frameworks. Uma lista de discussão foi criada para captar idéias que possam ajudar a tornar os mecanismos de configuração de frameworks mais razoáveis e pode ser uma ótima oportunidade dos desenvolvedores reagirem contra a complexidade em que a plataforma Java está atolada.

Mais informações e discussões sobre o tema em http://www.theserverside.com/news/thread.tss?thread_id=48340

Rapaz, o negócio é que pra ter esse “zero turnaround” mesmo os frameworks java teriam que ter um “development mode”, onde as classes/arquivos alterados fossem relidos e isso não é simples nem rápido de se fazer.

Já parou pra pensar o quanto demoraria pra recriar uma session factory do Hibernate ou uma bean factory mediana do Spring?

Se isso for realmente ser feito, tem que avaliar com muita calma como fazer essa atualização de arquivos.

Resumindo: os caras criaram um SDK que deveria ser adotado pelo maior número de frameworks atuais visando facilitar o trabalho do próprio produto da empresa: o JavaRebel.

Citação 1: O problema que eles enfrentam

[quote]
Java frameworks use configuration files, annotations and other methods to configure themselves. This is where JavaRebel loses its effect as configuration is always cached somewhere and usually not reloaded until the application is redeployed. This can be overcome by tighter integration with these frameworks.[/quote]

Citação 2: Como o MUNDO pode resolver o problema deles.

[quote]
With the release of JavaRebel 1.1 M1 we finally have full support for annotation reloading. We have also released an open source SDK that can be included in any open source project. The SDK will trigger registered listeners when the classes are reloaded allowing custom handling to occur. The integration is then just a matter of reloading configuration in development mode.[/quote]

“Legal” hein?

Detalhe: o produto deles é proprietário.

“Cara de pau” é pouco pra descrever.

Eu li essa semana mesmo algo sobre o JavaRebel. Parece que o pessoal do lift, framework web bem interessante para Scala é fã do produto. Ainda que eja algo fechado podem ser criadas alternativas open-source então rejeitar a idéia de início não é sadio.

Eu acho que o modelo de desenvolvimento e deploy de aplicações em Java precisa ser revisado urgentemente

Meus últimos dois projetos envolveram aplicações nativas Linux/Solaris manipuladas por scripts Ruby. Eu realmente havia esquecido o quanto é prazeroso desenvolver em uma plataforma aberta como UNIXes, onde a interação entre processos pode ser controlada e administrada com um mínimo de qualidade. Após passar um bom tempo se virando com JMX e outras parafernalhas para tentar mantêr um aplication server como um sistema aberto foi um alívio muito grande.

Pena que a thread no TSS (como sempre) debandou para trollzices.