|
最前線のニーズに応える
ビジュアルWebシステム構築ソリューション
「Ninja-VA」
|
|
写真1 Ninja-VA開発のチーフエンジニア サイオステクノロジー 田川勇治氏 |
エンタープライズシステム開発において、開発のスピードとコストは重要課題だ。その課題を解決した成功事例として、株式会社東京スター銀行の与信審査システムがある。東京スター銀行では、2005年7月にMS-Accessで構築した与信審査システムの稼働を開始した。しかし、データの急速な増加によるパフォーマンス劣化の問題およびセキュリティ上の問題から、Webシステムへの移行が検討された。
そこで登場するのが、今回ご紹介するNinja-VAである。同行はNinja-VAを採用することで、テーブル数60、入力項目数1,500を超える与信審査システムの再構築を2カ月半で実現した。同行の試算によると、当初予想の約半分の工期およびコストで再構築が完了したという。
圧倒的な開発生産性を誇り、豊富な成功事例をもつNinja-VAが、開発者やユーザーの満足度をさらに上げる機能を盛り込んだV4.0を発表した。新機能を追加したNinja-VAのコンセプトは下記である。
■ より 「快適」そして「リッチ」に
企業情報システムは、1つ1つの作業における快適な操作性と応答性が要求される。このようなニーズにWebブラウザの能力を最大限活用したリッチ・インターネット/イントラネット・アプリケーション(RIA)を提供する。
■ そして 「開発を容易」 に
Java/Webシステムならではの問題をすべて解決したフレームワークと、その扱いを容易にする開発環境を提供する。プログラマはスタンドアロンシステムを開発するような錯覚を覚えるほど、その開発スタイルは従来のものと比較して大きな進歩を遂げている。
■ さらに 「実戦向き」に
“開発を容易”にしつつも、高スキルなエンジニアの能力を十分活用できる“奥行き”がNinja-VAにはある。開発環境であるNinja-VA
Studioの機能は、今回のバージョンからEclipseのプラグインとして利用することも可能となった。
Ninja-VAは、サーバモジュールであるNinja-VA Engine、開発環境であるNinja-VA StudioおよびNinja-VA Eclipseプラグインにて構成されている。
|
画面1 Ninja-VA Eclipseプラグイン 画面をクリックすると拡大表示します |
■ サーバモジュール
画面制御、ORマッピング、DBトランザクションなどの機能を備えた、Webシステム開発をオールインワンでサポートするNinja-VAの核となるフレームワークである。企業情報システムを開発することを主眼に置いた上で、業種・業務に特化せず、汎用性のある、適用範囲の幅広い強力なコンポーネント・ライブラリとアーキテクチャにて構成される。
■ 開発環境
Ninja-VAフレームワークを利用した開発をサポートする統合開発環境である。ビジュアルにU/Iデザインやアプリケーションのアウトラインを構築可能だ。利用形態としては、スタンドアロンで動作するNinja-VA
StudioとEclipseプラグインの2種類が用意されている。
従来のWebアプリケーションでは、画面遷移や画面表示データの変更を行う際、HTMLページ 全体を再読み込みする動作(ページリロード)が前提となっており、これがユーザーにとって大きなストレスとなっていた。これを改善する技術として、現在もっとも注目を集めているのがAjax(エイジャックス:Asynchronous
JavaScript and XML)だ。
|
|
画面2 Ajaxコンポーネントの画面:ツリービューおよびタブコントロール |
Ajaxは、XMLHttpRequest(HTTP通信を行うためのJavaScriptの組み込みクラス)による非同期通信を利用した、ユーザーインターフェイス構築技術で、アプリケーションサーバとWebブラウザの通信ごとに、DHTMLによる部分的なページの書き換えを行うものである。
表1 Ninja-VAが提供するAjax対応UIコンポーネント |
ツリービュー |
WindowsエクスプローラのようなツリービューをHTMLページ上に実現するコンポーネント |
タブコントロール |
C/Sタイプのアプリケーションでは一般的なタブコントロールをHTMLページ上に実現するコンポーネント。タブページの切替えは、Ajaxの技術を使用して、表示するページデータのみを読み込むことができる |
ポップアップウィンドウ |
DHTMLを使用したモーダル・モードレス設定が可能なポップアップウィンドウをHTMLページ上に実現するコンポーネント |
スクロールペイン |
一覧表形式のデータをスクロールする。ヘッダやフッタの固定が可能 |
|
サイオステクノロジーはエンタープライズシステム領域におけるAjaxの可能性にいち早く着目し、そのメカニズムをNinja-VA フレームークへ融合した。これにより、全ページをリロードする従来のWebアプリケーションと比較して、格段の操作性と応答性を実現する。
|
画面3 Ajaxの見積書作成の画面 画面をクリックすると拡大表示します |
また、Ninja-VAは、テキストやコンボボックス、チェックボックス、リスト、ボタンなどの標準的なHTMLフィールドに加え、ツリービュー、タブコントロール、ポップアップウィンドウ、スクロールペインなどのリッチなUIコンポーネントを豊富に用意している。
|
画面4 Ajaxでのフォルダ管理 画面をクリックすると拡大表示します |
一般的にAjaxあるいはJavaScriptとDHTMLを多用したアプリケーション開発は、高い操作性を提供できる代償として、それを用いない場合と比較し、多くのコスト(期間、工数)が必要になるといわれている。しかし、Ninja-VAではそのような心配は不要だ。
・ ビジュアルな開発機能
Ninja-VAでは、Webアプリケーションのデータモデル、ユーザービュー、振る舞い(イベント処理)の関係をビジュアルに確認しながら、UMLを記述するようにアプリケーションのアウトラインを設計する。その後、各イベント処理ごとに実装を進めていく。作業の手順は以下の通りだ。
- データモデルを視覚的に配置する
- ビジュアルSQLビルダーを使用し、マウスでクエリを作成し、データモデルに設定する
- 作成したデータモデルと連携するユーザービューを、ウイザードやマウス操作で設計する
- イベント処理をJavaメソッドとしてプログラミングし、UIコンポーネントとの関係をダイアログウィンドウで選択・定義する
このような簡単な手順で効率的に可読性の高いWebアプリケーションが完成する。
また、イベント処理にともない部分的なページの書き換えを行う場合も、DHTMLを直接操作する必要は無い。Javaコードの中で、UIコンポーネント属性やデータモデルの内容を変更すれば、その後のページ書き換えは、Ninja-VAが提供するクライアント側フレームワークが自動的に処理をしてくれる。
Ninja-VAは、Ajaxの融合、UIコンポーネントの追加により、著しく高度に進化した。しかし、“開発を容易にする”というこれまでのパラダイムは不変だ。Ninja-VAを利用することで、先進的なRIAを驚くようなスピードで、容易に構築できるようになるのだ。
さらに、この他にもNinja-VAは開発を容易にするためのさまざまな工夫がほどこされている。
・ データベース連携
データベースとの連携に2次元表形式のデータモデルを採用したデータキャッシュコンポーネントが用意されている。データベースから読み込んだレコードセットに対し、容易に追加、変更、削除、ソートといった操作が可能であるだけでなく、複数行やリレーション関係にある複数テーブルへのデータベース更新もメソッド1つで行うことができる。また、楽観的排他制御など、ミッションクリティカルなデータベースアプリケーションに必要となる機能も提供される。
・ 入力チェックの自動化
データキャッシュコンポーネントとUIコンポーネントのデータ入出力連携が可能だ。 HTMLへの値設定やユーザービューから送信された値をデータキャッシュに格納する制御をフレームワークが自動的に行う。値の入力チェックも、データカラムの属性(型、長さ、Null可否など)に従ってフレームワークが処理する。さらに、入力チェックのタイミング(サーバサイド/JavaScript)やアプリケーション固有の入力チェックなどの細かな設定を行うことができる。
Ninja-VAは、より実戦そして実践的なソリューションとして完成度を高めながら、現場のニーズに応えるべく成長し続けている。
■ Eclipseプラグインによる実戦向きの開発環境を提供
Ninja-VA Studioは、Java開発のビギナーエンジニアには手軽にスタートできる開発環境である。コンポーネントデザイン、ソース編集、コンパイル、内蔵Tomcatへの自動デプロイ、デバッグなどの機能以外に、軽量DBを内蔵している。Ninja-VA
Studioをインストールするだけですぐに開発を開始することができるのだ。
一方、Ninja-VA Eclipseプラグインは、Java上級エンジニアにとってベストな開発環境を提供する。デバッグ、リファクタリング、チーム開発などEclipse本来の強力な機能と豊富に流通するさまざまなプラグインを駆使した開発環境の中へ、Ninja-VA
の持つビジュアルな開発機能を統合することが可能となる。
Eclipse開発経験者は、従来の開発テクニックやノウハウを生かしながらNinja-VAによる先進的なRIA開発を今すぐ実現できるのだ。
■ オープンソースソフトウェアのメリット
Ninja-VAはフレームワークのソースをオープンソースとして公開しているため、Webアプリケーションプログラムのすべてがホワイトボックスとなる。開発者は、障害や問題発生時の切り分けやデバッグ作業が容易になるというメリットを享受できるだろう。さらに、フレームワークのソースを参考にして、ボタン、テキストフィールドなどの基本コンポーネントをアプリケーションの要件に合わせてカスタマイズするなど、フレームワークの拡張も容易だ。
■ HTMLビューの継承と拡張を実現
Ninja-VAは、HTMLビューをJavaクラスとして実装するため、JSPだけでは実現不可能なHTMLビューの継承と拡張が可能だ。従来の開発では、Webページの共通デザイン部分(例えば、メニューやフッタなど)を、JSP
IncludeやJava Beanを利用することで共通化してきた。 Ninja-VAのアーキテクチャでは、単なるU/Iデザインのみならず、データモデル、イベント処理などの振る舞いもセットにした共通化が実現できる。
■ 他製品との比較
Ninja-VAは、他社競合製品と比較し、強力なHTMLビュー作成ウイザードや、データベース連携の機能面で優れている。データモデルとHTMLビューの連携や、データベーストランザクションが扱い易い点で、実際の開発作業は大きく違ってくる。開発作業時におけるHTMLビューの実装、イベントドリブン、設定ファイルの同期も完全に満たしているのはNinja-VA
StudioとNinja-VA Eclipseプラグインだけであり、ツールとして開発者の期待を裏切らない内容となっている。
■ 実用事例
サイオステクノロジーは、Ninja-VAを効果的に活用し、数多くのSI案件およびパッケージ開発を手掛けている。その代表例が、サイオステクノロジー営業効率改善ソリューション「SFA+」だ。当プロジェクトでは、基本機能の開発をわずか1人のエンジニアが3カ月で完了し、Ninja-VAの真価を証明している。
|
画面1 SFA+の取引先分析 画面をクリックすると拡大表示します |
“プロジェクト開発”においては、“新しい技術”であっても、その取り扱いは“容易”で“安全”でなければならないとするのがNinja-VAのコンセプトだ。このコンセプトの上に立ち、“企業情報システム開発の生産性向上”を果たすのがNinja-VAの目的である。一口に生産性向上といっても、そのためのアプローチにはさまざまな要素があるが、Ninja-VAは特に次の項目に注力している。
- 枯れた技術領域は最大限活用し、新しい技術領域は手軽で具体的な活用法を示す
- 大規模プロジェクトにおいて発生しがちな、エンジニアの“スキル・ムラ”を抑制する
企業情報システムは、稼働後も機能を拡充しながら数年間のライフサイクルを満たさなければならない。しかし、日々変化を繰り返す昨今の開発技術には、見えないリスクが存在する。Ninja-VAは、JDBCとXMLという”枯れた“技術をコアに組み立てられ、Ajaxにしても、DHTMLとJavaScriptという”枯れた“技術の新しい応用例である。Ninja-VAは、企業情報システム開発においてJavaEEが提供する必要最小限のものを選択し、利用しやすいAPIとして再構築する。こうした取り組みが、システムのライフサイクルを最適化することを、数多いサイオステクノロジーの開発実績が証明している。
Ninja-VAはサイオステクノロジーの現場で鍛え抜かれたアイデアが集約された、100%オリジナルのWeb開発ソリューションである。今回紹介したNinja-VA
V4.0は、システム開発最前線のニーズへ確実に応えるソリューションとして大きく成長している。評価版は下記からダウンロードできる。ぜひ読者の視点でもNinja-VAを評価してみて欲しい。
評価版ダウンロード
|
この記事でご紹介した
「Ninja-VA」の評価版を
ダウンロードできます。
下のボタンを
↓ クリックしてください ↓
|
ぜひご利用ください。
|
|
提供:サイオステクノロジー株式会社
企画:アイティメディア
営業局
制作:@IT編集局
掲載内容有効期限:2006年5月19日 |