(57)【特許請求の範囲】
【請求項１】
ビジネス・マッシュアップ方法であって、
ビジネスの要件に従って所望のビジネスに対応するビジネス・アプリケーション・ロジックを生成するステップであって、前記ビジネス・アプリケーション・ロジックはウェブ・サービス及びウィジェットを含む、生成するステップと、
前記ビジネス・アプリケーション・ロジック内の前記ウィジェットをマッシュアップして、ウィジェット・マッシュアップ・アプリケーションを作成することと、
前記ウェブ・サービスと前記ウィジェット・マッシュアップ・アプリケーション内の前記ウィジェットとの間に適合関係を確立することと、
前記ビジネス・アプリケーション・ロジック及び前記適合関係に基づいて、前記ビジネスについてのビジネス・プロセスを生成することと、
前記ウィジェット・マッシュアップ・アプリケーション及び前記適合関係に基づいて、マッシュアップ・ウィジェット・アプリケーションを生成することと、
を含む方法。
【請求項２】
前記ビジネスの要件に従って所望のビジネスに対応するビジネス・アプリケーション・ロジックを生成するステップは、
前記ビジネスに関連するウェブ・サービス・メタデータ及びウィジェット・メタデータを取得するステップと、
前記ビジネス・アプリケーション・ロジックを前記取得されたウェブ・サービス・メタデータ及びウィジェット・メタデータと合成するステップであって、前記ウェブ・サービス・メタデータは前記ウェブ・サービスを形成し、前記ウィジェット・メタデータは前記ウィジェットを形成する、合成するステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記ビジネスに関連するウェブ・サービス・メタデータ及びウィジェット・メタデータを取得するステップは、
ウェブ・サービス・メタデータを格納するレジストリから前記ビジネスに関連する前記ウェブ・サービス・メタデータをポピュレートするステップと、
前記ウェブ・サービス・メタデータを組み立てるステップと、
ウィジェットを格納するレジストリから前記ウィジェット・メタデータをポピュレートするステップと、
を含む、請求項２に記載の方法。
【請求項４】
前記ビジネス・アプリケーション・ロジック内の前記ウィジェットをマッシュアップしてウィジェット・マッシュアップ・アプリケーションを作成するステップは、
前記ビジネス・アプリケーション・ロジック内の前記ウィジェットを発見するステップと、
前記ウィジェット・マッシュアップ・アプリケーションを生成するためのイベントに基づいて前記ウィジェットを組み立てるステップであって、前記イベントは公開イベント及び受領イベントを含む、組み立てるステップと、
を含む、請求項１に記載の方法。
【請求項５】
前記ウェブ・サービスと前記ウィジェット・マッシュアップ・アプリケーション内の前記ウィジェットとの間に適合関係を確立するステップは、
前記ウェブ・サービスに関連するウィジェットとの間に情報形式についての変換関係を確立するステップと、
前記ウェブ・サービスに関連するウィジェットとの間にトランスポート・プロトコルについての変換関係を確立するステップと、
を含む、請求項１に記載の方法。
【請求項６】
前記ビジネス・アプリケーション・ロジック及び前記適合関係に基づいて、前記ビジネスについてのビジネス・プロセスを生成するステップは、
前記ビジネス・アプリケーション・ロジック及び前記適合関係に基づいて、ビジネス・プロセス実行言語ベースのアプリケーションを前記ウェブ・サービスと合成するステップと、
ランタイム環境に従って、前記ビジネス・プロセス実行言語ベースのアプリケーションを実行可能ビジネス・プロセスに変換するステップと、
を含む、請求項１に記載の方法。
【請求項７】
ビジネス・プロセス・ランタイム環境及びウィジェット・ランタイム環境を含むランタイム環境を配置するステップと、
前記ビジネス・プロセスを前記ビジネス・プロセス・ランタイム環境内に公開するステップと、
前記マッシュアップ・ウィジェット・アプリケーションを前記ウィジェット・ランタイム環境内に公開するステップと、
前記ビジネス・プロセス及び前記マッシュアップ・ウィジェット・アプリケーションを実行するステップであって、ランタイムの間、前記ビジネス・プロセス及び前記マッシュアップ・ウィジェット・アプリケーションは、前記適合関係に基づいて互いに情報を交換することができる、実行するステップと、
をさらに含む、請求項１に記載の方法。
【請求項８】
ビジネス・マッシュアップ・システムであって、
ビジネスの要件に従って所望のビジネスに対応するビジネス・アプリケーション・ロジックを生成するように構成されたアプリケーション・ロジック生成装置であって、前記ビジネス・アプリケーション・ロジックはウェブ・サービス及びウィジェットを含む、
アプリケーション・ロジック生成装置と、
前記ビジネス・アプリケーション・ロジック内の前記ウィジェットをマッシュアップして、ウィジェット・マッシュアップ・アプリケーションを作成するように構成されたウィジェット・マッシュアップ装置と、
前記ウェブ・サービスと前記ウィジェット・マッシュアップ・アプリケーション内の前記ウィジェットとの間に適合関係を確立するように構成された適合装置と、
前記ビジネス・アプリケーション・ロジック及び前記適合関係に基づいて、前記ビジネスについてのビジネス・プロセスを生成するように構成されたビジネス・プロセス生成装置と、
前記ウィジェット・マッシュアップ・アプリケーション及び前記適合関係に基づいて、マッシュアップ・ウィジェット・アプリケーションを生成するように構成されたマッシュアップ・ウィジェット・アプリケーション生成装置と、
を含むシステム。
【請求項９】
前記アプリケーション・ロジック生成装置は、
前記ビジネスに関連するウェブ・サービス・メタデータ及びウィジェット・メタデータを取得するように構成された取得モジュールと、
前記ビジネス・アプリケーション・ロジックを前記取得されたウェブ・サービス・メタデータ及びウィジェット・メタデータと合成するように構成されたアプリケーション・ロジック合成器であって、前記ウェブ・サービス・メタデータは前記ウェブ・サービスを形成し、前記ウィジェット・メタデータは前記ウィジェットを形成する、アプリケーション・ロジック合成器と、
を含む、請求項８に記載のシステム。
【請求項１０】
前記取得モジュールは、
ウェブ・サービス・メタデータを格納するレジストリから前記ビジネスに関連する前記ウェブ・サービス・メタデータをポピュレートし、前記ウェブ・サービス・メタデータを組み立てるように構成されたサービス組み立て器と、
ウィジェットを格納するレジストリから前記ウィジェット・メタデータをポピュレートするように構成されたウィジェット・ポピュレート・ユニットと、
を含む、請求項９に記載のシステム。
【請求項１１】
前記ウィジェット・マッシュアップ装置は、
前記ビジネス・アプリケーション・ロジック内の前記ウィジェットを発見するように構成された発見モジュールと、
前記ウィジェット・マッシュアップ・アプリケーションを生成するためのイベントに基づいて前記ウィジェットを組み立てるように構成された組み立てモジュールであって、前記イベントは公開イベント及び受領イベントを含む、組み立てモジュールと、
を含む、請求項８に記載のシステム。
【請求項１２】
前記適合装置は、
前記ウェブ・サービスに関連するウィジェットとの間に情報形式についての変換関係を確立するように構成された情報形式適合化モジュールと、
前記ウェブ・サービスに関連するウィジェットとの間にトランスポート・プロトコルについての変換関係を確立するように構成されたトランスポート・プロトコル適合モジュールと
を含む、請求項８に記載のシステム。
【請求項１３】
前記ビジネス・プロセス生成装置は、
前記ビジネス・アプリケーション・ロジック及び前記適合関係に基づいて、ビジネス・プロセス実行言語ベースのアプリケーションを前記ウェブ・サービスと合成するように構成されたアプリケーション生成モジュールと、
ランタイム環境に従って、前記ビジネス・プロセス実行言語ベースのアプリケーションを実行可能ビジネス・プロセスに変換するように構成された変換モジュールと
を含む、請求項８に記載のシステム。
【請求項１４】
ビジネス・プロセス・ランタイム環境及びウィジェット・ランタイム環境を含むランタイム環境を配置するように構成されたランタイム環境配置装置と、
前記ビジネス・プロセスを前記ビジネス・プロセス・ランタイム環境内に公開するように構成されたビジネス・プロセス・アプリケーション公開装置と、
前記マッシュアップ・ウィジェット・アプリケーションを前記ウィジェット・ランタイム環境内に公開するように構成されたマッシュアップ・ウィジェット・アプリケーション公開装置と
をさらに含み、
前記ビジネス・プロセスは前記ビジネス・プロセス・ランタイム環境内で実行され、前記マッシュアップ・ウィジェット・アプリケーションは前記ウィジェット・ランタイム環境内で実行され、前記ビジネス・プロセス及び前記マッシュアップ・ウィジェット・アプリケーションは、ランタイムの間、前記適合装置を介して互いに情報を交換することができる、請求項８に記載のシステム。
【請求項１５】
コンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されるとき、請求項１から請求項７までのいずれかの方法のステップを行うように適合されたプログラム・コードを含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブ・サービス合成技術に関し、具体的には、ビジネス・プロセス実行言語（Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｅｘｅｃｕｔｉｏｎ  Ｌａｎｇｕａｇｅ）（以下、ＢＰＥＬと呼ぶ）に基づくビジネス・プロセスをウィジェットに統合することが可能な、ビジネス・マッシュアップ方法及びシステムに関する。
【背景技術】
【０００２】
一般に、ウェブ・サービス合成技術は、新しいウェブ・サービスを複数のウェブ・サービスと合成して、ビジネス・プロセスを記述するために用いられる。例えば、ウェブ・サービス指向ビジネス・プロセス実行言語ＢＰＥＬは、一般的なウェブ・サービス合成技術である。こうしたウェブ・サービス合成技術は、インターフェース・レベルにおける既存のウェブ・サービスの組み立てに焦点を当てる。ウェブ・サービス合成技術は、通常はオンプレミス（ｏｎ−ｐｒｅｍｉｓｅ）であり、ウェブ・ベースではない。即ち、ウェブ・サービス合成の設計、開発及び試験は、ローカルのオンプレミス・ツールにおいて行われる。次いで、合成されたウェブ・サービスは、ランタイム環境内に配置（ｄｅｐｌｏｙ）される。配置後、ウェブ・サービス合成ロジックは、新たなサービス合成要件によって容易にカスタマイズすることはできない。典型的には、ウェブ・サービス合成に関する新たな要件がある場合、ウェブ・サービス合成の設計、開発及び試験を再び行う必要があり、これには非常に長い時間がかかる。従って、既存のウェブ・サービス合成技術は、人間対話型ユーザ・インターフェースの動的な変更を柔軟にサポートすることができない。
【０００３】
上述のように、従来のウェブ・サービス合成技術は、異なるサービスを組み立てて、合成されたサービスをランタイム・サーバ内に配置するために、オンプレミス型ソフトウェア開発プラットフォームを提供する。これらのサービス合成技術は、ウェブ・サービス及びサービス指向アーキテクチャ（ＳＯＡ）技術に依存し、サーバ中心型である。さらに、従来のウェブ・サービス合成技術は、必要な専門技術を有するユーザを必要とし、専門家のプログラマには適しているが、専門技術をもたない人にとっては難しすぎる。
【０００４】
ウェブ２．０の核心技術の１つであるマッシュアップ（Ｍａｓｈｕｐ）は、ＢＰＥＬ技術に比べると、サービス合成のためのずっと簡単で効率的なセルフ・サービス型の手法を提供する。さらに、ＢＰＥＬ技術に比べて、マッシュアップ技術は、アプリケーション・レベルにおいてより粒度が粗く、プロセス・アクティビティ・レベルの統合がないユーザ・インターフェースの提示及び情報レベルの統合に焦点を当てる。
【０００５】
既存のマッシュアップ・ツールは、通常、使いやすいグラフィカル・ユーザ・インターフェース及び拡張可能なコンポーネントの組を提供し、従って、関連知識をもたない専門家でないユーザがこれを用いることができる。幾つかの既存のマッシュアップ・ツールを以下に簡単に説明する。
【０００６】
Ｙａｈｏｏ  Ｐｉｐｅｓ  （ｈｔｔｐ：／／ｐｉｐｅｓ．ｙａｈｏｏ．ｃｏｍ）は、Ｒｅａｌｌｙ  Ｓｉｍｐｌｅ  Ｓｙｎｄｉｃａｔｉｏｎ（ＲＳＳ）又はＡｔｏｍフィードを介するデータ統合に焦点を当てるが、ユーザ・インターフェースの統合をサポートするものではない。
【０００７】
Ｍｉｃｒｏｓｏｆｔ  Ｐｏｐｆｌｙは、データ・アクセス・アプリケーションとユーザ・インターフェース・コンポーネントの両方の合成のためのグラフィカル・ユーザ・インターフェースを提供するが、サービス・オーケストレーション（ｓｅｒｖｉｃｅ  ｏｒｃｈｅｓｔｒａｔｉｏｎ）をサポートするものではない。
【０００８】
ＪａｃｋＢｅ  Ｐｒｅｓｔｏ  （ｈｔｔｐ：／／ｗｗｗ．ｊａｃｋｂｅ．ｃｏｍ）は、データ・マッシュアップのためのＰｉｐｅｓのような手法を採用し、こうしたマッシュアップの出力を可視化するユーザ・インターフェース・ウィジェットの、ポータルのような集約を可能にするが、サービス・オーケストレーションをサポートするものではない。
【０００９】
Ｉｎｔｅｌ  Ｍａｓｈ  Ｍａｋｅｒ  （ｈｔｔｐ：／／ｍａｓｈｍａｋｅｒ．ｉｎｔｅｌ．ｃｏｍ）は、ウィジェットを用いたウェブ・ページのパーソナル化を可能にするウェブ・ページ内の注釈を解釈するブラウザ・プラグインを提供する。使用され得るＭａｓｈ  Ｍａｋｅｒツールの唯一の情報源は、特別なプラグインを用いて拡張されたブラウザを通じて訪問したウェブ・ページが示す情報である。Ｍａｓｈ  Ｍａｋｅｒツールは使いやすいが、統合できる情報源を大幅に制限し、例えば、ＲＳＳフィード及びＡｔｏｍフィードなどを用いることはできない。
【００１０】
Ｓｅｒｅｎａ  Ｂｕｓｉｎｅｓｓ  Ｍａｓｈｕｐプラットフォーム（ｈｔｔｐ：／／ｗｗｗ．ｓｅｒｅｎａ．ｃｏｍ）は、コードを書く代わりに既存のコンテンツ、アプリケーション及びサービスを組み合わせるワークフローを描くことによって、ユーザが、自動化されたビジネス・プロセスを開発するのを助けるためのオンプレミス型ツールを提供する。マッシュアップのランタイムは、ホストされ、ブラウザ・ベースのものであるが、ユーザは依然として、ダウンロード及びインストールを行い、オンプレミス型ツールを用いてビジネス・プロセスを開発し、マッシュアップする必要がある。さらに、ユーザ・インターフェース合成及びサービス・オーケストレーションは複雑であり、ウィジェット標準技術に依存しない。従って、オンプレミス型ツールは、他のマッシュアップ・ツールと簡単に再結合又は統合することができない。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、上記の技術的課題に鑑みて提案され、その目的は、ＢＰＥＬベースのビジネス・プロセス及びウィジェットを統合するためのオフプレミス（ｏｆｆ−ｐｒｅｍｉｓｅ）型のビジネス・プロセス開発プラットフォームを提供することができ、ビジネス・プロセスがマッシュアップ・ウィジェット・アプリケーションをサポートするのを可能にする、新たなビジネス・マッシュアップ方法及びシステムを提供することである。さらに、この方法及びシステムは、専門家でないユーザに適している。
【課題を解決するための手段】
【００１２】
本発明の１つの態様によると、ビジネスの要件に従って、所望のビジネスに対応するビジネス・アプリケーション・ロジックを生成するステップであって、ビジネス・アプリケーション・ロジックはウェブ・サービス及びウィジェットを含む、生成するステップと、ビジネス・アプリケーション・ロジック内のウィジェットをマッシュアップして、ウィジェット・マッシュアップ・アプリケーションを作成するステップと、ウェブ・サービスとウィジェット・マッシュアップ・アプリケーション内のウィジェットとの間に適合関係を確立するステップと、ビジネス・アプリケーション・ロジック及び適合関係に基づいて、ビジネスについてのビジネス・プロセスを生成するステップと、ウィジェット・マッシュアップ・アプリケーション及び適合関係に基づいて、マッシュアップ・ウィジェット・アプリケーションを生成するステップとを含む、ビジネス・マッシュアップ方法が提供される。
【００１３】
本発明の別の態様によると、ビジネスの要件に従って所望のビジネスに対応するビジネス・アプリケーション・ロジックを生成するように構成されたアプリケーション・ロジック生成装置であってビジネス・アプリケーション・ロジックはウェブ・サービス及びウィジェットを含む、アプリケーション・ロジック生成装置と、ビジネス・アプリケーション・ロジック内のウィジェットをマッシュアップしてウィジェット・マッシュアップ・アプリケーションを作成するように構成されたウィジェット・マッシュアップ装置と、ウェブ・サービスとウィジェット・マッシュアップ・アプリケーション内のウィジェットとの間に適合関係を確立するように構成された適合装置と、ビジネス・アプリケーション・ロジック及び適合関係に基づいてビジネスについてのビジネス・プロセスを生成するように構成されたビジネス・プロセス生成装置と、ウィジェット・マッシュアップ・アプリケーション及び適合関係に基づいてマッシュアップ・ウィジェット・アプリケーションを生成するように構成されたマッシュアップ・ウィジェット・アプリケーション生成装置とを含む、ビジネス・マッシュアップ・システムが提供される。
【図面の簡単な説明】
【００１４】
【図１】本発明の１つの実施形態によるビジネス・マッシュアップ方法のフローチャートである。
【図２】ビジネス・プロセスにおけるウェブ・サービスとウィジェットとの間の適合を示す概略図である。
【図３】本発明の別の実施形態によるビジネス・マッシュアップ方法のフローチャートである。
【図４】本発明の１つの実施形態によるビジネス・マッシュアップ・システムの概略的なブロック図である。
【図５】本発明の別の実施形態によるビジネス・マッシュアップ・システムの概略的なブロック図である。
【発明を実施するための形態】
【００１５】
本発明の上記及び他の目的、特徴及び利点は、図と併せた以下の本発明の好ましい実施形態の詳細な説明からより明らかになると考えられる。
【００１６】
図１は、本発明の１つの実施形態によるビジネス・マッシュアップ方法のフローチャートである。実施形態が図と併せて以下に詳細に説明される。
【００１７】
図１に示されるように、ステップＳ１０１において、所望のビジネスの要件に従って、ビジネスに対応するビジネス・アプリケーション・ロジックが生成される。実施形態においては、最初に、ビジネス要件に従って、ビジネスに関連するウェブ・サービス・メタデータ及びウィジェット・メタデータが、ビジネス・アプリケーション・ロジックのコンポーネントとして取得される。
【００１８】
通常、ウェブ・サービス・メタデータは、ＳＯＡメタデータの形式であり、サービス・メタデータ・レジストリ内に格納される。サービス・メタデータ・レジストリへのアクセスの集中化により、例えばウェブ・サービス記述言語（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ、ＷＳＤＬ）ファイル、ＸＭＬ構造定義（ＸＭＬ  Ｓｔｒｕｃｔｕｒｅ  Ｄｅｆｉｎｉｔｉｏｎ、ＸＳＤ）ファイル等などのサービス・メタデータを発見し、利用し、再利用することが可能になる。ウィジェットは、特定の機能を実装するための、ウェブ・ページ上で実行可能なプラグイン又はアプリケーションである。この実施形態においては、ウィジェットは、ｉＷｉｄｇｅｔの仕様に従う。利用可能なウィジェットは、対応するウィジェット・レジストリ内に格納され、ウィジェット・レジストリへのアクセスの集中化によって、これらのウィジェットを発見し、利用し、再利用することができる。
【００１９】
ウェブ・サービス・メタデータが取得されると、サービス・メタデータ・レジストリから、所望のビジネスに関連するウェブ・サービス・メタデータがポピュレートされる。これらのウェブ・メタデータは、ＷＳＤＬ、ＸＭＬ構造等のような操作インターフェース及びデータ型を含む。これらのウェブ・サービス・メタデータが異なるファイルによりもたらされると、ウェブ・サービス・メタデータはさらに組み立てられる。次いで、所望のビジネスに関連するウィジェット・メタデータが、ウィジェット・レジストリからポピュレートされる。ウィジェット・メタデータは、レンダリングされたマークアップを含み、かつ、クライアント側のスクリプティングのためのＪａｖａＳｃｒｉｐｔファイル、及び、マークアップのスタイリングのためのＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ）ファイルによってサポートすることができる。
【００２０】
次いで、ビジネス・アプリケーション・ロジックを、取得されたウェブ・サービス・メタデータ及びウィジェット・メタデータと合成し、ここで、ウェブ・サービス・メタデータはビジネス・アプリケーション・ロジック内のウェブ・サービスを形成し、ウィジェット・メタデータはビジネス・アプリケーション・ロジック内のウィジェットを形成する。ビジネス・アプリケーション・ロジックにおいて、ウェブ・サービスは所望のビジネスを実装するために用いられ、ウィジェットはユーザ入力を受け取るための人間対話型インターフェースを提供することができる。
【００２１】
ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ  （ＪＳＯＮ）に基づくデータ形式を用いて参照実装上でのビジネス・アプリケーション・ロジックを表現する例が、次に示される。
{
"VARIABLE": [
{ "type": "string","name": "firstName" },
….
{ "type":"http://HelloWorld:Incentive", "name":"incentiveVar",
"location":"http://{ip}:{port}/a25fb2a2-e0a6-46a9.b4ee.d701e1d7ee8f"},
….
],
"activities": {
"WEBSERVICE": [
{ "output": [….],
"interface":"HelloWorldProcessPartner",
"name":"receivehttp4_Receive",
"location": "http://{ip}:{port}/Content/f1063cf1-a8d0-40b4.af01.a24289a20167",
"source": [….],
"target": [….],
"operation":"startHelloWorldProcess",
"portType":"HelloWorldProcess" }
],
"REST": [
{ "password": "pwd",
"href":"http://localhost:8080/resources/incentive/{firstName}",
"output": [….],
"name": "Rest_Get",
"location": "http://{ip}:{port}/Content/1dc2b51d-e5ea-4a71.bc59.f81689f85934",
"httpMethod": "GET",
"source": [….],
"target": [….]
"username":"user" },
{ ….
"httpMethod": "POST",
…. },
…. 
],
"WIDGET": [
{ "id":"http://ibm.com/samples/Widgets/widiget1",
"name":"SampleWidiget",
"version":"1.0",
"source":[….],
"target": [….],
"context ": [….] }
],
….
}
}
このビジネス・アプリケーション・ロジックにおいて、“ＷＥＢＳＥＲＶＩＣＥ”の部分はウェブ・サービスを記述し、“ＲＥＳＴ”及び“ＷＩＤＧＥＴ”の部分はウィジェットを記述することが分かる。
【００２２】
次いで、ステップＳ１０５において、ステップＳ１０１において生成されたビジネス・アプリケーション・ロジック内のウィジェットをマッシュアップして、ウィジェット・マッシュアップ・アプリケーションを作成する。この実施形態において、マッシュアップは、既存のウェブ・ベースのマッシュアップ・ツールを用いて行うことができる。マッシュアップが行われると、ウィジェットは、生成されたビジネス・アプリケーション・ロジック内で発見され、かつ、ウィジェット・マッシュアップ・アプリケーションを生成するためのイベントに基づいて組み立てられる、即ち、イベントに基づいて、リンケージが、ウィジェット・マッシュアップ・アプリケーション内のウィジェット間で構築され、その結果、ウィジェットは互いに情報を共有できるようになる。この実施形態においては、２つのタイプのイベント：すなわち、ウィジェットがあるデータを公開することを意味する公開イベント（ｐｕｂｌｉｓｈｅｄ  ｅｖｅｎｔ）と、ウィジェットが他のウィジェットからあるデータを受け取ることを意味する受領イベント（ｈａｎｄｌｅｄ  ｅｖｅｎｔ）とを用いることができる。ステップＳ１０５において生成されたウィジェット・マッシュアップ・アプリケーションもまた、ウィジェットとして提示される。
【００２３】
次いで、ステップＳ１１０において、ウェブ・サービスとウィジェット・マッシュアップ・アプリケーション内の関連するウィジェットとの間に、適合関係が確立される。ウェブ・サービスとウィジェットとの間のリンケージは、アプリケーション・レベルにおいて、生成されたビジネス・アプリケーション・ロジックから既に確立している。ビジネス・プロセス・ランタイムの間、ウェブ・サービスがウィジェットと対話するのを可能にするために、下位の層においてウェブ・サービスとウィジェットとの間に適合関係を確立することが必要である。具体的には、ウェブ・サービスと関連するウィジェットとの間の情報形式及びトランスポート・プロトコルについてのそれぞれの変換関係が確立される。適合を用いて、ウェブ・サービスとウィジェットとの間に双方向のリンケージを確立することができ、従って、ビジネス・プロセス・ランタイムの間、ウェブ・サービスからの操作及び入力／出力パラメータを変換して対応するウィジェットに渡すことができ、ウィジェットからの情報を変換して対応するウェブ・サービスに渡し、ウェブ・サービスを開始すること又はウェブ・サービス内の幾つかのアクティビティを再開することができる。
【００２４】
ステップＳ１１５において、ステップＳ１０１において生成されたビジネス・アプリケーション・ロジック及びステップＳ１１０において確立された適合関係に基づいて、所望のビジネスについてのビジネス・プロセスが生成される。この実施形態においては、最初に、ビジネス・アプリケーション・ロジック及び適合関係に基づいて、ＢＰＥＬベースのアプリケーションをビジネス・アプリケーション・ロジック内のウェブ・サービスと合成する。上述のように、ＢＰＥＬ技術を用いて、ウェブ・サービスの合成を行うことができる。ＢＰＥＬベースのアプリケーションは、特定のランタイム環境から独立した中間アプリケーション形式である。次いで、実際のランタイム環境に従って、ＢＰＥＬベースのアプリケーションを実行可能なＢＰＥＬベースのビジネス・プロセスに変換する。ビジネス・プロセスは、バイナリ形式であり、ＢＰＥＬランタイム環境内で実行することができる。
【００２５】
次いで、ステップＳ１２０において、ステップＳ１０５において生成されたウィジェット・マッシュアップ・アプリケーション、及び、ステップＳ１１０において生成された適合関係に基づいて、実行可能マッシュアップ・ウィジェット・アプリケーションが生成される。実行可能マッシュアップ・ウィジェット・アプリケーションは、ウィジェット・ランタイム環境内に直接配置することができる。
【００２６】
図２は、ステップＳ１１５において生成されたＢＰＥＬビジネス・プロセスと、ステップＳ１２０において生成されたマッシュアップ・ウィジェット・アプリケーションとの間の適合の概略図を示す。明確にするため、図２は、ＢＰＥＬビジネス・プロセス内の１つのウェブ・サービスとウィジェットとの間の適合のみを示す。当業者であれば、複数のウェブ・サービスについての状況も同様であることを理解することができる。
【００２７】
ＢＰＥＬビジネス・プロセスが図２の左側に示され、各々のノードはウェブ・サービスを表す。ＢＰＥＬビジネス・プロセス内のウェブ・サービスに関連するウィジェットが、図の右側に示される。適合により、ＢＰＥＬビジネス・プロセス内のウェブ・サービスと関連するウィジェットとの間に双方向のリンケージが構築されることが分かる。ウェブ・サービスによるウィジェットに対する操作及び入力／出力パラメータは、情報形式及びトランスポート・プロトコルについての変換後にウィジェットに伝えられるが、ウィジェット・ランタイムから取得された情報又は外部から受け取った情報もまた、情報形式及びトランスポート・プロトコルについての変換後にウェブ・サービスに伝えられる。
【００２８】
この実施形態のビジネス・マッシュアップ方法は、オフプレミス型のビジネス・プロセス開発プラットフォームを提供し、専門家でないユーザが、コード化することなく所望のビジネス・プロセスを開発できることが、上記の説明から分かる。実施形態の方法は、ウェブ・サービスとウィジェットを結合することによってビジネス・アプリケーション・ロジック生成し、ウィジェット・マッシュアップ・アプリケーションを作成して人間対話型ユーザ・インターフェースを提供し、それによってＢＰＥＬビジネス・プロセスがマッシュアップ・ユーザ・インターフェースに基づく人間対話をサポートすることが可能になり、その結果、プロセス中心型のビジネス・マッシュアップがビジネス要件の変更をより良く反映できるようになる。さらに、実施形態のビジネス・マッシュアップ方法は、ウェブ・サービスとウィジェットとの適合によって、ウェブ・サービスとウィジェットの間の双方向のリンケージを確立するので、ウィジェット、ウェブ・サービス及びデータを統合することによって、プロセス・アクティビティを自動化することができる。
【００２９】
図３は、本発明の別の実施形態による、ビジネス・マッシュアップ方法のフローチャートである。この実施形態が図と併せて説明され、図においては、以前の実施形態におけるものと同じ部分に同じ参照番号が用いられ、その説明は適切に省略される。
【００３０】
図３に示される実施形態においては、ステップＳ１０１乃至Ｓ１２０は、図１に示される実施形態のものと同一である。
【００３１】
上記のステップが行われた後、ステップＳ３０１において、ビジネス・プロセス・ランタイム環境及びウィジェット・ランタイム環境を含むランタイム環境が配置される。この実施形態においては、ビジネス・プロセス・ランタイム環境及びウィジェット・ランタイム環境は、自動的に提供され、クラウド・コンピューティング能力を活用して配置される。例えば、ビジネス・プロセス・ランタイム環境は特定のＢＰＥＬランタイム環境であり、ウィジェット・ランタイム環境は特定のウィジェット・ランタイム環境である。
【００３２】
次いで、ステップＳ３０５において、ステップＳ１１５において生成されたＢＰＥＬビジネス・プロセスが、ビジネス・プロセス・ランタイム環境内に公開される。この実施形態においては、ＢＰＥＬビジネス・プロセスを公開するのは、クラウド・コンピューティング能力を用いて、ＢＰＥＬビジネス・プロセスを特定のＢＰＥＬランタイム環境に自動的に提供するためである。
【００３３】
ステップＳ３１０において、ステップＳ１２０において生成されたマッシュアップ・ウィジェット・アプリケーションが、ウィジェット・ランタイム環境内に公開される。同様に、マッシュアップ・ウィジェット・アプリケーションを公開するのは、クラウド・コンピューティング能力を用いて、マッシュアップ・ウィジェット・アプリケーションを特定のウィジェット・ランタイム環境内に自動的に提供するためである。
【００３４】
次いで、ステップＳ３１５において、ＢＰＥＬビジネス・プロセス及びマッシュアップ・ウィジェット・アプリケーションが、それぞれ、ビジネス・プロセス・ランタイム環境内及びウィジェット・ランタイム環境内で実行される。ランタイムの間、ＢＰＥＬビジネス・プロセス及びマッシュアップ・ウィジェット・アプリケーションは、適合を介して互いに情報を交換することができる。
【００３５】
上記の説明から、この実施形態のビジネス・マッシュアップ方法は、クラウド・コンピューティング能力を用いた自動的な配置をさらに提供し、かつ、ビジネス・プロセス・ランタイム環境及びウィジェット・ランタイム環境を自動的に提供し、ＢＰＥＬビジネス・プロセス及びマッシュアップ・ウィジェット・アプリケーションを対応するランタイム環境内に配置できることが分かる。
【００３６】
同じ発明の概念の下で、図４は、本発明の１つの実施形態による、ビジネス・マッシュアップ・システムの概略的なブロック図を示す。実施形態が図と併せて詳細に説明され、図においては、以前の実施形態におけるものと同じ部分に同じ参照番号が用いられ、その説明は適切に省略される。
【００３７】
図４に示されるように、この実施形態のビジネス・マッシュアップ・システム４００は、ビジネスの要件に基づいて、所望のビジネスに対応する、ウェブ・サービス及びウィジェットを含むビジネス・アプリケーション・ロジックを生成するアプリケーション・ロジック生成装置４０１と、アプリケーション・ロジック生成装置４０１内で生成されたビジネス・アプリケーション・ロジック内のウィジェットをマッシュアップして、ウィジェット・マッシュアップ・アプリケーションを作成するウィジェット・マッシュアップ装置４０２と、ビジネス・アプリケーション・ロジック内のウェブ・サービスとウィジェット・マッシュアップ・アプリケーション内のウィジェットとの間の適合関係を確立する適合装置４０３と、ビジネス・アプリケーション・ロジック及び適合関係に基づいて所望のビジネスについてのビジネス・プロセスを生成するビジネス・プロセス生成装置４０４と、ウィジェット・マッシュアップ・アプリケーション及び適合関係に基づいてマッシュアップ・ウィジェット・アプリケーションを生成するマッシュアップ・ウィジェット・アプリケーション生成装置４０５とを含む。
【００３８】
ビジネス・アプリケーション・ロジックが生成されると、アプリケーション・ロジック生成装置４０１において、取得モジュール４０１１が、ビジネス関連のウェブ・サービス・メタデータ及びウィジェット・メタデータを取得する。上述のように、ウェブ・サービス・メタデータ及びウィジェット・メタデータは、それぞれのレジストリ内に格納され、対応するレジストリにアクセスすることによって、発見し、利用し、再利用することができる。この実施形態においては、取得モジュール４０１１は、ウェブ・サービス・メタデータを格納するレジストリから、関連するウェブ・サービス・メタデータをポピュレートし、ウェブ・サービス・メタデータを組み立てるサービス組み立て器と、ウィジェットを格納するレジストリからウィジェット・メタデータをポピュレートするウィジェット・ポピュレート・ユニットとを含む。
【００３９】
組み立てられたウェブ・サービス・メタデータ及びウィジェット・メタデータが取得モジュール４０１１によって取得された後、アプリケーション・ロジック合成器４０１２が、ビジネス・アプリケーション・ロジックをこれらのウェブ・サービス・メタデータ及びウィジェット・メタデータと合成し、そこで、ウェブ・サービス・メタデータはウェブ・サービスを形成し、ウィジェット・メタデータはウィジェットを形成する。
【００４０】
生成されたビジネス・アプリケーション・ロジックについては、ウィジェット・マッシュアップ装置４０２において、発見モジュール４０２１がビジネス・アプリケーション・ロジック内のウィジェットを発見し、組み立てモジュール４０２２がウィジェット・マッシュアップ・アプリケーションを生成するイベントに基づいてこれらのウィジェットを組み立てる。ウィジェットが組み立てられると、イベントを介して、ウィジェット間のリンケージが確立される。上述のように、イベントは、ウィジェットがデータを公開することを示す公開イベントと、ウィジェットが他のウィジェットからデータを受け取ることを示す受領イベントとを含む。ウィジェット・マッシュアップ装置４０２によって、ビジネス・アプリケーション・ロジック内の複数のウィジェットをマッシュアップして１つのウィジェットにすることができる。
【００４１】
ビジネス・アプリケーション・ロジックから、アプリケーション・レベルにおいてウェブ・サービスとウィジェットとの間にリンケージが確立され、ランタイムの間、ウェブ・サービスとウィジェットとの間双方向リンケージを提供するために、ウェブ・サービスとウィジェット・マッシュアップ・アプリケーション内のウィジェットとの間に適合関係を確立する必要がある。従って、適合装置４０３において、情報形式適合モジュール４０３１が、ウェブ・サービスと関連するウィジェットとの間に情報形式についての変換関係を確立し、トランスポート・プロトコル適合モジュール４０３２が、ウェブ・サービスと関連するウィジェットとの間にトランスポート・プロトコルについての変換関係を確立する。従って、ランタイムの間、ウェブ・サービスからの操作及び入力／出力パラメータは、適合装置４０３を介してウィジェット・マッシュアップ・アプリケーションに伝えられ、ウィジェットからの情報は、適合装置４０３を介してウェブ・サービスに提供される。
【００４２】
次いで、ビジネス・プロセス生成装置４０４において、アプリケーション生成モジュール４０４１が、生成されたビジネス・アプリケーション・ロジック及び適合関係に基づいて、ＢＰＥＬベースのアプリケーションをビジネス・アプリケーション・ロジック内のウェブ・サービスと合成する。ＢＰＥＬアプリケーションは特定のランタイム環境から独立しているので、ＢＰＥＬアプリケーションの変換は、実際のランタイム環境に従って行うことができる。次いで、変換モジュール４０４２が、ランタイム環境に従って、ＢＰＥＬアプリケーションを実行可能ビジネス・プロセスに変換する。その時、マッシュアップ・ウィジェット・アプリケーション生成装置４０５において、ウィジェット・アッシュアップ・アプリケーション及び適合関係に基づいて、マッシュアップ・ウィジェット・アプリケーションが生成される。
【００４３】
この実施形態のビジネス・マッシュアップ・システム４００は、図１に示されるビジネス・マッシュアップ方法を動作可能に実装することができることに留意すべきである。
【００４４】
図５は、本発明の別の実施形態によるビジネス・マッシュアップ・システム５００の概略的なブロック図を示す。実施形態が、以前の実施形態におけるものと同じ部分に同じ参照番号が用いられ、その説明は適切に省略される図と併せて以下に説明される。
【００４５】
アプリケーション・ロジック生成装置４０１、ウィジェット・マッシュアップ装置４０２、適合装置４０３、ビジネス・プロセス生成装置４０４及びマッシュアップ・ウィジェット・アプリケーション生成装置４０５以外に、図５に示されるシステム５００は、ビジネス・プロセス・ランタイム環境６００及びウィジェット・ランタイム環境７００を含むランタイム環境を配置するランタイム環境配置装置５０１と、ビジネス・プロセスをビジネス・プロセス・ランタイム環境６００内に公開するビジネス・プロセス・アプリケーション公開装置５０２と、及びマッシュアップ・ウィジェット・アプリケーションをウィジェット・ランタイム環境７００内に公開するマッシュアップ・ウィジェット・アプリケーション公開装置５０３とをさらに含む。
【００４６】
ランタイム環境配置装置５０１においては、ビジネス・プロセス・ランタイム環境６００及びウィジェット・ランタイム環境７００が、クラウド・コンピューティングの機能を用いて自動的に提供され、ビジネス・プロセス・アプリケーション公開装置５０２及びマッシュアップ・ウィジェット・アプリケーション公開装置５０３が起動される。この実施形態においては、例えば、ビジネス・プロセス・ランタイム環境６００は特定のＢＰＥＬランタイム環境であり、ウィジェット・ランタイム環境７００は特定のウィジェット・ランタイム環境である。次いで、ビジネス・プロセス・アプリケーション公開装置５０２及びマッシュアップ・ウィジェット・アプリケーション公開装置５０３は、クラウド・コンピューティングの機能を用いて、ビジネス・プロセス及びマッシュアップ・ウィジェット・アプリケーションを、それぞれ、ビジネス・プロセス・ランタイム環境６００及びウィジェット・ランタイム環境７００に提供する。
【００４７】
ランタイムの間、ビジネス・プロセス・ランタイム環境６００においてビジネス・プロセスが実行され、ウィジェット・ランタイム環境７００においてマッシュアップ・ウィジェット・アプリケーションが実行され、ビジネス・プロセス及びマッシュアップ・ウィジェット・アプリケーションは、適合装置４０３を介して互いに情報を交換することができる。
【００４８】
この実施形態のビジネス・マッシュアップ・システム５００は、図３に示されるビジネス・マッシュアップ方法を動作可能に実装することができることに留意すべきである。
【００４９】
上記の実施形態において開示されたビジネス・マッシュアップ方法は、ハードウェア、ソフトウェア、又はこれらの組み合わせにおいて実装することができる。ハードウェア部分は、専用の論理によって実装することができる。例えば、実施形態におけるマッシュアップ・システム及びそのコンポーネントは、大規模集積回路若しくはゲート・アレイなどのハードウェア回路、論理チップ若しくはトランジスタなどの半導体、又はフィールド・プログラマブル・ゲート・アレイ若しくはプログラム可能論理デバイス等のプログラム可能ハードウェア・デバイス等によって実装することができ、又は、種々のプロセッサによって実行することができるソフトウェアによって実装することができ、又は、上記のハードウェア回路及びソフトウェアの組み合わせによって実装することができる。ソフトウェア部分は、メモリ内に格納することができ、マイクロプロセッサ、パーソナル・コンピュータ（ＰＣ）又はメインフレーム等の適切な命令実行システムによって実行することができる。
【００５０】
本発明のマッシュアップ方法及びシステムが、幾つかの例示的な実施形態を用いて詳細に説明されたが、これらの実施形態は網羅的なものではなく、当業者であれば、本発明の精神及び範囲内で、種々の変更及び修正を実現することができる。従って、本発明は、これらの実施形態に限定されるものではなく、その範囲は添付の特許請求の範囲によってのみ定められる。
【符号の説明】
【００５１】
４００、５００：ビジネス・マッシュアップ・システム
４０１：アプリケーション・ロジック生成装置
４０２：ウィジェット・マッシュアップ装置
４０３：適合装置
４０４：ビジネス・プロセス生成装置
４０５：マッシュアップ・ウィジェット・アプリケーション生成装置
５０１：ランタイム環境配置装置
５０２：ビジネス・プロセス・アプリケーション公開装置
５０３：マッシュアップ・ウィジェット・アプリケーション公開装置
６００：ビジネス・プロセス・ランタイム環境
７００：ウィジェット・ランタイム環境
４０１１：取得モジュール
４０１２：アプリケーション・ロジック合成器
４０２１：発見モジュール
４０２２：組み立てモジュール
４０３１：情報形式適合モジュール
４０３２：トランスポート・プロトコル適合モジュール
４０４１：アプリケーション生成モジュール
４０４２：変換モジュール
【図１】
0005957011.tif 000002
【図２】
0005957011.tif 000003
【図３】
0005957011.tif 000004
【図４】
0005957011.tif 000005
【図５】
0005957011.tif 000006