「当社のMDAツール『OptimalJ』は“魔法の箱”にはしていない。自動生成するソース・コードの品質を、開発者が改善することができるように作ってある」。こう語るのは、日本コンピュウェアが11月1日に出荷を始めたMDAツール「OptimalJ」の製品開発を統括する、コンピュウェア・ヨーロッパのウイン・バスト チーフ・アーキテクト(写真)だ。

 MDA(モデル駆動型アーキテクチャ)ツールを使った開発では、プログラミング言語のソース・コードを直接書くことはしない。業務アプリケーションの開発者は、「どんなシステム機能が欲しいか」といったシステム分析の結果をUML(Unified Modeling Language)の図で表現する。UMLの図を専用の開発ツールに読み込ませれば、ソース・コードが自動的に出来上がる。OptimalJはJavaのソース・コードを生成する。

 OptimalJでは、利用者がソース・コードを自動生成するためのコーディング・パターンを登録できる。「OptimalJには、JSP(JavaServer Pages)などを生成するためのコーディング・パターンがあらかじめ登録されている。しかし実際の開発では、ソース・コードの品質を上げたいというニーズも出てくる。その時は、ツールの利用者が、コーディングのパターンを自由に変更すればよい」(バスト氏)。

 つまり、OptimalJでJavaのソース・コードを自動生成するようになっても、ソース・コードの品質を高めるにはJavaを熟知した技術者の存在が不可欠だ。バスト氏は、「アプリケーションのパフォーマンスを改善するには、J2EE(Java 2 Platform, Enterprise Edition)や実装に関する、高いレベルのスキルを持っておく必要がある。OptimalJの最適なコーディング・パターンを考えることは、J2EEを学ぶのに役立つだろう」と語る。

 MDAをシステム開発の現場に取り入れると、開発者は三つの役割分担に明確に分かれる。すなわち、(1)ハードやOSといったインフラをみる担当者、(2)処理性能を向上させるアプリケーション担当者、(3)システムに盛り込む機能を見極める担当者である。この体制を実際の開発現場で取り入れるときの注意点をバスト氏に聞いてみた。「開発者は、自分の作業が三つの役割のどれにあてはまるかを自覚して、作業を進めていく必要がある。これまでの開発体制では、役割分担が明確になっていなかったからだ」という答が返ってきた。

(西村 崇=日経コンピュータ)