“特急開発”ツールの進化系
Part 3:論技術などを生かし開発を自動化
■推論技術などを応用し開発生産性を劇的に向上
データやルールの設定だけで、プログラムやソースコードをほぼ100%自動生成する―。 積年の夢をかなえるような開発ツールに注目が集まっている。 代表的なSapiensとGeneXusに焦点を当て、その実態を見てみよう。
“特急開発ツール”に対するユーザー企業やシステムインテグレータの注目が高まっている。ウルグアイのアルテッチが開発する「GeneXus」を国内販売するジェネクサス・ジャパンが2010年12月7日に開催したセミナー「GeneXus Day 2010 Winter」には、ユーザー企業の情報システム担当者やシステムインテグレータなど約450人が参加し会場は満席。イスラエルのサピエンス・インターナショナルが開発する「Sapiens」についても同様で、Sapiensの導入を手がける日本コンピュータシステムの田口 晋副事業部長は、「2010年以降、ユーザー企業からツールを名指しした提案依頼が増えてきた」という。
これらのツールが注目される理由の1つは、開発生産性の高さだ。SapiensやGeneXusはプログラミング自動化などで開発効率を向上させようとするCASEツールやRADツールの進化形にあたり、開発者が介在すべき作業を可能な限り絞り込んでいる。例えば業務ロジックを記述していく際に推論エンジンを使って、例外処理を自動生成したり、実行順序を自動判別するといった機能を備える。これらによって「開発者は、“本筋”となるロジックの記述に専念できる」(ジェネクサス・ジャパンの川西 誠セールスプロモーション マネージャー)。
注目を集めるもう1つの理由は、実行環境を移行しやすいことだ。両ツールは、業務で発生するデータや、業務ルールを規定するロジック、画面や帳票などのユーザーインタフェース(UI)といったアプリケーションの設計情報を明確に定義し、とりまとめていくことが開発作業の中心となる。開発者が規定した設計情報は、両者ともに「知識ベース」と呼んでいる。
知識ベースはプログラム言語やDBMSに依存しないよう考慮されており、OSのバージョンアップやDBMSの変更などでアプリケーションの稼働環境が変わっても、新しい環境にほぼそのまま移行できる。「まず実行環境ありきで幾多の制限を意識しながら開発を進めるという、従来からのスタイルと決別できる」(GeneXusを利用した東洋大学の人事管理システムの刷新プロジェクトを手がける、元東京大学特任教授で情報科学研究所代表の内山 東平氏)。
以下では、市場から注目されるSapiens、GeneXusの2つのツールについて、詳しく見ていこう。
■専用の実行環境で稼働
Sapiensは開発環境と実行環境で構成する(図3-1)。データモデルや業務ロジック、画面を設計する「Development Workbench(DWB)」、アプリケーション実行エンジンを備えた実行環境「eMerge Business Integrity Server」が、Sapiensの中核部分だ。
【図3-1】Sapiensの全体構成。開発者用のDevelopment Workbench(DWB)、実行基盤のeMerge Business Integrity Serverなどで構成する。サーバーの稼働環境が変わっても、知識ベースを新しい環境にエクスポートするだけで稼働できる |
Sapiensにはソースコードというものがない。実行環境であるeMerge Business Integrity Server上のインタプリタ型の実行エンジンが、知識ベースから必要な要素を逐次メモリーに取り込んで実行する形式を採る。実行時には、内部の独自データベース「DB1」に対する設定を、OracleやDB2、SQL Serverといったユーザーが実際に使うDBMSに自動的に反映する。「ハードウェアの進化により、インタプリタ型でも十分高速に動作する」(サピエンス・ジャパンの岡田 学代表取締役)。