開発ツール/プラットフォーム 開発ツール/プラットフォーム記事一覧へ

[技術解説]

“特急開発”最前線─推論技術などを応用し、開発生産性を向上

“特急開発”ツールの進化系 Part3

2011年1月18日(火)鳥越 武史(IT Leaders編集部)

データやルールの設定だけで、プログラムやソースコードをほぼ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の全体構成
図3-1 Sapiensの全体構成。開発者用のDevelopment Workbench(DWB)、実行基盤のeMerge Business Integrity Serverなどで構成する。サーバーの稼働環境が変わっても、知識ベースを新しい環境にエクスポートするだけで稼働できる(画像をクリックで拡大)

Sapiensにはソースコードというものがない。実行環境であるeMerge Business Integrity Server上のインタプリタ型の実行エンジンが、知識ベースから必要な要素を逐次メモリーに取り込んで実行する形式を採る。実行時には、内部の独自データベース「DB1」に対する設定を、OracleやDB2、SQL Serverといったユーザーが実際に使うDBMSに自動的に反映する。「ハードウェアの進化により、インタプリタ型でも十分高速に動作する」(サピエンス・ジャパンの岡田 学代表取締役)。

●開発の流れ
データとロジックを定義

Sapiensでの開発は、業務データおよびデータ同士の関連性を示す「FACT」と、FACTに対して何らかのデータが入力されたり、ユーザーのアクションがあったときに実行する業務ロジック「RULE」の定義が中心となる。これは、知識ベースとしてまとめて管理する。専用のインポート/エクスポートツールを利用すれば、知識ベースを他のOSやDBMSで構成した環境に移植できる。

FACTは、データモデルの表記法であるER図を基にした独自の形式で定義する(図3-2)。顧客情報や受注情報、在庫情報など、業務で必要なデータをエンティティとして設定。エンティティ同士の関係性をリレーションとして定義していく。各エンティティにはデータ項目やデータの桁数、形式などを定義する。

図3-1 Sapiensの全体構成
図3-2 Sapiensによるアプリケーションの開発画面。データ項目やデータ間の関連性などを定義すると、物理的なデータベース構造に自動変換する機能などを備える

“派生処理”を自動化

FACTに対する処理であるRULEの設定には、専用のウィザードを用意。コマンドをプルダウンで選択しながら、処理内容を定義していく。基本コマンドとして、四則演算や入力チェック、データベースからの値の取得、データベースの更新、COBOLやRPGなどで別途開発したサブルーチンの呼び出し、などを用意している。設計したRULEの動作確認のために、デバッグ用のトレースモードがある。

RULEにおいて特徴的なのは、ある処理に付随すべきロジックを、Sapiensが推論し自動生成することだ。例えば在庫引き当ての処理の場合。「顧客から商品を受注したら、在庫から商品数を引く」「在庫数量は負になってはならない」といった基本的なロジックのみを記述する。誤発注などの際に必要となる注文数量や商品の変更、注文の取り消しといった関連するロジックは、Sapiensが自動生成する。「通常の業務において人間が論理的に推論できるロジックであれば自動生成できる」(岡田代表取締役)。

この記事の続きをお読みいただくには、
会員登録(無料)が必要です
  • 1
  • 2
関連キーワード

超高速開発 / ローコード / 内製化 / GeneXus / RAD / Sapiens / イスラエル / ウルグアイ

関連記事

トピックス

[Sponsored]

“特急開発”最前線─推論技術などを応用し、開発生産性を向上データやルールの設定だけで、プログラムやソースコードをほぼ100%自動生成する—。 積年の夢をかなえるような開発ツールに注目が集まっている。 代表的なSapiensとGeneXusに焦点を当て、その実態を見てみよう。

PAGE TOP