BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias O Jigsaw no Java 9 e sua rejeição pelo JCP

O Jigsaw no Java 9 e sua rejeição pelo JCP

Favoritos

Há muito especula-se sobre a modularização do Java através do projeto conhecido popularmente como Jigsaw. Inicialmente, sua implementação foi agendada para o Java 7, sendo empurrada para o Java 8 e, em 2012, a Oracle anunciou que só deveria liberar a implementação no Java 9. Apesar do longo tempo de discussão, não existe ainda um consenso com relação ao assunto dentro do Java Community Process (JCP), onde várias barreiras são criadas devido à grande complexidade do projeto. No dia 08 de Maio, o Comitê Executivo do JCP rejeitou a especificação do Jigsaw.

O projeto Jigsaw tem um escopo extremamente audacioso que não tem como objetivo apenas modularizar o atual runtime monolítico do Java, mas reforçar o seu encapsulamento, permitindo que os código em Java acessem as bibliotecas da plataforma somente através das suas interfaces públicas.

Fora deste processo, existem outros dois grandes módulos que não estão totalmente alinhados com o escopo do Jigsaw: JBoss, da Red Hat, e OSGi, que inclui a IBM. Estas duas empresas fazem parte do Comitê Executivo (EC) do Java Community Process (JCP), atualmente composto por 25 membros que avaliam e determinam a aprovação ou rejeição de novas especificações para a plataforma Java. Uma especificação para ser aprovada deve contar com, no mínimo, ⅔ dos votos válidos dentro do JCP. No caso do Jigsaw, IBM e Red Hat, dentre outros integrantes, votaram contra a aprovação desta nova especificação.

Tim Ellison, da IBM, anunciando previamente sua decisão em uma lista de discussão, declarou que a IBM votaria "não", pois considera que a especificação ainda não estaria pronta para ser enviada para a fase de revisão pública e posteriormente gerar a proposta final do projeto.

Atualmente, o projeto de gerenciamento de dependências e automatização para projetos Java mais utilizado é o Maven. Em sua proposta, o Jigsaw não fornece um mecanismo limpo para que seja feito o upgrade de projetos baseados em Maven para a nova plataforma. Detalhes sobre diversas preocupações que estão sendo levantadas podem ser vistas em um documento conjunto publicado pela Red Hat e especialistas externos em Maven.

No entanto, apesar das declarações antecipadas de IBM e Red Hat, Mark Reinhold, arquiteto chefe do Java Platform Group na Oracle, disse que o projeto seria enviado para análise pública de qualquer maneira, ainda que não houvesse consenso entre os membros do comitê.

Tim Ellison, da IBM, enviou uma resposta bastante longa, explicando com detalhes os motivos da empresa em votar não neste momento. A resposta original, em inglês, pode ser vista aqui. Entre as várias preocupações, ele lista alguns pontos técnicos como isolamento insuficiente, nomes de módulos automáticos e restrições de acesso, que segundo ele quebraria bibliotecas que utilizam reflection.

Diversos membros do comitê foram ouvidos durante as últimas semanas e alguns declararam seus votos de antemão, mostrando que ainda não havia um consenso. Porém, a maioria declarou que ainda aguardava para tomar sua decisão final, reconhecendo que tratava-se de uma situação muito delicada.

Mark Reinhold então publicou uma carta aberta ao Comitê Executivo do JCP, onde se mostrava surpreso que a IBM havia decidido votar contra a JSR (especificação) e ainda argumentou que a decisão da Red Hat em votar não era motivada por um desejo de "preservar e proteger seu sistema de módulos não-padrão, que é pouco utilizado fora do ecossistema JBoss | Wildfly".

Na votação, concluída no último dia 08 de Maio, prevaleceu o não. O resultado final foi 13 votos contra e 10 a favor. Votaram contra o Jigsaw: Credit Suisse, Eclipse Foundation, Inc, Grimstad, Ivar, Hazelcast, Hewlett Packard Enterprise, IBM, Keil, Werner, London Java Community, Red Hat, SAP SE, Software AG, Tomitribe, Twitter, Inc. Votaram a favor: Azul Systems, Inc., Fujitsu Limited, Gemalto M2M GmbH, Goldman Sachs / Co., Intel Corp., MicroDoc, NXP Semiconductors, Oracle, SouJava, V2COM.

Não foi desta vez que a especificação do novo sistema de módulos do Java foi aprovada, e a expectativa é de que se tenha ainda muita discussão pela frente. O InfoQ tem tentado estabelecer contato com diversas pessoas envolvidas nesse processo e continuará a fazer a cobertura sobre o assunto.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

BT