ビジュアル開発ツールのWebアプリケーション向け機能は,C/Sアプリケーション向けに比べて弱く,開発生産性を向上させることが難しかった。最近になって,サーバー・プログラムをビジュアルに開発する機能が提供され,状況が変わってきた。設計,開発,テスト機能の統合化も進んできた。

 WWWシステムの構築においてこれまで,“開発ツールの機能不足”が生産性向上の足かせとなっていた。こうした問題に対し,昨年末から新たな開発ツールが相次ぎ提供され始めた。

 まずJ2EEに対応した製品として,2001年11月にトゥゲザーソフト・ジャパンが「Together ControlCenter」を,2001年12月にはボーランドが「Borland JBuilder 6」を出荷開始。2002年1月にはウェブゲインジャパンが「StructureBuilder」の単体販売を開始した。一方マイクロソフトは.NET Framework環境に向け,「Visual Studio .NET」を3月22日に出荷開始する。

“ビジュアル”と“統合”がカギ

図1●既存の設計・開発ツールにおける課題を解決する新ツールの動向
(1)サーバー・プログラムはビジュアルに開発できない,(2)複数ツールを使いこなさなければならない,といった課題があり,生産性を上げることが難しい。これらの課題を解決するために新しいツールが登場してきた。また,JUnitやEclipseはそれ自身だけでは実現できないため,破線で示した

 これらのツールが,これまでの開発ツールにおける機能不足をどう解消するかは,それぞれのツールによって異なる。

 まずこれまでの問題を整理すると,大きく2つある(図1[拡大表示])。一つは,“ビジュアル開発”ができないこと,もう一つは設計からテストまで別々のツールを組み合わせて使う必要があったこと,である。

 Visual BasicやDelphiなどこれまでのビジュアル開発ツールではクライアント/サーバー(C/S)・システムの開発において,画面レイアウトやデータベースとの接続をGUIから指定できた。しかし,WebアプリケーションではVisual InterDevやIBM VisualAge for Javaなどが開発ツールとしてあったが,画面やロジックはHTMLやJavaサーブレットなどでコーディングする必要があった*1

 新たなツールでは,画面をビジュアルに開発できる製品や,モデル図を使ってロジックの開発をビジュアルに進められる製品がある。

 またこれまで,アプリケーションを作成するには,データベースの設計ツール,アプリケーションのモデリング・ツール,開発ツール,テスト・ツールなど異なるベンダーが提供する製品を,それぞれ使いこなさなければならなかった。相互連携機能が備わっている場合もあるが,しょせんは別の製品であり,1つの製品のようには使えない。ツール間でデータの受け渡しをするのに手間がかかるようでは開発者にストレスを与え,開発生産性も下がってしまう。

 こうした問題に対し,テスト・ツールを組み込むことができる製品や,設計からテストまでの機能を1つのツールで提供する製品が出てきた。

GUI開発をC/Sシステムと同等に

表1●サーバー・プログラムのビジュアル開発機能を持つ主な製品 *1 WebGain Studioに同こんしているほか,単品でも販売している EJB:Enterprise JavaBeans,UML:Unified Modeling Language

 ビジュアル開発を取り入れた製品には,(1)HTML対応のコンポーネントをベースとしたビジュアル開発と,(2)モデル図をベースとしたサーバー・プログラムのビジュアル開発,とがある。

 前者はHTMLやJavaScriptなど,“プレゼンテーション”部分の開発作業を,後者は業務処理など“ロジック”部分の開発作業を支援する。これらの機能は1つのツールで両方をカバーできるものだが,現状の製品はどちらか一方だけに対応している(表1[拡大表示])。

 (1)HTML対応のコンポーネント・ベース開発は,米Microsoftの「Visual Studio .NET」が提供する。Webアプリケーションの実行環境「ASP.NET」に含まれるコンポーネント「Web Forms」を使って,Webアプリケーションをビジュアルに開発できる。

 開発スタイルは,従来のVisual Basicを使ったC/Sアプリケーション開発と同様である。HTMLページに相当するフォームにWeb FormsのGUIコンポーネントをマウスで配置し,GUIコンポーネントの初期設定値や色などは属性で指定する。開発時にGUI画面を実行して確認できる。

 こうやって開発したアプリケーションは,サーバー・サイド・コンポーネントのWeb FormsによってHTTPとHTMLに展開される。Web Formsは実行時に,WWWブラウザに送信するHTMLページの生成や,HTTPによるWWWブラウザとのやり取りなどを行う。

 Visual Basicを使ったC/Sアプリケーションの開発スキルが,Webアプリケーション開発にも適用できるようになったわけだ。

ロジックもモデル図でビジュアルに

図2●モデル図を使ってサーバー・プログラムをビジュアルに開発する(Together ControlCenterを使った例)
画面上半分ではモデル図を編集でき,下半分ではソース・コードを編集できる。モデル図とソース・コードとは常に整合性を保てる。モデル図で変数やメソッドを修正すると,ソース・コードに自動的に反映される。また,その逆も可能である

 もう一方の(2)モデル図を使ったサーバー・プログラムのビジュアル開発は,JBuilder 6 Enterprise EditionやStructureBuilderなどが提供する。GUIのようなビジュアル表示ではなく,プログラムの構造をモデル図でビジュアルに表示する,という開発方法である。モデル図に加えた変更がソース・コードに自動的に反映され,さらに,ソース・コードへの修正は,モデル図に自動的に反映される(図2[拡大表示])。

 モデル図には,UMLで規定したクラス図などを採用している製品が多い。Together ControlCenter,StructureBuilder,Oracle9i JDeveloperはUML図をサポートし,JBuilder 6 Enterprise Editionだけが独自の図を採用している。またJBuilderのモデル図によるビジュアル開発は,EJBアプリケーションだけを対象にしている。

 モデル図によるビジュアル開発は,(1)プログラミング開発中にソース・コードの設計情報が確認できる,(2)設計情報とソース・コードが確実に一致する,といったメリットがある。プログラム開発中にクラス設計を微調整することはよくあり,その際,設計書とソース・コードが一致しなくなるという問題が起きやすかった。モデル図とソース・コードが同期していれば,このような問題は起きなくなる(図2[拡大表示])

 また,新規のプログラム開発だけでなく,既存プログラムの修正にも効果的だ。ソース・コードしかなくても即座にモデル図が作成でき,プログラムの設計情報が得られる。

 ただ,同様の機能は,従来からUMLのモデリング・ツールと開発ツールとの連携でもできていた。例えば米Rational SoftwareのUMLモデリング・ツール「Rational Rose」とビジュアル開発ツールとの間で,双方向にデータを受け渡すラウンドトリップ開発が可能だった。

 しかし,「プログラミング中に後から増やしたクラスをモデリング・ツールが“クラス”と認識しない」(電通国際情報サービス 産業ソリューション事業部e-コンサルティング2部マネージャーの今村智氏)といったことがあり,使い勝手はあまり良くなかった。最近登場したツールでは,こうした問題が解消されている。

(松山 貴之=matsuyam@nikkeibp.co.jp)