
Modular Java:それは何なのか?
ここ数年にわたって、Javaのモジュール化は活発に議論され続けている話題である。(今や廃れてしまった)JSR 277から、JSR 291の承認、進行中のJSR 294にいたるまで、モジュール化はJavaの進化における必要なステップであるとみられている。ScalaのようなJVMベースの将来の言語でさえモジュール化について検討している。では、モジュール化の意味するところは何で、なぜそれを気にかけるべきなのだろうか?

ここ数年にわたって、Javaのモジュール化は活発に議論され続けている話題である。(今や廃れてしまった)JSR 277から、JSR 291の承認、進行中のJSR 294にいたるまで、モジュール化はJavaの進化における必要なステップであるとみられている。ScalaのようなJVMベースの将来の言語でさえモジュール化について検討している。では、モジュール化の意味するところは何で、なぜそれを気にかけるべきなのだろうか?
前回のbundle.update以来、OSGiとモジュールJavaの世界に、いくつかのおもしろい事が起きた。JSR 294が(自動的に)凍結とマークされ、Enterprise Expert Groupがドラフト4をリリース、WebSphereで、OSGiアプリケーションが直接動作するようになり、来るべくOSGiコンファレンスの早期ディスカウントと講演者の募集がまもなく終わる。
この1ヶ月の間、Java Modularityワーキンググループ(JSR 294)の現状について多くの議論がなされた。JSRは、異なるモジュールシステム(特にSunのProject JigsawとOSGi)間の共通基盤を見つけようとしているが、現在の提案はあまりにも複雑であり、世界初となるメタモジュールシステムという概念を導入している。Simple Module SystemはJSR294を救えるか?
OSGi allianceのテクニカルディレクターであるPeter Kriens氏はUK OSGi Users Groupで次期OSGi 4.2リリースについてのプレゼンテーションを行った。そのイベントは記録されていて、ビデオが公開されている。OSGi 4.2は2009年8月末までにはリリースされるといわれていて、いくつかの新しい機能が用意されている。
JDKのモジュール化に関する以前の投稿に対する続報として、Mark Reinhold氏がOpendJDKプロジェクトの一部であるJigsawプロジェクトを発表した。
JSR277とOSGi (別名JSR291)の状況に関する4月のニュースが、JSR277の専門家グループのメーリングリストで新たな議論の火付け役となった。それは、今のところ今年一番の月間投稿数を記録している。この出来事の主なドライバの一人はBryan Atsatt氏である。彼は、JSR277とJSR294の両方の専門家グループのメンバである。彼は、JSR277はOSGiにとって最適になりうると主張する。
最新のJSR 277とJSR291とOSGiに対する激しい議論が先週、JSR 291のスペックリード、またJSR 277のExpert GroupメンバーでもあるGlyn Normington氏の投稿により表面化した。彼はExpert Groupが試案をまだ提示できていないので、それに関して議論し変更を加える余地も無くそれにただただ刻印を押すことになるだろう。
Glyn Normington氏は、JSR 277、JSR 291、JSR 294をカバーするJavaモジュール性の概要を記述した。 彼は、それぞれの違いを述べ、その有用性を加え、続いて何故我々が(OSGiのような)カスタムクラスローダーに対して、JVMでサポートするモジュール性を必要とするのかという疑問に答えている。