(57)【要約】【課題】複数のＥＳＢ実行計算機が連携してビジネスプロセスの実行を行う環境において、ビジネスプロセス実行時に行われる非効率なＥＳＢ実行計算機間の連携を削減する。【解決手段】ＥＳＢ実行計算機２０１と通信可能なシステム管理用計算機４００が、ビジネスプロセスを構成するサービスを指定するサービス名と、サービスが配備されたＥＳＢ実行計算機２０１〜２０３とを対応させた配備情報を記憶する記憶部を備える。そして、配備情報に基づいて、ＥＳＢ実行計算機２０１と異なるＥＳＢ実行計算機２０２，２０３で実行可能な複数の連続するサービスの組み合わせを抽出して、抽出したサービスの組み合わせをＥＳＢ実行計算機２０２または２０３に配備する新たなビジネスプロセスとして定義し、ＥＳＢ実行計算機２０１に配備するビジネスプロセスを、新たに定義したビジネスプロセスを呼び出すビジネスプロセスとして再構成する処理部を備えることとした。【選択図】図１
2008204430.tif 000002
【特許請求の範囲】
【請求項１】
１または複数の計算機と、ビジネスプロセス処理装置とが通信可能にされたサブシステムにおけるビジネスプロセス処理装置が、他の１または複数のサブシステムにおけるビジネスプロセス処理装置とネットワークを介して連携してビジネスプロセスを処理するビジネスプロセス処理システムに使用され、ビジネスプロセスを構成するサービスを特定可能な情報及び前記サービスが配備されたビジネスプロセス処理装置を対応させた配備情報とビジネスプロセスが定義されたビジネスプロセス定義情報とを記憶する記憶部と、
情報を処理する処理部と
を備えた計算機によるビジネスプロセス再構成方法であって、
前記処理部は、
前記配備情報に基づいて、前記計算機と同一のサブシステムに属するビジネスプロセス処理装置と異なるビジネスプロセス処理装置で実行可能な複数の連続するサービスの組み合わせを前記ビジネスプロセス定義情報から抽出し、
抽出した前記サービスの組み合わせを前記異なるビジネスプロセス処理装置に配備される新たなビジネスプロセスとして定義し、前記ビジネスプロセスを前記新たなビジネスプロセスを呼び出すビジネスプロセスとして再構成を行う
ことを特徴とするビジネスプロセス再構成方法。
【請求項２】
前記記憶部は、
前記サービスに付与された名称を、前記サービスを特定する情報として記憶する
ことを特徴とする請求項１に記載のビジネスプロセス再構成方法。
【請求項３】
前記処理部は、
前記ビジネスプロセスを再構成した後に、
前記新たなビジネスプロセスを、前記計算機と同一のサブシステムに属するビジネスプロセス処理装置を介して、当該新たなビジネスプロセスを実行するビジネスプロセス処理装置に配布する
ことを特徴とする請求項１または請求項２に記載のビジネスプロセス再構成方法。
【請求項４】
前記処理部は、
前記新たなビジネスプロセスを配布した後、当該新たなビジネスプロセスが配布されたビジネスプロセス処理装置に、当該新たなビジネスプロセスを配備する
ことを特徴とする請求項３に記載のビジネスプロセス再構成方法。
【請求項５】
前記処理部は、
前記ビジネスプロセスを再構成した後に、
前記新たなビジネスプロセスを実行するビジネスプロセス処理装置に、前記新たなビジネスプロセスと同一の機能を持つビジネスプロセスが抽出された場合、前記新たなビジネスプロセスの代替として前記抽出されたビジネスプロセスを用いるように、前記ビジネスプロセスの定義を変更する
ことを特徴とする請求項１ないし請求項４のいずれか１項に記載のビジネスプロセス再構成方法。
【請求項６】
前記処理部は、
前記配備情報に基づいて、前記計算機と同一のサブシステムに属するビジネスプロセス処理装置に配備されているサービスを前記ビジネスプロセス定義情報から列挙し、
列挙したサービスとサービスとの間を一つの領域として、前記ビジネスプロセスを領域分割し、
前記領域内において、複数の連続するサービスの組み合わせであり、かつ、当該サービスの組み合わせの中で最初のサービスおよび最後のサービスが同一のビジネスプロセス処理装置で実行可能な前記サービスの組み合わせを前記ビジネスプロセス定義情報から抽出し、
抽出した前記サービスの組み合わせを前記異なるビジネスプロセス処理装置に配備される新たなビジネスプロセスとして定義する
ことを特徴とする請求項１ないし請求項５のいずれか１項に記載のビジネスプロセス再構成方法。
【請求項７】
前記処理部は、
前記ビジネスプロセスが変数の宣言を含む場合、前記新たなビジネスプロセスに前記変数の値を通知する
ことを特徴とする請求項１ないし請求項６のいずれか１項に記載のビジネスプロセス再構成方法。
【請求項８】
前記記憶部は、
再構成前のビジネスプロセスと、再構成後のビジネスプロセスとの関連付け情報をさらに記憶し、
前記処理部は、
前記関連付け情報から、前記再構成前のビジネスプロセスを指定した処理を、前記再構成後のビジネスプロセスを指定した処理に変換する
ことを特徴とする請求項１ないし請求項７のいずれか１項に記載のビジネスプロセス再構成方法。
【請求項９】
前記処理部は、
前記再構成前のビジネスプロセスを指定した処理として、前記ビジネスプロセス処理装置へのビジネスプロセス配備処理、前記ビジネスプロセス処理装置からのビジネスプロセス削除処理、及びビジネスプロセスの定義変更処理のうち、すくなくともひとつの処理を含んで実行する
ことを特徴とする請求項８に記載のビジネスプロセス再構成方法。
【請求項１０】
請求項１ないし請求項９のいずれか１項に記載のビジネスプロセス再構成方法をコンピュータに実行させるためのビジネスプロセス再構成プログラム。
【請求項１１】
１または複数の計算機と、ビジネスプロセス処理装置とが通信可能にされたサブシステムにおけるビジネスプロセス処理装置が、他の１または複数のサブシステムにおけるビジネスプロセス処理装置とネットワークを介して連携してビジネスプロセスを処理するビジネスプロセス処理システムに使用される計算機であって、
ビジネスプロセスを構成するサービスを特定可能な情報及び前記サービスが配備されたビジネスプロセス処理装置を対応させた配備情報とビジネスプロセスが定義されたビジネスプロセス定義情報とを記憶する記憶部と、情報を処理する処理部と
を備え、
前記処理部は、
前記配備情報に基づいて、前記計算機と同一のサブシステムに属するビジネスプロセス処理装置と異なるビジネスプロセス処理装置で実行可能な複数の連続するサービスの組み合わせを前記ビジネスプロセス定義情報から抽出し、
抽出した前記サービスの組み合わせを前記異なるビジネスプロセス処理装置に配備される新たなビジネスプロセスとして定義し、前記ビジネスプロセスを前記新たなビジネスプロセスを呼び出すビジネスプロセスとして再構成を行う
ことを特徴とする計算機。
【請求項１２】
前記記憶部は、
前記サービスに付与された名称を、前記サービスを特定する情報として記憶する
ことを特徴とする請求項１１に記載の計算機。
【請求項１３】
前記処理部は、
前記ビジネスプロセスを再構成した後に、
前記新たなビジネスプロセスを、前記計算機と同一のサブシステムに属するビジネスプロセス処理装置を介して、当該新たなビジネスプロセスを実行するビジネスプロセス処理装置に配布する
ことを特徴とする請求項１１または請求項１２に記載の計算機。
【請求項１４】
前記処理部は、
前記新たなビジネスプロセスを配布した後、当該新たなビジネスプロセスが配布されたビジネスプロセス処理装置に、当該新たなビジネスプロセスを配備する
ことを特徴とする請求項１３に記載の計算機。
【請求項１５】
前記処理部は、
前記ビジネスプロセスを再構成した後に、
前記新たなビジネスプロセスを実行するビジネスプロセス処理装置に、前記新たなビジネスプロセスと同一の機能を持つビジネスプロセスが抽出された場合、前記新たなビジネスプロセスの代替として前記抽出されたビジネスプロセスを用いるように、前記ビジネスプロセスの定義を変更する
ことを特徴とする請求項１１ないし請求項１４のいずれか１項に記載の計算機。
【請求項１６】
前記処理部は、
前記配備情報に基づいて、前記計算機と同一のサブシステムに属するビジネスプロセス処理装置に配備されているサービスを前記ビジネスプロセス定義情報から列挙し、
列挙したサービスとサービスとの間を一つの領域として、前記ビジネスプロセスを領域分割し、
前記領域内において、複数の連続するサービスの組み合わせであり、かつ、当該サービスの組み合わせの中で最初のサービスおよび最後のサービスが同一のビジネスプロセス処理装置で実行可能な前記サービスの組み合わせを前記ビジネスプロセス定義情報から抽出し、
抽出した前記サービスの組み合わせを前記異なるビジネスプロセス処理装置に配備される新たなビジネスプロセスとして定義する
ことを特徴とする請求項１１ないし請求項１５のいずれか１項に記載の計算機。
【請求項１７】
前記処理部は、
前記ビジネスプロセスが変数の宣言を含む場合、前記新たなビジネスプロセスに前記変数の値を通知する
ことを特徴とする請求項１１ないし請求項１６のいずれか１項に記載の計算機。
【請求項１８】
前記記憶部は、
再構成前のビジネスプロセスと、再構成後のビジネスプロセスとの関連付け情報をさらに記憶し、
前記処理部は、
前記関連付け情報から、前記再構成前のビジネスプロセスを指定した処理を、前記再構成後のビジネスプロセスを指定した処理に変換する
ことを特徴とする請求項１１ないし請求項１７のいずれか１項に記載の計算機。
【請求項１９】
前記処理部は、
前記再構成前のビジネスプロセスを指定した処理として、前記ビジネスプロセス処理装置へのビジネスプロセス配備処理、前記ビジネスプロセス処理装置からのビジネスプロセス削除処理、及びビジネスプロセスの定義変更処理のうち、すくなくともひとつの処理を含んで実行する
ことを特徴とする請求項１８に記載の計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビジネスプロセス定義情報と、ビジネスプロセスを構成するサービスの配備先情報とを用いて、ビジネスプロセスを再構成する技術に関する。
【背景技術】
【０００２】
近年、企業の統廃合や市場競争の激化といった企業をとりまくビジネス環境の激しい変化に対し、短期間で柔軟に対応できるシステムが求められており、ＳＯＡ（Service Oriented Architecture）の考え方に基づいたシステムが注目を集めている。ＳＯＡとは、業務上意味のある独立した機能を持つソフトウェアをサービスと呼ぶ単位で構築し、サービスの名前や入出力メッセージの形式を定義したサービスのインタフェース情報を公開することで、その機能を提供することを提案したソフトウェア構築における考え方の一つである。ここでは、ＳＯＡの考え方に基づいて構築されたシステムを、ＳＯＡシステムと呼ぶ。
【０００３】
ＳＯＡシステムでは、可能な限り既存のサービスを再利用し、また必要に応じて新たなサービスを開発し、これらのサービスを組み合わせて新たな機能を提供することで、業務の変化に柔軟に対応することができる。前記のように、複数のサービスを組み合わせて提供する新たなサービスを、ビジネスプロセスと呼ぶ。また、ＳＯＡシステムにおいてサービスを利用する場合、サービスの利用者であるクライアントがサービスを直接呼び出すのではなく、ＥＳＢ（Enterprise Service Bus）などのミドルウェアを仲介としてサービスを利用することで、業務とシステムを独立して管理することができるため、ビジネス環境の変化に柔軟に対応することができる。
【０００４】
ＥＳＢは、ＳＯＡシステムを実現するためのミドルウェアの一つであり、サービスの利用者であるクライアントと、サービスとの仲介機能を持つ。ＥＳＢを用いることで、クライアントとサービスが直接やりとりを行う必要がなくなるため、クライアントとサービスの関係を疎に保つことができる。ＥＳＢは仲介機能の他にも、プロトコル変換やデータ変換機能によりクライアントのアプリケーションとサービスのアプリケーションとの差異を吸収する機能や、サービスの実行履歴を管理する機能を有する。また、ＥＳＢはビジネスプロセス実行機能や、ＥＳＢ同士で連携する機能を有する場合もある。ここでは、ＥＳＢはクライアントとサービスの仲介機能、ビジネスプロセス実行機能、及びＥＳＢ間連携機能を持つミドルウェアであるとする。
【０００５】
ビジネスプロセスは、ＢＰＥＬ（Business Process Execution Language）などのビジネスプロセス定義言語（ビジネスプロセス記述言語）を用いて、複数のサービスを組み合わせて新たな機能を提供するものであり、ビジネスプロセスはそれ自身もサービスとなる。このため、ビジネスプロセスを組み合わせて新たなビジネスプロセスを構成することも可能である。ビジネスプロセスは独立した機能を持つサービスを組み合わせて機能を提供していることから、機能の変更が必要になった際には、サービスの組み合わせを変更するだけで対応することができるため、ビジネスの変化に柔軟に対応することができる。ビジネスプロセスには、サービス呼び出しの他、分岐処理やフォーマット編集処理などのフロー制御を記述することができ、これらビジネスプロセスを構成する要素をアクティビティと呼ぶ。また、ビジネスプロセスにおいて、各アクティビティで使用するメッセージインスタンスを格納するための領域を変数と呼ぶ。変数は、サービス呼び出しの入出力メッセージや、分岐処理の分岐条件などに用いることができる。
【０００６】
ビジネスプロセスの記述方式としては、前記のようにＢＰＥＬなどのビジネスプロセス定義言語（ビジネスプロセス記述言語）が用いられる。ビジネスプロセスやサービスの実装方式としては、各種のコンポーネントモデルなどが用いられる。また、ビジネスプロセスやサービスの実行基盤プログラムとしては、実装されたコンポーネントを実行する各種プログラムが用いられる。ここでは、サービスの実行基盤プログラムをサービス実行基盤プログラムと呼ぶ。
【０００７】
ビジネスプロセスの定義を行うビジネスプロセス開発者は、定義するビジネスプロセスを利用して業務を行うＳＯＡシステムの利用者であり、ＳＯＡシステムの管理者のようにシステム構成についての知識を有していない。このことから、ビジネスプロセス開発者はＳＯＡシステムに配備されたシステムの構成を意識することなく、ビジネスプロセスを定義できる必要がある。また、ビジネスプロセス実行機能には、ビジネスプロセスを構成する個々のアクティビティを実行するために最適なサービスを、システムから選択する機能が求められる。
【０００８】
ビジネスプロセス定義を解析し、ビジネスプロセスを構成する各アクティビティに対して適切なサービスを割り当て、ビジネスプロセスを実行可能にするための技術として、特許文献１がある。この技術では、予め登録されたサービスの中から、各アクティビティを実行するための最適なサービスを選択し、割り当てを行うことでビジネスプロセスを実行可能にするための方法を開示している。
【特許文献１】ＵＳ２００５０１４９３６７Ａ１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
今後ＳＯＡが発展していくと、ＳＯＡシステム同士が連携してサービスを提供するようになる。複数のＳＯＡシステムが連携してサービスを提供することで、クライアントが利用可能なサービスの範囲を拡大することができる。ここで、ＳＯＡシステム同士が連携を行う際の連携方法は、双方のＥＳＢが連携することで実現される。これは、ＥＳＢがサービスを利用するための仲介機能を持つことや、サービスの呼び出しをＥＳＢからのみ可能にすることで、サービスのセキュリティやメンテナンス性、及び実行履歴管理の容易性を向上させることができるためである。
【００１０】
しかしながら、複数のＥＳＢが連携してサービスを提供する環境においては、前記特許文献１により開示されている技術では、非効率なＥＳＢ間連携が行われる場合がある。具体的には、ビジネスプロセスが配備されたＥＳＢと異なるＥＳＢに配備されたサービスが連続して呼び出される場合、サービス呼び出しごとにＥＳＢ間連携を行うため、連続するサービスの個数と同数の連携が必要となってしまう。しかし、一回のＥＳＢ間連携で複数のサービスを実行することができれば、ＥＳＢ間の連携の回数を削減することができ、ビジネスプロセスの実行性能を向上させることができる。
【００１１】
そこで本発明は、複数のＥＳＢが連携してサービスを提供するシステムにおいて、ビジネスプロセスの実行時に行われる非効率なＥＳＢ間連携を削減する必要があるという課題を解決することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は前記課題を解決するために、１または複数の計算機とビジネスプロセス処理装置とが通信可能にされたサブシステムにおけるビジネスプロセス処理装置が、他の１または複数のサブシステムにおけるビジネスプロセス処理装置とネットワークを介して連携してビジネスプロセスを処理するビジネスプロセス処理システムに使用される計算機であるとした。そして、この計算機が、ビジネスプロセスを構成するサービスを特定可能な情報及びサービスが配備されたビジネスプロセス処理装置を対応させた配備情報とビジネスプロセスが定義されたビジネスプロセス定義情報とを記憶する記憶部と、情報を処理する処理部とを備えることとした。処理部は、配備情報に基づいて、計算機と同一のサブシステムに属するビジネスプロセス処理装置と異なるビジネスプロセス処理装置で実行可能な複数の連続するサービスの組み合わせをビジネスプロセス定義情報から抽出し、抽出したサービスの組み合わせを異なるビジネスプロセス処理装置に配備される新たなビジネスプロセスとして定義し、ビジネスプロセスを新たなビジネスプロセスを呼び出すビジネスプロセスとして再構成を行うこととした。
【発明の効果】
【００１３】
本発明によれば、複数のＥＳＢが連携してサービスを提供するシステムにおいて、ビジネスプロセスの実行時に行われる非効率なＥＳＢ間連携を削減する必要があるという課題を解決することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について、図面を用いて詳細に説明する。まず、第一の実施形態について説明する。
【００１５】
図１は、本実施形態におけるシステム構成の一例を示している。図１は、本実施形態におけるシステム全体の概念図であるため、各計算機内部の詳細は後記する。
【００１６】
図１に示すように、本実施形態では、ＳＯＡシステムＡ（１０１）、ＳＯＡシステムＢ（１０２）、ＳＯＡシステムＣ（１０３）の３つのＳＯＡシステム１０１〜１０３が、それぞれのＳＯＡシステム１０１〜１０３に属するＥＳＢミドルウェアを実行する計算機であるＥＳＢ実行計算機（ビジネスプロセス処理装置）２０１〜２０３同士を、ネットワーク１０００を介して相互に通信可能にすることによって、相互に連携してサービスを提供するシステムの例を示しているが、ＳＯＡシステムの数は３つに限定されるものではなく、複数であればよい。また、ネットワーク１０００は、ＬＡＮ（Local Area Network）やイントラネットなどのローカルネットワークであってもよいし、インターネットなどのグローバルネットワークであってもよい。また、ＥＳＢ実行計算機２０１〜２０３が、ネットワーク１０００を介して連携してビジネスプロセスを処理するシステムを、ビジネスプロセス処理システムと呼ぶことにする。さらに、本実施形態では、すくなくとも１台のシステム管理用計算機（単に「計算機」ともいう）４００と、ＥＳＢ実行計算機２０１（２０１〜２０３）とが通信可能にされたサブシステムの一例としてＳＯＡシステムを使用することにする。
【００１７】
また、本実施形態では、各ＳＯＡシステム１０１〜１０３を、ＥＳＢを実行するためのＥＳＢ実行計算機２０１〜２０３、ビジネスプロセスの開発を行うためのビジネスプロセス開発用計算機３００、ＳＯＡシステム１０１〜１０３の管理を行うためのシステム管理用計算機（単に「計算機」ともいう）４００、ＥＳＢ実行計算機２０１〜２０３にサービスの実行要求を送信するクライアント用計算機７０１〜７０３、サービスを実行するためのサービス実行計算機５０１〜５０６、及びこれらの計算機を相互に通信可能にするネットワーク１００１から構成している。ここで、ネットワーク１００１は、ローカルネットワークでもよいし、グローバルネットワークでもよい。各ＳＯＡシステム１０１〜１０３において、ビジネスプロセス開発用計算機３００、システム管理用計算機４００、クライアント用計算機７０１（７０１〜７０３）、及びサービス実行計算機５０１（５０１〜５０６）は複数存在してもよい。
【００１８】
また、図１に示すように、本実施形態では、ＳＯＡシステムＡ（１０１）において、ＥＳＢ実行計算機２０１、ビジネスプロセス開発用計算機３００、システム管理用計算機４００、クライアント用計算機７０１、サービス実行計算機５０１，５０２がネットワーク１００１を介して相互に通信可能にされており、サービス実行計算機５０１上のサービス実行基盤５１０には、サービスＡ１（６０１）が配備され、サービス実行計算機５０２上のサービス実行基盤５１０には、サービスＡ２（６０２）、サービスＡ３（６０３）及びサービスＡ４（６０４）が配備されている。サービス実行計算機５０１，５０２上の各サービス実行基盤５１０に配備されるサービスは、サービス実行計算機５０１のように一つ存在してもよいし、サービス実行計算機５０２のように複数存在してもよく、またサービスが一つも存在しなくてもよい。
【００１９】
ＳＯＡシステムＡ（１０１）と同様に、ＳＯＡシステムＢ（１０２）において、ＥＳＢ実行計算機２０２、ビジネスプロセス開発用計算機３００、システム管理用計算機４００、クライアント用計算機７０２、サービス実行計算機５０３，５０４がネットワーク１００１を介して相互に通信可能にされており、サービス実行計算機５０３上のサービス実行基盤５１０には、サービスＢ１（６０５）が配備され、サービス実行計算機５０４上のサービス実行基盤５１０には、サービスＢ２（６０６）が配備されている。
【００２０】
さらに、ＳＯＡシステムＣ（１０３）において、ＥＳＢ実行計算機２０３、ビジネスプロセス開発用計算機３００、システム管理用計算機４００、クライアント用計算機７０３、サービス実行計算機５０５，５０６がネットワーク１００１を介して相互に通信可能にされており、サービス実行計算機５０５上のサービス実行基盤５１０には、サービスＣ１（６０７）が配備され、サービス実行計算機５０６上のサービス実行基盤５１０には、サービスＣ２（６０８）が配備されている。
【００２１】
本実施形態では、ＥＳＢ実行計算機２０１〜２０３がネットワーク１０００を介して相互に通信可能にされていることにより、異なるＳＯＡシステム１０１〜１０３に配備されたサービスを利用することができる。例えば、ＳＯＡシステムＡ（１０１）に属するクライアント用計算機７０１から、他のＳＯＡシステムであるＳＯＡシステムＢ（１０２）や、ＳＯＡシステムＣ（１０３）に配備されたサービスＢ１（６０５）やサービスＣ１（６０７）を利用することが可能である。このとき、例えばクライアント用計算機７０１からサービスＢ１（６０５）を利用するためには、クライアント用計算機７０１はまず、クライアント用計算機７０１と同一のＳＯＡシステムＡ（１０１）に属するＥＳＢ実行計算機２０１にサービス実行要求を送信する。次に、サービス実行要求を受け付けたＥＳＢ実行計算機２０１は、サービスＢ１（６０５）の配備先であるＥＳＢ実行計算機２０２にサービス実行要求を転送し、ＥＳＢ実行計算機２０２からサービス実行計算機５０３にサービス実行要求が送信され、サービスＢ１（６０５）が実行される。サービスＢ１（６０５）の実行結果は、サービス実行要求が送信された際の経路と逆順の経路をたどって、クライアント用計算機７０１に返される。サービス実行要求にはすくなくともサービスＢ１（６０５）を特定する情報が含まれる。
【００２２】
図２は、図１のＳＯＡシステムＡ（１０１）の詳細なシステム構成例を示している。図２では図１のＳＯＡシステムＡ（１０１）のシステム構成例を示しているが、図１のＳＯＡシステムＢ（１０２）、及び図１のＳＯＡシステムＣ（１０３）についても同様のシステム構成となるため、ＳＯＡシステムＢ（１０２）、及びＳＯＡシステムＣ（１０３）の説明は省略する。
【００２３】
本実施形態では、図２に示すように、ＥＳＢ実行計算機２０１を、パーソナルコンピュータ（以下、パソコンと呼ぶ）などの汎用の計算機と、その上で実行されるミドルウェアであるＥＳＢ２１０とから構成している。ＥＳＢ２１０はその機能として、クライアントの要求に応じてビジネスプロセスを実行するビジネスプロセス実行機能２２１と、連携先ＥＳＢの情報を収集するＥＳＢ連携状態監視機能２２２と、他のＥＳＢと連携してサービスを提供するＥＳＢ間連携機能２２３を有している。以下では、必要に応じてＳＯＡシステムＡ（１０１）に属するＥＳＢ実行計算機２０１上で動作するＥＳＢをＥＳＢ−Ａ、図１のＳＯＡシステムＢ（１０２）に属するＥＳＢ実行計算機２０２上で動作するＥＳＢをＥＳＢ−Ｂ、図１のＳＯＡシステムＣ（１０３）に属するＥＳＢ実行計算機２０３上で動作するＥＳＢをＥＳＢ−Ｃと呼ぶこととする。
【００２４】
ＥＳＢ連携状態監視機能２２２は、システム管理者８１０による入力、もしくは、連携先ＥＳＢのＥＳＢ連携状態監視機能２２２から、相互連携可能なＥＳＢのアドレスを取得し、連携先ＥＳＢのアドレスを連携先ＥＳＢ情報管理テーブル２４０に格納する。連携先ＥＳＢ情報管理テーブル２４０の構成についての詳細は後記する（図４参照）。ＥＳＢ連携状態監視機能２２２は、ＥＳＢを特定する情報と、そのＥＳＢのアドレスとを関連付けて連携先ＥＳＢ情報管理テーブル２４０に情報を格納する。本実施形態では、ＥＳＢを特定する情報としてＥＳＢの名称、ＥＳＢのアドレスとしてＩＰ（Internet Protocol）アドレスをそれぞれ用いているが、これらに限定されるものではない。
【００２５】
また、ＥＳＢ連携状態監視機能２２２は、連携先ＥＳＢ情報管理テーブル２４０から連携先ＥＳＢのアドレスを取得し、連携先ＥＳＢ上で動作するＥＳＢ連携状態監視機能と通信を行う。このとき、ＥＳＢ連携状態監視機能２２２は、自ＥＳＢ２１０に配備されたサービスの情報を連携先ＥＳＢ上のＥＳＢ連携状態監視機能に送信する処理と、連携先ＥＳＢに配備されたサービスの情報を連携先ＥＳＢ上のＥＳＢ連携状態監視機能から受信し、サービス配備状況管理テーブル２３０、及び提供サービス一覧管理テーブル２５０に情報を格納する処理とを実行する。サービスの情報には、すくなくともサービスを特定可能な情報、例えば、サービス名と、そのサービス概要とが含まれる。サービスの概要については後記する。ＥＳＢ連携状態監視機能２２２は、サービス名と、そのサービスの配備先ＥＳＢ名とを関連付けてサービス配備状況管理テーブル２３０に情報（配備情報）を格納するが、サービス配備状況管理テーブル２３０の構成についての詳細は後記する（図５参照）。また、ＥＳＢ連携状態監視機能２２２は、サービス名と、そのサービス概要とを関連付けて情報を格納する。提供サービス一覧管理テーブル２５０の構成についても後記する（図６参照）。
【００２６】
ＥＳＢ間連携機能２２３は、連携先ＥＳＢ上で動作するＥＳＢ間連携機能２２３と通信を行い、連携先ＥＳＢに配備されたサービスを相互に利用可能とするための処理を行う。このとき、ＥＳＢ間連携機能２２３は、連携先ＥＳＢ情報管理テーブル２４０を、配備先ＥＳＢ名をキーとして検索することで、連携するＥＳＢのアドレスを取得し、取得したアドレスを用いてＥＳＢ間連携を実現する。
【００２７】
前記したＥＳＢの機能であるビジネスプロセス実行機能２２１、ＥＳＢ連携状態監視機能２２２、ＥＳＢ間連携機能２２３は、汎用のＥＳＢを用いることで実現可能であるため、詳細の説明は省略する。
【００２８】
本実施形態では、図２に示すように、ビジネスプロセス開発用計算機３００を、すくなくともパソコンなどの汎用の計算機と、その上で実行されるビジネスプロセス開発機能３１０と、提供サービス一覧管理テーブル２５０とから構成している。ビジネスプロセス開発機能３１０は、ビジネスプロセス開発者８００がビジネスプロセス定義を行うためのＧＵＩ（Graphical User Interface）プログラムであることが多いが、これに限定されるものではなく、半導体回路などの専用ハードウェアとして実装してもよい。本実施例では、ビジネスプロセス開発機能３１０はプログラムとして実現されていることとする。ビジネスプロセス開発機能３１０は、提供サービス一覧管理テーブル２５０を参照し、ビジネスプロセス定義に利用可能なサービスの一覧を、ビジネスプロセス開発者８００に提示し、ビジネスプロセス開発者８００は、提示されたサービスを組み合わせて、ビジネスプロセスの定義を行う。なお、本実施形態ではビジネスプロセス開発用計算機３００とＥＳＢ実行計算機２０１の両方が提供サービス一覧管理テーブル２５０を保持しているが、その内容は同一である。このため、提供サービス一覧管理テーブル２５０がどちらか一方の計算機上に存在し、他方の計算機は該テーブルを参照する構成としてもよい。また、前記のビジネスプロセス開発機能３１０は汎用のビジネスプロセス開発プログラムなどで実現可能であるため、詳細の説明は省略する。
【００２９】
ビジネスプロセス開発者８００がビジネスプロセス開発機能３１０を用いて定義したビジネスプロセスは、システム管理者８１０によって、システム管理用計算機４００上のビジネスプロセス解析・再構成処理部４１０に入力される。
【００３０】
本実施形態では、図２に示すように、システム管理用計算機４００を、パソコンなどの汎用の計算機と、その上で実行される、処理部としてのビジネスプロセス解析・再構成処理部４１０と、ビジネスプロセス配備部４２０、及びサービス配備状況管理テーブル２３０と、連携先ＥＳＢ情報管理テーブル２４０とから構成している。
【００３１】
ビジネスプロセス解析・再構成処理部４１０は、サービス名とサービスの配備先ＥＳＢ名との関連付け情報を保持するサービス配備状況管理テーブル２３０から情報を取得し、取得した情報に基づいてビジネスプロセスを構成する各アクティビティを実行するための適切なサービスの割り当てを行うビジネスプロセス解析部４１１と、ビジネスプロセス解析部４１１で割り当てられたサービスのＥＳＢへの配備状況に基づいて、ビジネスプロセスの再構成を行うビジネスプロセス再構成部４１２と、ビジネスプロセスの再構成の結果、新たに定義されたビジネスプロセスを、連携先ＥＳＢ情報管理テーブル２４０からアドレスを取得して、連携先ＥＳＢに配布するビジネスプロセス配布部４１３とから構成される。なお、本実施形態ではシステム管理用計算機４００とＥＳＢ実行計算機２０１の双方がサービス配備状況管理テーブル２３０と連携先ＥＳＢ情報管理テーブル２４０を保持しているが、その内容は同一である。このため、これらのテーブルがどちらか一方の計算機上に存在し、他方の計算機は該テーブルを参照する構成としてもよい。また、本実施例では、上記各処理部４１０、４１１、４１２、４１３は、ＣＰＵ９００によって実行されるソフトウェアである、ビジネスプロセス解析・再構成プログラム４３０、ビジネスプロセス解析プログラム４３１、ビジネスプロセス再構成プログラム４３２、ビジネスプロセス配布プログラム４３３、として実現されているものとする（図３参照）が、これに限定されるものではなく、半導体回路などの専用のハードウェアとして実装してもよい。また説明の関係上、以降では必要に応じて各処理部を実装したプログラムを実行主体として説明を行う。
【００３２】
また、ビジネスプロセス配備部４２０は、システム管理者８１０の指示に従って、ビジネスプロセスをＥＳＢに配備、ＥＳＢから削除など、ＥＳＢ上のビジネスプロセスを管理する機能を持つ処理部であり、本実施例ではＣＰＵ９００によって実行されるソフトウェアとして実現されていることとするが、これに限定されず、半導体回路などの専用ハードウェアとして実装してもよい。ビジネスプロセスの配備とは、ビジネスプロセスをＥＳＢに登録し、実行可能な状態とする操作である。すなわち、この操作により、クライアント用計算機７０１〜７０３（図１参照）からビジネスプロセスの呼び出しを行うことが可能になる。ビジネスプロセスの呼び出しとは、ビジネスプロセスの名前など、ビジネスプロセスを特定可能な情報と、ビジネスプロセスに対する入力情報とを用いて、ビジネスプロセスの実行要求を送信し、必要に応じてビジネスプロセスの実行結果を取得する操作を示す。なお、ビジネスプロセス配備部４２０は、ビジネスプロセスが入力された際に、システム管理者８１０の指示を受けることなく、該ビジネスプロセスを自動的に配備する機能を有してもよい。また、前記のビジネスプロセス配備部４２０は、汎用のビジネスプロセス配備機能を持つプログラムで実現可能であるため、詳細の説明は省略する。
【００３３】
本実施形態では、図２に示すように、クライアント用計算機７０１を、パソコンなどの汎用の計算機と、その上で実行される、サービス呼び出し基盤７１０とから構成している。クライアント８２０はサービス呼び出し基盤７１０を用いて、ＥＳＢにサービスの実行要求を送信することで、サービスを利用することができる。サービス呼び出し基盤７１０は、各種のプログラム言語を用いて実現可能であるため、その実現方法の詳細な説明は省略するが、サービス呼び出し基盤７１０は、半導体回路などの専用ハードウェアとして実装してもよい。本実施例では、サービス呼び出し基盤７１０はソフトウェアとして実現されていることとする。
【００３４】
本実施形態では、図２に示すように、サービス実行計算機５０１，５０２を、パソコンなどの汎用の計算機と、その上で実行される、サービスを実行するためのサーバプログラムであるサービス実行基盤５１０から構成している。サービスは各種のコンポーネントモデルによって実装可能であり、サービス実行基盤５１０は、実装されたコンポーネントを実行する各種プログラムによって実現可能であるため、その実現方式の詳細な説明は省略する。なお、サービスやサービス実行基盤５１０は、半導体回路などの専用のハードウェアとして実現してもよいが、本実施例ではプログラムとして実装されていることとする。
【００３５】
本実施形態で用いる計算機の構成をさらに詳細に説明するために、システム管理用計算機４００の構成を図３に示す。
【００３６】
本実施形態では、図３に示すように、システム管理用計算機４００を、処理部としてのＣＰＵ(Central Processing Unit)９００、ネットワークインタフェース９１０、グラフィックインタフェース９２０、ユーザ入力インタフェース９３０、記憶部としての主記憶装置９４０、二次記憶装置９５０、及びこれらを接続するシステムバス９６０から構成している。ネットワークインタフェース９１０は、ＣＰＵ９００の指示に従って、ネットワーク１００１を介して相互に通信可能にされているＥＳＢ実行計算機（図１参照）やビジネスプロセス開発用計算機３００（図１参照）と通信を行う。
【００３７】
ユーザ入力インタフェース９３０は、マウスやキーボードなどの入力装置からユーザの入力を受け付ける機能を持つ。グラフィックインタフェース９２０は、ディスプレイなどの画像表示装置９２１に表示する画像の処理を行うが、必須の装置ではない。主記憶装置９４０上には、ビジネスプロセス解析・再構成処理プログラム４３０（ビジネスプロセス解析プログラム４３１、ビジネスプロセス再構成プログラム４３２、及びビジネスプロセス配布プログラム４３３を含む）、ビジネスプロセス配備プログラム４４０、ＯＳ（Operating System）９７０が格納され、これらのプログラムはＣＰＵ９００によって実行される。また、主記憶装置９４０上には、サービス配備状況管理テーブル２３０、連携先ＥＳＢ情報管理テーブル２４０が格納されるが、これらのテーブルは、ビジネスプロセス解析・再構成プログラム４３０に包含されてもよく、または、二次記憶装置９５０に格納されてもよい。二次記憶装置９５０は、ＣＰＵ９００からの指示に従い、データの入出力を行う。主記憶装置９４０はメモリなどの揮発性記憶装置であり、二次記憶装置９５０はハードディスクなどの磁気記憶装置や、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）ドライブなどの光学記憶装置などの不揮発性記憶装置であるが、これらに限定されるものではない。
【００３８】
ＥＳＢ実行計算機２０１〜２０３（図１参照）、ビジネスプロセス開発用計算機３００（図１参照）、サービス実行計算機５０１〜５０６（図１参照）、クライアント用計算機７０１〜７０３（図１参照）のハードウェア構成は、図３に示すシステム管理用計算機４００と同様である。システム管理用計算機４００との違いは、主記憶装置９４０に展開され、ＣＰＵ９００により実行されるプログラムや、テーブルである。ＥＳＢ実行計算機２０１〜２０３では、主記憶装置９４０上に、ＯＳ９７０やＥＳＢ２１０（図２参照）、サービス配備状況管理テーブル２３０（図２参照）、連携先ＥＳＢ情報管理テーブル２４０（図２参照）、提供サービス一覧管理テーブル２５０（図２参照）が展開される。ただし、サービス配備状況管理テーブル２３０（図２参照）、連携先ＥＳＢ情報管理テーブル２４０（図２参照）、提供サービス一覧管理テーブル２５０（図２参照）は、ＥＳＢ２１０（図２参照）に包含されてもよく、または、二次記憶装置９５０に格納されてもよい。ビジネスプロセス開発用計算機３００（図２参照）では、主記憶装置９４０上にＯＳ９７０とビジネスプロセス開発機能３１０（図２参照）、提供サービス一覧管理テーブル２５０（図２参照）が展開される。提供サービス一覧管理テーブル２５０（図２参照）は、ビジネスプロセス開発機能３１０（図２参照）に包含されてもよく、または、二次記憶装置９５０に格納されてもよい。サービス実行計算機５０１〜５０６では、主記憶装置９４０上にＯＳ９７０やサービス実行基盤５１０（図２参照）、サービス実行基盤５１０（図２参照）に配備されているサービスが展開される。また、クライアント用計算機７０１〜７０３では、主記憶装置９４０上にＯＳ９７０とサービス呼び出し基盤７１０（図２参照）が展開される。
【００３９】
図４は、本実施形態における連携先ＥＳＢ情報管理テーブルの構成を示す図である。図４に示すように、連携先ＥＳＢ情報管理テーブル２４０は、ＥＳＢ名称を格納するカラムであるＥＳＢ名２４１と、ＥＳＢのアドレスを格納するカラムであるアドレス２４２とから構成されている。ＥＳＢ名２４１は、ＥＳＢを特定可能な情報、アドレス２４２は、ＥＳＢのアドレス情報を含めばよく、名称やＩＰアドレスに限定されない。
【００４０】
図５は、本実施形態におけるサービス配備状況管理テーブル２３０の構成を示す図であり、図５（ａ）は、新たに定義されたビジネスプロセス登録前の状態、図５（ｂ）は、本発明のビジネスプロセス再構成により、新たに定義されたビジネスプロセス登録後の状態を示している。図５（ａ）に示すように、サービス配備状況管理テーブル２３０は、サービスの名称を格納するカラムであるサービス名２３１と、サービスの配備先ＥＳＢ名を格納するカラムである配備先ＥＳＢ名２３２とから構成されている。各カラムに格納される情報は、サービスまたはＥＳＢが特定できればよく、名称に限定されるものではない。また、図５（ｂ）に示すように、サービス配備状況管理テーブル２３０には、新たに定義されたビジネスプロセス（例えば、サービスＢＢ、サービスＣＣ）がビジネスプロセス配布プログラム４３３によって登録される。なお、ビジネスプロセスは、サービスに含まれるものである。
【００４１】
図６は、本実施形態における提供サービス一覧管理テーブル２５０の構成を示す図であり、図６（ａ）は、新たに定義されたビジネスプロセス登録前の状態、図６（ｂ）は、本発明のビジネスプロセス再構成により、新たに定義されたビジネスプロセス登録後の状態を示している。図６（ａ）に示すように、提供サービス一覧管理テーブル２５０は、サービスの名称を格納するカラムであるサービス名２５１と、サービスの概要を格納するカラムであるサービス概要２５２とから構成されている。本実施形態では、サービス名２５１のカラムにサービスの名称が格納されているが、サービス名２５１に格納される情報は、サービスを特定可能であればよく、サービスの名称に限定されるものではない。ここで、サービスの概要とは、サービスの提供する機能の情報や、入出力メッセージの形式などのインタフェース情報を意味する。また、図６（ｂ）に示すように、提供サービス一覧管理テーブル２５０には、新たに定義されたビジネスプロセス（例えば、サービスＢＢ、サービスＣＣ）がビジネスプロセス配布プログラム４３３によって登録される。
【００４２】
以降では、本実施形態の実施手順に従って、本発明の実施形態をさらに詳細に説明する。
【００４３】
図７は、本実施形態の実施手順のフローを示している。以下、図７を参照して（適宜図１ないし図６参照）、本実施形態の実施手順について説明する。
はじめに、ビジネスプロセス開発者８００は、ビジネスプロセス開発用計算機３００上で実行されるビジネスプロセス開発機能３１０を用いて、ビジネスプロセスの定義を行う。この際、ビジネスプロセス開発機能３１０は、ビジネスプロセス定義に用いることのできるサービスの一覧情報を、提供サービス一覧管理テーブル２５０から取得し、ビジネスプロセス開発者８００に提示する。ビジネスプロセス開発機能３１０が提示するデータは、提供サービス一覧管理テーブル２５０に登録されている全データであってもよいし、一部であってもよい。ビジネスプロセス開発者８００は、提示されたサービスを組み合わせて、ビジネスプロセスの定義を行う。提供サービス一覧管理テーブル２５０は、図６（ａ）に示すように、サービス名２５１と、サービス概要２５２とから構成されており、ビジネスプロセス開発者８００はＳＯＡシステムＡ，Ｂ，Ｃの詳細なシステム構成を意識することなく、ビジネスプロセスの定義を行うことができる。本実施形態では、図９に示すビジネスプロセスＡ（１４００）を、ビジネスプロセス開発者８００が定義したこととする。ビジネスプロセスＡ（１４００）は、サービスＡ１（６０１）、サービスＢ１（６０５）、サービスＢ２（６０６）、サービスＣ１（６０７）、サービスＣ２（６０８）、サービスＡ２（６０２）を前記の順番に実行することを定義している。
【００４４】
次に、システム管理者８１０は、ビジネスプロセス開発者８００によって定義されたビジネスプロセスの定義情報を、例えばメールなどの手段でビジネスプロセス開発者８００から通知を受けることによって把握する。そして、システム管理者８１０は、通知によって把握したビジネスプロセスの定義情報をビジネスプロセス解析・再構成プログラム４３０に入力する。ビジネスプロセス解析・再構成プログラム４３０は、ビジネスプロセス解析プログラム４３１、ビジネスプロセス再構成プログラム４３２、及びビジネスプロセス配布プログラム４３３から構成され、前記の順序で処理を行う。
【００４５】
ビジネスプロセス解析プログラム４３１は、ビジネスプロセスを構成するサービスの配備先ＥＳＢを調査する（ステップＳ１１０１）。つまり、ビジネスプロセス解析プログラム４３１は、システム管理者８１０から入力されたビジネスプロセスの定義情報を解析し、ビジネスプロセスを構成する個々のアクティビティに対し、アクティビティを実行するための適切なサービスの割り当てを行う。この際、ビジネスプロセス解析プログラム４３１は、サービス名２３１をキーとしてサービス配備状況管理テーブル２３０を検索し、検索した結果得られた配備先ＥＳＢ名２３２のＥＳＢに配備されたサービス名２３１のサービスを、アクティビティを実行するサービスとして割り当てる処理を行う。ここで、サービス配備状況管理テーブル２３０から、同一のサービス名２３１を持つ配備先ＥＳＢ名２３２が複数検索された場合、サービスの実行履歴（不図示）を参照し、最も実行時間の短いサービスを選択することや、サービス実行計算機のメトリック情報を収集し、最もリソースに余裕のある計算機上で実行されるサービスを選択するなど、付加的な情報を使用してサービスの割り当てを行ってもよい。このようなサービス割り当て方法は、前記の特許文献１などにより公開されている。なお、サービス呼び出しを行うアクティビティ以外のアクティビティについては、サービスの割り当てを行う必要はない。
【００４６】
ビジネスプロセス再構成プログラム４３２は、サービスの配備状況に基づいてビジネスプロセス定義を再構成する（ステップＳ１１０２）。つまり、ビジネスプロセス再構成プログラム４３２は、ビジネスプロセス開発者８００によって定義されたビジネスプロセスの定義情報と、ステップＳ１１０１において各アクティビティに割り当てられたサービスを特定できる情報（サービス名２３１など）及びサービスが配備された配備先情報（配備先ＥＳＢ名２３２など）の組み合わせである配備情報とを入力として、ビジネスプロセスの再構成を行う（ステップＳ１１０２）。本ステップで適用するビジネスプロセス再構成アルゴリズムは後記する。
【００４７】
ビジネスプロセス配布プログラム４３３は、ステップＳ１１０２で行ったビジネスプロセスの再構成によって新たに定義されたビジネスプロセスを、該ビジネスプロセスを実行するＥＳＢに配布する（ステップＳ１１０３）。配布する際には、ネットワーク１００１、ＥＳＢ実行計算機２０１、ネットワーク１０００を介して配布される。配布先ＥＳＢのアドレスは、配布先のＥＳＢ名２４１をキーとして、連携先ＥＳＢ情報管理テーブル２４０を検索することにより取得することができる。配布を行う前に、ビジネスプロセス配布プログラム４３３は、配布先ＥＳＢ上に配備されたサービスのサービス名２３１を、配備先ＥＳＢ名２３２をキーとしてサービス配備状況管理テーブル２３０から取得し、取得したサービス名２３１によって指定されるサービスのサービス概要２５２を、サービス名２５１をキーとして提供サービス一覧管理テーブル２５０から取得し、配布するビジネスプロセスと同一の機能を実行するサービス（ビジネスプロセス）が配布先ＥＳＢ上に既に配備されているかどうかの確認を行う機能を有してもよい。この機能を用いて、同一の機能を持つサービス（ビジネスプロセス）が既に存在している場合には、新たなビジネスプロセスを配布せず、すでに定義されているサービス（ビジネスプロセス）を利用するように、ビジネスプロセスの定義を変更することで、同一機能を持つ複数のサービス（ビジネスプロセス）が、同一のＥＳＢ上に配備されないようにすることができる。また、ビジネスプロセス配布プログラム４３３は、新たに定義されたビジネスプロセスを、該ビジネスプロセスを実行するＥＳＢに配布するとともに、サービス配備状況管理テーブル２３０及び提供サービス一覧管理テーブル２５０にデータを登録する。データを登録する際、ビジネスプロセス配布プログラム４３３は、新たに定義されたビジネスプロセスを特定可能な情報及び該ビジネスプロセスを実行するＥＳＢを、例えば、サービス名２３１及び配備先ＥＳＢ名２３２としてサービス配備状況管理テーブル２３０に登録し、新たに定義されたビジネスプロセスを特定可能な情報及び該ビジネスプロセスの概要を、例えば、サービス名２５１及びサービス概要２５２として提供サービス一覧管理テーブル２５０に登録する。
【００４８】
ビジネスプロセス解析・再構成プログラム４３０の実行終了後、システム管理者８１０は、ビジネスプロセス配備プログラム４４０を用いて、ステップＳ１１０３で配布されたビジネスプロセスをＥＳＢに配備する。前記手順では、ステップＳ１１０３において配布したビジネスプロセスを、システム管理者８１０が手動で配備しているが、ビジネスプロセス配備プログラム４４０がビジネスプロセスを自動的にＥＳＢに配備する機能を有する場合には、配布されたビジネスプロセスを自動的に配備してもよい。
【００４９】
以降では、前記ステップＳ１１０２で実行されるビジネスプロセス再構成アルゴリズムについて、説明を行う。
【００５０】
ビジネスプロセス再構成アルゴリズムは、ビジネスプロセスを構成するアクティビティに対して割り当てられたサービスの配備先ＥＳＢ情報（配備先ＥＳＢ名）を用いて、ＥＳＢ間連携回数が削減されるようにビジネスプロセスを再構成するアルゴリズムであり、ビジネスプロセス再構成プログラム４３２で実行される。図８は、ビジネスプロセス再構成アルゴリズムの処理フローを示している。以下、図８を参照して（適宜図１ないし図６参照）、ビジネスプロセス再構成アルゴリズムについて説明する。
【００５１】
はじめに、前記ステップＳ１１０１で行ったビジネスプロセスを構成するアクティビティへのサービスの割り当て結果を用いて、ビジネスプロセスの配備先ＥＳＢと同一のＥＳＢに配備されているサービスの呼び出しを行うアクティビティを列挙する（ステップＳ１２０１）。図９は、ＥＳＢ−Ａ（２１０）に配備されるビジネスプロセスの例を示す図である。例えば、図９に示すビジネスプロセスＡ（１４００）の例では、ビジネスプロセスＡ（１４００）の配備先ＥＳＢであるＥＳＢ−Ａ（２１０）に配備されているサービスである、サービスＡ１、及びサービスＡ２の呼び出しをそれぞれ行うアクティビティ１４０４、及びアクティビティ１４０９が列挙される。ここで、ビジネスプロセスＡ（１４００）は、システム管理者８１０によってＳＯＡシステムＡ（１０１）のシステム管理用計算機４００に入力されたものであるため、そのシステム管理用計算機４００と同一のＳＯＡシステムである（そのシステム管理用計算機４００とネットワーク１００１を介して通信可能である）ＳＯＡシステムＡ（１０１）に属するＥＳＢ実行計算機２０１のＥＳＢ−Ａ（２１０）がビジネスプロセスＡ（１４００）の配備先ＥＳＢである。ただし、ビジネスプロセスＡ（１４００）を再構成した結果、新たに定義されるビジネスプロセスの配備先となるＥＳＢ実行計算機は、後記する処理によって決定される。
【００５２】
前記ステップＳ１２０１で列挙したアクティビティとアクティビティの間を一つの領域として、ビジネスプロセスを領域分割する（ステップＳ１２０２）。なお、ここでの領域とは、ビジネスプロセスに定義された０個以上の連続するアクティビティを包含する、ビジネスプロセスの一部を表すこととする。例えば、図９に示すビジネスプロセスＡ（１４００）では、アクティビティ１４０４の前までを一つの領域１４０１、アクティビティ１４０４とアクティビティ１４０９の間を一つの領域１４０２、アクティビティ１４０９以降を一つの領域１４０３として、領域分割が行われる。領域１４０１、領域１４０３のように、領域にサービスが含まれない場合も存在する。
【００５３】
ここで、ビジネスプロセスが制御構造を含む場合、制御構造の前後においてもビジネスプロセスの領域分割を行う。制御構造を含むビジネスプロセスの例を図１０に示す。ここで、制御構造とは、ビジネスプロセスにおいてフロー制御を行うアクティビティを表すこととし、その例として分岐処理や並列処理がある。分岐処理とは、クライアント８２０が入力するデータ（在庫管理サービスを受ける場合であれば在庫数など）やサービスの状態（サービスの実行結果など）によって、ビジネスプロセス実行時のフローを選択（制御）するための制御構造である。図１０の例においては、制御構造が分岐処理であった場合には、ある条件が満たされた場合にはサービスＡ３が、条件が満たされない場合にはサービスＡ４が実行されることが定義されたビジネスプロセスとなる。また、並列処理とは、複数の処理フローを並行に処理するための制御構造である。図１０の例においては、制御構造が並列処理であった場合には、サービスＢ２を実行後、サービスＡ３とサービスＡ４を並行して実行することが可能であり、サービスＡ３、サービスＡ４の両方の処理が終了した後、サービスＣ１が実行されることが定義されたビジネスプロセスとなる。
【００５４】
図１０に示す例では、サービスＡ１の前までを一つの領域１６０１、サービスＡ１と制御構造の開始までの間を一つの領域１６０２、制御構造の終了後からサービスＡ２の間を一つの領域１６０３、サービスＡ２以降を一つの領域１６０４として、領域分割が行われる。また、ビジネスプロセスが制御構造を含む場合、その制御構造の内部には、１つ、または複数のフローが定義される。図１０の例では、２つのフローが記述された例を示している。これら制御構造内部のフローに対しては、ビジネスプロセス再構成アルゴリズムを再帰的に実行する。図１０の例では、制御構造内部のフローとしてフロー１６０５、及びフロー１６０６が存在しており、これらのフローに対し、ビジネスプロセス再構成アルゴリズムを再帰的に実行する。
【００５５】
前記のように、制御構造を含むビジネスプロセスの領域分割を再帰的に実行することで、最終的に分割された領域は、制御構造を含まず、サービス呼び出しを行うアクティビティのみで構成することが可能となる。
【００５６】
なお、本実施形態は制御構造が含まれないビジネスプロセスの再構成方法について説明を行っているが、本実施形態は、制御構造を含むビジネスプロセスの再構成を行うことを制限するものではない。
【００５７】
前記ステップ１２０２で分割された各領域に対して領域解析アルゴリズムを適用する（ステップＳ１２０３）。領域解析アルゴリズムの詳細は後記する。
【００５８】
前記ステップＳ１２０３において、新たなビジネスプロセスが定義された場合には、新たに定義されたすべてのビジネスプロセスに対し、前記ステップＳ１２０１〜Ｓ１２０３を再帰的に適用するのが好ましい。ステップＳ１２０３において、新たなビジネスプロセスが定義されなかった場合には、アルゴリズムを終了する。
【００５９】
以降では、前記ステップＳ１２０３において実行される領域解析アルゴリズムについて、説明を行う。領域解析アルゴリズムは、領域内に包含されているアクティビティを新たなビジネスプロセスとして定義するためのアルゴリズムであり、ビジネスプロセス再構成プログラム４３２において実行される。
【００６０】
図１１は、領域解析アルゴリズムの処理フローを示している。
はじめに、領域中の最初のサービスをＳに設定する（ステップＳ１３０１）。つまり、領域中の最初のアクティビティによって呼び出されるサービスを取得してＳに設定する。図９に示す領域１４０２の例では、領域１４０２の最初のアクティビティであるアクティビティ１４０５によって呼び出されるサービスＢ１がＳに設定される。
【００６１】
次に、ビジネスプロセス再構成プログラム４３２は、Ｓに割り当てられたサービスの配備先ＥＳＢを確認する。つまり、ビジネスプロセス再構成プログラム４３２は、Ｓの配備先ＥＳＢをＥとする（ステップＳ１３０２）。図９に示す領域１４０２の例では、サービスＢ１の配備先ＥＳＢが、ＥＳＢ−Ｂであることが確認される。配備先ＥＳＢは、ステップＳ１１０１で取得済みである。
【００６２】
続いて、領域中にＥに配備されたサービスが割り当てられたアクティビティが存在するか否かを確認する。つまり、Ｅに配備されたＳ以外のサービスが領域中に存在するか否かを判定する（ステップＳ１３０３）。図９に示す領域１４０２の例では、サービスＢ２が割り当てられたアクティビティ１４０６が存在する。つまり、Ｅに配備されたＳ以外のサービスＢ２が領域１４０２中に存在することが確認される。
【００６３】
他のアクティビティが存在しなかった場合、つまり、Ｅに配備されたＳ以外のサービスが領域中に存在しなかった場合には（ステップＳ１３０３で「Ｎｏ」）、ステップＳ１３０８に進む。
【００６４】
一つもしくは複数のアクティビティが存在した場合、つまり、Ｅに配備されたＳ以外のサービスが領域中に存在した場合には（ステップＳ１３０３で「Ｙｅｓ」）、領域から、Ｅに配備されたＳ以外のサービスのうち、最後に呼び出されるサービスを探索してＬに設定する（ステップＳ１３０４）。図９に示す領域１４０２の例では、サービスＢ２が選択される。
【００６５】
その後、ＳからＬまでのビジネスプロセス定義をＥに配備する新たなビジネスプロセスとして定義する（ステップＳ１３０５）。入力されたビジネスプロセスから一部のビジネスプロセスを切り出し、新たなビジネスプロセスとして定義するための、ビジネスプロセス分割アルゴリズムは後記する。
【００６６】
ＳからＬまでの定義を元のビジネスプロセスから削除し、新たに定義したビジネスプロセスを呼び出すように定義を変更する（ステップＳ１３０６）。図９に示すビジネスプロセスＡ（１４００）からアクティビティ１４０５、アクティビティ１４０６を切り出し、新たなビジネスプロセスとして再定義した結果を、図１２に示す。図１２に示すビジネスプロセスＡ（１４１０）では、サービスＡ１を実行した後、ビジネスプロセスＢ（１４２０）を実行し、続いてサービスＣ１、サービスＣ２、サービスＡ２を実行することが定義されている。ここで、ビジネスプロセスＢ（１４２０）には、サービスＢ１、サービスＢ２を順番に実行することが定義されていることから、ビジネスプロセスＡ（１４１０）を実行すると、サービスＡ１、サービスＢ１、サービスＢ２、サービスＣ１、サービスＣ２、サービスＡ２の順番で実行されるため、分割前のビジネスプロセスであるビジネスプロセスＡ（１４００）と同一のサービス実行手順が定義されていることになる。また、サービスＢ１、サービスＢ２の順番で実行されるサービスの組み合わせを、ここでは、サービスＢＢと表している。
【００６７】
ステップＳ１３０６の実行後、新たなＳとしてＬを設定して（ステップＳ１３０７）、ステップＳ１３０８に進む。
【００６８】
続いて、Ｓの実行が領域の最後のアクティビティであるか否かを判定する。つまり、Ｓが領域の最後のサービスであるか否かを判定する（ステップＳ１３０８）。Ｓが最後のサービスの場合には（ステップＳ１３０８で「Ｙｅｓ」）、アルゴリズムは終了する。
【００６９】
Ｓが最後のサービスでない場合には、Ｓの次のサービスを新たなＳとして（ステップＳ１３０９）、ステップＳ１３０２に戻る。
【００７０】
図９に示すビジネスプロセスＡ（１４００）では、領域１４０２中にアクティビティ１４０７、アクティビティ１４０８が含まれていることから、アクティビティ１４０７が実行するサービスＣ１を新たなＳとしてステップＳ１３０２に戻る。アクティビティ１４０７が実行するサービスＣ１をＳとしてアルゴリズムを実行した結果を、図１３に示す。図１３では、サービスＣ１、サービスＣ２を順番に実行するビジネスプロセスＣ（１４５０）が新たに定義され、ビジネスプロセスＡ（１４３０）から呼び出されていることを示している。また、サービスＣ１、サービスＣ２の順番で実行されるサービスの組み合わせを、ここでは、サービスＣＣと表している。
【００７１】
以降では、前記ステップＳ１３０５において適用されるビジネスプロセス分割アルゴリズムについて説明する。ビジネスプロセス分割アルゴリズムは、ビジネスプロセス再構成プログラム４３２において実行される。
【００７２】
ビジネスプロセスを複数のビジネスプロセスに分割する場合、分割元のビジネスプロセスから分割するサービス呼び出しと同一の定義を持つ新たなビジネスプロセスの定義を行い、分割元のビジネスプロセスから新たに定義したビジネスプロセスを呼び出すように、定義の変更を行えばよい。ただし、分割元のビジネスプロセスが変数宣言を行っている場合には、以下の方法でビジネスプロセスの分割を行う。
【００７３】
ビジネスプロセスにおける変数とは、ビジネスプロセスを構成するアクティビティで使用するメッセージインスタンスを格納するための領域のことであり、サービス呼び出しの入出力メッセージや、分岐処理の分岐条件などに用いることができる。
【００７４】
変数を定義したビジネスプロセスを分割する場合、分割したビジネスプロセスにおいても、分割元のビジネスプロセスと同一の変数を利用できる必要がある。このため、分割先のビジネスプロセスでは、分割元のビジネスプロセスで定義されている変数定義と同一の変数定義を行う。分割先のビジネスプロセスに定義された変数の値は、分割先のビジネスプロセスを呼び出す際、メッセージの一部分として変数の値を送付することで、値の割り当てを可能にする。また、分割先のビジネスプロセス実行後の変数の値を分割元のビジネスプロセスに伝達するために、分割先のビジネスプロセスから分割元のビジネスプロセスに送信するメッセージに、変数の状態を付加する。
【００７５】
変数を定義したビジネスプロセスの例として、図１４にビジネスプロセスＡ（１７００）を示す。なお、ビジネスプロセスＡ（１７００）はＥＳＢ−Ａに配備されることとする。ビジネスプロセスＡ（１７００）では、変数宣言１７０１に示すように、変数として変数１、変数２、変数３の宣言を行っている。また、図１４に示す例では、サービスＢ１の入力メッセージの形式としてメッセージＢ１（１７０２）、サービスＢ２の出力メッセージの形式としてメッセージＢ２（１７０３）を用いている。
【００７６】
ビジネスプロセスＡ（１７００）を、ビジネスプロセス解析・再構成プログラム４３０を用いて再構成した結果を、図１５に示す。図１５では、ＥＳＢ−Ｂに配備されたサービスであるサービスＢ１、サービスＢ２の呼び出しを行うビジネスプロセスＢ（１７２０）が新たに定義されており、ビジネスプロセスＡ（１７１０）から呼び出しが行われる。ここで、ビジネスプロセスＢ（１７２０）では、ビジネスプロセスＡ（１７００）と同様に変数宣言１７０４が行われる。さらに、ビジネスプロセスＡ（１７１０）からビジネスプロセスＢ（１７２０）を呼び出す際には、サービスＢ１の入力メッセージ形式であるメッセージＢ１（１７０２）に加えて、変数の値を送付するメッセージ１７０５が送付されており、ビジネスプロセスＢ（１７２０）からビジネスプロセスＡ（１７１０）への返信時には、サービスＢ２の出力メッセージ形式であるメッセージＢ２（１７０３）に加え、ビジネスプロセスＢ（１７２０）実行後の変数の値を送付するメッセージ１７０６が送付されている。
【００７７】
前記のように、変数を含むビジネスプロセスを分割する場合、分割先のビジネスプロセスに分割元のビジネスプロセスと同等の変数宣言を行い、分割先ビジネスプロセスの入出力メッセージに変数の値を付加することで、分割を行うことができる。
【００７８】
なお、図１５の例では分割先のビジネスプロセスに分割元のビジネスプロセスで定義されたすべての変数を定義しているが、分割先のビジネスプロセスで使用する変数のみ定義してもよい。
【００７９】
以上で説明したように、ステップＳ１１０２では、システム管理用計算機４００は、ビジネスプロセスの定義情報が入力されたビジネスプロセス解析・再構成プログラム４３０を格納しているシステム管理用計算機４００と異なるＳＯＡシステムに属するＥＳＢ実行計算機で実行できる複数の連続するサービスの組み合わせをビジネスプロセス定義情報から抽出する。そして、システム管理用計算機４００は、抽出したサービスの組み合わせを、前記したシステム管理用計算機４００と異なるＳＯＡシステムに属するＥＳＢ実行計算機に配備される新たなビジネスプロセスとして定義して、ビジネスプロセスを新たなビジネスプロセスを呼び出すビジネスプロセスとして再構成を行う。以降では、ビジネスプロセス開発者８００が定義したビジネスプロセスＡ（１４００）（図９参照）に対し、本実施形態によるビジネスプロセスの再構成を適用した場合の効果について説明する。図１６は、本実施形態によるビジネスプロセスの再構成を実施せず、ビジネスプロセス開発者８００が定義したビジネスプロセスＡ（１４００）（図９参照）をそのまま実行した際の、シーケンス図を示している。図１６に示すように、ビジネスプロセスＡ（１４００）の実行時には、サービスＢ１、サービスＢ２、サービスＣ１、及びサービスＣ２の各サービスを実行する際に、それぞれＥＳＢ−ＡとＥＳＢ−Ｂとの間、ＥＳＢ−ＡとＥＳＢ−Ｂとの間、ＥＳＢ−ＡとＥＳＢ−Ｃとの間、ＥＳＢ−ＡとＥＳＢ−Ｃとの間で、サービスを実行するための連携が行われており、合計４回の連携が行われている。
【００８０】
一方、ビジネスプロセスＡ（１４００）に対して、本実施形態によるビジネスプロセスの再構成を適用した結果のビジネスプロセスである、ビジネスプロセスＡ（１４３０）（図１３参照）を実行した際のシーケンス図を、図１７に示す。図１７に示すように、本実施形態によるビジネスプロセスの再構成を適用した結果のビジネスプロセスＡ（１４３０）（図１３参照）では、サービスＢ１、サービスＢ２を連続して実行するビジネスプロセスＢ（１４４０）（図１３参照）と、サービスＣ１、サービスＣ２を連続して実行するビジネスプロセスＣ（１４５０）（図１３参照）が定義されており、ビジネスプロセスＡ（１４３０）（図１３参照）から呼び出しが行われている。このため、ビジネスプロセスＡ（１４３０）（図１３参照）の実行時に必要なＥＳＢ間連携が２回に低減されている。したがって、本実施形態によるビジネスプロセスの再構成により、ビジネスプロセスの実行時に行われる非効率なＥＳＢ間連携が削減されている。また、ビジネスプロセスの実行時に必要なＥＳＢ間連携回数が削減されていることから、ビジネスプロセスの実行に必要なＥＳＢ実行計算機の計算量を削減することによるＥＳＢ実行計算機のスループットの向上や、ネットワークの通信量が削減される効果が得られる。
【００８１】
次に、第二の実施形態について、図面を用いて説明を行う。
第二の実施形態におけるＳＯＡシステムの例を、図１８に示す。図２に示した第一の実施形態におけるＳＯＡシステムとの差異は、ビジネスプロセス解析・再構成部４１０が、ビジネスプロセス再構成履歴管理部４１４を有することと、システム管理用計算機４００がビジネスプロセス再構成履歴管理テーブル２６０を有することである。
【００８２】
ビジネスプロセス再構成履歴管理テーブル２６０は、システム管理用計算機４００の主記憶装置９４０（図３参照）に格納される。ただし、ビジネスプロセス再構成履歴管理テーブル２６０は、ビジネスプロセス解析・再構成処理部４１０に包含されてもよく、また、二次記憶装置９５０（図３参照）に格納されてもよい。
【００８３】
ビジネスプロセス再構成履歴管理部４１４は、システム管理用計算機４００の主記憶装置９４０（図３参照）に格納され、ＣＰＵ９００（図３参照）により実行されるソフトウェアとして実装することができるが、これに限定されず、半導体回路などの専用ハードウェアとして実装してもよい。ビジネスプロセス再構成履歴管理部４１４は、ビジネスプロセス解析・再構成処理部４１０を用いて再構成されたビジネスプロセスについて、再構成を行う前のビジネスプロセスと、再構成を行った後のビジネスプロセスを関連付けるための履歴情報を、ビジネスプロセス再構成履歴管理テーブル２６０を用いて管理する機能を有する。なお、本実施形態では、ビジネスプロセス再構成履歴管理部４１４は、ＣＰＵ９００によって実行されるソフトウェアとして実現されているものとするが、説明の関係上、以降では、必要に応じてビジネスプロセス再構成履歴管理部４１４を実行主体として説明を行う。
【００８４】
ビジネスプロセス再構成履歴管理テーブル２６０の構成を、図１９に示す。ビジネスプロセス再構成履歴管理テーブル２６０は、再構成前のビジネスプロセス名を格納するカラムである再構成前名称２６１と、再構成後のビジネスプロセス名を格納するカラムである再構成後名称２６２とから構成されており、ビジネスプロセス再構成履歴管理部４１４は、再構成前のビジネスプロセス名と、再構成後のビジネスプロセス名とを関連付けて情報を格納する。すなわち、再構成前のビジネスプロセス名が同一のビジネスプロセスは、すべて同一のビジネスプロセスを再構成した結果、得られたビジネスプロセスであることを示している。例えば、図１９に示す例では、ビジネスプロセス開発者８００が定義したビジネスプロセスＡを再構成した結果、ビジネスプロセスＡ、ビジネスプロセスＢ、ビジネスプロセスＣの３つのビジネスプロセスとして再構成されたことを示している。同様に、ビジネスプロセスＤを再構成した結果として、ビジネスプロセスＤ、ビジネスプロセスＥ、ビジネスプロセスＦ、ビジネスプロセスＧの４つのビジネスプロセスとして、再構成されたことを示している。なお、ビジネスプロセスの関連付けを行うための情報は、ビジネスプロセスを特定可能な情報であればよく、ビジネスプロセスの名称に限定されるものではない。
【００８５】
本実施形態では、ビジネスプロセス配備部４２０がビジネスプロセス再構成履歴管理テーブル２６０に格納された情報を用いて、再構成前のビジネスプロセスと再構成後のビジネスプロセスの関連付けを行う機能を有することとする。この機能により、システム管理者８１０は、再構成前のビジネスプロセスの定義情報を用いて、ビジネスプロセスのＥＳＢへの配備や削除、ビジネスプロセスの定義変更などの操作を行うことができる。これにより、システム管理者８１０は、ビジネスプロセスの再構成を行い、ビジネスプロセスが複数のビジネスプロセスに分割された場合でも、再構成を行わなかった場合と同様にビジネスプロセスの操作を行うことが可能となる。
【００８６】
また、ビジネスプロセス再構成履歴管理部４１４では、ビジネスプロセスの再構成結果を格納する際、再構成されたビジネスプロセスが既に定義されていたものかどうかを調査するために、ビジネスプロセス名をキーとしてビジネスプロセス再構成履歴管理テーブル２６０の検索を行う。もし、ビジネスプロセスが新たに定義されたものであった場合（登録しようとするビジネスプロセス名と一致する再構成前名称２６１が存在しない場合）には、ビジネスプロセス再構成履歴管理部４１４は新たな関連付け情報として、ビジネスプロセス再構成履歴管理テーブル２６０に情報を格納する。もし、再構成されたビジネスプロセスと同一名称を持つビジネスプロセスが既に定義されていた場合（登録しようとするビジネスプロセス名と一致する再構成前名称２６１が存在する場合）には、該ビジネスプロセスの定義が変更されたことを表している。このため、ビジネスプロセス再構成履歴管理テーブル２６０に既に存在している情報（再構成前名称２６１が、登録しようとするビジネスプロセス名と一致するデータ）を削除してから、改めて関連付け情報を格納する。これにより、ビジネスプロセス開発者８００は、ビジネスプロセスが再構成されているかどうかに関わらず、再構成前のビジネスプロセスの定義情報を用いて、ビジネスプロセスの定義変更を行うことができる。
【００８７】
本実施形態によれば、ビジネスプロセスの再構成を行い、ビジネスプロセス実行時のＥＳＢ間連携回数を低減することにより、ビジネスプロセスの実行に必要なＥＳＢの計算量を低減することができ、ＥＳＢのスループットを向上することが可能となる。さらには、ＥＳＢ間の通信回数を低減することによるネットワーク負荷の軽減や、ビジネスプロセス実行時のレスポンスタイムを改善することが可能となる。
【図面の簡単な説明】
【００８８】
【図１】第一の実施形態におけるシステム全体の構成図の例である。
【図２】第一の実施形態におけるＳＯＡシステムの構成図の例である。
【図３】図１のシステム管理用計算機４００の構成図の例である。
【図４】図２の連携先ＥＳＢ情報管理テーブル２４０の構成図の例である。
【図５】図２のサービス配備状況管理テーブル２３０の構成図の例である。
【図６】図２の提供サービス一覧管理テーブル２５０の構成図の例である。
【図７】本実施形態の実施手順のフローチャートの例であり、ビジネスプロセス解析部、ビジネスプロセス再構成部、及びビジネスプロセス配布部の処理実行順序を示す図である。
【図８】図７のビジネスプロセス定義の再構成アルゴリズムの処理フローを示す図であり、ビジネスプロセス再構成部で実行される処理のフローを示す図である。
【図９】ビジネスプロセスの定義例である。
【図１０】制御構造を含むビジネスプロセスの定義例である。
【図１１】図８の領域解析アルゴリズムのフローチャートの例である。
【図１２】ビジネスプロセス再構成における途中経過の例である。
【図１３】ビジネスプロセス再構成結果の例である。
【図１４】変数宣言を含むビジネスプロセスの定義例である。
【図１５】変数宣言を含むビジネスプロセスの再構成結果の例である。
【図１６】ビジネスプロセス再構成アルゴリズム適用前のビジネスプロセス実行時シーケンス図の例である。
【図１７】ビジネスプロセス再構成アルゴリズム適用後のビジネスプロセス実行時シーケンス図の例である。
【図１８】第二の実施形態におけるＳＯＡシステムの構成図の例である。
【図１９】図１８のビジネスプロセス再構成履歴管理テーブルの構成図の例である。
【符号の説明】
【００８９】
１０１，１０２，１０３  ＳＯＡシステム（サブシステム）
２０１，２０２，２０３  ＥＳＢ実行計算機（ビジネスプロセス処理装置）
２１０  ＥＳＢ
２２１  ビジネスプロセス実行機能
２２２  ＥＳＢ連携状態監視機能
２２３  ＥＳＢ間連携機能
２３０  サービス配備状況管理テーブル（配備情報）
２４０  連携先ＥＳＢ情報管理テーブル
２５０  提供サービス一覧管理テーブル
３００  ビジネスプロセス開発用計算機
３１０  ビジネスプロセス開発機能
４００  システム管理用計算機
４１０  ビジネスプロセス解析・再構成処理部
４１１  ビジネスプロセス解析部
４１２  ビジネスプロセス再構成部
４１３  ビジネスプロセス配布部
４２０  ビジネスプロセス配備部
４３０  ビジネスプロセス解析・再構成プログラム
４３１  ビジネスプロセス解析プログラム
４３２  ビジネスプロセス再構成プログラム
４３３  ビジネスプロセス配布プログラム
４４０  ビジネスプロセス配備プログラム
５０１，５０２，５０３，５０４，５０５，５０６  サービス実行計算機
５１０  サービス実行基盤
６０１  サービスＡ１
６０２  サービスＡ２
６０３  サービスＡ３
６０４  サービスＡ４
６０５  サービスＢ１
６０６  サービスＢ２
６０７  サービスＣ１
６０８  サービスＣ２
７０１，７０２，７０３  クライアント用計算機
７１０  サービス呼び出し基盤
８００  ビジネスプロセス開発者
８１０  システム管理者
８２０  クライアント
９００  ＣＰＵ（処理部）
９１０  ネットワークインタフェース
９２０  グラフィックインタフェース
９２１  画像表示装置
９３０  ユーザ入力インタフェース
９４０  主記憶装置（記憶部）
９５０  二次記憶装置
９６０  システムバス
９７０  ＯＳ
１０００，１００１  ネットワーク
【図１】
2008204430.tif 000003
【図２】
2008204430.tif 000004
【図３】
2008204430.tif 000005
【図４】
2008204430.tif 000006
【図５】
2008204430.tif 000007
【図６】
2008204430.tif 000008
【図７】
2008204430.tif 000009
【図８】
2008204430.tif 000010
【図９】
2008204430.tif 000011
【図１０】
2008204430.tif 000012
【図１１】
2008204430.tif 000013
【図１２】
2008204430.tif 000014
【図１３】
2008204430.tif 000015
【図１４】
2008204430.tif 000016
【図１５】
2008204430.tif 000017
【図１６】
2008204430.tif 000018
【図１７】
2008204430.tif 000019
【図１８】
2008204430.tif 000020
【図１９】
2008204430.tif 000021