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

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

最近、新しいJavaモジュール・システムが注目を集めています。開発者はようやく、推奨メカニズムの使用を強いられることなく、好みのバージョンのXalanの使用が可能となるでしょう。実際の問題を検討する前に、いくつかの基本的なコンセプトをみてみましょう。
昨日、Mark Reinhold氏はJavaのモジュラリティの未来についての最初の公開ドラフトを投稿した。これはドラフトなので、まだ議論される必要のある課題もわずかながら存在するが、Javaにおけるモジュラリティがどのようであるべきかについての共通認識を表している。そして、IBMの関わりによって、これまで以上にOSGiとの相互運用性がより強調されている。
前回のbundle.update以来、OSGiとモジュールJavaの世界に、いくつかのおもしろい事が起きた。JSR 294が(自動的に)凍結とマークされ、Enterprise Expert Groupがドラフト4をリリース、WebSphereで、OSGiアプリケーションが直接動作するようになり、来るべくOSGiコンファレンスの早期ディスカウントと講演者の募集がまもなく終わる。
JDKのモジュール化に関する以前の投稿に対する続報として、Mark Reinhold氏がOpendJDKプロジェクトの一部であるJigsawプロジェクトを発表した。
コミュニティではJSR 277をめぐって再度論争になっている。JSR 277はJava 7向けに提案された動的モジュールシステムである。今回、論争の発火点となったのは、JSR 277 Java Modules(JAMs)向けに計画されているバージョンのナンバリングシステムである。
JSR277とOSGi (別名JSR291)の状況に関する4月のニュースが、JSR277の専門家グループのメーリングリストで新たな議論の火付け役となった。それは、今のところ今年一番の月間投稿数を記録している。この出来事の主なドライバの一人はBryan Atsatt氏である。彼は、JSR277とJSR294の両方の専門家グループのメンバである。彼は、JSR277はOSGiにとって最適になりうると主張する。
JSR 277は、 Sun Microsystems社が主導するグループであり、正当なJava(tm)モジュール・システムを規定している。J2SE 7.0の一部になることを意図したものではあるが、本当にそうなる前に、まだやり残していることがある。JSR 277にとって幸いにも、today.java.netの議論によると、Dolphinは2009年に延期されることになりそうである。
以前Spring OSGiとして知られていたOSGiプロジェクト用のSpring Dynamic Modulesが先日そのバージョン1.0をリリースした。InfoQはこのリリースの詳細、またそれによってSpringコミュニティに何がもたらされるのかを探るためSpringSource CTOであるAdrian Colyer氏とSpring Dynamic ModulesプロジェクトリーダーのCostin Leau氏と対談した。