6月22日、月刊JavaWorld(株式会社IDGジャパン)主催によるイベント「JavaWorld DAY 2004」が都内で開催され、「開発レベルの向上:モデル、アーキテクチャ、そしてプログラム」と題し、UML(Unified Modeling Language)開発チームの1人として、またOMT(Object Modeling Technique)の提唱者として知られている米IBM ソフトウェア・グループ ラショナル・ソフトウェア ディスティングイッシュト・エンジニア ジェームズ・ランボー博士による基調講演が行われた。
|
米IBM ソフトウェア・グループ ラショナル・ソフトウェア ディスティングイッシュト・エンジニア ジェームズ・ランボー博士
|
講演の冒頭でランボー博士は、「ソフトウェア開発を困難にしている要因は、ビジネスドメインやコンピュータが異なるコンセプトをもっていることにあります」と述べた。これまでプログラマーはコードを記述することでソフトウェアを開発し、異なるコンセプトをもつドメインにも手動で対応してきた。
「コードのみで開発した場合、そのアーキテクチャは優秀ではないかもしれませんし、チームの中でコーディネーションすることが困難かもしれません。また、ソフトウェアの詳細を別の方法で記述するにも手間が掛かりますし、エラーを発生しやすいという危険もあります」と、コードのみに頼ったソフトウェア開発の仕組みには大きな危険が伴うことに警鐘を発した。さらに「このように作成されたソフトウェアは脆く、柔軟性に乏しいものともなります」とシステムへの依存性やスケーラビリティに問題があることも指摘している。
これらのギャップを埋めるには、ソフトウェアをより高いレベルからの視点でとらえる必要がある。その回答としてランボー博士は、ビジネスプロセスからソフトウェアの設計モデルを作成し、そのモデルをベースにコードを生成する手法であるMDA(Model Driven Architecture)を推奨している。
MDAはOMG(Object Management Group)が中心となって標準化を進めているアーキテクチャであり、ランボー博士自身も標準化の推進に大きく貢献している。MDAによるソフトウェア開発は、まずプラットフォームに依存しないモデルである「PIM(Platform Independent Models)」を作成し、このPIMから複数の(あるいは単体の)プラットフォーム依存モデル「PSM(Platform Specific Models)」を作成する。さらに、これらのPSMから実装されるコードを生成するのである。
MDAによる開発の大きなメリットは、ソフトウェアを設計するフェーズで個々のプラットフォームを意識する必要がない点である。ビジネスプロセスをPIMにモデル化する人、つまりソフトウェアの設計を行う人間にとっては、実装を意識することなく、そのソフトウェアの「目的」だけに注力することが可能になる。
また、ランボー博士はMDAによる効果的なソフトウェア開発を実現する手法として、アスペクト指向型プログラミング(AOP:Aspect Oriented Programing)などにも触れ、「現在のAOPツールはまだまだ使いやすいとは言えません。しかし今後はさまざまなベンダーからAOPツールがリリースされ、数年後には良いものとなるでしょう」と語った。さらに今後のMDAの展望について「MDAによるソフトウェアの開発は始まったばかりです。普及にはまだ時間が必要となるでしょうが、今後MDAはより多くの分野で使われると予想しています」と語った。
■ URL
JavaWorld DAY 2004
http://www.idg.co.jp/jwday/
米IBM
http://www.ibm.com/
( 北原 静香 )
2004/06/23 11:35
|