2009年05月13日 08時00分 UPDATE
特集/連載

エンタープライズRIA開発の最新動向 第2回自社に適したRIA開発のための製品選定ポイント

今回は、RIAという言葉が誕生する前から企業向けWebアプリケーション開発製品を提供してきたソフトウェアベンダー4社に、自社のRIA製品の特長や用途、今後の戦略について話を聞いた。

[吉田育代]

 今回は、企業向けに特化したリッチクライアントRIA開発製品を提供してきたソフトウェアベンダー4社を紹介する。各社は、自社製品の強みと実績を生かしたソリューションを提供するとともに、新たな分野への展開を図ることでエンタープライズRIA市場でのシェア拡大を目指している。

サーバとの柔軟な組み合わせを可能にする ―アクシスソフトの場合―

 アクシスソフトのセールス&マーケティング本部マーケティング部部長の西村 修氏は、「データ入力作業のように、システムユーザーの指の動きがそのまま企業の生産性に直結するような場面には、Webアプリケーションは適さない」と指摘する。その一方で同社は「ネットワークに接続していれば、どこでもアプリケーションを動かすことができる」というWebアプリケーションならではのメリットも理解しているという。

photo アクシスソフトの西村氏

 そのため、こうしたメリットを享受しつつ、業務生産性を低下させないシステムを構築するために開発したのが同社のRIA製品「Biz/Browser」だったという。

 Biz/Browserは、純国産の業務システムのフロントエンド構築ツールとして1999年に発表され、主に基幹業務システムを中心として国内670社以上の企業に採用されてきた。Windowsクライアント環境に特化しており、Windows 98からWindows VistaまでのOSに対応する。

 Biz/Browserは、同社が独自開発したスクリプト言語「CRS(Chain Reflection Script)」で記述されたクライアントソフトを解釈して実行する言語処理プログラムだ。CRSファイルは、同社が提供する統合開発環境「Biz/Designer」で開発する。Biz/Designerでは、画面の構成および属性の定義を設定する支援機能を利用してコーディングすることなく画面レイアウトを設計でき、ロジック部分のみをコードで記述する。

 CRS自体はJavaScriptに似ており、JavaScriptを理解しているエンジニアであれば習得しやすいという。そのため「開発の生産性は高い」と西村氏は語る。

 また、Biz/Browserでは、Webサーバやサーバ側の開発言語の種類を問わず柔軟なサーバ構成を取ることができ、サーバ側のビジネスロジックやデータベース(DB)部分と疎結合したシステム形態によって「既存の基幹システムの寿命を延ばすこともできる」(西村氏)。

photo アクシスソフトのRIA環境。クライアントPCから、サーバ側に配置されている画面や帳票レイアウトなどの情報を持つCRSファイルをダウンロードする。クライアント側でこのCRSファイルをコンパイルしてキャッシュし、動的なデータのみを必要に応じてサーバ側のプログラムを呼び出して取得する

 実際に、Biz/Browserで構築した交通費精算アプリケーションのデモを見た。文字列を挿入する部分に全角文字での記入を促したり、[Enter]キーで次の記入項目へカーソルを移動させたり、カンマを入れた金額の自動表示ができるなど、ユーザーのデータ入力を支援する機能が盛り込まれている。64Kbpsのモバイルアクセス環境だったが、スムーズに動いていた。

photo Biz/Browserで構築した交通費精算画面《クリックで拡大》

 アクシスソフトは2009年4月、モバイル端末向け開発環境「Biz/Browser Mobile」のラインアップとして「SHARP RZ-H220」に対応した製品の販売を開始した。また、SaaS(Software as a Service)型モデルでの提供、スマートフォンや工場利用を想定したハンディターミナルなどへの展開にも意欲を見せている。

ローカルリソースを有効活用できる ―カールの場合―

 リッチクライアント言語として有名なCurlは1995年、米マサチューセッツ工科大学(MIT)と国防総省DARPAの共同プロジェクトによって誕生した。オブジェクト指向言語の一種であるCurl言語には、2D/3Dグラフィックスやアニメーションに対応したAPIが標準で搭載されており、従来は複数の言語を用いて開発されていたユーザーインタフェース(UI)部分も、Curl言語だけで実装できる。

 カールが提供するRIA環境は、アプリケーション開発環境「Curl IDE」と実行環境「Curl RTE」などで構成される。

 Curl IDEはコントロール、コンテナ、オブジェクトなどをポイント&クリックで追加や変更ができる「ビジュアルレイアウトエディタ」、ソースファイルを編集するテキストエディタやデバッガ、ソースファイルのパッケージング機能、ヘルプドキュメントなどを備えている。

photo Curl IDE画面《クリックで拡大》

 Curl RTEは、Windows NT以降のWindowsやUbuntu、Red Hat LinuxSUSE Linux、TurbolinuxなどのLinuxディストリビューション、Mac OSに対応する。また、Curlアプリケーションの開発をEclipseプラットフォーム上で行えるプラグイン「Curl Development Tools for Eclipse」を利用することもできる。

photo Curl稼働環境。サーバに配置されているテキストベースのプログラムソースをクライアント側にダウンロードすると、Curl RTEが起動し、JITコンパイラによるコンパイルが開始され、Curlアプリケーションが生成される。Curlアプリケーションは必要に応じて、サーバからデータを取得して処理を行う

 「サーバのダウンや出張先でのアプリケーション利用など、ネットワークが利用できなくなる状況は意外と多い。そのたびに業務に支障を来してしまうことは避けなければならない」とカール RIAエバンジェリストの三野汎希氏は語る。同社がCurlの特長として強調するのは、他社のRIA製品でも実行可能なものはあるが、オフラインでアプリケーションを実行する機能だ。同社では、「随時接続コンピューティング(OCC)」機能と呼んでいる。

photo カールの三野氏

 OCCでは、あらかじめクライアント側にCurlアプリケーションをコピーし、オフライン状態でもそのアプリケーションを起動して処理を実行できる。これにより、ユーザーはWebサーバに接続していないときでも、それを意識することなく業務を継続できる。また、一時的にローカルに保存したデータは、オンライン接続時にアップロードするため、データの整合性を保つことも可能だという。OCCは、オフラインでも処理の継続が必要とされる宅配便の送り状発行システムなどで活用されている。

 また三野氏は、「Curlプラットフォームのセキュリティの高さ、ローカルアプリケーションやActiveXとの連携が容易な点も強みである」と語る。

 Curl RTEには「セキュリティコントロール」機能や「マルチメディアエンジン」機能が備えられている。前者は、CurlアプリケーションがクライアントPC上のリソースへアクセスすることを許可する際に、利用者ごとにアクセス権限を設定する。後者は、テキストや2D/3Dグラフィックス、音声、ユーザー入力機能を提供するマルチメディアエンジンを搭載することで、メディアごとに異なっていたプラットフォームを統合できる。

 Curlシステムは国内で370社以上に導入されているが、こうしたオフライン機能やローカルリソースへのアクセス機能が評価されているようだ。

 米Curlは2009年2月、最新バージョン「Curl V7.0」のβ版の出荷を開始した。V7.0ではオンライン/オフラインのモード制御や、Eclipse版統合開発環境の機能などが図られた。Curl RTEとそのデモが同社のWebサイト上で公開されている。

Javaですべてをカバーする ―日本ネクサウェブの場合―

 「システム規模が大きく、アプリケーションの複雑性が高い企業情報システムこそが、われわれの目指すターゲット。個人ユーザー向けのシステムや、比較的シンプルな業務ワークフローで構築可能なシステムには向いていない」。日本ネクサウェブのセールス&マーケティングマネージャーの淡路良平氏は、同社のRIA製品「Nexaweb」の適用エリアをこのように語る。

photo 日本ネクサウェブの淡路氏

 米Nexaweb Technologiesは「Enterprise Web 2.0」をビジョンに掲げ、エンタープライズアプリケーションへのWebテクノロジーの導入を目指し、信頼性のある基幹業務システムを提供することを使命としているという。日本ネクサウェブもまた、企業向けRIA製品を提供するベンダーとしての強い自負があるようだ。Nexawebは金融・保険業界の業務システムでの採用実績が多い。

 Nexawebの特長は、全面的にJavaテクノロジーを採用していることだ。J2EE(Java2 Platform Enterprise Edition)のプログラミングモデルをサポートしているため、通常のWebアプリケーションと同様に構築でき、Java環境であればどこでも稼働する。

photo Nexaweb Studio画面《クリックで拡大》

 また淡路氏は、他社製品との差別化要因として、クライアント側だけでなく通信制御やサーバ側までを包括的にカバーしている点を挙げる。NexawebでRIAシステムを実装すれば、通信機能の開発負荷や運用コストの削減が実現するというのだ。

 同社のRIA実行環境「Nexaweb Platform」は、大きく3層から構成される。Nexawebではクライアント画面をXMLベースのUI記述言語で表現する。この製品でRIA開発を行う場合、開発者はJavaとXMLを理解していればいいことになる。製品独自のテクノロジーを習得する必要がない分、Javaに精通したエンジニアにとってはハードルが低いといえるだろう。

 また、Eclipseをベースにした統合開発ツール「Nexaweb Studio」では、ドラッグ&ドロップや標準コンポーネントを使ったUIデザイン、クライアントおよびサーバ階層でのビジネスロジックの開発などを行える。

 さらに、クライアント側のアプリケーションのUIとサーバとの通信を管理する役割を持つ「Nexawebクライアント」では、XMLで定義された画面情報とデータによってUI画面を表示し、通信セッションを維持しながら差分データの同期を行う。Webサーバとクライアント間の通信は「Nexaweb IMB」と呼ばれるメッセージングバスによって行われ、リアルタイムデータ配信や非同期処理などを管理する。そして「Nexaweb Enterprise Data Service」によって、サーバ側のプロセスやデータサービスなどへのアプリケーションのアクセスを可能にする。

photo Nexaweb Platformの構成図

 Javaを活用するという点では、サン・マイクロシステムズが提供するRIAフレームワーク「JavaFX」も存在する。しかし、淡路氏によると「NexawebとJavaFXとは競合する関係ではない」という。

 JavaFXの開発では基本的に専用のスクリプト言語「JavaFXスクリプト」を使用しており、同社が市場としている業務アプリケーションの分野では実現できるアプリケーション機能に制限があり、同じ土俵に立つことはないとみているためだ。

 淡路氏はNexawebでは開発生産性の向上に加えて、Web化による集中管理やレガシーシステムから脱却することによるシステム保守費の削減メリットは大きいとし、「最大の導入効果は“TCOの削減”にある」と語る。

 同氏はNexawebで構築されたシステムの具体例として、Nokia Siemens Networksの営業支援システムを挙げた。このシステムでは、18カ月の開発期間の短縮、50%以上のオペレーション費用の削減、60%以上の実装費用の削減などを実現したという。

 同社では今後、Nexaweb StudioにおけるUML(Unified Modeling Language)ツールやJavaプラグインなどのサポート範囲の拡充、Nexaweb PlatformにおけるWebサービスのパブリッシュ機能やLDAPサポートなどの機能強化を図る。2010年にはモバイル環境にも対応する予定だ。

C/S両方のアプリを単一言語で開発する ―マジックソフトウェアの場合―

 一般的なRIA開発においては、クライアント側とサーバ側のアプリケーションをそれぞれ異なった言語を用いて個別に開発することが多い。その場合、異なるスキルを持ったエンジニアを確保しなければならず、開発工数が膨らんでしまうこともある。

 こうした問題を解決する開発手法を提案しているのが、マジックソフトウェア・ジャパン(以下、マジックソフト)の統合開発環境「Magic eDeveloper V10 MAGICリッチクライアント」(以下、Magic eDeveloper)だ。Magic eDeveloperではMagic言語を習得した1人の開発者によって、クライアント側とサーバ側の両方のアプリケーション開発をカバーできるという。

 Magic eDeveloperの特長は、“リポジトリをベースにした独自の開発スタイル”を生かしてRIAを実現できる点である。Magic eDeveloperには、データ項目とその属性といったデータモデルを格納する“モデルリポジトリ”、データベースを管理する“テーブルリポジトリ”、プログラムを格納する“プログラムリポジトリ”の3つのリポジトリが用意されている。

 Magic eDeveloperによる業務アプリケーションの開発では、必要なデータベース項目やプログラムなどのリソースを一元管理するリポジトリを先に構築して、アプリケーションを開発する際にこれらを活用する。また、UI部分の設計は既存のフォームを定義するのみで行うことができ、開発者が意識することはない。これにより、エンジニアは処理ロジックのみに集中できるという利点があるという。

photo Magic eDeveloper画面《クリックで拡大》

 リポジトリベースによってクライアント側で開発したアプリケーションは「MAGIC RichClient Server」を介して、サーバ側に移行される。アプリケーション実行時には、クライアントロジックとサーバロジックが自動的に識別・分割・配布され、これらを同期させながら処理が行われる。

photo Magic eDeveloperの仕組み
photo マジックソフトの佐藤氏

 同社の取締役ソリューション マーケティング本部 本部長の佐藤敏雄氏は「MAGIC RichClient Serverによって、過去にMagic eDeveloperで開発したクライアント/サーバ型アプリケーション資産を容易にRIAに移行させることができる」と語る。実際、約100社のパッケージベンダーがこの仕組みを使って、既にRIAシステムを構築しており、そのうちの85社は過去の資産を生かした例だという。

 一方、同社のソリューションマーケティング本部 マーケティング部課長の渡辺 剛氏は「すべてをRIAの新技術で開発しようとすると、開発工数が膨らんでしまう。しかし、ロジック部分をMagicに任せてもらえば、開発の生産性を高め、コストを抑えることもできる。適材適所で顧客企業の要望に応えていきたい」と語る。

photo マジックソフトの渡辺氏

 その姿勢の一端を示すのが、GoogleマップやAdobe Flash(以下、Flash)、Microsoft Silverlightとの“マッシュアップアプリケーション”だ。例えば、Googleマップを使った配送管理システムや、Flashとの連携で実現する製品カタログなどの構築例が考えられるという。

 マジックソフトは2009年3月末、Magic eDeveloper製品群の後継製品として「Magic uniPaaS」を発表した。過去のMagicアプリケーション資産を.NETベースのRIAアプリケーションに移行するコンバータが搭載されている。

彼らの考えるRIA開発スキーム

 一般的に、RIA開発製品を利用することで「UI部分と処理ロジックの開発を分離でき、UI部分をデザイナーが、処理ロジックをエンジニアがそれぞれ担当するという協業開発が可能になる」とされる。

 しかし、今回紹介したソフトウェアベンダーは「RIA開発の主体はエンジニアにある」と考えている。「今までのシステム開発の体制から考えれば、UI部分もエンジニアが担当することになるだろう」というのが、その論理だ。そのため、既に用意されているコンポーネントやテンプレートを組み合わせてUI部分を設計し、ビジネスロジックの制御を開発言語やツールを使って記述するRIA開発手法を用いている。

 また製品によっては独自の言語を採用しており、そのテクノロジーベースがデザイナーよりもエンジニア向けであることも理由の1つだ。彼らは、エンジニアが主体となってRIAのUIを開発する際にはエンジニア自身が“使いやすさ”や“操作性”についての視点を持つことが必要になるとしている。

 今後のシステム開発の主導権を握るのは誰なのか? ユーザー企業やシステムインテグレーターの動きも含めて、RIA導入の検討は「“人とシステムのかかわり方”や“開発プロセスの最適解”を見直すいい契機」にもなりそうだ。

 ここまで、RIA開発製品やフレームワークを提供するベンダー7社の製品戦略を紹介してきた。次回は、RIAシステムの活用を推進する団体「RIAコンソーシアム」が考える、RIA開発の現状や今後の動向予測を紹介する。

この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事