![]() |
![]() |
|
Loading
|
@IT > Access資産を徹底的に再利用 Ninja-VAが実現するWebシステム変化の術 |
![]() |
|
1990年代、その手軽さでMicrosoft Access(以下、Access)は爆発的に普及した。SQLの知識がなくても扱えて、マウス操作で画面とデータを簡単に紐付けることができる。あとはクエリの画面さえ理解できれば、一人前のリレーショナルデータベースが作成できてしまう。高いコストをかけてスクラッチから構築しなくても、部門レベルの小規模な業務システムはAccessで構築できるものが多かったのだ。 しかし、Accessはその手軽さゆえに仕様書を残すことなく作成されていたり、社内の開発者の転属や退社でメンテナンスができなくなっていたりなど、Accessでのシステム運用を継続していくには支障をきたしているケースが見られる。このような場合は、いっそのこと、運用コストがかからないWebアプリケーションに移行するのもよいだろう。ではここで、AccessをWebへ移行する方がよいケースを整理してみよう。
上記のような課題をWeb化で解決しようとする場合、問題となるのはマイグレーションの作業である。以下のような点が課題として挙げられるだろう。
マイグレーションの手間とコストで割に合わず、せっかく作ったシステムがお蔵入りしてしまうケースもあるだろう。この課題に、サイオステクノロジー株式会社は自社開発したオープンソースのWebアプリケーションフレームワーク「Ninja-VA Framework(以下、Ninja-VA)」(参照記事:JSFを凌駕するビジュアルWebシステム構築ソリューションの誕生)を生かした取り組みを行っている。
サイオステクノロジーの「Ninja-VA」は、周囲の評価が高いオープンソースのJ2EEアプリケーションフレームワークだ。サイオステクノロジーは、Accessアプリケーションのマイグレーションをどのように効率的に行うかを検討するにあたって、このNinja-VAのアーキテクチャがAccessに似ている点に着目した。そして始動したのが「A2Jaws(Access to Java Web System)」プロジェクトだ。 Ninja-VAを使ったWebアプリケーション開発は、SmartWebObjectクラスを基底クラスとして作成し、Ninja-VAが提供するコンポーネントを配置していくのが基本スタイルだが、このコンポーネントが、AccessとNinja-VAをシームレスに紐付けるポイントとなるのだ。 表1で主要なコンポーネントを整理してみよう。
これらのコンポーネントのNinja-VAのアプリケーションにおける役割を詳しく示したのが図1である。
さらにNinja-VAのコンポーネントを、Accessのオブジェクトに対比したのが図2である。
このように、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 Studioでは、Accessアプリケーションでの見積もりシステム-詳細表示のフォームがWebのフォームに見事に移行、表示されているのがお分かりだろう。実行イメージも、Accessのフォームのデザインをそのまま継承したものとなっている。 手順の説明が前後したが、Ninja-VA StudioにAccessアプリケーションの情報をマイグレーションする際に使用するのがA2Jawsであり、以下の画面がAccessアプリケーションを実際に実行させながら情報を解析しているところである。
このように、A2Jawsを使うと、Ninja-VAフレームワークベースのWebアプリケーションへの移行が容易にできる。ただ、まだ自動的に移行できない部分もある。たとえばAccessのマクロやVBAで記述された部分だ。この部分については、人がJavaのコードに書き換えて実装する必要がある。この部分をいかに自動化するかが今後の課題だ。
サイオステクノロジーの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日 |
|