アットマーク・アイティ @IT@IT情報マネジメント@IT自分戦略研究所QA@ITイベントカレンダー  
 
 @IT > Access資産を徹底的に再利用 Ninja-VAが実現するWebシステム変化の術
 
@IT Special

 

PR

Microsoft Access資産を徹底的に再利用
Ninja-VAが実現するWebシステム変化の術
>>> The A2Jaws project <<
<

  Accessで作った業務システムを
Web化したいニーズが増えている

 1990年代、その手軽さでMicrosoft Access(以下、Access)は爆発的に普及した。SQLの知識がなくても扱えて、マウス操作で画面とデータを簡単に紐付けることができる。あとはクエリの画面さえ理解できれば、一人前のリレーショナルデータベースが作成できてしまう。高いコストをかけてスクラッチから構築しなくても、部門レベルの小規模な業務システムはAccessで構築できるものが多かったのだ。

 しかし、Accessはその手軽さゆえに仕様書を残すことなく作成されていたり、社内の開発者の転属や退社でメンテナンスができなくなっていたりなど、Accessでのシステム運用を継続していくには支障をきたしているケースが見られる。このような場合は、いっそのこと、運用コストがかからないWebアプリケーションに移行するのもよいだろう。ではここで、AccessをWebへ移行する方がよいケースを整理してみよう。

  1. ドキュメントがなく理解者もいないためメンテナンスできない
  2. データ量が増大し処理速度が限界に達している
  3. MDBファイルがあちこちのPCに散在してデータの整合性がとれなくなっている
  4. ワークグループサーバでMDBを共有してみたがパフォーマンスがボトルネック
  5. 業務を拡大したいが人数分のAccessを用意できない

 上記のような課題をWeb化で解決しようとする場合、問題となるのはマイグレーションの作業である。以下のような点が課題として挙げられるだろう。

  1. ドキュメント無し・理解者が不在
     仕様を1つ1つ調べていくのは非常に骨の折れる作業だ。
  2. コストがかかり過ぎる
     Accessで構築したシステムは、もともと予算がかけられずAccessを使うことでコストを抑えたものが多いはずだ。しかし、Webに移行するためには機能解析に時間がかかり、多様なイベント処理の実装設計が非常に難しいため、大きなコストを覚悟しなければならないだろう。これでは、いわゆる「割に合わない」移行になってしまう。

 マイグレーションの手間とコストで割に合わず、せっかく作ったシステムがお蔵入りしてしまうケースもあるだろう。この課題に、サイオステクノロジー株式会社は自社開発したオープンソースのWebアプリケーションフレームワーク「Ninja-VA Framework(以下、Ninja-VA)」(参照記事:JSFを凌駕するビジュアルWebシステム構築ソリューションの誕生)を生かした取り組みを行っている。

  Webマイグレーションへのチャレンジ!
その名も「A2Jaws」プロジェクト

 サイオステクノロジーの「Ninja-VA」は、周囲の評価が高いオープンソースのJ2EEアプリケーションフレームワークだ。サイオステクノロジーは、Accessアプリケーションのマイグレーションをどのように効率的に行うかを検討するにあたって、このNinja-VAのアーキテクチャがAccessに似ている点に着目した。そして始動したのが「A2Jaws(Access to Java Web System)」プロジェクトだ。

 Ninja-VAを使ったWebアプリケーション開発は、SmartWebObjectクラスを基底クラスとして作成し、Ninja-VAが提供するコンポーネントを配置していくのが基本スタイルだが、このコンポーネントが、AccessとNinja-VAをシームレスに紐付けるポイントとなるのだ。

 表1で主要なコンポーネントを整理してみよう。

ブラウザに表示する画面を担う HTMLDataView
画面フィールド HTMLFields
DBと連携した処理を担う DataTable
イベント処理を担う WebAction
表1 Ninja-VAの主要なコンポーネント

 これらのコンポーネントのNinja-VAのアプリケーションにおける役割を詳しく示したのが図1である。

図1 Ninja-VAのユーザーアプリケーション構成

 さらにNinja-VAのコンポーネントを、Accessのオブジェクトに対比したのが図2である。

図2 Ninja-VAコンポーネントとMS-Accessオブジェクト(Forms)の対比 (画面クリックで拡大表示)

 このように、Ninja-VAのコンポーネントは、Accessのオブジェクト構成に紐付けることができることが分かるだろう。Accessのオブジェクトとそのプロパティ情報を、Ninja-VAのコンポーネントとそのプロパティに移行できれば、画面とデータ構造に関してはほぼシームレスに移行できるはずだ。ここにヒントを得て開発したのが、Accessアプリケーションを実行しながら、フォームやコントロールオブジェクトを解析、その情報をNinja-VAのIDEであるNinja-VA Studioに取り込んで、Accessと同様にWYSIWYGでフォームやデータテーブルを設計できる一連のノウハウを盛り込んだツール「A2Jaws」だ。

 では実際に、A2JawsがAccessアプリケーションをWebアプリケーションに移行する流れを見てみよう。

 以下が、マイグレーション対象のAccessアプリケーション(見積もりシステム)である。

一覧表示画面(画面クリックで拡大表示) 詳細表示画面(画面クリックで拡大表示)

 そして、このアプリケーションをNinja-VA に移行し、Ninja-VA IDEに取り込んだ画面、Webアプリケーションの実行画面が以下のとおりだ。

Ninja-VA IDEに取り込んだところ(画面クリックで拡大表示) 実行画面を詳細表示したところ(画面クリックで拡大表示)

Accessから移行したWebアプリケショーションの実行画面。Accessのフォームが見事にWeb化されているのを確認できる(画面クリックで拡大表示)

 どうだろうか。Ninja-VA Studioでは、Accessアプリケーションでの見積もりシステム-詳細表示のフォームがWebのフォームに見事に移行、表示されているのがお分かりだろう。実行イメージも、Accessのフォームのデザインをそのまま継承したものとなっている。

 手順の説明が前後したが、Ninja-VA StudioにAccessアプリケーションの情報をマイグレーションする際に使用するのがA2Jawsであり、以下の画面がAccessアプリケーションを実際に実行させながら情報を解析しているところである。

解析中の画面(画面クリックで拡大表示)

Ninja-VAコンポーネントへのマッピング
 一機能のための複数のAccessアプリケーションのフォームは、一つのNinja-VAのSmartWebObjectにマッピングされる。このマッピングの作業はA2Jawsの画面を見ながら、どのフォームをどのSmartWebObjectに割り当てるかを定義していく。この作業を終えると、画面を定義するHTMLDataViewとデータ構造を定義するHTMLFiledに関する情報をリポジトリに格納。このリポジトリ情報から実際のJavaソースが生成される。

 このように、A2Jawsを使うと、Ninja-VAフレームワークベースのWebアプリケーションへの移行が容易にできる。ただ、まだ自動的に移行できない部分もある。たとえばAccessのマクロやVBAで記述された部分だ。この部分については、人がJavaのコードに書き換えて実装する必要がある。この部分をいかに自動化するかが今後の課題だ。

  Ninja-VAをハブにEoDを極める
サイオステクノロジー

 サイオステクノロジーのNinja-VAは、難しいテクニックを使うことなく、J2EEの仕様に基本に忠実に作られたEoD(Ease of Development)を実現するためのフレームワークである。フレームワーク単体でも開発を効率化できるが、専用のIDEであるNinja-VA Studioを併せて利用することで、その効果を最大化することができる。

 そしてNinja-VAは、サイオステクノロジーにとってはお客さまに高い付加価値をもったサービスを提供するためのハブなのだという。すなわち、Ninja-VAがコアにあることで、お客さまに対し、常に質の高いアプリケーションを、短納期でかつ適正なコストで提供することができるというわけだ。お客さまに提供するサービスが、複雑な画面遷移をともなうWebアプリケーションの構築であっても、あるいは、Accessアプリケーションからのマイグレーションであっても、Ninja-VAがコアにあるが故に、常に質の高いサービスとして提供できるのだ。

 今後、Ninja-VAのプロジェクトはさらにさまざまな分野に広がっていく予定だという。A2Jawsに関しては、サイオステクノロジーがお客さまに代わってAccessアプリケーションを短納期・低コストでマイグレーションするサービスを間もなくスタートする予定だという。

 Ninja-VAをEoD実現のポリシーとして、そしてサイオステクノロジーのコアバリューとして展開するサイオステクノロジーの取り組みに、ますます注目したい。


提供:サイオステクノロジー株式会社
企画:アイティメディア 営業局
制作:@IT 編集局

掲載内容有効期限:2005年8月31日
 
関連リンク
Ninja-VA

WebReportCafe

バーチャルOJT

教育トレーニング
 
記事リンク
@IT:開発中ソフトのOSSコードを検出、米Black Duckとテンアートニ(2005/6/24)

@IT:独自のフレームワークをオープンソース化、テンアートニ(2004/8/18)

@IT:Linuxビジネスの真髄は“ブランド”にあり、テンアートニ(2003/8/16)
 


 
@ITトップ@IT Special インデックス会議室利用規約プライバシーポリシーサイトマップ