2009-12-07 4 views
24

Sun met beaucoup d'efforts derrière la modularisation du JDK sous la forme de Jigsaw, et insinuant que ce devrait être le format de module de choix pour les autres développeurs Java. Le seul joueur notable qui utilise ceci est NetBeans (et les applications dérivées). D'autre part, l'industrie s'est standardisée autour de OSGi, tous les principaux fournisseurs d'applications basant leurs temps d'exécution sur la plate-forme de modules, même Glassfish de Sun. Il y a même un port de NetBeans pour utiliser OSGi comme système de module au lieu de modules propres à NetBeans. Même Maven travaille à devenir une exécution OSGi. Est-il juste NIH, licence, ou une autre raison?Pourquoi Sun invente-t-il un autre système de modules alors que tout le monde a standardisé OSGi?

+0

Avez-vous une référence pour la partie "insinuant que cela devrait ..." de votre question? La page que vous liez a le ton de la page d'accueil d'un projet de recherche, pas celle utilisée pour présenter une technologie clé que Sun veut que tout le monde utilise. –

Répondre

4

Excellente question. Je crois comprendre que dans certaines régions, OSGi va bien au-delà de ce qui est nécessaire pour les modules JVM (avec toute la complexité correspondante), alors que dans d'autres domaines, il ne va pas assez loin. Il y a donc beaucoup de chevauchement entre eux, mais peut-être pas assez.

See this blog entry

8

Citant http://blogs.oracle.com/mr/entry/jigsaw:

OSGi est pas du tout intégré au langage Java, cependant, après avoir été construit au sommet de la plate-forme Java SE plutôt que de l'intérieur.

Ce dernier problème peut être corrigé. Sun envisage maintenant de travailler directement avec l'OSGi Alliance afin qu'une future version du cadre OSGi peut pleinement exploiter les fonctionnalités de JSR 294 et ainsi obtenir une meilleure intégration avec la langue.

(...)

Si et quand une future version de la plate-forme Java SE comprend un système de module fi spécifique puis Sun fournira un moyen de migrer modules Jigsaw jusqu'à cette norme. En attendant, nous chercherons activement des moyens de d'interopérer avec d'autres systèmes du module , et en particulier avec OSGi.

+0

Ah, c'est l'entrée de blog que je cherchais et ne pouvais pas trouver :) – skaffman

+1

Le problème est que cela ne se produit pas. JSR294 est effectivement mort, et n'a aucune incidence sur Jigsaw (ou vice versa). Si le mot-clé du module peut finir par être utilisé est quelque peu orthogonal au problème d'un système de module lui-même. – AlBlue

+0

@AlBlue - le statut de JSR294 me confond aussi. La page JCP l'indique comme inactive, mais le travail continue (apparemment) dans le cadre de Jigsaw. Je pense que vous vous méprenez sur eux étant sans rapport. La page Jigsaw dit: __Relationship to JSR 294__ _Les documents de travail postés ici doivent être considérés comme des brouillons de matériel faisant l'objet d'une discussion plus approfondie au sein de ce EG._ http://openjdk.java.net/projects/jigsaw/ – McDowell

1
+0

Je n'avais pas rencontré le concept de modules de sous-ensembles de paquets - connaissez-vous des blogs ou des articles qui en parlent? – SteveD

+1

"4. Il doit être possible pour différents types dans un seul paquet Java à d'appartenir à différents modules." http://altair.cs.oswego.edu/pipermail/jsr294-modularity-observer/2009-January/000002.html –

+0

Comme le suggère le montage, c'est faux. En fait, Harmony, une JVM open-source, utilise déjà des manifestes OSGi pour représenter les ruptures entre les modules, y compris ceux avec un nœud Geordian. – AlBlue

5

La raison d'être du projet Jigsaw et de sa relation avec OSGi a été soulignée par l'équipe de Jigsaw au Java Posse Podcast 259.

Ces projets ne se chevauchent pas entièrement et l'introduction de Jigsaw ne sonnera pas le glas de l'OSGi - la portée d'OSGi va au-delà de tout ce que Jigsaw tentera de faire. Jigsaw a beaucoup plus à offrir que l'équipe OSGi n'est en mesure de fournir (changements de langue, de classe et de mise en œuvre de la JVM). La conception d'OSGi est basée sur la conception actuelle de la JVM - les changements apportés à la JVM bénéficieront à tout le monde.

Au moins, c'est ma prise de what I've read.

Questions connexes