研究紹介シリーズ(第8回)

アスペクト指向に基づくWeb開発の研究
「アスペクト指向によりモジュールを再利用することで効率的でディペンダブルなWebソフトウエア開発を目指す」

社会環境の変化によるニーズの多様化、インターネットの急速な発展などにより、迅速かつ柔軟に対応できるようなソフトウエア開発の手法が求められている。

そういった中、アスペクト指向をRIA(=リッチ・インターネット・アプリケーション)開発の分野で採用し、同技術を使った効率的でディペンダブルなWeb開発の研究に取り組んでいるのが、鷲崎弘宜准教授である。

Web2.0やRIAの開発にアスペクト指向を適用

「オブジェクト指向やコンポーネント、サービス指向など、これまでソフトウエア開発は必要な情報が揃うまで機能の決定を遅らせる方向で技術が発展してきました。その中で私は、最先端に位置し迅速で柔軟な対応がより強く求められるWeb2.0やRIAに最適なアスペクト指向に着目しています」と鷲崎準教授は語る。

早稲田大学 基幹理工学部情報理工学科 鷲崎弘宜准教授


早稲田大学
基幹理工学部情報理工学科
鷲崎弘宜准教授

オブジェクト指向やサービス指向では、ソフトウエアを一枚岩ではなく部品、すなわちモジュールの集合として開発する。各モジュールを、必要に応じて検索などによって基盤上に読み込み、そこでソフトウエアを自由に組み立てるといった方法をとる。この方法は、モジュールを複数のソフトウエアで再利用できることから、機能の変更に迅速かつ柔軟に対応できるということ以外にも、開発の効率化が図れるメリットがある。新規にソフトウエアを開発するのとは違って、使い古されたモジュールの利用により信頼性を担保することができるといったメリットもある。

オブジェクト指向では「処理手続き」とそれに「関連するデータ」の両方を「クラス」という形式でモジュール化できた。しかし、オブジェクト指向をもってしてもモジュール化が困難なケースがある。この問題を扱うのがアスペクト指向である。

アスペクト指向の説明で有名な例に、ロギングやプロファイリングがある。ソフトウエアの実行履歴やシステムの稼働状況、ネットワークのアクセス状況などを記録することである。これらの機能は、従来の開発方法においてはコード中に横断的に散在してしまう。こういった性格の機能や関心事をいかに他から分離するかが課題だ。そこでアスペクト指向では、ソフトウエアの構造上で複数箇所に散らばってしまう機能や関心事をアスペクトという新たなモジュールに閉じ込めてに関しては、ソフトウエア開発あるいは実行の途中で自動的にアスペクトを読み込み、合成するというアプローチをとっている。

ロギングはさまざまな場所で行われるため、これまではモジュール化が出来なかった。そうすると、ロギングの処理の仕方を変更しようと思うと、全て洗い出す必要があり大変だ。しかしアスペクト指向の技術を使えば、あちらこちらに散らばっているロギングなどの横断的関心事を、アスペクトに閉じ込めておき、必要な箇所に後から織り込むことができる。

しかしながら、Webアプリケーション開発においてはアスペクト指向の適用は十分には進展していない。クライアントやサーバー、データベースなどでそれぞれ異なる実装プラットフォームが混在することや、不特定多数による利用、第三者により提供され改変できないWebサービスやアプリケーションの組み入れ、非同期通信・セキュリティなど、Web特有の複雑さや仕組みがあり、それらを組み入れたアスペクト指向あるいは効率的なモジュール分離・合成開発の確立が求められている。

鷲崎準教授は本プロジェクトの狙いを次のように語る。

「そこで、我々のプロジェクトでは、内部の実装にタッチできないWebアプリケーションに対してもアスペクト指向を適用できる仕掛を考え、JavaScript、Ajax向けのアスペクト指向プログラミング環境: AOJS(Aspect-Oriented JavaScript programming framework)を実現しました」

第三者のプログラムでもアスペクト指向が適用可能に

アスペクト指向を適用することで 効率の良いソフトウエア開発を目指しています(鷲崎準教授)

鷲崎准教授が考えたのは、プロキシを利用して、クライアントからの送信データをネットワーク上でインターセプトし、必要に応じてアスペクトを織り込むという方法だ。それによって、内部の実装にタッチできない第三者のプログラムに関しても対応が可能になった。

現在のところ、クライアント側に分散しているスクリプトのモジュール化が研究対象だが、今後は、分析設計モデリングとモデル駆動開発のアプローチによって、クライアントだけでなくサーバーやDBなども含めプラットフォーム全体を一気通貫で適用できるようなアスペクト指向の技術開発にも着手する計画だ。

鷲崎弘宜准教授より
これまでアスペクト指向と言えばロギング対応というイメージをお持ちの方も多かったと思いますが、これからは効率的でディペンダブルなWebソフトウェア・サービス開発に不可欠な技術になると考えています。ここでご紹介した研究成果はオープンソース化し2010年5月に一般公開の予定です。現在のところ、オープンソースやオープンなWebアプリケーションを実験対象に研究を進めていますが、今後は実際の開発案件に対して我々が開発した技術が使えるかどうか確認し、新たな課題などを掘り起こしたいと考えています。ご協力いただける方や一緒に研究開発に取り組んでいただける方を広く募集します。

関連情報

コメントは停止中です。