米IBMと米JBossが検討中の、新たなJava計画とは?

  • このエントリーをはてなブックマークに追加

 米IBMとオープンソースのJavaソフト開発企業の米JBoss Groupは、Java標準化の取り組みを牽引するべく話し合いを進めている。米MicrosoftのC#言語の人気が高まりつつあるなかで、その勢いに歯止めをかけることを狙ったものだ。

 両社は現在、アスペクト指向プログラミング(AOP)と呼ばれるソフトウェア開発テクニックに対して、それぞれ別個に投資を行っている。AOPは、アプリケーション開発をより短期間で行い、またより柔軟でエラーの起こりにくいものとするために考えられたものだ。

 JBossでコーポレートデベロップメントとストラテジーを担当するバイスプレジデント、Bob Bickelによると、両社は現在AOPをJavaの標準機能とすべく検討を進めているという。JBossは先頃、Javaの設計に新機能を追加するための正式な組織であるJava Community Processに参加している。

 AOPをJavaの仕様の一部とするには、おそらく1年以上かかると思われるが、もしそれが実現すれば、大勢を占めるJava開発者がより高度なプログラミングテクニックを利用できるようになる。そして、これらの機能が製品に組み込まれれば、JavaはMicrosoftの.Net開発ツール製品に取って代わる、より魅力的な選択肢となるだろう。

 JBossとIBMが、AOPの標準化を通じて、より多くのJavaデベロッパーにこれを利用してもらえるようにしようと考えたのは、実はマイクロソフトが、Javaの多くの特性を真似たC#言語の開発と普及に成功したことに端を発している。JBossの幹部の幹部の話では、マイクロソフトは何年も前からC#でJavaに取って代わろうと努力を続けてきたが、いまその努力が成果を挙げつつあるという。

 「C#がJavaを人気で上回っているのは、JBossとIBMにとって共通の懸念材料だ」(Bickel)

 この計画について、Microsoftからすぐにコメントを得ることはできなかった。

 Javaデベロッパーの生産性を向上させることは、Visual Studio.Net開発ツール製品を販売するMicrosoftを相手に戦いを続けるJavaツールのベンダーにとって、成否を分ける重要な目標だ。どの開発ツールを選ぶかで、その後に購入する関連のOSやカスタムアプリケーション運用のためのサーバソフトの種類が決まることも多い。

 JBoss Groupでは、無償配付しているJBoss Javaサーバソフトに関連したサービスを販売している。一方、IBMは昨年、数十億ドルの規模があるJavaアプリケーションサーバ市場で、BEAを押さえて売上で首位に立った。

 アスペクト指向プログラミングで得られる重要なベネフィットは柔軟性とシンプルさだと、AOPの支持者はいう。AOPは、コンピュータプログラムのなかの、複数の場所で利用される特定の機能を制御するポリシーを一元化し、これによって開発プロセスを効率化するよう設計されている。

 たとえば、プログラマーは、ユーザーがあるWebサイトへログオンする際に、そのログオンの仕方をWebサーバがどう扱うかを定めたルールを定義できる。そのルールをユーザー毎に変更するには、複数の場所で細かい調整が必要になるが、AOPツールを使えばプログラマーがシステム全体のポリシーを一度に変更できる。

 プログラマーはまた、特定の機能を処理する独自の「アスペクト」を作り出すこともできる。アナリストの指摘では、アスペクト指向プログラミングは広く普及しているオブジェクト指向プログラミングのテクニックとうまく合致するという。

 開発時間が短縮されることに加えて、AOPツールを使って開発されたコードは品質の点でも優れている傾向があると、Ron Bodkinはいう。同氏は、かつてXerox Parc研究所でAspectJプロジェクトに取り組み、現在はNew Aspects of Securityというコンサルティング会社を経営している。

 その一方で、Java関連企業各社は、Java開発ツールを改良し、MicrosoftがVisual Basicツールで手に入れた成功に倣おうと、膨大な投資を行っている。たとえば、Javaを考案したSun Microsystemsでは、Project Raveという製品をリリースする予定だ。Project Raveは、MicrosoftのVisual Basicが得意とする比較的簡単なアプリケーションの開発に、真っ向から狙いを定めた開発ツールだ。大規模で複雑な実装が伴わない、企業の部門レベルでの開発では、Visual Basicが使われていることが多い。また、BEAは先月、WebLogic Workshop 8.1をリリースしたが、これはJavaサーバソフトウェアのマーケットシェア拡大を目指す同社の戦略にとって、成功の鍵を握るコンポーネントだ。

 Javaソフトウェアプロバイダー各社は、これらの取り組みに加え、アスペクト指向プログラミングへの投資も進めている。AOPはまだ主流のプログラミング技術と呼ぶにはほど遠いが、Java関連企業各社は、これらの高度なテクニックが、長期的には戦略上重要になると指摘している。

 BEAは先月、WebLogic Aspect Frameworkを発表した。これは、JavaプログラマーがBEAのWebLogicツールやサーバソフトウェアを使いながら、AOPのテクニックをいろいろと試せるように設計されている。

 IBM Researchも、アスペクト指向プログラミングやその他の取り組みへの投資を行っているが、そのなかにはHyperJと呼ばれるものが含まれている。

 同社は、AOP専用に設計された、AspectJ言語の展開にも関与している。AspectJは、現在Eclipseオープンソース開発ツールプロジェクトのもとで開発が進められているが、もともとはXerox Parc研究所で開発され、今年初めにEclipseに引き継がれたものだ。

 Javaベースのアスペクト指向「フレームワーク」にはもう1つ、Aspect Werkzというオープンソースプロジェクトもある。

 Java開発ツールの各メーカーが、Microsoft対抗策として、AOPに投資している一方で、受けて立つMicrosoft側でも独自の計画を準備中だ。

 米Intentional Softwareでは、アスペクト指向の(プログラミングという)コンセプトの改良に取り組んでおり、また商用製品の開発も進めている。同社は、Charles SimonyiというMicrosoftの元幹部が1年前に立ち上げたという新興企業である。

 Simonyiは、Microsoft在籍中に、intentional programmingというアスペクト指向プログラミングと関連したコンセプトの研究に取り組んでいた。Intentional Softwareではすでに、Microsoftとライセンス契約を交わしており、何か新しいものを開発した場合には、Microsoftに「第1交渉権」を認めることになっている。

 JBoss創業者で、技術的なビジョンの持ち主でもあるMarc Fleuryによると、Microsoftは--マーケティングにあたっては、そうした言い方はしていないものの--自社の.Netフレームワークに、アスペクト指向プログラミングのテクニックを数多く借用しているという。

   JBossのアスペクト指向プログラミングに関するフレームワークは、JBoss 4.0で導入されたものだが、Visual Basic .Netで開発する際のプログラミングの容易さを再現することを狙ったものだと、Fleuryは説明する。Visual Basic .Netでは、たとえばトランザクションやキャッシングのような、より難易度の高いプログラミングタスクを、シンプルなタグを代用することで、開発者が自ら行わなくても済むようになっている。

 AspectJの開発に関わったBodkinは、商用システムの開発の際に、アスペクト指向プログラミングを採用することに極めて積極的だ。アスペクト指向プログラミングは、まだほとんど実験段階にあるものだが、それでもその採用を強く勧める。J2EEベースのシステム開発は難易度が高く、そのためアプリケーション開発プロセスは遅々としたものになり、また企業ではアプリケーション作成に関する未処理の要望が溜まってしまうことにもつながる。こうした問題を引き起こす難易度の高さが、アスペクト指向プログラミングの採用を促す原動力になるとBodkinは説明する。

   ただし、アスペクト指向プログラミングが主流になるのは、いくつかのハードルを飛び越えた後のことになりそうだ。AspectJ言語はJavaを拡張したものだが、開発者はやはり新しいテクニックを身につけるためにトレーニングを受ける必要がある。また、正確にはどんなものをアスペクト指向プログラミング用のツールと呼ぶか、そしてこの(プログラミング)技術が今度どこへ向かうべきか、などの点に関して、業界内には明確な合意事項がない。 

 「ちょうどオブジェクト指向プログラミングが出てきた当時のようだ。その頃、オブジェクト指向とはどんなものであるべきかについて、いくつもの異なった考えがあった。そうした考えをまとめていく標準化が先々役に立つだろう。だが、そうした標準化の完了を待たなくても、プログラマーはオープンソース形式で開発される便利なツールを利用できる」(Bodkin)

この記事は海外CNET Networks発のニュースをCNET Japanが日本向けに編集したものです。

  • このエントリーをはてなブックマークに追加