Home > JavaEE, Oracle, SUN > Com vocês, Java EE 6… …e a Oracle? (silêncio)

Com vocês, Java EE 6… …e a Oracle? (silêncio)

December 11th, 2009 davi Leave a comment Go to comments

javalogoV6 Com a aprovação da especificação Java EE na semana passada, a Sun acaba de anunciar a liberação da versão 6 da sua plataforma Java. É o resultado de um trabalho de 3 anos, com forte apelo na redução do volume de código a ser escrito, além de um conjunto de novas funcionalidades  já iniciadas na versão anterior.

RESTful Web services, dependency injection (JSR-330) e annotations para Servlets são algumas das novas funcionalidades que irão facilitar a vida dos milhões de desenvolvedores Java no mundo (embora alguns não concordem, menos código = mais qualidade de vida).

No artigo que apresenta uma introdução à versão 6, Ed Ort lista os principais objetivos desta nova versão:

More Flexible Technology Stack. Over time, the Java EE platform has gotten big, in some cases too big for certain types of applications. To remedy this, Java EE 6 introduces the concept of profiles, configurations of the Java EE platform that are designed for specific classes of applications. A profile may include a subset of Java EE platform technologies, additional technologies that have gone through the Java Community Process, but are not part of the Java EE platform, or both. Java EE 6 introduces the first of these profiles, the Web Profile, a subset of the Java EE platform designed for web application development. The Web Profile includes only those technologies needed by most web application developers, and does not include the enterprise technologies that these developers typically don’t need.
In addition, the Java EE 6 platform has identified a number of technologies as candidates for pruning. These candidates include technologies that have been superseded by newer technologies or technologies that are not widely deployed. Pruning a technology means that it can become an optional component in the next release of the platform rather than a required component.
More extensibility points and service provider interfaces as well as web tier features such as support for self-registration makes the platform highly extensible.
Enhanced Extensibility. Over time, new technologies become available that are of interest to web or enterprise application developers. Rather than adding these technologies to the platform — and growing the platform without bounds — Java EE 6 includes more extensibility points and more service provider interfaces than ever before. This allows you to plug in technologies — even frameworks — in your Java EE 6 implementations in a standard way. Once plugged in, these technologies are just as easy to use as the facilities that are built into the Java EE 6 platform.
Particular emphasis on extensibility has been placed on the web tier. Web application developers often use third-party frameworks in their applications. However, registering these frameworks so that they can be used in Java EE web applications can be complicated, often requiring developers to add to or edit large and complex XML deployment descriptor files. Java EE 6 enables these frameworks to self-register, making it easy to incorporate and configure them in an application.
Usability improvements in many areas of the platform makes it even easier to develop web and enterprise applications.
Further Ease of Development. Java EE 5 made it significantly easier to develop web and enterprise applications. For instance, Java EE 5 introduced a simpler enterprise application programming model based on Plain Old Java Objects (POJOs) and annotations, and eliminated the need for XML deployment descriptors. In addition, Enterprise JavaBeans (EJB) technology was streamlined, requiring fewer classes and interfaces and offering a simpler approach to object-relational mapping by taking advantage of the Java Persistence API (informally referred to as JPA).

- Uma “Stack” com mais flexibilidade: em português claro, ele diz o que já sabíamos. Java EE ficou pesada, com uma complexidade desnecessária para algumas aplicações. Foi necessário então flexibilizar um pouco a plataforma e a Sun (JCP) decidiu introduzir o conceito de “profiles“. “Profiles” definem um conjunto de funcionalidades mínimas, na imensidão que se tornou Java EE, e liberam este conjunto para aplicações mais específicas. O primeiro “profile” liberado foi o “Web Profile“. Outros virão… …Vale lembrar que isto já foi tentado com o J2ME e não tiveram muito sucesso. Desta vez eu acho que vão acertar.

- Enhanced Extensibility. Com muito atraso, na minha opinião, a Sun percebeu a importância das extensões que enriquecem e trazem inovação à sua plataforma de desenvolvimento. O contexto muito fechado do JCP, por um lado mantém um padrão na linguagem e funcionalidades mas, em um trade-off inevitável, não permite que muitas inovações enriqueçam a plataforma. De acordo com Ed Ort Java EE 6 inclui mais “pontos de extensibilidade” de forma a acomodar mais facilmente outros frameworks. É ver para crer.

- Facilidade no processo de desenvolvimento. Já citado acima. O Java EE 5 já tinha feito muitos progressos na tentativa de facilitar a vida do desenvolvedor. Alguns exemplos são as annotations e simplificação no desenvolvimento de Enterprise JavaBeans (EJB), com um menor número de classes e interfaces. Particularmente isto trouxe muitos benefícios na utilização da Java Persistence API (JPA). Além da padronização das annotations para dependency injection, o processo de deployment também foi muito simplificado. Você pode adicionar um enterprise bean diretamente em um WAR, sem precisar empacota-lo em um JAR, e este em um EAR. Demorou!

Não quero fazer uma análise da nova versão do Java EE. Recomendo a leitura deste artigo da InfoQ e uma análise detalhada do ServerSide.com.

E a Oracle?

Como sempre, eu estou convicto que as questões técnicas são importantes, mas o contexto, às vezes faz toda diferença. A pergunta de US$ 7,4 bilhões (valor pago pela Oracle pelo controle da Sun), é: “E a Oracle nisto tudo? Qual será o impacto da aquisição no processo de desenvolvimento do Java?”.

Particularmente, não vejo como a compra pela Oracle possa atrapalhar alguma coisa nos planos da Sun. Java é uma plataforma consolidade e a Oracle, agora mais do que ninguém, quer que a linguagem se consolide mais ainda. A abordagem que parece que está sendo adotada, na minha modesta opinião está corretíssima: “Vamos simplificar!

By the way, lembrem-se que a União Européia continua embargando a fusão. E ela (Oracle) resolveu apelar para seus clientes europeus:

- (Safra Catz, presidente da Oracle) “Ericsson, Vodafone, banco BBVA, vocês podem ir comigo na audiência da comissão européia e me ajudar a convencer aqueles senhores que a compra da Sun é importante e não representa perigo para o mercado”

- (Ericsson, Vodafone, BBVA e mais 5 grandes clientes europeus) “Claro Mrs. Catz, iremos com prazer. Pode contar conosco!”

A coisa está complicada e a Oracle vai precisar de toda ajuda possível. Até o representante do departamento de justiça dos EUA acompanhou a presidente da gigante americana, ajudando-a na defesa. Mais detalhes em “Preocupação no Iate do CEO da Oracle“.

É melhor que a S. Catz traga uma boa notícia para o Sr. Lawrence J. Ellison. Ele, como todo mortal, merece um final de semana tranquilo no seu iate.

Mesmo sem um barco daqueles, bom final de semana a todos!

Davi


Categories: JavaEE, Oracle, SUN Tags:
  1. No comments yet.
  1. No trackbacks yet.