大塚商会の販売最前線からお届けするセールスノウハウマガジン「BPNavigator」のWEB版です。
Up Front Opinion
|
Another side Talk
|
巻頭特集
|
Open Source Solutions
|
ソフトウェアライセンス
|
IT活用
|
売れるショップ
|
ビジネストレンド
|
イベント
2005年5月時点の情報を掲載しています。
Javaは便利ではあるが、開発が難しいというイメージが根強いため、近年、EoD(Ease Of Development:容易な開発)というコンセプトが重視されている。そうしたコンセプトを実現し、GUIを用いた容易な開発環境と、クライアントの変化に柔軟に対応できる高い生産性を実現したビジュアルWebシステム構築ソリューションが「TenArtni Ninja-VA」だ。
「TenArtni Ninja-VA」は、企業情報システム構築の生産性と品質を劇的に向上させる「ビジュアルWebシステム構築ソリューション」です。ビジュアルなWebシステム開発を実現する「Ninja-VA Studio」と、開発効率を劇的に向上させるJ2EEフレームワーク「Ninja-VA フレームワーク」との相乗効果により、簡単に、高速に企業情報システムの構築を実現し、プロジェクトを成功へと導く革新的なソリューションです。
「Ninja-VA」でまず目に止まるのは、GUIツールである「TenArtni Ninja-VA Studio」だ。StudioにはJavaのエディタやデバッガーの機能が含まれており、一見すると「Eclipse」や「Jbuilder」あるいは「Sun Java Creator」のような統合開発環境(IDE)のように見える。
本格的なIDEと比較すると、Studioの「それ」は貧弱である。しかし、両者を同列で比較してはならない。なぜなら、Studioの「それ」は、あくまでも補助機能であり、最も重要なのは「Ninja-VAアダプター」のビジュアル設計機能であるからだ。
「Ninja-VAフレームワーク」で採用されている独自コンポーネントモデルは、アプリケーションプログラムのベース(基底クラス)となり、設計情報を記述したXMLファイル(Adaptor Description)により、初期化するメカニズムを内蔵している。これを「Ninja-VAアダプター」と呼ぶ。
「Ninja-VAアダプター」を拡張し、そのコレクションに様々な「Ninja-VAコンポーネント」を加えることで、アプリケーションプログラムの骨格ができあがる。これが「Ninja-VAフレームワーク」の基本的なプログラミングモデルだ。
「Studio」は「Ninja-VAアダプター」に与えるアプリケーション設計情報を、ビジュアルに編集する専用のGUIを搭載している。これが高生産性を実現する上で大きな鍵を握る部分である。
「Ninja-VA」のプログラミングモデルでは、Javaコーディングは極めて少なる。この為、プログラミングだけでなくテストを含めた工数が大幅に削減され、プロジェクト全体の生産性が向上する。
一方で、「Ninja-VAアダプター」やそのコレクションコンポーネントに与える設計情報は増大するという側面がある。これを効率化する為のツールが「Studio」である。
「Studio」の最大の特徴は、完全にビジュアル化されたWebアプリケーション開発を実現することだ。「Ninja-VAフレームワーク」でWebアプリケーションの中核となるのは「SmartWebObject」というアダプターであり、このアダプターに対し、Modelの要素、Viewの要素、Controlの要素を担うコンポーネントを配置することで、アプリケーションが構成される。
この中で最も特徴的なコンポーネントが「HTMLDataView」である。「HTMLDataView」はHTMLユーザーインターフェースを表現する為のキャンバスといえる。このキャンバスに、入力フィールドやボタン等、UI構成要素をレイアウトしていくのだが、「Studio」は完全にビジュアルな環境で、その作業をサポートする。
「Studio」には実行時そのままのイメージが設計ビューに表示され、UI構成要素の位置やサイズをマウスのドラッグ&ドロップで自由に指定できる。また、位置合わせツールやサイズ合わせツールも充実しており、複雑な業務アプリケーションのレイアウトも繊細にデザイン可能である。
これらのレイアウト情報は、すべて設計情報ファイルに出力され、実行時にHTMLDataViewが通常のHTMLに変換して出力する。また、データモデルの値は自動的にHTMLにマージされることになる。
一般的なJ2EEアプリケーションでは、データモデル(現実データの写し取り)を設計・実装する為に、非常に多くの労力を消費している。また、データモデルとリレーショナルデータベースとの間に介在する作業負荷・非効率性、俗にいうインピーダンスミスマッチも大きな問題となっている。
「Ninja-VAフレームワーク」は独自のデータモデル実現アーキテクチャ、データキャッシュコンポーネントによるデータモデル実装によって、これらの課題をクリアしている。重要なデータキャッシュコンポーネントは、「DataTable」と「TableRelation」である。これらはリレーショナルデータベースの「表」と「関係」に類似しており、その写し取りを効率良く、アプリケーションプログラムのコンテキストとして展開する機能を持っている。
一般的なJ2EEのアーキテクチャが、クラスとその属性、クラス間の関係でデータモデルを表現しようとするのに対し、「Ninja-VA」はまったく異なるアプローチでそれを実現する。また、「DataTable」と「TableRelation」は「Ninja-VAアダプター」のコレクションコンポーネントであり、その構造は設計情報ファイルに記述される。
「Studio」はこれらのビジュアル設計もサポートする。設計ビューに、データキャッシュコンポーネントを配置し、フィールド属性、バリデーション、リレーションなどをプロパティエディターで設定するだけで、データモデル設計は完了だ。
「Ninja-VAデータキャッシュコンポーネント」からデータベース永続化を行うのは非常に簡単だ。単純なものであれば完全にノンコーディングで実現可能である。
一方、複雑なDBトランザクションは「SmartDBAction」というアダプターを利用して実現する。これを利用するとアプリケーションプログラムのフロント層からDBトランザクション層を分離し、カプセル化されたサービスとして提供可能となる。
「Studio」は「SmartDBAction」のビジュアル設計もサポートする。また複雑な選択SQL文もクエリーエディターを使用して、ビジュアル的に構築することが可能だ。
強調しておきたいのは、「Ninja-VA」が単なる簡単開発ツール、あるいは単なるオープンソースフレームワークではなく、システム構築ソリューションであるという点だ。コアとなるフレームワークは、アプリケーションフロントからDBバックエンドまで幅広くサポートする、ユニークなアーキテクチャを持ち、そのアーキテクチャは、アプリケーションの基本構造に関しても強力な統制力を持っている。これは多くのエンジニアが関与する、大規模エンタープライズでは非常に有効な特性である。
一方、「Ninja-VAフレームワーク」に特化したGUIツール「Studio」によって、アプリケーション構築の期間短縮が実現できる。これは規模の大小を問わず生産性に大きく寄与するであろう。「Ninja-VA」の強烈な個性は、J2EEやJavaに熟知したエンジニアからは奇異なものとして見え、受け入れ難い印象があるかもしれない。
しかし、「Ninja-VA」で作られたアプリケーションプログラムのJavaコードは、極めてシンプルで洗練されている。おそらくJavaに十分な知識がないプログラマであっても、アプリケーションの振る舞いを容易に読み取れるはずだ。
■「Ninja-VA Studio」と「Ninja-VA フレームワーク」、「Ninja-VAアダプター」の関係
■「Studio」のレイアウト画面
■データモデル設計の画面
「Ninja-Va Studio」の評価版を公開中
テンアートニでは、「Ninja-Va Studio」の評価版をインターネットで公開している。チュートリアルも充実しているので、ぜひ試してみて欲しい。
本紙の購読申込み・お問合せはこちらから
Copyright 2006 Otsuka Corporation. All Rights Reserved.