(57)【要約】【課題】  サービス指向コンポーネントを組み込んだシステムを確立するプロセスを効率化する。【解決手段】  一態様において、本発明は、ビジネス・プロセスに基づいてサービス指向コンポーネントを組み込んだサービス指向アーキテクチャ・ベースのビジネス・システムを確立するための方法を対象とする。この方法は、好ましくはグラフィカル・ユーザ・インタフェースを用いて、サービスとして公開するためにビジネス・プロセス・モデル要素のグループを選択するステップと、自動化手段を用いて、サービスを実行するための少なくともスケルトン・コードを発生させるステップと、自動化手段を用いて、第１および第２のサービス間にインタフェースを確立するためのコードを発生させるステップと、を含む。【選択図】  図３
2011504627.tif 000002
【特許請求の範囲】
【請求項１】
ビジネス・プロセスに基づいてサービス指向コンポーネントを組み込んだＳＯＡベースのビジネス・システムを確立するための方法であって、
前記ビジネス・プロセスに関連するビジネス・プロセス・モデルを用意するステップと、
前記ビジネス・プロセス・モデルから、第１のサービスとして公開するために、少なくとも１つの要素の第１の組を選択するステップと、
前記ビジネス・プロセス・モデルから、第２のサービスとして公開するために、少なくとも１つの要素の第２の組を選択するステップと、
自動化手段を用いて、前記第１および第２のサービスを実行するための少なくともスケルトン・コードを発生させるステップと、
自動化手段を用いて、前記第１および第２のサービス間にインタフェースを確立するためのコードを発生させるステップと、
を含む、方法。
【請求項２】
前記第１および第２のサービス間のプログラム・フローを選択するステップと、
自動化手段を用いて、前記第１および第２のサービス間に前記選択したプログラム・フローを確立するためのコードを発生させるステップと、
を更に含む、請求項１に記載のＳＯＡベースのビジネス・システムを確立するための方法。
【請求項３】
前記第１および第２のサービスの各々が実装されるソフトウェア言語を選択するステップであって、前記選択したソフトウェア言語において前記少なくともスケルトン・コードを発生させる前記ステップを更に含む、請求項１に記載のＳＯＡベースのビジネス・システムを確立するための方法。
【請求項４】
前記第１および第２のサービスを実行するために少なくとも部分的に手作業でコードを発生させるステップを更に含む、請求項１に記載のＳＯＡベースのビジネス・システムを確立するための方法。
【請求項５】
ビジネス・プロセスに基づいてサービス指向コンポーネントを組み込んだＳＯＡベースのビジネス・システムを確立するための方法であって、
前記ビジネス・プロセスに関連するビジネス・プロセス・モデルを用意するステップと、
前記ビジネス・プロセス・モデルを表示するように構成されると共に、前記ビジネス・プロセス・モデルからの要素をグループ化するためのグラフィックによる制御をユーザに与えるように構成されたグラフィカル・ユーザ・インタフェースを用意するステップと、
前記グラフィカル・ユーザ・インタフェースを用いて、サービスとして公開するために、前記ビジネス・プロセス・モデルからの要素をグループ化するステップと、
自動化手段を用いて、前記サービスを実行するための少なくともスケルトン・コードを発生させるステップと、
を含む、方法。
【請求項６】
前記サービスが第１のサービスであり、前記方法が、
前記グラフィカル・ユーザ・インタフェースを用いて、第２のサービスとして公開するために、前記ビジネス・プロセス・モデルからの要素をグループ化するステップと、
自動化手段を用いて、前記第１および第２のサービス間にインタフェースを確立するためのコードを発生させるステップと、
を更に含む、請求項５に記載のＳＯＡベースのビジネス・システムを確立するための方法。
【請求項７】
前記サービスが第１のサービスであり、前記方法が、
前記グラフィカル・ユーザ・インタフェースを用いて、第２のサービスとして公開するために、前記ビジネス・プロセス・モデルからの要素をグループ化するステップと、
前記グラフィカル・ユーザ・インタフェースを用いて、前記第１および第２のサービス間のプログラム・フローを選択するステップと、
自動化手段を用いて、前記第１および第２のサービス間に前記選択したプログラム・フローを確立するためのコードを発生させるステップと、
を更に含む、請求項５に記載のＳＯＡベースのビジネス・システムを確立するための方法。
【請求項８】
前記グラフィカル・ユーザ・インタフェースを用いて、前記サービスが実装されるソフトウェア言語を選択するステップであって、前記選択したソフトウェア言語において前記少なくともスケルトン・コードを発生させる前記ステップを更に含む、請求項５に記載のＳＯＡベースのビジネス・システムを確立するための方法。
【請求項９】
ビジネス・プロセス・モデルに基づいて、ならびに、第１および第２のサービスとして公開するためにそれぞれ選択した第１の組のビジネス・プロセス・モデル要素および第２の組のビジネス・プロセス・モデル要素に基づいて、サービス指向コンポーネントを組み込んだＳＯＡベースのビジネス・システムを確立するためのデータ処理システムであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたバスと、
前記バスに結合された少なくとも１つのコンピュータ使用可能媒体であって、前記少なくとも１つのコンピュータ使用可能媒体が１組の命令を含み、前記少なくとも１つのプロセッサが、前記データ処理システムに、
前記第１および第２のサービスを実行するための少なくともスケルトン・コードの発生と、
前記第１および第２のサービス間にインタフェースを確立するためのコードの発生と、
を実行させることによって、前記１組の命令を実行するように適合されている、前記少なくとも１つのコンピュータ使用可能媒体と、
を含む、データ処理システム。
【請求項１０】
前記少なくとも１つのプロセッサが、前記データ処理システムに、
前記第１および第２のサービス間のプログラム・フローの選択に関するユーザからの入力の受信と、
前記第１および第２のサービス間に前記選択したプログラム・フローを確立するためのコードの発生と、
を実行させることによって、前記１組の命令を実行するように更に適合されている、請求項９に記載のデータ処理システム。
【請求項１１】
前記少なくとも１つのプロセッサが、前記データ処理システムに、
前記第１および第２のサービスの各々が実装されるソフトウェア言語の選択に関連するユーザからの入力を受信させ、前記選択したソフトウェア言語において前記少なくともスケルトン・コードを発生させることによって、前記１組の命令を実行するように更に適合されている、請求項９に記載のデータ処理システム。
【請求項１２】
ビジネス・プロセスに基づいて、サービス指向コンポーネントを組み込んだＳＯＡベースのビジネス・システムを確立するためのデータ処理システムであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたバスと、
前記バスに結合された少なくとも１つのコンピュータ使用可能媒体であって、前記少なくとも１つのコンピュータ使用可能媒体が１組の命令を含み、前記少なくとも１つのプロセッサが、前記データ処理システムに、
前記ビジネス・プロセスに関連するビジネス・プロセス・モデルの用意と、
前記ビジネス・プロセス・モデルを表示するように構成されると共に、前記ビジネス・プロセス・モデルからの要素をグループ化するためのグラフィックによる制御をユーザに与えるように構成されたグラフィカル・ユーザ・インタフェースの用意と、
前記グラフィカル・ユーザ・インタフェースを用いた、サービスとして公開するための、前記ビジネス・プロセス・モデルからの要素をグループ化することに関連するユーザからの入力の受信と、
前記サービスを実行するための少なくともスケルトン・コードの発生と、
を実行させることによって、前記１組の命令を実行するように適合されている、前記少なくとも１つのコンピュータ使用可能媒体と、
を含む、データ処理システム。
【請求項１３】
前記サービスが第１のサービスであり、前記少なくとも１つのプロセッサが、前記データ処理システムに、
前記グラフィカル・ユーザ・インタフェースを用いた、第２のサービスとして公開するための、前記ビジネス・プロセス・モデルからの要素をグループ化することに関連するユーザからの入力の受信と、
前記第１および第２のサービス間にインタフェースを確立するためのコードの発生と、
を実行させることによって、前記１組の命令を実行するように更に適合されている、請求項１２に記載のデータ処理システム。
【請求項１４】
前記サービスが第１のサービスであり、前記少なくとも１つのプロセッサが、前記データ処理システムに、
前記グラフィカル・ユーザ・インタフェースを用いた、第２のサービスとして公開するための、前記ビジネス・プロセス・モデルからの要素をグループ化することに関連するユーザからの入力の受信と、
前記グラフィカル・ユーザ・インタフェースを用いた、前記第１および第２のサービス間のプログラム・フローの選択に関するユーザからの入力の受信と、
前記第１および第２のサービス間に前記選択したプログラム・フローを確立するためのコードの発生と、
を実行させることによって、前記１組の命令を実行するように更に適合されている、請求項１２に記載のデータ処理システム。
【請求項１５】
前記少なくとも１つのプロセッサが、前記データ処理システムに、前記グラフィカル・ユーザ・インタフェースを用いて、前記サービスが実装されるソフトウェア言語の選択に関連するユーザからの入力を受信させ、前記選択したソフトウェア言語において前記少なくともスケルトン・コードを発生させることによって、前記１組の命令を実行するように更に適合されている、請求項１２に記載のデータ処理システム。
【請求項１６】
ビジネス・プロセス・モデルに基づいて、ならびに、第１および第２のサービスとして公開するためにそれぞれ選択した第１の組のビジネス・プロセス・モデル要素および第２の組のビジネス・プロセス・モデル要素に基づいて、サービス指向コンポーネントを組み込んだＳＯＡベースのビジネス・システムを確立するためのコンピュータ使用可能プログラム・コードを含む少なくとも１つのコンピュータ使用可能媒体を含むコンピュータ・プログラムであって、
前記第１および第２のサービスを実行するための少なくともスケルトン・コードを発生させるためのコンピュータ使用可能プログラム・コードと、
前記第１および第２のサービス間にインタフェースを確立するためのコードを発生させるためのコンピュータ使用可能プログラム・コードと、
を更に含む、コンピュータ・プログラム。
【請求項１７】
前記第１および第２のサービス間のプログラム・フローの選択に関するユーザからの入力を受信するためのコンピュータ使用可能プログラム・コードと、
前記第１および第２のサービス間に前記選択したプログラム・フローを確立するためのコードを発生させるためのコンピュータ使用可能プログラム・コードと、
を更に含む、請求項１６に記載のコンピュータ・プログラム。
【請求項１８】
前記第１および第２のサービスの各々が実装されるソフトウェア言語の選択に関連するユーザからの入力を受信し、前記選択したソフトウェア言語において前記少なくともスケルトン・コードを発生させるためのコンピュータ使用可能プログラム・コードを更に含む、請求項１６に記載のコンピュータ・プログラム。
【請求項１９】
ビジネス・プロセスに基づいて、サービス指向コンポーネントを組み込んだＳＯＡベースのビジネス・システムを確立するためのコンピュータ使用可能プログラム・コードを含む少なくとも１つのコンピュータ使用可能媒体を含むコンピュータ・プログラムであって、
前記ビジネス・プロセスに関連するビジネス・プロセス・モデルを用意するためのコンピュータ使用可能プログラム・コードと、
前記ビジネス・プロセス・モデルを表示するように構成されると共に、前記ビジネス・プロセス・モデルからの要素をグループ化するためのグラフィックによる制御をユーザに与えるように構成されたグラフィカル・ユーザ・インタフェースを用意するためのコンピュータ使用可能プログラム・コードと、
前記グラフィカル・ユーザ・インタフェースを用いて、サービスとして公開するために、前記ビジネス・プロセス・モデルからの要素をグループ化することに関連するユーザからの入力を受信するためのコンピュータ使用可能プログラム・コードと、
前記サービスを実行するための少なくともスケルトン・コードを発生させるためのコンピュータ使用可能プログラム・コードと、
を含む、コンピュータ・プログラム。
【請求項２０】
前記サービスが第１のサービスであり、前記コンピュータ・プログラムが、
前記グラフィカル・ユーザ・インタフェースを用いて、第２のサービスとして公開するために、前記ビジネス・プロセス・モデルからの要素をグループ化することに関連するユーザからの入力を受信するためのコンピュータ使用可能プログラム・コードと、
前記第１および第２のサービス間にインタフェースを確立するためのコードを発生させるためのコンピュータ使用可能プログラム・コードと、
を更に含む、請求項１９に記載のコンピュータ・プログラム。
【請求項２１】
前記サービスが第１のサービスであり、前記コンピュータ・プログラムが、
前記グラフィカル・ユーザ・インタフェースを用いて、第２のサービスとして公開するために、前記ビジネス・プロセス・モデルからの要素をグループ化することに関連するユーザからの入力を受信するためのコンピュータ使用可能プログラム・コードと、
前記グラフィカル・ユーザ・インタフェースを用いて、前記第１および第２のサービス間のプログラム・フローの選択に関するユーザからの入力を受信するためのコンピュータ使用可能プログラム・コードと、
前記第１および第２のサービス間に前記選択したプログラム・フローを確立するためのコードを発生させるためのコンピュータ使用可能プログラム・コードと、
を更に含む、請求項１９に記載のコンピュータ・プログラム。
【請求項２２】
前記グラフィカル・ユーザ・インタフェースを用いて、前記サービスが実装されるソフトウェア言語の選択に関連するユーザからの入力を受信し、前記選択したソフトウェア言語において前記少なくともスケルトン・コードを発生させるためコンピュータ使用可能プログラム・コードを更に含む、請求項１９に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビジネス・エンティティをサービス指向アーキテクチャに移動させる分野に関し、更に具体的には、ビジネス・プロセスに基づいて再使用可能サービスを組み込んだシステムを確立する方法のためのシステムに関する。
【背景技術】
【０００２】
ビジネス・エンティティをサービス指向アーキテクチャに移動させることには、いくつかのステップが伴う。１つのステップは、ビジネス・プロセスをモデリングすることであり、これは、ビジネス・プロセスを１組のプロセス要素に分解することを含む。別のステップは、作成されるビジネス・プロセス・モデルに基づいてサービス指向コンポーネントを組み込んだシステムを確立することである。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
サービス指向コンポーネントを組み込んだシステムの確立は、主として手作業によるプロセスであり、特にこのプロセスが多数の人々の間で分割される場合には、一貫性のない実行が行われる可能性が高くなる。
【０００４】
このプロセスの効率を向上させることは有利であろう。
【課題を解決するための手段】
【０００５】
１つの態様において、本発明は、ビジネス・プロセスに基づいてサービス指向コンポーネントを組み込んだＳＯＡベースのビジネス・システムを確立するための方法を対象とする。この方法は、
ビジネス・プロセスに関連するビジネス・プロセス・モデルを用意するステップと、
ビジネス・プロセス・モデルから、第１のサービスとして公開するために、少なくとも１つの要素の第１の組を選択するステップと、
ビジネス・プロセス・モデルから、第２のサービスとして公開するために、少なくとも１つの要素の第２の組を選択するステップと、
自動化手段を用いて、第１および第２のサービスを実行するための少なくともスケルトン・コードを発生させるステップと、
自動化手段を用いて、第１および第２のサービス間にインタフェースを確立するためのコードを発生させるステップと、
を含む。
【０００６】
別の態様において、本発明は、ビジネス・プロセス・モデルに基づいて、ならびに、第１および第２のサービスとして公開するためにそれぞれ選択した第１の組のビジネス・プロセス・モデル要素および第２の組のビジネス・プロセス・モデル要素に基づいて、サービス指向コンポーネントを組み込んだＳＯＡベースのビジネス・システムを確立するためのデータ処理システムを対象とする。このシステムは、
少なくとも１つのプロセッサと、
少なくとも１つのプロセッサに結合されたバスと、
バスに結合された少なくとも１つのコンピュータ使用可能媒体であって、少なくとも１つのコンピュータ使用可能媒体が１組の命令を含み、少なくとも１つのプロセッサが、データ処理システムに、
第１および第２のサービスを実行するための少なくともスケルトン・コードの発生と、
第１および第２のサービス間にインタフェースを確立するためのコードの発生と、
を実行させることによって、１組の命令を実行するように適合されている、少なくとも１つのコンピュータ使用可能媒体と、
を含む。
【０００７】
別の態様において、本発明は、ビジネス・プロセス・モデルに基づいて、ならびに、第１および第２のサービスとして公開するためにそれぞれ選択した第１の組のビジネス・プロセス・モデル要素および第２の組のビジネス・プロセス・モデル要素に基づいて、サービス指向コンポーネントを組み込んだＳＯＡベースのビジネス・システムを確立するためのコンピュータ使用可能プログラム・コードを含む少なくとも１つのコンピュータ使用可能媒体を含むコンピュータ・プログラムを対象とする。このコンピュータ・プログラムは、
第１および第２のサービスを実行するための少なくともスケルトン・コードを発生させるためのコンピュータ使用可能プログラム・コードと、
第１および第２のサービス間にインタフェースを確立するためのコードを発生させるためのコンピュータ使用可能プログラム・コードと、
を更に含む。
【０００８】
別の態様において、本発明は、ビジネス・プロセスに基づいて、サービス指向コンポーネントを組み込んだＳＯＡベースのビジネス・システムを確立するための方法を対象とする。この方法は、
ビジネス・プロセスに関連するビジネス・プロセス・モデルを用意するステップと、
ビジネス・プロセス・モデルを表示するように構成されると共に、ビジネス・プロセス・モデルからの要素をグループ化するためのグラフィックによる制御をユーザに与えるように構成されたグラフィカル・ユーザ・インタフェースを用意するステップと、
グラフィカル・ユーザ・インタフェースを用いて、サービスとして公開するために、ビジネス・プロセス・モデルからの要素をグループ化するステップと、
自動化手段を用いて、サービスを実行するための少なくともスケルトン・コードを発生させるステップと、
を含む。
【０００９】
別の態様において、本発明は、ビジネス・プロセスに基づいて、サービス指向コンポーネントを組み込んだＳＯＡベースのビジネス・システムを確立するためのデータ処理システムを対象とする。このデータ処理システムは、
少なくとも１つのプロセッサと、
少なくとも１つのプロセッサに結合されたバスと、
バスに結合された少なくとも１つのコンピュータ使用可能媒体であって、少なくとも１つのコンピュータ使用可能媒体が１組の命令を含み、少なくとも１つのプロセッサが、データ処理システムに、
ビジネス・プロセスに関連するビジネス・プロセス・モデルの用意と、
ビジネス・プロセス・モデルを表示するように構成されると共に、ビジネス・プロセス・モデルからの要素をグループ化するためのグラフィックによる制御をユーザに与えるように構成されたグラフィカル・ユーザ・インタフェースの用意と、
グラフィカル・ユーザ・インタフェースを用いた、サービスとして公開するための、ビジネス・プロセス・モデルからの要素をグループ化することに関連するユーザからの入力の受信と、
サービスを実行するための少なくともスケルトン・コードの発生と、
を実行させることによって、１組の命令を実行するように適合されている、少なくとも１つのコンピュータ使用可能媒体と、
を含む。
【００１０】
別の態様において、本発明は、ビジネス・プロセスに基づいて、サービス指向コンポーネントを組み込んだＳＯＡベースのビジネス・システムを確立するためのコンピュータ使用可能プログラム・コードを含む少なくとも１つのコンピュータ使用可能媒体を含むコンピュータ・プログラムを対象とする。このコンピュータ・プログラムは、
ビジネス・プロセスに関連するビジネス・プロセス・モデルを用意するためのコンピュータ使用可能プログラム・コードと、
ビジネス・プロセス・モデルを表示するように構成されると共に、ビジネス・プロセス・モデルからの要素をグループ化するためのグラフィックによる制御をユーザに与えるように構成されたグラフィカル・ユーザ・インタフェースを用意するためのコンピュータ使用可能プログラム・コードと、
グラフィカル・ユーザ・インタフェースを用いて、サービスとして公開するために、ビジネス・プロセス・モデルからの要素をグループ化することに関連するユーザからの入力を受信するためのコンピュータ使用可能プログラム・コードと、
サービスを実行するための少なくともスケルトン・コードを発生させるためのコンピュータ使用可能プログラム・コードと、
を含む。
【００１１】
本発明をよりいっそう理解するために、更に、本発明をどのように実施可能であるかをいっそう明らかに示すために、一例として、添付図面を参照する。
【図面の簡単な説明】
【００１２】
【図１】本発明の態様を実施可能であるデータ処理システムの図による表現である。
【図２】本発明の態様を実施可能であるデータ処理システムのブロック図である。
【図３】本発明の第１の態様に従った、ビジネス・プロセス・モデルに基づいてサービス指向アーキテクチャ・ベースのビジネス・システムを作成するためのプログラム・モジュールおよび方法ステップを示す図である。
【図４】ビジネス・プロセスのビジネス・プロセス・モデルである。
【図５】本発明の別の態様に従って、サービス・モデリング・システムを用いて、図４に示したビジネス・プロセス・モデルからサービス・モデルを作成することを示す図である。
【図６】図４に示したビジネス・プロセス・モデルに関連するサービス指向アーキテクチャ・ベースのビジネス・システムの図である。
【図７】別のビジネス・プロセスのビジネス・プロセス・モデルである。
【図８】図７に示したビジネス・プロセス・モデルのアセンブリ・ビューである。
【図９】図８に示したサービス・モジュールに関連するJava（登録商標）クラスのためのスケルトン・コードを示す。
【図１０】図８に示したサービス・モジュールに関連する状態機械のためのスケルトン・コードを示す。
【図１１】図８に示したビジネス・プロセス・モデルのためのプログラム・フローの図である。
【図１２】図３に示したＳＯＡコード作成システムの動作の図である。
【図１３】図１２に動作を示したＳＯＡコード作成システムによって適用される変換ルールのためのソースおよびターゲットの例である。
【図１４】図１３に識別した例示的なルールの階層ビューを示す。
【発明を実施するための形態】
【００１３】
図１は、本発明の態様を実施可能であるデータ処理システムの図による表現である。図示されているコンピュータ１００は、システム・ユニット１０２、ビデオ・ディスプレイ端末１０４、キーボード１０６、フレキシブル・ディスクおよび他のタイプの永久および着脱可能記憶媒体を含むことができる記憶デバイス１０８、ならびにマウス１１０を含む。例えば、ジョイスティック、タッチパッド、タッチ・スクリーン、トラックボール、マイクロフォン等の追加の入力デバイスを、パーソナル・コンピュータ１００に含ませることも可能である。
【００１４】
コンピュータ１００は、ニューヨーク州アーモンクに位置するインターナショナル・ビジネス・マシーンズ社の製品であるIBM(R) eServer(商標)コンピュータ、またはIntelliStation(R)コンピュータ等、いずれかの適切なコンピュータを用いて実施すれば良い。図示した表現ではパーソナル・コンピュータを示すが、本発明の例示的な態様は、ラップトップ・コンピュータ、パームトップ・コンピュータ、ハンドヘルド・コンピュータ、ネットワーク・コンピュータ、サーバ、ワークステーション、携帯電話および同様の無線デバイス、パーソナル・デジタル・アシスタント、および他のソフトウェア・プログラムをインストールすることができる電子デバイス等、他のタイプのデータ処理システムにおいて実施することも可能である。また、コンピュータ１００は、好ましくは、コンピュータ１００内で動作するコンピュータ読み取り可能媒体に存在するシステム・ソフトウェアによって実施することができるグラフィカル・ユーザ・インタフェース（ＧＵＩ）を含む。
【００１５】
ここで図２を参照すると、本発明の態様を実施可能なデータ処理システムのブロック図が示されている。データ処理システム２００は、図１のパーソナル・コンピュータ１００等のコンピュータの一例であり、ここに、例示的な態様のプロセスを実施するコードまたは命令を配置することができる。図示した例において、データ処理システム２００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＭＣＨ）２０２ならびにサウス・ブリッジおよび入出力（Ｉ／Ｏ）コントローラ・ハブ（ＩＣＨ）２０４を含むハブ・アーキテクチャを採用する。プロセッサ２０６、メイン・メモリ２０８、およびグラフィック・プロセッサ２１０は、ノース・ブリッジおよびメモリ・コントローラ・ハブ２０２に接続されている。グラフィック・プロセッサ２１０は、例えばアクセレレーテッド・グラフィックス・ポート（ＡＧＰ）を介してＭＣＨ２０２に接続することも可能である。
【００１６】
図示した例において、ローカル・エリア・ネットワーク（ＬＡＮ）・アダプタ２１２は、サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４ならびにオーディオ・アダプタ２１６、キーボードおよびマウス・アダプタ２２０、モデム２２２、読み出し専用メモリ（ＲＯＭ）２２４、ユニバーサル・シリアル・バス（ＵＳＢ）・ポートおよび他の通信ポート２３２に接続する。ＰＣＩ／ＰＣＩｅデバイス２３４は、バス２３８を介してサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に接続する。ハード・ディスク・ドライブ（ＨＤＤ）２２６およびＣＤ−ＲＯＭドライブ２３０は、バス２４０を介してサウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に接続する。ＰＣＩ／ＰＣＩｅデバイスは、例えば、ノートブック・コンピュータのためのイーサネット（登録商標）・アダプタ、アドイン・カード、およびＰＣカードを含むことができる。ＰＣＩはカード・バス・コントローラを用いるが、ＰＣＩｅはこれを用いない。ＲＯＭ２２４は、例えば、フラッシュ・バイナリ入出力システム（ＢＩＯＳ）とすれば良い。ハード・ディスク・ドライブ２２６およびＣＤ−ＲＯＭドライブ２３０は、例えば、ＩＤＥ（integrated drive electronics）またはＳＡＴＡ（serial advanced technology attachment）インタフェースを用いることができる。サウス・ブリッジおよびＩ／Ｏコントローラ・ハブ２０４に、スーパーＩ／Ｏ（ＳＩＯ）デバイス２３６を接続することも可能である。
【００１７】
バス・システムは、システム・バス、Ｉ／Ｏバス、およびＰＣＩバス等の１つ以上のバスから構成することができる。むろん、バス・システムは、通信構造またはアーキテクチャに接続された異なるコンポーネントまたはデバイス間のデータ転送を行ういかなるタイプの通信構造またはアーキテクチャを用いて実装することも可能である。通信ユニットは、モデムまたはネットワーク・アダプタ等、データの送受信を行うために用いられる１つ以上のデバイスを含むことができる。
【００１８】
プロセッサ２０６上で、オペレーティング・システムが動作し、図２のデータ処理システム２００内の様々なコンポーネントの制御を調整し実行する。オペレーティング・システムは、Microsoft（登録商標） Windows（登録商標） XP（MicrosoftおよびWindowsは、米国、他の国々、またはそれら双方におけるマイクロソフト社の商標である）等の市販されているオペレーティング・システムとすれば良い。オペレーティング・システムと共に、Java(登録商標)プログラミング・システム等のオブジェクト指向プログラミング・システムが動作することができ、データ処理システム２００上で実行しているJava（登録商標）プログラムまたはアプリケーションからオペレーティング・システムに対するコールを行う。（Javaおよび全てのJavaベースの商標は、米国、他の国々、またはそれら双方におけるサン・マイクロシステムズ社の商標である。）
【００１９】
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムのための命令は、ハード・ディスク・ドライブ２２６等の記憶デバイス上に配置されており、プロセッサ２０６によって実行するためにメイン・メモリ２０８にロードすることができる。本発明の態様は、例えばメイン・メモリ２０８、読み出し専用メモリ２２４等のメモリ、または１つ以上の周辺デバイスに配置することができるコンピュータ実施命令を用いて、プロセッサ２０６によって実行すれば良い。
【００２０】
図１から図２のハードウェアは実施に応じて変動する場合があることは、当業者には認められよう。図１から図２に示したハードウェアに加えて、またはこのハードウェアの代わりに、フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブ等の他の内部ハードウェアまたは周辺デバイスを用いることができる。また、本発明のプロセスは、マルチプロセッサ・データ処理システムに適用することも可能である。
【００２１】
いくつかの例示的な例では、データ処理システム２００はパーソナル・デジタル・アシスタント（ＰＤＡ）であり、フラッシュ・メモリと共に構成して、オペレーティング・システム・ファイルまたはユーザが発生したデータあるいはその両方を記憶するための不揮発性メモリを提供することも可能である。メモリは、例えばメイン・メモリ２０８、または、ノース・ブリッジおよびメモリ・コントローラ・ハブ２０２において見出されるもののようなキャッシュとすれば良い。処理ユニットは、１つ以上のプロセッサを含むことができる。図１から図２に示した例および上述した例は、アーキテクチャ上の制限を示すことを意図していない。例えば、データ処理システム２００は、ＰＤＡの形態を取ることに加えて、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話デバイスとすることも可能である。
【００２２】
ここで図３を参照すると、ビジネス・プロセスに基づいてサービス指向アーキテクチャを組み込んだサービス指向アーキテクチャ・ベース・ビジネス・システム３０２（図６）を確立するための方法３００を表すフロー図が示されている。「サービス指向アーキテクチャ」という言葉は、本開示において、ＳＯＡと称する場合もある。
【００２３】
方法３００は、ステップ３０４において、ビジネス・プロセス・モデルを提供することを含む。図４において、ステップ３０６に、例示的なビジネス・プロセス・モデルを示す。ビジネス・プロセス・モデル３０６は、インターナショナル・ビジネス・マシーンズ社のWebSphere Business Modeler(商標)等のいずれかの適切な手段を用いて、または何らかの他の適切なビジネス・プロセス・モデリング・パッケージによって、作成することができる。ビジネス・プロセス・モデル３０６は、第１のユーザ３０８（図３）によって作成することができる。第１のユーザ３０８は、例えば、ビジネス・プロセスを専門とするビジネス分析家とすることができ、ソフトウェアを専門とするソフトウェア・アーキテクト（３１０に示す）とは異なる。
【００２４】
ビジネス・プロセス・モデル３０６（図４）は、アトミック（atomic）ビジネス・プロセス・ステップ３１２から成る。ステップ３１２は、これ以上小さいステップの組に縮小することができないか、またはユーザの目的のためにこれ以上小さいステップに縮小する必要がないビジネス・プロセスにおけるステップを現す。
【００２５】
サービス・モデリング・システム３１３において、ユーザ・インタフェース・ウィザードを用いて、ユーザ３０８（図３）は、アトミック・ビジネス・プロセス・ステップ３１２の１つ以上のプロセス・ステップ・グループ化３１４（図５）を規定する。ユーザ規定のプロセス・ステップ・グループ化３１４は、ユーザ３０８がＳＯＡベースのビジネス・システム３０２においてサービスとして公開することを望む共通のアクティビティへと導かれるプロセス・ステップ３１２のグループ化を表す。
【００２６】
図７に、かかるグループ化の一例を示す。図７は、購入注文処理プロセスのための例示的なビジネス・プロセス・モデル３１６を示す。ビジネス・プロセス・モデル３１６において、ユーザ規定のグループ化は全体として３１８に示され、これは、３１８ａに示すカスタマおよび注文確認グループ化、３１８ｂに示す販売ヘッダ・データ・エントリ・グループ化、３１８ｃに示す販売アイテム・データ・エントリ・グループ化、および３１８ｄに示す購入注文チェックアウト・グループ化を含む。
【００２７】
図５を参照すると、ユーザ３０８は、サービス・モデル３２３の作成の一部として、グループ化３１４を、サービス・モデリング・システム３１３のサービス・モデル・レイアウト領域３２０に移動させて、３２２に示すサービス・モジュールとする。サービス・モジュール３２２は、比較的複雑なサービスを提供する。サービス・モデル・レイアウト領域３２０において、サービス・モジュール３２２は、更にユーザ３０８（図３）によって規定される。例えば、ユーザ３０８（図３）は、どのようにサービス・モジュール３２２を実装するかを特定することができる。例えば、サービス・モジュール３２２は、Java(登録商標)において実装すれば良い。各サービス・モジュール３２２に、プルダウン・メニュー３２４または何らかの他の適切な手段を提供して、サービス・モジュール３２２について３２５に示す実装タイプをユーザが選択することを可能とする。サービス・モジュール３２２は、単にモジュール３２２と称する場合もある。
【００２８】
グループ化３１４を構成するアトミック・ビジネス・プロセス・ステップ３１２のいくつかは、それら自体、サービス・コンポーネント３２６（これらはコンポーネント３２６と称する場合もある）として、サービス・モデル・レイアウト領域３２０内に移動させることも可能である。これらのコンポーネント３２６は、単純な（すなわち比較的低レベルの）サービスを提供する。
【００２９】
コンポーネント３２６およびモジュール３２２は、ＳＣＡ（サービス・コンポーネント・アーキテクチャ）のオープン・スタンダード（open standard）に準拠する抽象化のレベルで規定することができる。
【００３０】
モジュール３２２と同様に、これらのコンポーネント３２６の各々には、３２８に示す実装タイプが関連付けられている。任意に、コンポーネント３２６の各々が、コンポーネント３２６が属するモジュール３２２についての実装タイプ３２５と同一の実装タイプ３２８を自動的に有することが可能である。あるいは、コンポーネント３２６の各々について、実装タイプ３２８はユーザによって選択可能とすることもできる。
【００３１】
図５に示すように、ユーザ３０８（図３）が、アトミック・ビジネス・プロセス・ステップ３１２を、モジュール３２２の一部ではないコンポーネント３２６として、サービス・モデル・レイアウト領域３２０に移動させることができる。かかるコンポーネント３２６の各々には、ユーザ選択可能な実装タイプ３２８が関連付けられていることは認められよう。
【００３２】
アトミック・ビジネス・プロセス・ステップ３１２およびサービス・コンポーネント３２６またはサービス・モジュール３２２として公開されるアトミック・ビジネス・プロセス・ステップ３１２のグループ化３１４の選択に加えて、ユーザ３０８（図３）は、実行する必要があるいずれかの決定を含む、選択されたサービス要素（すなわちコンポーネント３２６およびモジュール３２２）間で行われるプログラム・フローを選択することができる。例えば、図５に示されたサービス・モデル３２３において、３３２に示すモジュールからのプログラム・フローは、決定ボックス３３４に至る。決定ボックス３３４の結果に基づいて、プログラム・フローは、３３６に示すモジュールまたは３３８に示すコンポーネントのいずれかに至る。
【００３３】
グループ化３１４の選択、モジュール３２２およびコンポーネント３２２の規定、ならびにプログラム・フローの選択を含む、サービス・モデル３２３を完成させるプロセスは、図３に示すステップ３３９に包含される。
【００３４】
いったんユーザ３０８がサービス・モデル３２３を完了すると、サービス・モデル３２３は、図３におけるＳＯＡ変換システム３４０に対する入力として機能する。ＳＯＡコード作成システム３４０は、サービス・モデル３２３を受信し、このサービス・モデル３２３をＳＯＡベースのビジネス・システム３０２のためのコードに変換する。ＳＯＡコード作成システム３４０は２つの要素を含む。すなわち、アーチファクト・マッパ（artifact mapper）３４２およびサービス・アセンブラ３４４である。アーチファクト・マッパ３４２の機能は、ステップ３４５において実行される。アーチファクト・マッパ３４２は、サービス・モデル３２３のアセンブリ・ビューを提供する。その例を図８の３４６に示す。具体的には、図８に示すアセンブリ・ビュー３４６は、図７に示すビジネス・プロセス・モデル３１６に関連する。
【００３５】
アセンブリ・ビュー３４６においては、サービス・モデル３２３を構成するモジュール３２２およびコンポーネント３２６が示され、ユーザ３０８は、コンポーネント３２６およびモジュール３２２について選択された実装タイプ等、これらに関連したいかなる特性に関する情報も取得することができる。このビュー３４６において、コンポーネント３２６とモジュール３２２との間のフローは示されない。任意に、ユーザ３０８は、アセンブリ・ビュー３４６を見る場合に、いずれかのモジュール３２２上でダブル・クリックし、そのモジュール３２２を構成するコンポーネント３２６を見ることができる。
【００３６】
図３を参照すると、アーチファクト・マッパ３４２は、ユーザ３０８（図３）によってサービスとして公開されたコンポーネント３２６（図５）およびモジュール３２２の各々について、ユーザ３０８が選択した実装タイプによって特定されたフォーマットで、スケルトン・コードを用意する。例えば、図８に示すように、カスタマに対するリスクおよび信用分析を実行することに関して、３４８に示すモジュールに関連した実装タイプは、Java（登録商標）による実装である。アーチファクト・マッパ３４２は、図９の３５０に示すように、Java（登録商標）クラスのためのスケルトン・コードを用意することができる。別の例として、図８の３５２に示すコンポーネントでは、アーチファクト・マッパ３４２は、ユーザに従って、図１０の３５４に示すように、状態機械のためのスケルトン・コードを用意することができる。
【００３７】
いっそう明らかにするために、サービス・モデル３２３において、いずれかの適切な数のサービスを公開し提示することができる。例えば、サービス・モデル３２３において、２つ以上のサービスを公開し提示することができる。
【００３８】
図３を参照すると、サービス・アセンブラ３４４の機能は、方法３００のステップ３５５において実行される。図１１を参照すると、サービス・アセンブラ３４４（図３）は、ユーザ３０８による検討のために、ＢＰＥＬ（ビジネス・プロセス編集言語）を用いて、サービス・モデル３２３のプログラム・フロー３５６の一例を示す。サービス・アセンブラ３４４は、どのようにコンポーネント３２６およびモジュール３２２が相互運用するかを設定する。例えば、各コンポーネント３２６またはモジュール３２２について、サービス・アセンブラ３４４は、ユーザ３０８（図３）によって特定されたプログラム・フローに基づいて、他のコンポーネント３２６またはモジュール３２２に必要ないかなる参照も追加することができる。
【００３９】
更に、サービス・アセンブラ３４４は、どのデータを送信するか、および、どの特性がコンポーネント３２６およびモジュール３２２の各々に対してまたはそれらから送信されたデータのためのものなのかを規定するので、コンポーネント３２６またはモジュール３２２がモジュール３２２の他のコンポーネント３２６によって提供されたサービスを消費した場合、送信されたデータと入力データに対する要件との間に整合性がある。
【００４０】
ＳＯＡベースのビジネス・システム３０２において共働するモジュール３２２およびコンポーネント３２６は、相互にデータおよびプログラム・フローを受け渡すが、それらは全て相互に比較的独立して動作するという意味で、モジュール３２２およびコンポーネント３２６のアセンブリが比較的緩いということは理解されよう。それらは、異なるソフトウェア言語で、異なるコンピュータにおいて、異なるオペレーティング・システムを用いて動作することができる。サービス指向アーキテクチャの一般的な概念に従って、これらのモジュール３２２およびコンポーネント３２６のいずれも、例えば、他のモジュール３２２およびコンポーネント３２６のいずれに対しても何ら影響を与えることなく修正を加えることができる。
【００４１】
モジュール３２２自体のアセンブリ、すなわちモジュール３２２内で共に動作するコンポーネント３２６のアセンブリは、ある程度、もっと大きいＳＯＡベースのビジネス・システム３０２におけるモジュール３２２およびコンポーネント３２６のアセンブリとは異なる場合がある。モジュール３２２内のコンポーネント３２６のアセンブリは、比較的強固であることがある。例えば、コンポーネント３２６は、コンポーネント３２６が属するモジュールに属する変数からのデータを直接用いて動作することができる。別の例として、コンポーネント３２６は、全て同一のハードウェア上で動作し同一のソフトウェア言語で記述される必要がある場合がある。更に別の例として、モジュール３２２内のコンポーネント３２６は、それら自体、モジュール３２２の外側からアクセスすることができない。すなわち、モジュール３２２自体のみにアクセス可能である。
【００４２】
図１２は、スケルトン・コードを作成し、そのスケルトン・コードに要素を追加する場合の、ＳＯＡコード作成システム３４０の動作を示す。ＳＯＡコード作成システム３４０は、変換ルールを適用する。このルールは、各コンポーネント３２６（図５）またはモジュール３２２ごとに、どのようにＳＯＡコード作成システム３４０がコードを発生させるかを管理する。図１３に、各ルールのソースおよびターゲットの例を示す。図１４は、図１３において識別した例示的なルールの階層ビューを示す。
【００４３】
図３を参照すると、ＳＯＡコード作成システム３４０がサービス指向コンポーネント３２６およびモジュール３２２の作成を完了した後、ソフトウェア技術者３１０（図３）等の適切なユーザによって、ＳＯＡベースのビジネス・システム３０２（図６）を完了させるために必要ないずれかの追加の実装上の細目またはコーディングを提供することができる。
【００４４】
サービス・モデリング・システム３１３の結果として、ビジネス・プロセスに関して精通しているがソフトウェアまたはコーディングに関しては精通していない場合がある者によって、サービス・モデル３２３が容易に作成される。これに対して、いくつかのビジネスでは、サービス・モデル３２３は、ビジネスに精通したユーザとソフトウェア技術者の双方の間の共同作業によって作成される。このため、サービス・モデリング・システム３１３を用いることで、サービス・モデル３２３を作成するステップにおいてソフトウェア技術者が直接関与する必要性が低くなる。
【００４５】
更に、ＳＯＡコード作成システム３４０の結果、ソフトウェア技術者３１０は、いっそう生産性が高くなる。なぜなら、技術者３１０は、システム３４０によって少なくともある程度用意されるコードを完了させれば良いだけだからである。
【００４６】
更に、ＳＯＡコード作成システム３４０によって記述されるコードは、固定された融通の効かないルールに基づいてではなく、少なくとも部分的に、ビジネス分析家３０４によって入力される基本設定（preferences）に基づいて用意される。
【００４７】
コンポーネント３２６およびモジュール３２２は、ＳＯＡコード作成システム３４０によって適切な位置に記憶することができ、モジュール３２２についてのエントリ・ポイント等、モジュール３２２によって提供される公開サービスを規定する、いずれかの関連データと共に、ビジネス・エンティティのためのＳＯＡレジストリ上に自動的に入力することができる。更にソフトウェア技術者３１０によって要求される何らかのコーディングの後、これらの要素すなわちコンポーネント３２６およびモジュール３２２を、適切な記憶位置に再びセーブすることができる。
【００４８】
あるいは、ＳＯＡレジストリ上にコンポーネント３２６およびモジュール３２２を入力するステップは、ソフトウェア技術者３１０が、コンポーネント３２６およびモジュール３２２に対して必要な更に別のコーディングを完了させた後に、技術者３１０によって手作業で実行することも可能である。
【００４９】
本発明に記載した方法の１つ以上のステップがソフトウェアを用いて実行される実施形態において、本発明に包含される記述を読めば、ソフトウェアのコーディングは、当業者の知識内である。
【００５０】
本発明は、全体的にソフトウェアによる実施形態、またはハードウェアおよびソフトウェア要素の双方を包含する実施形態という形態を取ることができる。好適な実施形態において、本発明はソフトウェアにおいて実施される。このソフトウェアは、限定ではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。
【００５１】
更に、本発明は、コンピュータまたはいずれかの命令実行システムによってまたはこれと組み合わせて使用するためのプログラム・コードを提供するコンピュータ使用可能またはコンピュータ読み取り可能媒体からアクセス可能なコンピュータ・プログラムの形態を取ることができる。この記述の目的のために、コンピュータ使用可能またはコンピュータ読み取り可能媒体は、命令実行システム、装置、またはデバイスによってまたはこれと組み合わせて使用するためのプログラムを包含し、記憶し、伝達し、伝搬し、または転送することができるいずれかの有形の（tangible）装置とすることができる。
【００５２】
この媒体は、電子、磁気、光、電磁、赤外線、または半導体システム（または装置またはデバイス）、または伝搬媒体とすることができる。コンピュータ読み取り可能媒体の例は、半導体または固体メモリ、磁気テープ、着脱可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、剛性（rigid）磁気ディスク、および光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク読み取り／書き込み（ＣＤ−Ｒ／Ｗ）、およびＤＶＤを含む。
【００５３】
プログラム・コードの記憶または実行あるいはその両方を行うのに適したデータ処理システムは、直接的にまたはシステム・バスを介して間接的にメモリ要素に結合された少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に用いられるローカル・メモリ、大容量記憶装置、および、実行中に大容量記憶装置からコードを検索しなければならない回数を減らすために少なくとも一部のプログラム・コードを一時的に記憶するキャッシュ・メモリを含むことができる。
【００５４】
システムに対して直接的に、またはＩ／Ｏコントローラを介在させて、入出力またはＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティング・デバイス等を含むがこれらには限定されない）を結合することができる。
【００５５】
また、システムにネットワーク・アダプタを結合して、データ処理システムを、構内ネットワークまたは公衆ネットワークを介在させて他のデータ処理システムまたは遠隔プリンタまたは記憶デバイスに結合可能とすることができる。ネットワーク・アダプタの現在利用可能なタイプのいくつかの例として、モデム、ケーブル・モデム、およびイーサネット（登録商標）・カードが挙げられる。
【００５６】
本発明の記述は、例示および説明の目的のために与えられており、包括的であることも、開示した形態に本発明を限定することも、意図していない。当業者には、多くの変更および変形が明らかであろう。実施形態は、本発明の原理、実際的な適用を最良に説明するために、更に、想定される具体的な使用に適した様々な変更と共に様々な実施形態について当業者が本発明を理解することができるように、選択され記述されたものである。
【図１】
2011504627.tif 000003
【図２】
2011504627.tif 000004
【図３】
2011504627.tif 000005
【図４】
2011504627.tif 000006
【図５】
2011504627.tif 000007
【図６】
2011504627.tif 000008
【図７】
2011504627.tif 000009
【図８】
2011504627.tif 000010
【図９】
2011504627.tif 000011
【図１０】
2011504627.tif 000012
【図１１】
2011504627.tif 000013
【図１２】
2011504627.tif 000014
【図１３】
2011504627.tif 000015
【図１４】
2011504627.tif 000016
【国際調査報告】
2011504627.tif 000017
2011504627.tif 000018