全体最適を支えるSOAミドルウェア
SOAの一環として富士通が提唱してきたSOA適用のための導入パターンの1つに「ユーザー利便性の向上」があります。「Interstage Interaction Manager」により、複数業務システムの画面をWeb上で統合することで、大幅な業務効率向上を実現してきました。今回新たに、その「Interstage Interaction Manager」にWeb2.0時代の注目技術「マッシュアップ」を採用。既存サービスを統合・加工することで、新たな価値やサービスを提供できるようになります。既存資産の有効活用とユーザーの利便性向上が、さらに簡単に実現できるようになりました。
[2008年12月17日掲載]
Web上のサービスを組み合わせて新しいサービスを生み出したい、欲しいサービスだけを取り出し使いやすいように加工したい。このようなニーズに対応するものとして「マッシュアップ」が大きな注目を集めています。
マッシュアップは、その有用性から企業内システムへの活用が模索されるようになりました。富士通はこの技術の可能性に着目し、Webフロントアプリケーション構築基盤「Interstage Interaction Manager」にマッシュアップ機能を搭載しました。
「Interstage Interaction Manager」は、フロント統合によりユーザー利便性を向上してきました。多くの企業はメインフレームから、クライアント・サーバ型システムやオープンシステムなど、いくつもの既存資産を抱えています。関連するシステムを複数立ち上げ、画面を切り替えながらのフロント業務は、利用現場の負担となっていました。
これまでもAjaxを採用した「Interstage Interaction Manager」では、複数業務システムの情報を統合し、高い操作性の業務画面で、効率的に作業できるクライアント環境を追求してきました。今回新たに「マッシュアップ」機能をフレームワークとして提供します。これにより、Ajaxの高機能なGUI部品に、マッシュアップ経由で取得した情報(データ)をリアルタイムに連携し、使いやすい操作環境を素早く構築できるようになります。さらにオープンソースの統合開発環境Eclipseにも対応することで、開発者のすそ野を拡大。既存システムの統合とリッチな業務画面のインターフェースを、より簡単にスピーディに実現できるようになりました。

【図1 : Interstage Interaction Manager」で既存システムの統合と
リッチな業務画面のインターフェースを、より簡単にスピーディに実現】
企業内の既存資産を有効活用したいというニーズは常に存在します。そのために、SOAの考え方が有効であることを富士通は提唱してきました。「Interstage Interaction Manager」はフロントの切り口からこの課題を解決します。
例えば、受発注業務では在庫数や生産予定数などの情報の確認が必要です。とはいえ、在庫管理システムと生産管理システムを立ち上げ、商品を日付ごとに検索し、それぞれの画面で在庫数や生産予定数などの情報を確認するのは大変です。
しかし、「Interstage Interaction Manager」の「マッシュアップフレームワーク」で、商品詳細情報や在庫数、生産予定数など必要なデータを組み合わせて統合し、新たなサービスとして提供することで、手番の削減や入力ミスなどの危険性を減らすことも可能となります。もちろん、Ajaxフレームワークによる、リッチなインターフェースも効果を発揮します。

【図2 : マッシュアップフレームワークによるフロント統合で既存資産を活用】
例えば受発注システムにおいて、既存の商品管理システムから商品の詳細情報を取り出して、同時に画面に表示できれば、ユーザーはその場で入力した商品の情報を確認でき、ミスを防ぐことができます。このように既存のWebページからHTML画面の必要な部分を切り出してマッシュアップすれば、簡単に今ある資産を有効利用することができます。
「マッシュアップフレームワーク」はHTMLコンテンツやWebサービスの情報を取得し、XML形式に変換します。このとき必要な情報だけをXMLとして切り出すのが、スクレイピング機能です。GUIベースのスクレイピングツールによりXHTMLで正規化された領域から必要な情報を切り出し、XML形式のデータを自動生成することができます。 また、切り出したXML情報をクライアントのJavaScriptで扱えるようにJSON(注)形式に自動変換することもできます。開発者は、スクレイピング、データ変換のためにアプリケーションを開発する必要がありません。
(注) JSON:JavaScript Object Notationの略 データ記述言語の一つ
「Interstage Interaction Manager」では、Ajaxで実現する業務画面の長所を活かすとともに、既存資産を簡単かつ柔軟に活用するために、クライアントサイドでのマッシュアップを採用しました。
しかしながら、クライアントサイドでマッシュアップを行うためには、解決すべき課題がありました。Webブラウザ上のクライアントは、踏み台やフィッシングなどのセキュリティ対策であるJavaScriptのクロスドメイン制約により、ダウンロード元の1つのWebサーバ(ベース・サーバ)としか通信を行うことができません。
そこで、クライアントがベース・サーバ以外の業務サービスと通信できるようにするため、「マッシュアップフレームワーク」がプロキシの役割を果たし、クロスドメイン制約を受けることなく、規定の業務サービスから自由にデータを取得する機能を提供しています。
これにより、本社と支社、データセンターでドメインが異なるようなケースであっても、各拠点の既存のWebサービスやWebアプリケーションをマッシュアップした新しいサービスを、Ajaxによる高い操作性は維持したまま、マッシュアップフレームワークによって構築することができます。

【図3 : クロスドメイン制約を解決するためプロキシの役割をするマッシュアップフレームワーク】
しかしこれだけでは、クロスドメイン制約で確保されていたセキュリティの低下の危険性がでてきます。そこで、「マッシュアップフレームワーク」は、あらかじめ登録したWebサービス、Webアプリケーション以外へのアクセスを抑止する機能を実装しています。加えてアクセスログを採取しているため、あとから追跡調査が可能です。

【図4 : 不正アクセスの抑止機能もマッシュアップフレームワークで実装】
ここからは「Interstage Interaction Manager」を使って実際に構築する手順を説明します。
「Interstage Interaction Manager」は、画面の設計・編集ツールとしてAjaxページエディタを提供します。完成イメージを確認しながらリッチなクライアントインターフェースを作成していくことができます。その他、マッシュアップを行うための便利なツールも統合開発環境上で使用できます。
これらのツール群はEclipseのプラグインとして提供しています。このため専用の開発環境を用意することなく、使い慣れた環境で開発できるようになっています。
スクレイピングツールは、マッシュアップの対象範囲となるコンテンツをビジュアルに確認しながら指定できます。操作方法は以下のようになります。
(1) WebサービスのURLを入力します。対象のHTML画面がエディタ上に表示されます。また、HTMLの構成が画面右側にアウトライン表示されます。
(2) スクレイピングツール中央のエディタ画面で、抽出したい情報をマウスで選択します。選択されると表示色が変わります。
(3) 「XSL」タブをクリックし、スクレイピング領域のXSL(注)を作成します。(作成したXSLが表示されます。)
(注) XSL:Extensible Stylesheet Languageの略 XML文書の変換用言語

【図5 : スクレイピングツールの操作1】
(4) 「プレビュー」タブをクリックし、正しくスクレイピングされているか確認します。
(5) 「保存」ボタンをクリックして、変換用に作成したXSLファイルを保存します。

【図6 : スクレイピングツールの操作2】
以降、対象サービスのURLなどの情報をマッシュアップ定義ファイルに定義します。その後Ajaxページエディタで画面を設計します。
マッシュアップ定義ファイルでは、マッシュアップして利用するサービス情報の定義を作成します。この定義のみで、クライアントサイドでマッシュアップする情報を取得できるため、マッシュアップ用のサーバ側のアプリケーションを開発する必要はありません。
定義する情報は、対象のWebサービスやWebアプリケーションのURL、スクレイピングツールで作成したXSLファイルの名称などです。ここで定義したWebサービスやWebアプリケーションのみをマッシュアップの対象として利用するため、不正アクセスを抑止することができます。

【図7 : マッシュアップ定義ファイル】
Ajaxページエディタを使ってパレット・ビューからGUI部品を設計画面に貼り付けていくことで、画面レイアウトをデザインできます。貼り付けた部品と部品の微妙な位置関係も配置ツールで調整できます。貼り付けた項目のプロパティもマウス操作で設定。ソースも貼り付けたGUI部品の一覧も確認できます。

【図8 : Ajaxページエディタの利用により、効率的にWebページを開発】
「Interstage Interaction Manager」は開発環境だけではなく、多彩な運用環境にも対応しています。アプリケーションサーバでは「Interstage Application Server」に加えて、2008年7月から「WebSphere Application Server」や「Oracle WebLogic Server」上でも動作可能になりました。さらに今回、連携するサーバ側フレームワークもStrutsなどの著名なフレームワークと組み合わせできるなど、導入済みの運用環境との親和性も向上しています。
すでに大きな潮流となっており、SOAを進化させる可能性を秘めているマッシュアップ。リッチなインターフェースでフロント統合を実現する「Interstage Interaction Manager」にマッシュアップを取り込むことで、既存資産を有効活用した、より実践的でユーザー主導型のSOAを実現します。
第1回 業務プロセスを「見える化」し改善サイクルを加速する
[2008年7月22日掲載]
第2回 柔軟なシステム連携を実現するSOA基盤
- エンタープライズ・サービスバスの実力 -
[2008年9月19日掲載]
第3回 業務視点による段階的なシステム再構築
- Interstage Service Integrator 適用の実際 -
[2008年10月27日掲載]
第4回 メインフレーム業務はそのままに、オープン環境から活用
- SOA対応メインフレーム連携ソフトウェア「Interstage Host Access Service」 -
[2008年11月21日掲載]
第5回 マッシュアップで既存システムを活用したフロント統合を加速
- Interstage Interaction Managerによるユーザー利便性向上 -
[2008年12月17日掲載]
第6回 業務状況を監視・分析し、問題の早期発見と改善を支援
- Interstage Business Process Manager Analyticsによる業務プロセスの改善 -
[2009年2月2日掲載]
第7回 競争力を高める「タイムリーな情報活用」
- Interstage Data Effectorにより、現場の業務データ活用とコスト削減を実現 -
[2009年3月2日掲載]
Webフロントアプリケーション構築基盤:
Interstage Interaction Manager
【ITpro掲載】
誤解の多いSOA導入
- 課題解決の糸口をたぐり寄せる -
Vol.1 : 富士通が導き出したSOA導入のベストパターン