(57)【要約】  統合サーバとアプリケーションとに非依存である統合プロセスが開発されることが可能な統合環境を提供する方法およびシステム。この統合環境は、統合サーバに非依存である各アプリケーションのためのアプリケーションサービスインタフェースを提供する。アプリケーションサービスインタフェースを使用するために開発される統合プロセスが、統合プロセスがアクセスするアプリケーションをサポートするあらゆる統合サーバに対して互換性がある。統合環境は、各タイプのアプリケーションのための共通サービスインタフェースを提供する。この共通サービスインタフェースは、サービスを提供するアプリケーションに非依存であり、かつ、統合サーバにも非依存である。したがって、共通サービスインタフェースを使用するように開発された統合プロセスは、適切なタイプのあらゆるアプリケーションとあらゆる統合サーバとに互換性がある。
2007508602.tif 000002
【特許請求の範囲】
【請求項１】
統合環境を使用するプロセスの実行のためのコンピュータシステムにおけるアーキテクチャであって、
プロセスとインタフェースする各アプリケーションのためのアプリケーションサービスインタフェースであって、前記統合環境に非依存であるアプリケーションサービスインタフェースと、
前記アプリケーションサービスインタフェースを経由して提供される各タイプのサービスのための共通サービスインタフェースであって、特定のタイプのサービスのためのこの共通サービスインタフェースは、そのタイプのサービスが経由して提供される前記アプリケーションサービスインタフェースに非依存である共通サービスインタフェースと、を備えるアーキテクチャ。
【請求項２】
前記プロセスは、前記プロセスが、前記タイプのサービスをサポートするように選択された特定のアプリケーションに非依存であり、かつ、選択された特定の統合環境に非依存であるように、前記共通サービスインタフェースとインタフェースする請求項１に記載のアーキテクチャ。
【請求項３】
前記統合環境は、統合サーバによって提供される請求項１に記載のアーキテクチャ。
【請求項４】
前記アプリケーションサービスインタフェースと前記共通サービスインタフェースは、アプリケーションがプロセスのサービスにアクセスするために、および、プロセスがアプリケーションのサービスにアクセスするために使用される請求項１に記載のアーキテクチャ。
【請求項５】
前記プロセスは、前記特定の統合環境と、特定のタイプのサービスをサポートする特定のアプリケーションとに非依存である統合プロセスである請求項１に記載のアーキテクチャ。
【請求項６】
統合プロセスによってアクセスされる特定のタイプのサービスを提供する各アプリケーションに関して、統合サーバに非依存でありかつアプリケーションに非依存である形で前記アプリケーションにアクセスするためのアプリケーションサービスインタフェースのインプリメンテーションを実現すること、および、
前記統合プロセスによってアクセスされる各タイプのサービスに関して、
そのタイプのサービスを提供する各アプリケーションに関して、統合サーバに非依存でありかつアプリケーションに非依存である形でそのタイプのサービスを提供するアプリケーションにアクセスするための共通サービスインタフェースのインプリメンテーションを実現することであって、前記インプリメンテーションはアプリケーションに依存しており、統合サーバに非依存である形で前記アプリケーションにアクセスするために前記アプリケーションサービスインタフェースを使用すること、を含む方法によって、特定のタイプのサービスのタイプにアクセスする統合プロセスを実行するために統合サーバを制御する命令を含むコンピュータ可読媒体。
【請求項７】
特定のタイプのサービスを提供するアプリケーションのための前記アプリケーションサービスインタフェースの機能が、そのタイプのサービスのための前記共通サービスインタフェースの機能によるその呼出しを、前記アプリケーションの１つまたは複数の機能の呼出しに翻訳し、および、前記アプリケーションによるその呼出しを前記共通サービスインタフェースの１つまたは複数の機能の呼出しに翻訳する請求項６に記載のコンピュータ可読媒体。
【請求項８】
特定のタイプのサービスのための前記共通サービスインタフェースの機能は、統合プロセスによるその呼出しを、そのタイプのサービスを提供するアプリケーションのためのアプリケーションサービスインタフェースの１つまたは複数の機能の呼出しに変換し、および、前記アプリケーションのアプリケーションサービスインタフェースの機能によるその呼出しを、前記統合プロセスの１つまたは複数の機能の呼出しに変換する請求項６に記載のコンピュータ可読媒体。
【請求項９】
前記インプリメンテーションは、ＸＳＬＴトランスフォームによって実現される請求項６に記載のコンピュータ可読媒体。
【請求項１０】
前記共通サービスインタフェースと前記アプリケーションサービスインタフェースは、ＷＳＤＬを使用して定義される請求項６に記載のコンピュータ可読媒体。
【請求項１１】
統合サーバと特定のタイプのサービスを提供するアプリケーションとに非依存である統合プロセスを統合サーバ上で実行する方法であって、
前記統合プロセスによってアクセスされる各タイプのサービスに関して、
そのタイプのサービスを提供する前記アプリケーションに非依存である共通サービスインタフェースを提供すること、
そのタイプのサービスを提供するアプリケーションのための前記共通サービスインタフェースのインプリメンテーションを実現することであって、前記インプリメンテーションはアプリケーションと統合サーバとに依存していること、および、
アプリケーションの特定のタイプのサービスにアクセスするために前記共通サービスインタフェースを使用し、および、前記共通サービスインタフェースを使用するそのタイプのアプリケーションの前記アプリケーションにサービスを提供する、前記統合プロセスの命令を実行すること、を含む方法。
【請求項１２】
前記実現されたインプリメンテーションは、前記統合サーバに非依存である各アプリケーションのためにアプリケーションサービスインタフェースを使用する請求項１１に記載の方法。
【請求項１３】
各アプリケーションのための前記アプリケーションサービスインタフェースのインプリメンテーションを実現することを含む請求項１２に記載の方法。
【請求項１４】
アプリケーションのためのアプリケーションサービスインタフェースのインプリメンテーションは、共通サービスインタフェースの機能のインプリメンテーションによる前記アプリケーションサービスインタフェースの機能の呼出しを、前記アプリケーションの１つまたは複数の機能の呼出しに翻訳し、および、前記アプリケーションによる前記アプリケーションサービスインタフェースの機能の呼出しを前記共通サービスインタフェースの１つまたは複数の機能の呼出しに翻訳する請求項１３に記載の方法。
【請求項１５】
前記実現されたインプリメンテーションは、前記統合プロセスによる前記共通サービスインタフェースの機能の呼出しを、アプリケーションの１つまたは複数の機能の呼出しに変換し、および、アプリケーションによる前記共通サービスインタフェースの機能の呼出しを、前記統合プロセスの１つまたは複数の機能の呼出しに変換する請求項１１に記載の方法。
【請求項１６】
前記アプリケーションはアプリケーションサービスインタフェースを経由して前記共通サービスインタフェースを呼び出す請求項１５に記載の方法。
【請求項１７】
前記共通サービスインタフェースは、ＷＳＤＬを使用して定義される請求項１１に記載の方法。
【請求項１８】
前記インプリメンテーションは、ＸＳＬＴトランスフォームによって実現される請求項１１に記載の方法。
【請求項１９】
統合サーバと特定のタイプのサービスを提供するアプリケーションとに非依存である統合プロセスが開発されることが可能な統合環境を提供するコンピュータシステムにおける方法であって、
前記統合プロセスが実行する前記統合サーバに非依存である、各アプリケーションのためのアプリケーションサービスインタフェースを提供すること、
そのタイプのサービスを提供する前記アプリケーションに非依存であり、かつ、前記統合プロセスが実行する前記統合サーバに非依存である、各タイプのサービスのための共通サービスインタフェースを提供すること、並びに、
各タイプのサービスに関して、
統合プロセスによるそのタイプのサービスのための前記共通サービスインタフェースの機能の呼出しを、そのタイプのサービスを提供するアプリケーションのアプリケーションサービスインタフェースの１つまたは複数の機能の呼出しに変換し、および、
統合プロセスにそのタイプのサービスを提供するアプリケーションによる前記アプリケーションサービスインタフェースの機能の呼出しを、そのタイプのサービスのための前記共通サービスインタフェースの１つまたは複数の機能の呼出しに翻訳する、命令を提供すること、を含み、
それにより、アプリケーションサービスインタフェースを経由してそのタイプのサービスを提供するアプリケーションにサービスを提供するために、および、そのサービスを提供する前記アプリケーションに非依存でありかつ前記統合プロセスが実行している前記統合サーバに非依存である、そのタイプのサービスを提供するアプリケーションのサービスを使用するために、統合プロセスが開発されることが可能である方法。
【請求項２０】
前記アプリケーションサービスインタフェースと前記共通サービスインタフェースは、ＷＳＤＬを使用して定義される請求項１９に記載の方法。
【請求項２１】
機能の呼出しを変換する前記提供された命令は、ＸＳＬＴトランスフォームである請求項１９に記載の方法。
【請求項２２】
同一の情報に関する異なったアプリケーションからの識別子を共通識別子にマップするための機能を提供することを含む請求項１９に記載の方法。
【請求項２３】
前記統合プロセスによって使用される共通オブジェクトの定義を提供することを含む請求項１９に記載の方法。
【請求項２４】
変換する前記命令は、前記アプリケーションサービスインタフェースと前記共通サービスインタフェースとの間の意味変換を実現する請求項１９に記載の方法。
【請求項２５】
統合サーバが、アプリケーションに対するインタフェースを提供し、および、前記統合サーバによって提供される前記インタフェースを、そのアプリケーションのための前記アプリケーションサービスインタフェースに翻訳するトランスレータを提供することを含む請求項１９に記載の方法。
【請求項２６】
統合サーバに非依存である統合プロセスが開発されることが可能である統合環境を提供するコンピュータシステムにおける方法であって、
前記統合プロセスが実行する前記統合サーバに非依存である、各アプリケーションのためのアプリケーションサービスインタフェースを提供すること、並びに、
各アプリケーションに関して、
統合プロセスによるそのアプリケーションのための前記アプリケーションサービスインタフェースの機能の呼出しを、そのアプリケーションの統合サーバインタフェースの１つまたは複数の機能の呼出しに翻訳し、および、
そのアプリケーションによるそのアプリケーションのための前記統合サーバインタフェースの機能の呼出しを、前記統合プロセスの命令を実行するそのアプリケーションのための前記アプリケーションサービスインタフェースの１つまたは複数の機能の呼出しに翻訳する、命令を提供することを含み、
それにより、アプリケーションにサービスを提供するように前記アプリケーションサービスインタフェースを使用するために、および、前記統合プロセスが実行している前記統合サーバに非依存であるアプリケーションのサービスを使用するために、統合プロセスが開発されることが可能である方法。
【請求項２７】
前記アプリケーションサービスインタフェースは、ＷＳＤＬを使用して定義される請求項２６に記載の方法。
【請求項２８】
同一の情報に関する異なったアプリケーションからの識別子を共通識別子にマップする機能を提供することを含む請求項２６に記載の方法。
【請求項２９】
前記統合プロセスによって使用される共通オブジェクトの定義を提供することを含む請求項２６に記載の方法。
【請求項３０】
翻訳する前記命令は、前記アプリケーションサービスインタフェースと前記統合サーバインタフェースとの間の構文翻訳を実現する請求項２６に記載の方法。
【請求項３１】
アプリケーションの前記統合サーバインタフェースは、前記アプリケーションによって提供されるアプリケーションプログラムインタフェースに対するインタフェースを提供する請求項２６に記載の方法。
【請求項３２】
統合サーバと特定のタイプのサービスを提供するアプリケーションとに非依存である統合プロセスが開発されることが可能な統合環境を提供するコンピュータシステムにおける方法であって、
各タイプのサービスを提供している前記アプリケーションに非依存であり、かつ、前記統合プロセスが実行する前記統合サーバに非依存である、各タイプのサービスのための共通サービスインタフェースを提供すること、並びに、
各タイプのサービスに関して、
統合プロセスによるそのタイプのサービスのための前記共通サービスインタフェースの機能の呼出しを、そのタイプのサービスを提供する前記アプリケーションの前記統合サーバインタフェースの１つまたは複数の機能の呼出しに変換し、および、
そのタイプのサービスを提供するアプリケーションによる前記統合サービスインタフェースの機能の呼出しを、そのタイプのサービスのための前記共通サービスインタフェースの１つまたは複数の機能の呼出しに変換する、命令を提供すること、を含み、
それにより、特定のタイプのサービスを提供するアプリケーションに対してサービスを提供するように前記共通サービスインタフェースを使用するために、および、そのタイプのサービスを提供する前記アプリケーションに非依存でありかつ前記統合プロセスが実行している前記統合サーバに非依存であるそのタイプのサービスを使用するために、統合プロセスが開発されることが可能である方法。
【請求項３３】
前記共通サービスインタフェースは、ＷＳＤＬを使用して定義される請求項３２に記載の方法。
【請求項３４】
機能の呼出しを変換する前記提供された命令は、前記共通サービスインタフェースとアプリケーションサービスインタフェースとの間の機能呼出しの意味変換を行い、および、前記アプリケーションサービスインタフェースと統合サーバインタフェースとの間の機能呼出しの構文翻訳を行う請求項３２に記載の方法。
【請求項３５】
同一の情報に関する異なったアプリケーションからの識別子を共通識別子にマップする機能を提供することを含む請求項３２に記載の方法。
【請求項３６】
前記統合プロセスによって使用される共通オブジェクトの定義を提供することを含む請求項３２に記載の方法。
【請求項３７】
特定のサービスのタイプにアクセスする統合プロセスを実行するための統合サーバであって、前記統合プロセスは、前記統合サーバに非依存であり、かつ、各タイプのサービスを提供するアプリケーションに非依存であり、
統合プロセスによってアクセスされる特定のタイプのサービスを提供する各アプリケーションに関して、アプリケーションサービスインタフェースのインプリメント、統合サーバに非依存である形で前記アプリケーションにアクセスするための前記アプリケーションサービスインタフェース、前記インプリメンテーションは統合サーバに依存しており、
前記統合プロセスによってアクセスされる各タイプのサービスに関して、
そのタイプのサービスを提供する各アプリケーションに関して、共通サービスインタフェースのインプリメンテーション、アプリケーションに非依存である形でそのタイプのサービスを提供するアプリケーションにアクセスするための共通サービスインタフェース、前記インプリメンテーションは、アプリケーションに依存しており、かつ、統合サーバに非依存である形で前記アプリケーションにアクセスするためのアプリケーションサービスインタフェースを使用すること、を含む統合サーバ。
【請求項３８】
特定のタイプのサービスを提供するアプリケーションのためのアプリケーションサービスインタフェースの機能が、その特定のタイプのサービスのための共通サービスインタフェースの機能によるその呼出しを、前記アプリケーションの１つまたは複数の機能の呼出しに翻訳し、および、前記アプリケーションによるその呼出しを前記共通サービスインタフェースの１つまたは複数の機能の呼出しに翻訳する請求項３７に記載の統合サーバ。
【請求項３９】
特定のタイプのサービスのための前記共通サービスインタフェースの機能が、統合プロセスによるその呼出しを、そのタイプのサービスを提供するアプリケーションのためのアプリケーションサービスインタフェースの１つまたは複数の機能の呼出しに変換し、および、前記アプリケーションのアプリケーションサービスインタフェースの機能によるその呼出しを、前記統合プロセスの１つまたは複数の機能の呼出しに変換する請求項３７に記載の統合サーバ。
【請求項４０】
前記インプリメンテーションは、ＸＳＬＴトランスフォームによって実現される請求項３７に記載の統合サーバ。
【請求項４１】
前記共通サービスインタフェースと前記アプリケーションサービスインタフェースは、ＷＳＤＬを使用して定義される請求項３７に記載の統合サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
説明する技術は、一般的に、統合サーバ上で実行するビジネスプロセスに関する。
【背景技術】
【０００２】
統合サーバは、様々なアプリケーションにアクセスするビジネスプロセス、さらに一般的には統合サービスの開発を容易にするコンピュータサーバである。こうしたアプリケーションは、アプリケーションプロバイダによって開発された汎用アプリケーションと、企業によって開発されたカスタマイズドアプリケーションまたはレガシーアプリケーションとを含んでもよい。このアプリケーションは、カスタマーリレーションシップマネジメント（「ＣＲＭ」）アプリケーション、エンタプライズリソースプランニング（「ＥＲＰ）」アプリケーション、エンプロイーリレーションシップマネジメント（「ＥＲＭ」）アプリケーション等のような任意のタイプであってよい。統合サーバは、ビジネスプロセスがそれを介してアプリケーションのサービスにアクセスすることが可能でありかつアプリケーションにサービスを提供することが可能である、各アプリケーションのための統合サーバインタフェースを提供してもよい。様々なアプリケーションが、他のアプリケーションプロバイダのアプリケーションとは非常に異なっていることがあるフォーマットとプロトコルと他の特徴とを使用するアプリケーションプログラミングインタフェースを提供する場合が多いので、統合サーバのベンダの各々が、典型的には、各アプリケーションに対するそのベンダ自体の統合サーバインタフェースを定義する。統合サーバベンダの統合サーバインタフェースは、典型的には、アプリケーションに対するより一様なインタフェースを統合プロセスに提供する。
【０００３】
図１は、統合サーバの典型的なアーキテクチャを示すブロック図である。統合サーバ１００は様々なアプリケーション（ＡＰＰ）１０１−１０４に対してアクセスを提供する。この例では、アプリケーション１０１とアプリケーション１０２は同じタイプのアプリケーションであるが、異なるアプリケーションプロバイダによって提供される。例えば、アプリケーション１０１、１０２は、異なるベンダによって提供されたＣＲＭアプリケーションであってよい。アプリケーション１０３とアプリケーション１０４とが、ＥＲＰアプリケーションのような同一のタイプのアプリケーションである。アプリケーション１０１−１０４を表すブロック内の挿入句が、アプリケーションタイプとアプリケーションとを表示する。例えば、アプリケーション１０３を表すブロック内の挿入句「（２，１）」は、アプリケーションベンダ「１」によって提供されたアプリケーションタイプ「２」を表す。各々の統合サーバは、アプリケーション１０１−１０４に対する統合サーバインタフェース（ＩＳＩ）１１１−１１４をそれぞれに提供する。したがって、各々の統合サーバは、それがサポートする各アプリケーションのための少なくとも１つの統合サーバインタフェースを提供する。統合サーバインタフェース１１１−１１４を表すブロック内の挿入句が、アプリケーションタイプとアプリケーションと統合サーバとを表す。例えば、統合サーバインタフェース１１３を表すブロック内の挿入句「（２，１，ｋ）」は、そのインタフェースが、ベンダ「ｋ」によって提供された統合サーバのためにアプリケーションプロバイダ「１」によって提供されたアプリケーションタイプ「２」のためのものであるということを表示する。統合サーバ上でインプリメントされる各々のビジネスプロセス１５０が、各アプリケーションのための統合サーバの統合サーバインタフェースを使用することを特に目的として開発される。したがって、アプリケーション１０１とアプリケーション１０４とを使用してビジネスプロセスを開発した企業がアプリケーション１０３にスイッチすることを望む場合には、この企業は、統合サーバインタフェース１１４ではなく統合サーバインタフェース１１３にアクセスすることを特に目的として開発された新しいバージョンのビジネスプロセスを必要とする。さらに一般的には、ビジネスプロセスが、様々な統合サーバによって提供されるアプリケーションのすべての実現可能な組合せに適合するように開発される場合には、その異なったアプリケーションにアクセスするために必要とされるビジネスプロセスのバージョンの数が次式によって表現され、
【数１】
2007508602.tif 000003
【０００４】
前式中で、ｍが統合サーバの数を表し、ｉが、ビジネスプロセスがアクセスするアプリケーションのタイプを表し、ｎiが、アプリケーションタイプｉのための異なったアプリケーションの数を表す。例えば、５つの統合サーバが存在し、ビジネスプロセスが３つのタイプのアプリケーションにアクセスし、および、各タイプのアプリケーションが４つの採用可能なアプリケーションを有する場合には、統合サーバとアプリケーションとの組合せのすべてにアクセスするために開発されることが必要なビジネスプロセスのバージョンの数が３２０である。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
バージョンの数が多いので、ビジネスプロセスのプロバイダは、そのプロバイダのビジネスプロセスがサポートする統合サーバとアプリケーションを限定するか、または、各ビジネスプロセスの多数の異なったバージョンを開発する相当な量のリソースを費やす。同様に、統合サーバまたはアプリケーションをスイッチすることを望む企業は、そのビジネスプロセスのプロバイダが新たな統合サーバおよびアプリケーションをサポートするバージョンを提供することが可能であることを確実なものにする必要がある。これに加えて、企業が特注のビジネスプロセスを有する場合には、その企業は、新たな統合サーバおよびアプリケーションをサポートするために新たなバージョンを開発する必要があるだろう。１つの統合サーバから別の統合サーバへ移植可能であり、および、１つのアプリケーションから別のアプリケーションへ移植可能であったビジネスプロセスを有することが望ましいだろう。
【課題を解決するための手段】
【０００６】
統合サーバおよびアプリケーションに非依存である統合プロセスが開発されることが可能な統合環境を提供するための方法およびシステムが提供される。一実施形態では、汎用アプリケーションネットワーク（「ＵＡＮ」）とも呼ばれるこの統合環境が、統合サーバに非依存である各アプリケーションのためのアプリケーションサービスインタフェースを提供する。例えば、アプリケーションサービスインタフェースが、Ｔｉｂｃｏ、ＳｅｅＢｅｙｏｎｄ、および、ｗｅｂＭｅｔｈｏｄｓ統合サーバに関しても同じであるＳｉｅｂｅｌ  ＣＲＭアプリケーションのために提供されてよい。したがって、アプリケーションサービスインタフェースを使用するために開発される統合プロセスが、その統合プロセスがアクセスするアプリケーションをサポートする（すなわち、アプリケーションサービスインタフェースのインプリメンテーションを実現する）あらゆる統合サーバに対して互換性がある。別の実施形態では、統合環境が各タイプのアプリケーションのための共通サービスインタフェースを提供する。この共通サービスインタフェースは、サービスを提供しているアプリケーションに非依存であり、かつ、統合サーバにも非依存である。例えば、共通サービスインタフェースは、異なったプロバイダのＣＲＭアプリケーションに関しておよびＴｉｂｃｏおよびＳｅｅＢｅｙｏｎｄ統合サーバに関して同一であるＣＲＭアプリケーションのために提供されてもよい。したがって、共通サービスインタフェースを使用するために開発された統合プロセスは、適切なタイプのあらゆるアプリケーションとあらゆる統合サーバとに対して互換性がある。このようにして、共通サービスインタフェースを使用する統合プロセスが、その統合プロセスによってアクセスされるタイプのアプリケーションのための共通サービスインタフェースをサポートするあらゆる統合サーバにおいて変更なしに実行されることが可能である。さらに、統合サーバが、統合プロセスによってアクセスされるタイプの複数のアプリケーションをサポートする場合には、そのアプリケーションは統合プロセスの変更なしに相互交換されることが可能である。この結果として、統合プロセスが統合環境の共通サービスインタフェースを使用する場合には、そのビジネスプロセスの１つのバージョンだけが必要とされるにすぎない。
【発明を実施するための最良の形態】
【０００７】
一実施形態では、共通サービスインタフェースがアプリケーションサービスインタフェースを使用してインプリメントされる。統合サーバベンダの各々が、それがサポートする各アプリケーションのためのアプリケーションサービスインタフェースのインプリメンテーションを実現してよい。したがって、２つの異なったプロバイダのＣＲＭアプリケーションをサポートする統合サーバベンダは２つのインプリメンテーションを必要とする。これらのインプリメンテーションは、典型的には、アプリケーションに対する統合サービスインタフェースとアプリケーションサービスインタフェースとの間の構文翻訳を提供する。したがって、アダプタとも呼ばれるトランスレータが、各統合サーバによってサポートされる各アプリケーションのために開発される。各々の共通サービスインタフェースのインプリメンテーションが、１つのタイプのアプリケーションのための共通サービスインタフェースとそのタイプのアプリケーションのためのアプリケーションサービスインタフェースとの間の意味翻訳を提供する。したがって、各アプリケーションサービスインタフェースのためにトランスフォームが開発される。
【実施例】
【０００８】
図２は、統合プロセスがアプリケーションサービスインタフェースを使用する統合環境のアーキテクチャを示すブロック図である。図１を参照して説明したように、統合サーバ１００がアプリケーション（ＡＰＰ）１０１−１０４と統合サーバインタフェース（ＩＳＩ）１１１−１１４とを有する。この場合には、統合サーバは、統合サーバインタフェース１１１−１１４とアプリケーションサービスインタフェース（ＡＳＩ）１３１−１３４との間を翻訳するためにトランスレータ（Ｘｌａｔｅ）１２１−１２４をすでにインプリメントしている。統合プロセス２５０は、基礎をなす統合サーバに非依存である。したがって、例えば、アプリケーションサービスインタフェース１３１とアプリケーションサービスインタフェース１３４とを使用するように開発されてよい統合プロセスが、アプリケーションサービスインタフェース１３１、１３４をサポートするあらゆる統合サーバ上で実行することが可能である。トランスレータ１２１−１２４を表すブロック内の挿入句は、そのトランスレータがサポートするアプリケーションタイプとアプリケーションと統合サーバとを表す。例えば、トランスレータ１２３を表すブロック内の挿入句「（２，１，ｋ）」は、ベンダ「ｋ」によって提供された統合サーバのためのアプリケーションプロバイダ「１」によって提供されたアプリケーションタイプ「２」に対応する。トランスレータと統合サーバインタフェースとの間に１対１の対応があるので、統合サーバによってサポートされた各アプリケーションのためにアプリケーションサービスを提供するのに必要とされるトランスレータの数は、統合サーバインタフェースの数と同一である。例えば、３つの異なったタイプのアプリケーションが存在し、かつ、各タイプのアプリケーションが４つのアプリケーションを含む場合には、トランスレータの合計数は１２である。統合プロセス２５０によってアクセスされるアプリケーションの１つが異なったアプリケーションに変更される場合には、その新たなアプリケーションのアプリケーションサービスインタフェースにアクセスする統合プロセスの新たなバージョンが必要とされる。したがって、統合プロセスによってアクセスされるそのタイプのアプリケーションをインプリメントするアプリケーションの採用可能な組合せのすべてをサポートするために必要とされる統合プロセスのバージョンの数が、次式によって表現され、
【数２】
2007508602.tif 000004
【０００９】
したがって、例えば、３つの異なったタイプのアプリケーションが存在し、かつ、各タイプのアプリケーションが４つのアプリケーションを含む場合には、アプリケーションのすべての組合せをサポートするために必要とされるビジネスプロセスのバージョンの合計数が６４である。
【００１０】
図３は、統合プロセスが共通サービスインタフェースを使用する統合環境のアーキテクチャを示すブロック図である。図２を参照して説明したように、統合サーバ１００が同一のアプリケーションサービスインタフェース（ＡＳＩ）１３１−１３４を提供する。トランスフォーム（Ｘｆｏｒｍ）１４１−１４２が、そのトランスフォームのタイプのアプリケーションのための共通サービスインタフェース（ＣＳＩ）１５１をインプリメントするために開発され、および、トランスフォーム１４３−１４４が、そのトランスフォームのタイプのアプリケーションのための共通サービスインタフェース１５３をインプリメントするために開発される。トランスフォーム１４１−１４４がアプリケーションサービスインタフェースにアクセスするので、これらのトランスフォームは、基礎となる統合サーバに非依存である。各アプリケーションサービスインタフェースとトランスフォームとの間に１対１の対応があるので、必要とされるトランスフォームの数はアプリケーションサービスインタフェースの数と同一である。統合プロセス３５０は、統合プロセスがアクセスするタイプのアプリケーションをサポートする共通サービスインタフェース１５１、１５３を使用するために開発される。したがって、１つのアプリケーションが同じタイプの別のアプリケーションによって置き換えられる場合には、共通サービスインタフェースは、その新たなアプリケーションに関連しているトランスフォームを使用するようにスイッチされることを単に必要とするだけであり、および、統合プロセスは変更される必要がない。したがって、統合プロセスの唯一のバージョンだけが、アプリケーションと統合サーバのあらゆる組合せをサポートするために必要とされるにすぎない。
【００１１】
一実施形態では、共通サービスインタフェースは、統合プロセスとトランスフォームとの間のインタフェースを指定する１組のウェブサービス定義言語（「ＷＳＤＬ」）文書によって定義される。ＷＳＤＬ文書は、統合プロセスまたはトランスフォームによって呼び出されることが可能な共通サービスインタフェースの抽象的機能を定義し、および、そのインプリメンテーションに対する具体的なバインディングを指定する。インプリメンテーションは、ビジネスプロセス実行言語（「ＢＰＥＬ」）または拡張可能スタイルシート言語トランスフォーメーション（「ＸＳＬＴ」）のようなウェブサービスを生成するのに適している任意の言語で開発されてよい。トランスフォームが共通サービスインタフェースの抽象的機能を呼び出す時には、ＷＳＤＬ文書が、その抽象的機能をインプリメントする統合プロセス機能またはサービスを識別するために使用される。同様に、統合プロセスが共通サービスインタフェースの抽象的機能を呼び出す時には、ＷＳＤＬ文書が、その抽象的機能をインプリメントするトランスフォームを識別するために使用される。一実施形態では、アプリケーションサービスインタフェースも、トランスフォームとトランスレータとの間のインタフェースを指定する１組のＷＳＤＬ文書によって定義される。ＷＳＤＬ文書は、トランスフォームまたはトランスレータによって呼び出されることが可能なアプリケーションサービスインタフェースの抽象的機能を定義し、および、その抽象的機能のインプリメンテーションに対する具体的なバインディングを指定する。アプリケーションサービスインタフェースの抽象的機能は、共通サービスインタフェースの抽象的機能の場合と非常に類似した形で呼び出される。
【００１２】
図４は、一実施形態における例示的なトランスレータの制御流れを示すブロック図である。このトランスレータは、アプリケーションからの到着コールのインプリメンテーションを表す。この例では、アプリケーションとトランスレータとがＨＴＴＰトランスポートを経由して通信する。当業者は、他の通信プロトコルが使用可能であるということを理解するだろう。ブロック４０１が、ＨＴＴＰ接続を経由したアプリケーションからのＨＴＴＰ要求の受信を表す。ブロック４０２が、その要求のＸＭＬメッセージを、呼び出されるべきトランスフォームのフォーマットの形に翻訳することを表す。ブロック４０３が、翻訳されたメッセージを入力データとしてパス（pass）するトランスフォームに対する同期コールを表す。そのコールが完了すると、そのトランスフォームは、出力データまたはエラーメッセージを戻す。ブロック４０４が、アプリケーションに送られるべきＸＭＬメッセージの形に出力データを翻訳することを表す。ブロック４０５が、翻訳された出力データと共にＨＴＴＰ応答をアプリケーションに送ることを表す。ブロック４０７が、エラーを表示するＨＴＴＰ応答をアプリケーションに送ることを表す。
【００１３】
図５は、一実施形態における例示的なトランスフォームの制御流れを示すブロック図である。このトランスフォームは、アプリケーションからの到着コールのインプリメンテーションを表す。ブロック５０１が、トランスレータによるトランスフォームの呼出しを表す。ブロック５０２がアプリケーションのためのコンフィギュレーション情報の検索を表す。このコンフィギュレーション情報は、トランスフォームの処理を制御するために使用される。ブロック５０３が、そのトランスフォームが呼び出された時に受け取られた入力データの妥当性検査を表す。そのデータが有効ではない場合には、例えばイベントメッセージをポストすることによって、そのトランスフォームが妥当性検査エラーを知らせる。ブロック５０４が、共通サービスインタフェースの共通フォーマットへの入力データの変換を表す。一実施形態では、標準オブジェクトが共通サービスインタフェースによって定義される。こうした標準オブジェクトの一例が、本明細書に引例として組み入れられている２００３年３月２４日付で出願された標題「ビジネスリレーションシップのためのデータモデル」の米国特許出願第１０／３９６，７３０号において示されている。ブロック５０５が、入力データとして共通フォーマットの形でデータをパスする統合プロセスの呼出しを表す。この例では、呼出しは同時である。ブロック５０６は、統合プロセスによって戻される共通フォーマットの形の出力データの妥当性検査を表す。出力データが有効ではない場合には、トランスフォームが妥当性検査エラーを知らせる。ブロック５０７は、共通フォーマットの形のデータをアプリケーションのフォーマットに変換することを表す。ブロック５０８が、呼出しからの復帰と、呼出しトランスレータへの出力データの復帰とを表す。当業者は、変換を生じさせるためにトランスフォームが多数の異なった統合プロセスサービスとアプリケーションサービスとを呼び出してよいということを理解するだろう。例えば、共通フォーマットへの入力データの変換が、共通フォーマットへの入力データの変換のために必要とされる追加データを検索するために、アプリケーションサービスインタフェースを経由してアプリケーションを呼び出すことを必要とすることがある。
【００１４】
次の表１は、一実施形態におけるＷＳＤＬ文書を使用して定義されたアプリケーションサービスインタフェースの一例を示す。このアプリケーションサービスインタフェースは、３つの主要なＷＳＤＬ要素、すなわち、ポートタイプと、バインディングと、メッセージとを含む。一実施形態では、ポートタイプ要素はアプリケーションサービスインタフェースのすべてにおいて同一である。バインディング要素は、統合サーバベンダがそのトランスレータをどのように構成すべきかに関する情報を提供する。メッセージ要素は、アプリケーションサービスインタフェースのための入力メッセージと出力メッセージとを定義する。このＷＳＤＬ文書は、アプリケーションに対する非同期コールを定義し、および、したがって、１つの入力メッセージだけが定義される。非同期コールに関するＷＳＤＬ文書は、さらに、出力メッセージも定義するだろう。
【００１５】
【表１】
2007508602.tif 000005
【００１６】
表２は、一実施形態におけるＷＳＤＬ文書を使用して定義された共通サービスインタフェースの一例を示す。この共通サービスインタフェースは、統合プロセスからアプリケーションへの出発コールを表す。この共通サービスインタフェースは、共通フォーマットからそのアプリケーションのフォーマットへデータを変換するための２つのサービス（すなわち、オペレーション）を提供する。変換されるべきデータは、データのソースに応じて１パート形式または複数パート形式であることが可能である。したがって、ＷＳＤＬ文書は、別個の１パートおよび複数パートの入力メッセージおよび出力メッセージを定義する。バインディング要素は、１パートトランスフォームオペレーションが呼び出される時に呼び出される拡張可能トランスフォーム言語（「ＸＳＬ」）を使用して定義されたＸＳＬトランスフォーム（「ＸＳＬＴ」）を指定する。ＷＳＤＬ文書は、さらに、ＸＳＬＴ等を含む、共通フォーマットおよびアプリケーションフォーマットとのためのスキーマを含む様々なネーム空間も定義する。
【００１７】
【表２】
2007508602.tif 000006
【００１８】
表３が、表２の共通サービスインタフェースの１パートトランスフォームサービスをインプリメントするＸＳＬＴを含む。このＸＳＬＴは、異なったアプリケーションのデータの間のマッピングを可能にするためにＵＡＮによって提供される機能を呼び出す。マッピングのための機能を次に詳細に説明する。
【００１９】
【表３】
2007508602.tif 000007
【００２０】
相互参照サービス
相互参照サービスが、異なったアプリケーションの間のＵＡＮ内におけるレコードのマッピングと接続とを可能にする。このサービスは、異なった形で同一の基礎データを表現する情報の翻訳をサポートする。例えば、異なったアプリケーションが、国名コードに関する異なった命名法を使用してもよいし、または、レコードを識別するために異なったキーを使用してもよい。相互参照サービスは、翻訳または相互参照を補助するために、識別子相互参照機能と値相互参照機能とを提供する。識別子相互参照機能は動的レコードの識別子をマップするために使用され、および、値相互参照機能は静的レコードの値をマップするために使用される。動的レコードは実行時間中にアプリケーションによって生成される。例えば、カスタマーレコードが実行時間中に生成されることが可能であり、および、したがって動的レコードである。静的レコードは事前定義される。例えば、国名コードは静的である。
【００２１】
ＵＡＮは、アプリケーションのインスタンス間の動的レコードのための識別子（identifier）のマッピングを格納する。典型的には、アプリケーションの１つのインスタンスだけがＵＡＮのパートであるが、同一のアプリケーションが、ＵＡＮに接続された複数のサーバ上で実行していることが可能であることが可能である。したがって、ＵＡＮは、識別子を使用するアプリケーションインスタンスによって識別子を追跡する。トランスフォームが１つのアプリケーションのレコードを別のアプリケーションに提供する時には、そのトランスフォームは相互参照サービスによってそのレコードの識別子を登録する。相互参照サービスは共通識別子を割り当てて、それをトランスフォームに戻す。レコードがその他のアプリケーションに提供される時には、その他のアプリケーションはそのレコードの識別子をトランスフォームに戻す。その次に、トランスフォームは、共通識別子を使用して相互参照サービスによってその他のアプリケーションの識別子を登録する。この結果として、相互参照サービスが、各アプリケーションの識別子に対する共通識別子のマッピングを有する。その後でアプリケーションの識別子がトランスフォームに提供される時には、そのトランスフォームは、その他のアプリケーションの識別子を検索するために相互参照サービスを使用する。
【００２２】
図６は、一実施形態における相互参照サービスの識別子データ構造を示すブロック図である。当業者は、データ構造の多くの異なった編成が共通識別子に対するアプリケーション識別子のマッピングを表すために使用されることが可能であることを理解するだろう。この例では、データ構造は、識別子タイプテーブル（id type table）６０１と、アプリケーションインスタンステーブル（app inst table）６０２と、アプリケーション識別子テーブル（app id table）６０３と、共通識別子テーブル（common id table）６０４とを含む。識別子タイプテーブルは、相互参照サービスの形に構成されている各識別子タイプに関するエントリを含む。識別子タイプは、相互参照サービスによって登録されるデータのタイプを識別する。例えば、識別子タイプはカスタマーＩＤ（cust id）、アカウント番号、インボイス番号等であってよい。識別子タイプテーブルの各エントリは、アプリケーションインスタンステーブルと共通識別子テーブルとに対する参照を含む。識別子タイプのアプリケーションインスタンステーブルは、対応する識別子タイプに関して構成されている各アプリケーションインスタンスに関するエントリを含む。各エントリは、アプリケーションインスタンスに関する参照と、そのアプリケーションインスタンスに関するアプリケーション識別子テーブルに対する参照とを含む。アプリケーション識別子テーブルは、そのアプリケーションインスタンスに関して登録されている各識別子に関するエントリを含む。アプリケーション識別子テーブルの各エントリは、識別子と、その識別子タイプに関する共通識別子テーブル内のエントリに対する参照とを含む。共通識別子テーブルは、その識別子タイプに関して定義されている各共通識別子に関するエントリを含む。したがって、アプリケーション識別子テーブルのエントリは、対応する共通識別子にマップする。一実施形態では、共通識別子テーブルは、さらに、共通識別子にマップする各アプリケーション識別子が迅速に探索されることが可能であるように、各アプリケーション識別子に対する逆の参照を含んでもよい。
【００２３】
図７から図９が、一実施形態における識別子相互参照サービス機能の流れ図である。図７は、一実施形態における共通識別子設定機能（set common identifier function）の流れ図である。この共通識別子設定機能はアプリケーション識別子を登録するために呼び出される。この機能は、識別子タイプと、アプリケーションインスタンスと、アプリケーション識別子と、採用随意に共通識別子とをパスされる。共通識別子がパスされない場合には、この機能は、新たな共通識別子と共にアプリケーション識別子を登録し、それはそれを戻す。共通識別子がパスされる時には、その機能は、その共通識別子と共にアプリケーション識別子を登録する。判断ブロック７０１では、パスされた識別子タイプが識別子タイプテーブル内に存在し、かつ、パスされたアプリケーションインスタンスがそのパスされた識別子タイプに関する対応するアプリケーションインスタンステーブル内に存在する場合に、その機能はブロック７０２に進み、そうでない場合にはエラーを戻す。一実施形態では、識別子タイプとアプリケーションインスタンスとが相互参照サービスに対するコンフィギュレーション情報の形で提供される。あるいは、当業者は、別の選択肢として、識別子タイプとアプリケーションインスタンスとが識別子データ構造に動的に追加されることが可能であるということを理解するだろう。判断ブロック７０２では、共通識別子がパスされない場合に、その機能はブロック７０３に進み、そうでない場合にはこの機能はブロック７０６に進む。ブロック７０３−７０５では、この機能は、アプリケーション識別子が現時点で登録されていない場合に、新たな共通識別子と共に新たな登録を追加する。そうでない場合には、この機能は共通識別子を戻す。ブロック７０３では、この機能は、パスされたアプリケーション識別子に関するエントリをアプリケーション識別子テーブルから検索する。判断ブロック７０４では、そのエントリが検索された場合に、この機能はそのエントリの共通識別子を戻し、そうでない場合には、この機能はブロック７０５に進む。ブロック７０５では、この機能は、パスされた識別子タイプに関する共通識別子テーブルに対して新たな共通識別子と共にエントリを追加する。この機能は、さらに、アプリケーション識別子テーブルにエントリを追加し、その次に共通識別子を戻す。ブロック７０６−７１１では、この機能は、パスされた共通識別子によって識別されるすでに登録されているアプリケーション識別子に対応するパスされたアプリケーション識別子を登録する。ブロック７０６では、この機能は、アプリケーション識別子テーブルから、パスされたアプリケーション識別子に関するエントリを検索する。判断ブロック７０７では、エントリが検索される場合に、パスされたアプリケーション識別子に関するエントリがすでに存在するので、この機能はエラーを戻し、そうでない場合には、この機能はブロック７０８に進む。ブロック７０８では、この機能は、共通識別子テーブルから、パスされた共通識別子に関するエントリを検索する。判断ブロック７０９では、エントリが検索された場合に、この機能はブロック７１０に進み、そうでない場合には、誤った共通識別子と共に登録することをこの機能が要求されたので、この機能はエラーを戻す。判断ブロック７１０では、検索された共通識別子エントリが、パスされたアプリケーションインスタンスに関するアプリケーション識別子エントリにすでにリンクされている場合に、そのパスされたアプリケーションインスタンスに関する別のアプリケーション識別子が、パスされた共通識別子と共に登録されたので、この機能はエラーを戻し、そうでない場合には、この機能はブロック７１１に進む。ブロック７１１では、この機能は、共通識別子テーブルのエントリにリンクされているアプリケーション識別子テーブルにエントリを追加する。その次に、この機能は共通識別子を戻す。
【００２４】
図８は、一実施形態におけるアプリケーション識別子取得機能（get application identifier function）の流れ図である。この機能は、識別子タイプと、アプリケーションインスタンスと、共通識別子とをパスされ、および、対応するアプリケーション識別子を戻す。判断ブロック８０１では、パスされた識別子タイプが識別子タイプテーブル内に存在し、かつ、パスされたアプリケーションインスタンスがそのパスされた識別子タイプに関するアプリケーションインスタンステーブル内に存在する場合に、この機能はブロック８０２に進み、そうでない場合にはエラーを戻す。ブロック８０２では、この機能は、共通識別子テーブルから、パスされた共通識別子に関するエントリを検索する。判断ブロック８０３では、エントリが検索された場合に、この機能はブロック８０４に進み、そうでない場合には、この機能は、パスされた共通識別子に関するエントリが存在しないという表示を戻す。判断ブロック８０４では、共通識別子テーブルのエントリが、パスされたアプリケーションインスタンスに関するアプリケーション識別子に対する参照を含む場合に、この機能はそのアプリケーション識別子を戻し、そうでない場合には、この機能は、パスされたアプリケーションインスタンスとパスされた識別子タイプとに関するアプリケーション識別子がそのパスされた共通識別子に関して存在しないという表示を戻す。
【００２５】
図９は、一実施形態における共通識別子取得機能（get common identifier function）の流れ図である。この機能は、識別子タイプと、アプリケーションインスタンスと、アプリケーション識別子とをパスされる。この機能は、パスされたアプリケーション識別子に対応する共通識別子を戻す。判断ブロック９０１では、パスされた識別子タイプが識別子タイプテーブル内に存在し、かつ、パスされたアプリケーションインスタンスがそのパスされた識別子タイプに関するアプリケーションインスタンステーブル内に存在する場合に、この機能はブロック９０２に進み、そうでない場合には、この機能はエラーを戻す。ブロック９０２では、この機能は、パスされたアプリケーション識別子に関するエントリをアプリケーション識別子テーブルから検索する。ブロック９０３では、アプリケーション識別子エントリが検索された場合に、この機能はそのエントリの共通識別子を戻し、そうでない場合には、この機能は、アプリケーション識別子が発見されなかったという表示を戻す。
【００２６】
図１０は、一実施形態における相互参照の値データ構造を示すブロック図である。この値データ構造はアプリケーションの静的レコードに関する値を含む。この値データ構造は、ＵＡＮが構成される時にコンフィギュレーション情報からイニシャライズされてよい。この値データ構造は、値タイプの値に対応するアプリケーションの間をマップする情報を含む。この値データ構造は、値タイプテーブル（val type table）１００１と、値マッピングテーブル（val mapping table）１００２と、インデックス１００３とを含む。値タイプテーブルは、値データ構造と共に登録されている各値タイプに関するエントリを含む。値タイプテーブルの各エントリは、値タイプと、その値タイプに関する値マッピングテーブルに対する参照とを含む。値マッピングテーブルは、その値タイプに関する各々の固有値に関するエントリを含む。各エントリは、共通値（common val）と、別個のフィールド内の各アプリケーションに関する値とを含む。同じアプリケーションのインスタンスが同じ値マッピング情報を共用することが可能である。各々の値マッピングテーブルが、値マッピングテーブルの各アプリケーションインスタンスに関するインデックスを含む。各々のインデックスは、アプリケーションの値を値マッピングテーブル内の対応するエントリにマップする。当業者は、値データ構造の様々な編成が相互参照サービスの値登録を格納するために使用可能であるということを理解するだろう。さらに、当業者は、識別子データ構造に類似したデータ構造が使用可能であることも理解するだろう。類似したデータ構造が使用される場合には、識別子相互参照機能に類似した値相互参照サービス機能が使用されてもよい。
【００２７】
図１１と図１２は、一実施形態における値相互参照サービス機能の流れ図である。図１１は、一実施形態におけるアプリケーション値取得機能（get application value function）の流れ図である。この機能は、値タイプと、アプリケーションタイプと、共通値とをパスされる。この機能は、パスされた共通値に対応するパスされたアプリケーションタイプに関するアプリケーション値を戻す。判断ブロック１１０１では、パスされた値タイプが値タイプテーブル内に存在し、かつ、パスされたアプリケーションタイプに関する値マッピングテーブル内にフィールドが存在する場合に、この機能はブロック１１０２に進み、そうでない場合には、この機能はエラーを戻す。ブロック１１０２では、この機能は、パスされた共通値に関するエントリを、共通値に関するインデックスを使用して値マッピングテーブルから検索する。判断ブロック１１０３では、エントリが検索された場合に、この機能はブロック１１０４に進み、そうでない場合には、この機能はエラーを戻す。ブロック１１０４では、この機能は、パスされたアプリケーションタイプに関するアプリケーション値を、検索されたエントリから抽出し、その次にそのアプリケーション値を戻す。
【００２８】
図１２は、一実施形態における共通値取得機能（get common value function）の流れ図である。この機能は、値タイプと、アプリケーションタイプと、アプリケーション値とをパスされる。この機能は、パスされたアプリケーション値に対応する共通値を戻す。判断ブロック１２０１では、パスされた値タイプが値タイプテーブル内に存在し、かつ、パスされたアプリケーションタイプが値マッピングテーブル内のフィールドである場合に、この機能はブロック１２０２に進み、そうでない場合には、この機能はエラーを戻す。ブロック１２０２では、この機能は、パスされたアプリケーション値に関するエントリを、パスされたアプリケーションタイプに関するインデックスを使用して値マッピングテーブルから検索する。判断ブロック１２０３では、エントリが検索される時に、この機能はブロック１２０４に進み、そうでない場合には、この機能はエラーを戻す。ブロック１２０４では、この機能は、検索されたエントリから共通値を抽出して、この共通値を戻す。
【００２９】
図１３は、一実施形態におけるカスタマー識別子の変換の流れ図である。この流れ図は表３の処理に相当する。トランスフォームは、アプリケーションのカスタマー識別子がすでに登録されているかどうかを判定する。そうである場合には、このトランスフォームはアプリケーション識別子を戻す。そうでない場合には、このトランスフォームは、カスタマーに関するアプリケーション識別子を登録し、および、アドレスに関するアプリケーション識別子を登録する。ブロック１３０１では、このトランスフォームは、カスタマーアプリケーションタイプとアプリケーションインスタンスと共通識別子との表示をパスするアプリケーション識別子取得機能を呼び出す。判断ブロック１３０２では、この機能が空白（null）のアプリケーション識別子を戻す場合に、このトランスフォームはブロック１３０３に進み、そうでない場合には、このトランスフォームは完了する。ブロック１３０３では、このトランスフォームは、カスタマー識別子タイプとアプリケーションインスタンスとアプリケーション識別子と共通識別子とをパスする共通識別子設定機能（set common identifier function）を呼び出す。判断ブロック１３０４では、戻された共通識別子が空白である場合に、このトランスフォームは完了し、そうでない場合には、このトランスフォームはブロック１３０５に進む。ブロック１３０５では、このトランスフォームは、アドレス識別子タイプとアプリケーションインスタンスとアプリケーション識別子とアドレス共通識別子とに関する共通識別子設定機能を呼び出す。判断ブロック１３０６では、その機能によって戻された共通識別子追加（add common identifier）が空白である場合に、このトランスフォームは完了し、そうでない場合には、このトランスフォームはブロック１３０７に進む。ブロック１３０７では、このトランスフォームは、カスタマー識別子タイプとアプリケーションインスタンスと共通識別子とをパスするアプリケーション識別子取得機能を呼び出し、その次に完了する。
【００３０】
上述の説明から、統合サーバの特定の実施形態が例示のために本明細書に説明されているということと、本発明の着想と範囲とを逸脱することなしに様々な変更が加えられてよいということとが理解されるだろう。当業者は、異なったタイプのサービスをアプリケーションが提供できることを理解するだろう。例えば、単一のアプリケーションが発注サービスと注文処理サービスとを提供するだろう。共通サービスインタフェースが、各タイプのアプリケーションではなく各タイプのサービスに関して、より一般的に定義されてもよい。したがって、本発明は、添付されている特許請求の範囲による限定を除いて、制限されることはない。
【図面の簡単な説明】
【００３１】
【図１】統合サーバの典型的なアーキテクチャを示すブロック図である。
【図２】統合プロセスがアプリケーションサービスインタフェースを使用する統合環境のアーキテクチャを示すブロック図である。
【図３】統合プロセスが共通サービスインタフェースを使用する統合環境のアーキテクチャを示すブロック図である。
【図４】一実施形態における例示的なトランスレータの制御流れを示すブロック図である。
【図５】一実施形態における例示的なトランスフォームの制御流れを示すブロック図である。
【図６】一実施形態における相互参照サービスの識別子データ構造を示すブロック図である。
【図７】一実施形態における共通識別子設定機能の流れ図である。
【図８】一実施形態におけるアプリケーション識別子取得機能の流れ図である。
【図９】一実施形態における共通識別子取得機能の流れ図である。
【図１０】一実施形態における相互参照の値データ構造を示すブロック図である。
【図１１】一実施形態におけるアプリケーション値取得機能の流れ図である。
【図１２】一実施形態における共通値取得機能の流れ図である。
【図１３】一実施形態におけるカスタマー識別子の変換の流れ図である。
【図１】
2007508602.tif 000008
【図２】
2007508602.tif 000009
【図３】
2007508602.tif 000010
【図４】
2007508602.tif 000011
【図５】
2007508602.tif 000012
【図６】
2007508602.tif 000013
【図７】
2007508602.tif 000014
【図８】
2007508602.tif 000015
【図９】
2007508602.tif 000016
【図１０】
2007508602.tif 000017
【図１１】
2007508602.tif 000018
【図１２】
2007508602.tif 000019
【図１３】
2007508602.tif 000020
【国際調査報告】
2007508602.tif 000021