IBM Mashup Center および Optim を使用したアクティブ・データとアーカイブ・データのマッシュアップ

レポーティング・ソリューション

コスト、運用効率、および規制の要件のために、企業にはトランザクション・データのアーカイブが必要です。しかし、アーカイブしたデータがレポート用としてまだ役に立つこともあります。この記事では、IBM Mashup Center を使用してレポート・マッシュアップを変更し、DB2® リレーショナル・データベースからのデータと、Optim™ Data Growth Solution を使用してアーカイブしたデータを結合する簡単な方法について説明します。(原文公開日 : 2010年1月21日)

Thanh Pham (thanhp@us.ibm.com), Solution Architect, IBM

Thanh Pham is a Solution Architect for InfoSphere MashupHub. His focus is to build a community around enterprise mashups. Before this role, he was an architect for the ECM/Filenet Business Process Framework product. Thanh has spent the past two decades in software development working on projects in many diverse areas, including real-time kernel, high-speed switching systems, networking protocols, terabit routers, multimedia, digital conferencing, small footprint database, electronic commerce, messaging transaction tracking, business process, and SOA.



Louis Mau, Solution Architect, IBM

Louis Mau is part of the InfoSphere MashupHub development team. His current focus is to help customers build situational applications using the IBM Mashup Center. Prior to this role, he was the architect for DB2 Everyplace Sync Server, which helps synchronize data from enterprise databases onto a small-footprint database running on mobile devices.



2010年 4月 09日

はじめに

多くの企業では、生成した大量の電子データをさまざまな目的でアーカイブしています。たとえば、監査用にトランザクション・データをアーカイブする、オンライン運用しているデータベースを管理しやすいサイズに保つなどの例が挙げられます。また、企業は規制に対応するために、電子データのアーカイブを求められることもあります。IBM Optim Data Growth Solution を使用すると、時系列のトランザクション・レコードをアーカイブし、圧縮されたアーカイブ・ファイルとして安全かつコスト効率よく保管できます。アクティブ・データとアーカイブ・データの両方を表示および検索するとき、最初に、アーカイブされたファイルをアクティブ・データが存在するシステムに復元しなければならないのでは不便です。この記事では、オンライン・データおよび Optim アーカイブ・データをそれぞれのネイティブ・リポジトリーから取り出し、マッシュアップを使用して結合する代替手法について説明します。

IBM Mashup Center は、この代替手法のための新しいアプリケーションを構築する単純なプロセスを提供します。組み込みのフィード・ジェネレーターを使用すると、企業のアクティブ・データにアクセスし、必要性が生じたときにこれをアーカイブ・データと結合することができます。この記事では、アクティブなオーダー情報をトラッキングするよう構築されたマッシュアップ・アプリケーションを簡単な方法で拡張し、アーカイブされたオーダー情報も含めるようにする例を紹介します。この情報は、Optim を使用したデータのアーカイブ、および IBM Mashup Center を使用したリレーショナル・フィードの生成とデータ・マッシュアップの作成にある程度習熟したユーザーにたいへん役に立つでしょう。

システム構成について

この記事では、まず、DB2 データ・ソースからサンプル・アプリケーションを構築する方法を簡単に説明します。次に、アクティブ・データと Optim アーカイブ・データを結合して、このアプリケーションを再利用する方法について詳述します。この例では、企業データはリレーショナル DB2 データ・ソースに保存されていて、アーカイブ・データは、ファイル・システムにある IBM Optim の圧縮アーカイブ・ファイル形式で保存されています。図 1 を参照してください。

図 1. システムの概要
システムの概要

DB2 データ・ソースのデータベースと表を図 2 に示します。実動システムのトランザクションは時とともに増加するため、このシステムでは過去 2 年間のオーダーだけを維持するようルールが定義されています。それよりも古いオーダーは、IBM Optim アーカイブに移動されます。このデータベースと表は、IBM Optim Data Growth Solution のインストールとともに提供されます。

図 2. データベース・スキーマ
データベース・スキーマ

アクティブ・オーダーをトラッキングするマッシュアップ・アプリケーション

IBM Mashup Center を使用して作成したサンプルのレポート・ページを図 3 に示します。このページは、リレーショナル・データベースに存在するアクティブ・データに基づいて、営業担当者ごとにパフォーマンスをレビューするために使用されます。このセクションでは、レポートの構成について説明します。次のセクションでは、このレポートを変更し、IBM Optim でアーカイブされた昨年以前のデータを組み込む簡単な方法について説明します。

図 3. 現在のオーダー
現在のオーダー

レポート・ページには、次の 2 つのウィジェットがあります。

  • 営業担当者の名前と、その担当地域を表示するデータ・ビューアー・ウィジェット。
  • 選択された営業担当者の年間売上データを表示するグラフ・ウィジェット。数値は 2006 年 10 月から 2008 年 10 月までのアクティブ・オーダーから計算されています。グラフ・ウィジェットへの入力は、Mashup Center が生成する「/mashuphub/client/plugin/generate/entryid/400/pluginid/10?salesmanId=NC005」というフィードから得られます。このフィードには、1 つの照会パラメーター salesmanId が含まれていることに注目してください。

データ・ビューアー・ウィジェットで行をクリックすると、選択された営業担当者の売上を表示するようグラフ・ウィジェットが変わります。この動作は、データ・ビューアー・ウィジェットをグラフ・ウィジェットにワイヤリングすることで実現されています。このワイヤリングによって、行が選択されたときに、営業担当者 ID がグラフ・ウィジェットに送信されるように指定されています。グラフ・ウィジェットは、渡された値で URL の salesmanId パラメーターを置換します。その後、この値は対応する年間売上を取り出すために使用されます。ワイヤリングを図 4 に示します。

図 4. ウィジェットのワイヤリング
ウィジェットのワイヤリング

データ・ビューアー・ウィジェットは、営業担当者リレーショナル表から生成されたフィードを使用して作成されます。リレーショナル・フィードを作成するには、次の手順を実行します。

  1. Mashup Center カタログ・ページで「作成」>「新規フィード」を選択します。
  2. データベースの接続情報を入力します。表のリストが表示されます。
  3. チェック・ボックスをクリックして表を選択します。列のリストを含むリスト・ボックスが右側に表示されます。たとえば、「*」が付いた列を選択することにより、すべての列を選択します。図 5 を参照してください。
図 5. 営業担当者の表
営業担当者の表
  1. グラフ・ウィジェット用に年間売上の合計を含むフィードを生成するには、アクティブ・データベースからオーダー情報を取り出します。図 5 に示すように、オーダー表の各行を、詳細表の複数のレコードに結び付けることができます。各オーダーの金額は、対応する詳細レコードの金額列を足し合わせることによって計算されます。リスト 1 に示すように、必要な SQL はかなり複雑です。リレーショナル・フィードを作成するときに、これらの SQL ステートメントを「詳細」ウィンドウで指定することもできます。
リスト 1. SQL ステートメント
select        o.order_id, o.cust_id, o.order_date,
              rtrim(o.order_salesman) sales_id, d.amount
     from (select i.order_id order_id, sum(i.item_quantity*i.detail_unit_price) amount
                   from db2admin.details i group by i.order_id) d,
              db2admin.orders o
    where d.order_id=o.order_id
  1. データ・マッシュアップを使用して、オーダー情報フィードをグラフ・ウィジェットに必要なフォーマットに変換します (図 6 参照)。
図 6. 年間売上を計算するデータ・マッシュアップ
年間売上を計算するデータ・マッシュアップ

データ・マッシュアップは、相互に連結された一連の演算子で構成されている点に注目してください。各演算子は、変換プロセスの 1 つのステップを表します。各ステップの詳細は以下のとおりです。

  1. オーダー金額のフィードから、「フィルター」演算子を使用して、指定された営業担当者に対応するオーダー・セット金額 (set-of-order amount) を選択します。
  2. 「グループ」演算子を使用して、すべての年別オーダー (order-by-year) をグループ化します。
  3. 「変換」演算子を使用して、1 年以内のすべてのオーダー金額を合計します。
  4. 「ソート」演算子を使用して、出力を年ごとの昇順にソートします。
  5. 「パブリッシュ」演算子を使用して、グラフ・ウィジェットが表示できる XML 形式で結果フィードを生成します。

既存のマッシュアップ・アプリケーションに関するクイック・ツアーは、これで終わります。


アクティブ・オーダーおよびアーカイブ・オーダーの両方をトラッキングするようマッシュアップ・アプリケーションを編集する

IBM Optim 用に IBM Mashup Center をセットアップする

Mashup Center の Optim アーカイブ・フィード・ジェネレーターは Attunity Connect シン・クライアントを使用します。Attunity Connect によって、JDBC バージョン 2 用の タイプ III JDBC ドライバーが提供されます。これは、Optim サーバーをインストールしたときに、Java ライブラリー内のセットとしてインストールされます。JAR のセットには、次のものが含まれています。

  • nvjdbc2.jar
  • nvapispy2.jar
  • nvlog2.jar

これらの JAR を「{install-folder}/Hub/installedApps/Mashup Hub.ear/mashuphub-enterprise.war/WEB-INF/lib」にある Mashup Center のインストール・フォルダーにコピーし、サーバーを再起動します。

Optim フィードとマッシュアップを作成する

最近 2 年間のアクティブ・オーダーからではなく、会社の創業以来の営業担当者のオーダー履歴を表示するようサンプル・レポートの拡張が必要な状況を想定します。IBM Optim Archive にアクティブでないオーダー・データが格納されているときに、アーカイブされたオーダーを組み込むようにサンプルのマッシュアップ・レポート・アプリケーションを拡張する方法を以下の手順で示します。

  1. 「IBM Optim Archive」フィード・ジェネレーターを選択します。
  2. アーカイブされたオーダーを取り出すために、IBM Optim Archive の接続情報を入力します。
  3. アクティブ・オーダーとアーカイブ・オーダーをマージするマッシュアップを作成します。
  4. 指定された営業担当者の年間売上を計算するデータ・マッシュアップに、「新規として編集」を選択します。
  5. 2 つの新規フィードを使用するように、レポート・マッシュアップのグラフ・ウィジェットを変更します。

IBM Mashup Center 製品で利用できるフィード・ジェネレーターのリストを図 7 に示します。これらの中に、前のセクションで使用した「Relational Database Query (SQL)」フィード・ジェネレーターおよび「IBM Optim Archive」フィード・ジェネレーターが含まれています。

図 7. ハブ・フィード・ジェネレーターのリスト
ハブ・フィード・ジェネレーターのリスト

IBM Optim アーカイブに接続するために必要な情報を図 8 に示します。このウィンドウは、「Relational Database Query」フィード・ジェネレーターのウィンドウに非常によく似ています。このウィンドウでは、次の情報が必要です。

  • アーカイブの名前 (例: DEMOAF)
  • サーバー・ホストの名前 (例: demoserver)
  • ポート番号 (2552)
  • 認証情報 (ユーザー名とパスワード)
図 8. IBM Optim Archive の接続情報
IBM Optim Archive の接続情報

「IBM Optim Archive」フィード・ジェネレーターには、単一のアーカイブ表と列のセットからフィードを作成するシンプルな GUI があります。また、複雑な SQL ステートメントを入力する入力ボックスも用意されています。アーカイブはアクティブ・データと同じスキーマで作成されているため、ここでは、前のセクションと同じ SQL ステートメントを使用して、オーダー金額を取り出すことができます。

アクティブ・オーダーと Optim アーカイブ・オーダーの 2 つのソースを結合するマッシュアップの構築方法を図 9 に示します。「結合」演算子を使用して、両方のフィードのコンテンツを結合し、1 つのフィードにします。

図 9. アクティブ・オーダー・フィードとアーカイブ・オーダー・フィードを結合するデータ・マッシュアップ
アクティブ・オーダー・フィードとアーカイブ・オーダー・フィードを結合するデータ・マッシュアップ

IBM Mashup Center のカタログで、フィードおよびデータ・マッシュアップのリストを表示できます。「新規として編集」を選択すると、データ・マッシュアップを編集またはコピーできます。この記事のサンプルでは、年間売上の数値を計算するマッシュアップのコピーを作成します (図 10 参照)。結合されたオーダー・フィード (combined-orders-feed) の要素はアクティブ・オーダー・フィード (active-orders-feed) の要素に似ているため、同じロジックを再利用できます。つまり、「ソース」演算子を変更し、アクティブ・オーダーと Optim アーカイブ・オーダーを結合するマッシュアップからの出力を使用します。

図 10. データ・マッシュアップのコピー
データ・マッシュアップのコピー

最後のステップとして、マッシュアップ・レポート・ページを最初から作成するのではなく、レポート・ページのコピーを作成し (図 11 参照)、このコピーを次の手順で変更します。

  1. レポート・ページをカタログにパブリッシュします。「ページ」オブジェクトのエントリーが作成されます。
  2. カタログに移動し、新たに作成したこのエントリーの「詳細の表示」ウィンドウに移動します。
  3. マッシュアップ・ビルダーに追加」をクリックし、レポート・ページのコピーを作成します。
  4. マッシュアップ・ビルダーに追加するときに、コピーしたページを「Combine Orders」に名前変更します。
  5. マッシュアップ・ビルダーのビューを更新し、「Combine Orders」ウィンドウを選択します。
  6. アクティブ・データおよび Optim アーカイブ・データの両方から年間売上高 (yearly-sales-numbers) を計算するデータ・マッシュアップを使用するようグラフの URL を変更します。
図 11. コピーを再利用した新規マッシュアップの作成
コピーを再利用した新規マッシュアップの作成

サンプル・プロセスの最終結果を図 12 に示します。売上高が 2006 年ではなく 2004 年から示されるようになりました。

図 12. アクティブ・オーダーとアーカイブ・オーダー
アクティブ・オーダーとアーカイブ・オーダー

まとめ

IBM Mashup Center は、さまざまなソースから簡単にデータをマッシュアップするプラットフォームを提供します。企業データの管理では、アクティブ・データとアーカイブ・データの両方にアクセスすることが必要な場合があります。IBM Mashup Center の変換機能およびプレゼンテーション機能を使用すると、両方のソースからのデータを結合し、統合されたデータから新たな洞察を得ることができます。

参考文献

学ぶために

製品や技術を入手するために

議論するために

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management, Lotus
ArticleID=480207
ArticleTitle=IBM Mashup Center および Optim を使用したアクティブ・データとアーカイブ・データのマッシュアップ
publish-date=04092010