Oracle Java e open source – entrevista com especialista Fernando Galdino

Através de contato com a Assessoria de Imprensa da Oracle Brasil, obtive entrevista exclusiva com Fernando Galdino, especialista em Soluções da Oracle do Brasil, sobre os produtos, estratégias e perspectivas da Oracle relacionados à tecnologia Java e aos principais produtos comerciais e projetos open source de ambiente de desenvolvimento integrado (IDE) e servidores de aplicação Java liderados pela Oracle.

De acordo com a entrevista, a Oracle sinaliza firme intenção em continuar mantendo o investimento e apoio aos projetos de software livre como os IDEs NetBeans e Eclipse e servidor de aplicação Java Glassfish, enquanto avança também com sua linha de produtos e soluções comerciais Java.

Nas estratégias de sinergia entre produtos, a dupla de software livres NetBeans e Glassfish caminha bem alinhada, ambos suportando em primeira mão as mais novas especificações das plataformas Java SE, EE e ME. O Glassfish é, inclusive, a Implementação de Referência (R.I.) da plataforma Java EE.

Já o IDE Oracle JDeveloper está estrategicamente alinhado para suportar e se integrar com produtos e tecnologias comerciais da Oracle e parceiros, em especial a família de produtos Fusion Middleware, o servidor WebLogic, o Oracle Application Development Framework (ADF) e o banco de dados Oracle Database Server.

Mas há estratégias da Oracle para promover alinhamento do suporte de produtos entre as linhas open source e comercial. Assim, a Oracle mantém iniciativas de suporte e integração ao WebLogic no NetBeans e no Eclipse, bem como suporte ao Glassfish no JDeveloper.

Passados mais de dois anos desde que a Oracle comprou a Sun, e com isso incorporou ao seu portfólio de soluções Java os projetos de software livre NetBeans e Glassfish anteriormente liderados pela Sun, as estratégias de continuidade e integração da Oracle vem se tornando mais claras e consistentes e, com isso, diluindo as dúvidas e incertezas da comunidade de desenvolvedores Java.

Veja a íntegra da entrevista concedida por Fernando Galdino a seguir.

1. Quais são as frentes atuais da Oracle sobre integração e aproximação entre o GlassFish e o Oracle WebLogic Server? Permanece a diretriz de ter uma Plataforma de Servidor Comum no GlassFish 4, que compartilhe conceitos e tecnologias com o WebLogic Server? Quais aspectos específicos de integração tem sido foco de atenção da Oracle?

Galdino: O Glassfish tem recebido especial atenção por parte da Oracle e a integração com outros produtos continua cada vez mais forte. Como exemplos, temos o ActiveCache, a integração com Oracle Access Manager, extensão da console de monitoramento e recursos para clusterização e alta disponibilidade.

Em relação aos esforços de integração entre Glassfish e Weblogic encontram-se a uniformização de APIs e de sua implementação; Integração com JRockit (Máquina virtual Java de alto desempenho) e Coherence (grid de dados em memória). Com isso, ambas as ferramentas (Weblogic e Glassfish) tendem a se valer de um mesmo núcleo comum. Com o Glassfish 4 pretende-se compatibilidade com Java EE 7 e melhor suporte a virtualização. Lembrando que o release final da especificação Java EE 7 deve sair em Q3 de 2012, conforme indicado em http://jcp.org/en/jsr/detail?id=342.

2. A IBM encampou o projeto de software livre do servidor de aplicação Apache Geronimo e o oferece como uma espécie de versão gratuita de entrada, Community Edition, para a família de produtos do IBM WebSphere Application Server. Qual a estratégia da Oracle na orientação de seus clientes iniciantes quanto à escolha entre GlassFish ou WebLogic Server?

Galdino: O Glassfish é o melhor servidor de aplicações open source com suporte da Oracle e é também a implementação de referência para Java EE. Possui integração com outros componentes do Oracle Fusion Middleware. Ele pode ser utilizado para aplicações mais leves ou que queiram utilizar as novas versões da especificação, que serão inicialmente disponibilizadas nesta ferramenta antes do Weblogic.

O Weblogic é um produto que oferece uma série de benefícios em termos de gestão, escalabilidade e performance. Ele é também o servidor de aplicações base para o Fusion Middleware e também para os aplicativos Fusion. Além disso, ele também é a base das soluções de hardware e software do Exalogic, que é uma solução da Oracle para atender a infraestrutura de computação em nuvem requerida pelas aplicações atuais.

3. O WebLogic Server 11g (10.3.x) é formalmente compatível com Java EE 5, mas incorpora suporte a algumas APIs da plataforma Java EE 6. Há planos definidos para quando o WebLogic Server deve ser totalmente compatível com Java EE 6, como já é o GlassFish v3?

O suporte a Java EE 6 no Weblogic encontra-se em desenvolvimento.

Em relação ao IDE de Desenvolvimento Java, com a aquisição da Sun, a Oracle também incorporou o projeto de software livre do ambiente integrado de desenvolvimento (IDE) NetBeans, que vem agregar o portfólio de ferramentas de desenvolvimento Java da Oracle, compostas basicamente do Oracle JDeveloper e do Oracle Application Development Framework (ADF).

A Oracle também tem apoiado o projeto de software livre do IDE Eclipse. Enquanto NetBeans e Eclipse têm se popularizado como plataformas abertas e extensíveis de IDE com suporte a Java, C/C++ e outras tecnologias de desenvolvimento de aplicações, o JDeveloper teve origem no motor do JBuilder, fruto de acordo com a antiga Borland e desde então vem sendo desenvolvido pela Oracle, que tem provido suporte e integração a tecnologias e produtos Oracle, como ADF, Oracle Database Server, Oracle WebLogic e Fusion Middleware.

4. Oracle JDeveloper, NetBeans e Eclipse. Quais são as estratégias, visões e planos da Oracle em relação ao suporte a estas três plataformas de desenvolvimento de aplicações?

Galdino: A Oracle continuará investindo no ambiente Eclipse por meio do Oracle Enterprise Pack for Eclipse. Trata-se de uma plataforma de desenvolvimento amplamente utilizada pelos desenvolvedores que, inclusive, teve adicionados recursos como Toplink e ADF. O foco do OEPE está em integrar ferramentas Oracle com o ambiente Eclipse, suportar a plataforma Weblogic e focar em facilidades para o desenvolvimento em ambiente Java Enterprise Edition.

O Netbeans é uma ferramenta estratégica para a incorporação e utilização das mais recentes funcionalidades adicionadas para as plataformas Java SE, EE e ME. A ferramenta continuará a ser desenvolvida e aprimorada e será a primeira a introduzir as mais recentes atualizações para a linguagem Java. É uma plataforma focada na comunidade e podemos dizer que é uma implementação de referência para ferramentas Java.

O JDeveloper é um componente fundamental para todo o conjunto de aplicativos (Oracle ou não) baseado no Fusion Middleware. Interessante que foi relembrado que o JDeveloper foi baseado no JBuilder. Desde 2001, porém, não há mais nenhum código da antiga Borland na ferramenta. E, ao longo do tempo, diversas funcionalidades foram sendo acrescentadas à ferramenta para o desenvolvimento Java. Hoje é uma ferramenta essencial para o desenvolvimento, utilizando-se das ferramentas Fusion Middleware. Isso inclui o desenvolvimento de ponta-a-ponta para projetos Webcenter e SOA e BPM com foco em um ambiente declarativo, visual e de alta produtividade.

5. Como está sendo vista e trabalhada a integração, interoperabilidade e sinergia entre Oracle JDeveloper e NetBeans? Há planos para uma plataforma base comum no futuro?

Galdino: Netbeans é um projeto open source e os planos são de que continue sendo uma ferramenta sendo desenvolvida pela comunidade e que receba as novidades da linguagem o mais rápido possível. O JDeveloper é um ambiente de alta produtividade para o ambiente Fusion Middleware como um todo.

Os principais pontos de sinergia e interoperabilidade residem nos servidores de aplicação Weblogic e Glassfish e na utilização do Coherence. Pontos esses que estão sendo tratados. Por exemplo, fazer com que os deployment descriptors do Weblogic sejam reconhecidos pelo Glassfish e vice-versa. Hoje, os planos são de que cada ferramenta continue caminhando independentemente da outra, porém tendo em mente a interoperabilidade entre componentes do Fusion Middleware.

6. Quais são as iniciativas atuais e planos futuros para maior integração e suporte a tecnologias e produtos Oracle no NetBeans?

Galdino: A próxima versão do NetBeans ainda encontra-se em uma fase de planejamento. Logo, ainda é um tanto incerto falar em torno de iniciativas e planos futuros, já que elas ainda não se materializaram em termos de ações ou projetos. Essas iniciativas serão analisadas com cuidado, sempre tendo em mente a ideia de ter o NetBeans como uma ferramenta com as mais recentes atualizações da linguagem Java e uma plataforma focada na comunidade de desenvolvedores.

7. Recentemente a Oracle lançou o JDeveloper 11g Release 2, com suporte a JavaServer Faces 2.0 (JSF 2), tecnologia para aplicações web integrante da plataforma Java EE 6. Como está caminhando o pleno suporte às APIs do Java EE 6 no JDeveloper?

Galdino: Hoje, a Oracle possui o Glassfish como o servidor de aplicações compatível com a plataforma Java EE 6. Temos também o Weblogic, componente essencial de toda a arquitetura de produtos Oracle para middleware e aplicativos. O Weblogic é compatível com a versão Java EE 5. A compatibilidade com a especificação Java EE 6 está planejada para as próximas versões. E o JDeveloper, como principal IDE para o Oracle Fusion Middleware, precisa estar equacionado em relação a como atender esses dois lados do desenvolvimento. O lançamento do JDeveloper 11gR2 já permite trabalharmos com alguns desses recursos.

8. A Oracle já doou vários produtos e participou de iniciativas relacionadas ao projeto de software livre Eclipse e à Eclipse Foundation. Podemos destacar a doação do TopLink Essentials — versão open source do Oracle TopLink — que se tornou EclipseLink e implementação de referência de Java Persistence API (JPA); a doação do projeto de software livre Hudson Continuous Integration para a Eclipse Foundation; e a proposição em conjunto com a SpringSource do projeto Gemini baseado nos padrões OSGi. O projeto Eclipse porém, envolve a participação de empresas que tem pontos de concorrência no mercado com a Oracle, como IBM, RedHat e VMWare/SpringSource. Qual o posicionamento, visão e planos atuais da Oracle em relação ao projeto Eclipse?

Galdino: A Oracle continuará participando ativamente do projeto Eclipse. Consideramos que esse projeto é bastante importante para toda uma comunidade de desenvolvedores que utiliza o Eclipse como ambiente de desenvolvimento no dia-a-dia. Como comentado anteriormente, ao falarmos sobre as três IDEs de desenvolvimento, o Eclipse recebe uma atenção especial por parte da Oracle. No último release do OEPE – Oracle Enterprise Pack for Eclipse a Oracle – inclusive adicionou uma maior integração com a stack de produtos Fusion Middleware. Como exemplos, nós temos os recursos para facilitar a criação de scripts WLST utilizados pelo Weblogic e o suporte ao Coherence, um grid de dados em memória para melhorar a utilização de memória, bem como auxiliar na escalabilidade dos aplicativos.

A própria doação do Hudson para a Fundação Eclipse, como colocada na pergunta, já demonstra todo um compromisso que a Oracle possui com esse projeto e que continuará tendo com o lançamento de novos recursos nas próximas versões.


Agradeço à Clezia Gomes, Relações Públicas responsável pelo contato com a Assessoria de Imprensa da Oracle Brasil, que intermediou essa entrevista, e ao Fernando Galdino (@LinkedIn, @SlideShare), especialista da Oracle Brasil que concedeu a entrevista.

Oracle anuncia disponibilidade do Java SE 7

Fonte: Oracle Press Release, Redwood Shores, Califórnia – 15 de agosto de 2011.

A Oracle anunciou a disponibilidade do Java Platform, Standard Edition 7 (Java SE 7), a primeira versão da plataforma Java sob administração da Oracle.

A versão Java SE 7 é o resultado do desenvolvimento que envolveu revisão aberta, compilações semanais e extensa colaboração entre engenheiros da Oracle e membros do ecossistema Java em todo o mundo por meio da comunidade OpenJDK e do Java Community Process (JCP).

O Java SE 7 oferece:

  • Mudanças na linguagem para ajudar a aumentar a produtividade dos desenvolvedores e simplificar as tarefas comuns de programação, reduzindo o volume de código necessário, esclarecendo a sintaxe e facilitando a leitura do código. (JSR 334: Project Coin)
  • Suporte aprimorado para linguagens dinâmicas (como, Ruby, Python e JavaScript), resultando em melhoria substancial no desempenho do JVM. (JSR 292: InvokeDynamic)
  • A nova API multicore-ready oferece aos desenvolvedores maior facilidade para detalhar falhas em tarefas que podem ser executadas em paralelo por números arbitrários de núcleos do processador. (JSR 166: Fork/Join Framework)
  • A interface de I/O (entrada/saída) completa para trabalhar com sistemas de arquivos permite acesso a uma ampla variedade de atributos de arquivos e oferece mais informações quando ocorrem erros. (JSR 203: NIO.2)
  • Novos recursos de rede (suporte a Transport Layer Security – TLS 1.2, pilha Windows Vista IPv6, Sockets Direct Protocol – SDP para stream de rede com conexões Infiniband em Solaris e Linux, Stream Control Transmission Protocol – SCTP em Solaris) e segurança (algortismos de criptografia curva-elíptica – ECC).
  • Suporte ampliado a internacionalização com Unicode 6.0 e Locale com suporte a IETF BCP 47 (Tags for Identifying Languages) e UTR 35 (Local Data Markup Language).
  • Versões atualizadas de várias bibliotecas (JDBC 4.1 e Rowset 1.1, pilha XML com JAXP 1.4, JAXB 2.2a, JAX-WS 2.2).
  • Melhorias para cliente desktop (pipeline gráfico Java2D baseado na extensão X11 XRender, Nimbus look-and-feel e componente JLayer para Swing, substituição do velho sintetizador de som pelo Gervill criado pelo Audio Synthesis Engine Project).

A compatibilidade do Java SE 7 com versões anteriores da plataforma preserva os conjuntos de habilidades dos atuais desenvolvedores de software em Java e protege os investimentos nesta tecnologia.

Os desenvolvedores interessados podem usar imediatamente o Java SE 7 e aproveitar o NetBeans IDE 7.0, o Eclipse Indigo com o plug-in Java SE 7 adicional ou o IntelliJ IDEA 10.5, compatível com os mais novos recursos da plataforma Java SE 7. O lançamento do suporte do Oracle JDeveloper para o JDK 7 está programado para acontecer ainda este ano.

Exemplos de nova sintaxe introduzida pelo Project Coin

Tipo String permitido em cada case da cláusula switch:

[sourcecode lang=”java” highlight=”3,5″]
switch(diaDaSemana)
{
case "segunda": msg = "Mais uma semana de trabalho"; break;
….
case "sábado": msg = "O fim de semana chegou"; break;
}
[/sourcecode]

Multicatch – várias exceções capturadas em um só catch:

[sourcecode lang=”java” highlight=”4″]
try {
String fileText = getFile(nomeArq);
//…
} catch (FileNotFoundException | ParseException | FileLockInterruptionException e) {
System.err.println("Erro ao abrir arquivo");
} catch (IOException iox) {
System.err.println("Erro ao processar arquivo");
}
[/sourcecode]

Sintaxe diamante simplificada:

De
[sourcecode lang=”java”]
Map<Filme, Trilha> m = new HashMap<Filme, Trilha>();
[/sourcecode]

Para
[sourcecode lang=”java”]
Map<Filme, Trilha> m = new HashMap<>();
[/sourcecode]

Estas foram algumas novidades na sintaxe, exemplificadas aqui. Existem outras.

Fatos e Números de Java

  • 97% dos desktops empresariais executam Java;
  • São feitos 1 bilhão de downloads de Java por ano;
  • Há nove milhões de desenvolvedores em todo o mundo;
  • É a linguagem de programação número um do setor (segundo TIOBE Programming Community Index);
  • Mais de três bilhões de dispositivos funcionam sob a tecnologia Java.

Para saber mais