(57)【要約】【課題】  サービス実行要求時間を短縮し、処理の高速化をはかる。【解決手段】  分散オブジェクト環境において、サービス利用のたびにインタフェースに関する定義情報を取得し、サービスを呼び出し実行するサービス実行処理システムであって、あるサービスが提供するオペレーションを呼び出す際に、当該呼び出すオペレーションに特化したコンポーネントを生成する手段と、生成したコンポーネントを用いてオペレーションの呼び出しを実行する手段を有する。【選択図】      図３
2005250958.tif 000002
【特許請求の範囲】
【請求項１】
分散オブジェクト環境において、サービス利用のたびにインタフェースに関する定義情報を取得し、前記サービスを呼び出し実行するサービス実行処理システムであって、
前記あるサービスが提供するオペレーションを呼び出す際に、当該呼び出すオペレーションに特化したコンポーネントを生成する手段と、
前記生成したコンポーネントを用いて前記オペレーションの呼び出しを実行する手段を備えたことを特徴とするサービス実行処理システム。
【請求項２】
前記あるサービスが提供する同一オペレーションを呼び出す際に、前記生成したコンポーネントを再利用することを特徴とする請求項１に記載のサービス実行処理システム。
【請求項３】
分散オブジェクト環境において、サービス利用のたびにインタフェースに関する定義情報を取得し、前記サービスを呼び出し実行するサービス実行処理システムにおけるクライアント装置であって、
あるインタフェース記述方式で定義されたサービス呼び出し処理を実行するサービス処理コンポーネント手段と、
前記あるインタフェース記述方式で定義された、利用するサービス呼び出し処理に関する定義情報を取得し、対応する前記サービス処理コンポーネントを生成するサービスファクトリ手段と、
前記サービスファクトリに対して前記サービス処理コンポーネントの生成を要求し、前記サービスファクトリが生成したサービス処理コンポーネントを受け取り、当該サービス処理コンポーネントを用いて前記サービスを呼び出すユーザクライアント手段と、
を備えたことを特徴とするクライアント装置。
【請求項４】
前記サービスファクトリ手段は、
あるインタフェース記述方式で定義された利用するサービスの呼び出し処理に関する定義情報を取得し、当該取得した情報に基づきオブジェクトを生成し、前記インタフェース記述方式に依存しない呼び出しのためのコード部分を記述した特定のファイルからオペレーションを呼び出す特化コードを生成してファイル保存し、当該ファイルをコンパイルして前記ユーザクライアント手段に返答することを特徴とする請求項３に記載のクライアント装置。
【請求項５】
サービス内容が記述されたＷＳＤＬファイルを解析して必要な情報を取得し、当該取得した情報を用いてＥＪＢのリモートオブジェクトを生成し、前記取得した情報と前記ＷＳＤＬに依存しないコードが記述されたファイルからオペレーションを呼び出す特化コードを生成することを特徴とする請求項４に記載のクライアント装置。
【請求項６】
分散オブジェクト環境において、サービス利用のたびにインタフェースに関する定義情報を取得し、前記サービスを呼び出し実行するサービス実行処理システムにおけるオペレーションの呼び出し方法であって、
前記あるサービスが提供するオペレーションを呼び出す際に、当該呼び出すオペレーションに特化したコンポーネントを生成するステップと、
前記生成したコンポーネントを用いて前記オペレーションの呼び出しを実行するステップと、
を有することを特徴とするサービス実行処理システムにおけるオペレーションの呼び出し方法。
【請求項７】
分散オブジェクト環境において、サービス利用のたびにインタフェースに関する定義情報を取得し、前記サービスを呼び出し実行するサービス実行処理システムに用いられるプログラムであって、
前記あるサービスが提供するオペレーションを呼び出す際に、当該呼び出すオペレーションに特化したコンポーネントを生成する処理と、
前記生成したコンポーネントを用いて前記オペレーションの呼び出しを実行する処理と、
をコンピュータに実行させるプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散コンピューティング環境において、サービス利用のたびにインタフェースに関する定義情報を取得し、前記サービスを呼び出し実行する、分散コンピューティング環境におけるサービス実行処理システム、およびそのクライアント装置ならびにプログラム、サービス実行処理方法に関する。
【背景技術】
【０００２】
分散コンピューティング環境において、サービス利用アプリケーションは、その利用のたびにインタフェースに関する定義情報を取得し、サービスを動的に呼び出すことができる実装が存在する。この実行形式をダイナミックバインディングと呼ぶ。ところで、従来ダイナミックバインディングの実現方式として、様々な定義情報に対応可能な汎用的コンポーネントを用い、サービスのオペレーションを呼び出していた。具体的に説明すると、ダイナミックバインディングを用いた分散オブジェクトシステムにおける従来のリモートサービス呼び出し手順は次のようになる。
まず、クライアントはネーミングサービスにアクセスし、取得したいインタフェースの名前に対応した特定のクライアントスタブを取得する。続いて、それを用いてサービスのオペレーションのリモート呼び出しを行う。
上記した手順のうち、後者のサービスにアクセスする方法として、（１）サービス呼び出しに利用するクライアントスタブを用いたサービス呼び出しコードを直接クライアントに記述する場合と、（２）利用するクライアントスタブに依存しないコードをクライアントに記述する場合がある。
【０００３】
図６に、上記した（１）、図７に、上記した（２）によるサービス実行手順を示す。図７におけるサービスファクトリとは、インタフェースの名前に対応したサービス処理コンポーネントを生成する部分であり、「サービス処理コンポーネント」とは、サービス呼び出し処理を実現するコード部分である。
実行時に、その都度決定されるインタフェースに合わせて動的にサービスを実行する場合、（１）に示す方法では、たとえ同じサービスでも実行するオペレーションを変更するたびに、クライアントも変更しなければならず、共通のクライアントで他のサービスを呼び出すことができないといった問題がある。また、（２）に示す方法では、汎用的なクライアントを用いることで、共通のクライアントで他のサービスを呼び出すことができるため、（１）の問題点を解決することができるが、（１）の方法では必要ではなかった以下の二つの処理が（ａ）（ｂ）が追加されるため、処理が遅くなるという問題がある。
【０００４】
（ａ）サービス処理コンポーネントを、汎用的なコンポーネントを用いて実装しているため、オペレーションに関するオペレーションオブジェクトの生成処理と、メッセージオブジェクトの生成処理は、同一オペレーションの場合は、同一オブジェクトが再利用可能であるにも関わらず、呼び出されるたびに実行される。そのため、同一オペレーションが繰り返し呼び出される場合に、特に性能上のオーバーヘッドとなる。
（ｂ）サービス処理コンポーネントを、汎用的なコンポーネントを用いて実装しているため、処理オーバーヘッドの大きいリフレクションを用いたメソッド呼び出しが多くなる。このことも、性能上の問題となる。なお，「リフレクション」とは、汎用的なメソッド呼び出しのために、メソッド名から動的にメソッドに関するメソッドオブジクトを生成し、それを用いてメソッドを実行する手法のことである。
【０００５】
上記した（１）（２）の手法を用いた場合のそれぞれの問題点を解決するためには、汎用性を維持しつつ、性能の劣化を最小限に抑える必要がある。これを実現する既存技術として、プログラム特化がある。「プログラム特化」とは、プログラムに与えた部分的な入力を用いて、プログラムの一部をその入力値に固定したプログラムを自動生成する技法である。これにより、汎用的で可読性の高いプログラムを特定の用途を目的としたプログラムに変換してから実行できる。
【０００６】
次に、既存のプログラム特化の技術によって、上記の２つの問題を解決する手法を検討する。プログラム特化の中で、特にソース言語レベルで特化する手法を部分計算とよび、あるプログラムが固定入力で頻繁に実行される場合に、その入力を静的な入力として部分計算を適用することで高速化を達成できる（例えば、非特許文献１参照）。
図８にこの手法を示す。図８において、たとえば、Ａのようにオペレーションを呼び出す場合に、Ｓ＝４と分かれば、関数Ｆに対して静的な入力として部分計算を行うことで、Ｂのような特化されたコードを生成できる。
【０００７】
また、オペレーションの引数として指定されたオブジェクトの直列化と逆直列化処理のコードを特化し、それを再利用することで、リフレクションの回数を減らして、結果として性能向上を達成する技術もある（例えば、非特許文献２参照）。
ここで、「直列化処理」とは、ソフトウェア内部で扱っているデータをネットワークで送受信することができるように変換することであり、「逆直列化処理」とは、ネットワークを通じて送られてきた直列化されたデータを、ソフトウェアで扱うことのできる元のデータ形式に復元することである。図９に、引数オブジェクトの直列化、逆直列化処理を特化させる方法が示されている。この方法について、クライアント側での処理手順を以下の（１）〜（８）に列挙する。
【０００８】
（１）リフレクションを使ってオブジェクトのフィールド情報を獲得し、関連するオブジェクトを直列化または逆直列化するためのＪａｖａ（登録商標）ソースプログラムを作成する（Ｊａｖａ（登録商標）は米国SunMicrosystems社が開発したプログラミング言語）。
（２）ソースプログラムをコンパイルし、バイトコードに変換する。
（３）直列化用のクラスをクライアント側のＪａｖａ（登録商標）仮想機械に読み込む。
（４）オブジェクトのフィールド情報と逆直列化用のクラスをバイト列として書き出す。
（５）生成された直列化用のクラスを使って、直列化が必要なオブジェクトのフィールドの値をバイト列として書き出す。
（６）書き出されたバイト列をサーバ側に送信する。
【０００９】
次に、リモート呼び出しの際におけるサーバ側の処理手順を以下の（１）〜（４）に列挙する。
（１）バイト列を受け取る。
（２）オブジェクトのフィールド情報を抜き出して、オブジェクトの形に復元する。
（３）生成された逆直列化用のクラスを抜き出し、仮想機械に読み込む。
（４）クライアント側で直列化されたオブジェクトを逆直列化し、オブジェクトの形に復元する。
２回目以降のリモート呼び出しのときは、直列化用のクラスはクライアント側のＪａｖａ（登録商標）仮想機械に、逆直列化用のクラスはサーバ側のＪａｖａ（登録商標）仮想機械に読み込み済みであるので、クライアント側では上記処理の（５）と（６）だけ、サーバ側では（１）と（４）だけでよい。
【非特許文献１】「Ｊａｖａ（登録商標）言語向け適応的部分計算の設計と実装」、第6回プログラミングおよび応用のシステムに関するワークショップ SPA 2003
【非特許文献２】「効率のよいコードの自己生成によるRMIの高速化」、電子情報通信学会  Vol.J84-B  No.5  pp.883-892  2001年5月
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記したように、従来のプログラム特化では、オペレーションの引数そのものや、引数に関する処理を静的なコードに置き換えて特化させることによって高速化を実現してきた。しかし、これらの処理を特化させるだけでは不十分である。以下にその理由を説明する。
すなわち、オペレーションの引数を特化させる手法は、１回のリクエストで、同じオペレーションを一定回数以上繰り返し呼び出す場合に有効となる。しかしながら、リモートサービス呼び出しでは、１回のリクエストによるオペレーション実行回数が多い場合だけでなく、同じオペレーションに対するリクエストが繰り返し行われる場合もある。従って、この手法だけでは不十分である。また、直列化・逆直列化処理を特化させることで、データ転送処理は高速化されるが、上記した２つの問題点を解決することはできない。
【００１１】
本発明は上記事情に鑑みてなされたものであり、オペレーションの引数そのものや引数の直列化処理だけでなく、オペレーションの実行処理も特化させ、すなわち、オペレーションが呼び出されるたびに実行される、オペレーションを呼び出すために必要なオブジェクトとサーバに送信するメッセージを管理するオブジェクトの生成処理を回避し、サービス処理コンポーネントがオペレーションを呼び出す処理を静的なコードに置き換えて特化させることにより処理の高速化を実現する、分散コンピューティング環境におけるサービス実行処理システム、およびそのクライアント装置ならびにプログラム、サービス実行処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記した課題を解決するために本発明は、分散オブジェクト環境において、サービス利用のたびにインタフェースに関する定義情報を取得し、前記サービスを呼び出し実行するサービス実行処理システムであって、前記あるサービスが提供するオペレーションを呼び出す際に、当該呼び出すオペレーションに特化したコンポーネントを生成する手段と、前記生成したコンポーネントを用いて前記オペレーションの呼び出しを実行する手段、を備えたことを特徴とする。
【００１３】
また、本発明において、前記あるサービスが提供する同一オペレーションを呼び出す際に、前記生成したコンポーネントを再利用することを特徴とする。
【００１４】
また、本発明は、分散オブジェクト環境において、サービス利用のたびにインタフェースに関する定義情報を取得し、前記サービスを呼び出し実行するサービス実行処理システムにおけるクライアント装置であって、あるインタフェース記述方式で定義されたサービス呼び出し処理を実行するサービス処理コンポーネント手段と、前記あるインタフェース記述方式で定義された、利用するサービス呼び出し処理に関する定義情報を取得し、対応する前記サービス処理コンポーネントを生成するサービスファクトリ手段と、前記サービスファクトリに対して前記サービス処理コンポーネントの生成を要求し、前記サービスファクトリが生成したサービス処理コンポーネントを受け取り、当該サービス処理コンポーネントを用いて前記サービスを呼び出すユーザクライアント手段と、を備えたことを特徴とする。
【００１５】
また、本発明において、前記サービスファクトリ手段は、あるインタフェース記述方式で定義された利用するサービスの呼び出し処理に関する定義情報を取得し、当該取得した情報に基づきオブジェクトを生成し、前記インタフェース記述方式に依存しない呼び出しのためのコード部分を記述した特定のファイルからオペレーションを呼び出す特化コードを生成してファイル保存し、当該ファイルをコンパイルして前記ユーザクライアント手段に返答することを特徴とする。
【００１６】
また、本発明において、サービス内容が記述されたＷＳＤＬファイルを解析して必要な情報を取得し、当該取得した情報を用いてＥＪＢのリモートオブジェクトを生成し、前記取得した情報と前記ＷＳＤＬに依存しないコードが記述されたファイル（例えば，Ｊａｖａ（登録商標）ファイル）からオペレーションを呼び出す特化コードを生成することを特徴とする。
【００１７】
また、本発明は、分散オブジェクト環境において、サービス利用のたびにインタフェースに関する定義情報を取得し、前記サービスを呼び出し実行するサービス実行処理システムにおけるオペレーションの呼び出し方法であって、前記あるサービスが提供するオペレーションを呼び出す際に、当該呼び出すオペレーションに特化したコンポーネント生成する処理と、前記生成したコンポーネントを用いて前記オペレーションの呼び出しを実行するステップとを有することを特徴とする。
【００１８】
また、本発明は、分散オブジェクト環境において、サービス利用のたびにインタフェースに関する定義情報を取得し、前記サービスを呼び出し実行するサービス実行処理システムに用いられるプログラムであって、前記あるサービスが提供するオペレーションを呼び出す際に、当該呼び出すオペレーションに特化したコンポーネントを生成する処理と、前記生成したコンポーネントを用いて前記オペレーションの呼び出しを実行する処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、サービス処理コンポーネント取得処理には時間を要するが、サービス呼び出し処理時間は短縮される。サービス処理コンポーネント取得処理は、特定のオペレーションに対して１回のみ行われるため、ユーザクライアントが特定のオペレーションを高頻度に呼び出す場合、特に有効である。
本発明によれば、１回目の利用処理には時間を要するが、２回目以降の利用処理は高速になる。従って、あるサービスが提供する同一オペレーションを、一定回数以上繰り返し利用する場合に、既存技術よりも高速に実行することができる。このため、本発明が有効となる利用回数以下の場合は従来同様の方式を用いてサービスを実行し、利用回数を超えた場合は、本発明を利用することで、従来のサービス実行処理システムのみによるダイナミックバインディング処理を使う場合よりも、全体の処理時間を短縮できる。
【００２０】
既存のダイナミックバインディングの実現形式は、どのようなサービスにも対応できる処理モジュールを事前に用意し、そのモジュールをコピーし、取得した定義情報に合わせた動作を行うという方式であり、この方式は、対応すべきサービスの種類がさまざまである場合には有効である。しかし、繰り返し同一のサービスを実行する場合は、実行するたびに同じ処理を行うことになる点と、処理自身のオーバーヘッドが大きいという欠点が存在する。本発明は、これらの欠点を解決するダイナミックバインディングの実現方式を提供するものであり、処理性能の高速化を実現することができる。
【発明を実施するための最良の形態】
【００２１】
本発明実施形態によるリモート呼び出し処理手順を図１にフローチャートで示す。本発明実施形態によれば、オペレーションの引数そのものや引数の直列化処理だけでなく、オペレーションの実行処理も特化させている。
すなわち、オペレーションが呼び出されるたびに実行される、オペレーションを呼び出すために必要なオブジェクト（以降オペレーションオブジェクトと呼ぶ）とサーバに送信するメッセージを管理するオブジェクト（以降メッセージオブジェクトと呼ぶ）の生成処理を回避し、サービス処理コンポーネントがオペレーションを呼び出す処理を静的なコードに置き換えて特化させることにより処理の高速化を実現する。従って、オペレーションの引数そのものや引数の直列化処理だけでなく、オペレーションの実行処理も特化させる点（Ｓ１３）、同一オペレーションを呼び出す際に、そのオペレーションの実行処理を特化させて生成したクラスを再利用する（Ｓ１４）処理の２つが特徴になる。
【００２２】
上記したダイナミックバインディングを実現するため、サービスのインタフェースとバインディング情報は、呼び出しクライアントが理解できる形式（以降、インタフェース記述形式とよぶ）で定義され、クライアントは、それを用いてサービスを実行できる仕組みが必要となる。
現在、分散システム環境構築のために広く利用されているＷｅｂ（World Wide Web）サービス技術において、サービスのインタフェース記述言語であるＷＳＤＬ(Web Services Description Language)がある。ＷＤＳＬを用いてＷｅｂサービスの内容を記述する。また、ＷＤＳＬで記述されたインタフェース定義を読み込み、動的にオペレーションを呼び出すＷＳＩＦ(Web Services Invocation Framework)がある。ＷＳＩＦを用いた場合、ユーザクライアントの呼び出し手順をさらに詳細化すると、メッセージオブジェクトに設定する値オブジェクトの生成、呼び出すオペレーションに関するオペレーションオブジェクトの生成、そして、メッセージオブジェクトの生成に関する３つの処理を行う。
なお、ＷＤＳＬ、ＷＳＩＦについては、以下のＵＲＬにその詳細が示されている。
ＷＤＳＬ：http://www.w3.org/TR/wedl    http://ws.apache.org/wsif/
ＷＳＩＦ：http://ws.apache.org/wsif/
【００２３】
図２、図３に、サービス実行クライアントの構成と実行手順を示す。参考のために、従来例（図２）と本発明実施形態（図３）とを対比して示した。
クライアント１は、いずれも、サービス処理コンポーネント１１と、サービスファクトリ１２と、ユーザクライアント１３から構成される。
サービス処理コンポーネント１１は、インタフェース記述形式で定義されたサービス呼び出し処理を実現する部分であり、サービスファクトリ１２は、インタフェース記述方式で定義された、利用するサービス呼び出し処理に関する定義情報を受け取り、それに対応するサービス処理コンポーネントを生成する部分である。また、ユーザクライアント１３は、サービスファクトリ１２に、サービス処理コンポーネント１１の生成を要求し、サービスファクトリ１２が生成したサービス処理コンポーネント１１を受け取り、それを用いてサービスを呼び出す応用アプリケーション部分である。
なお、２はサーバであり、ネットワーク経由でサービスを提供する装置である。
【００２４】
ユーザクライアントの呼び出し手順は以下のとおりである。サービス処理コンポーネントの取得処理から説明する。
図２に示す従来例から説明する。ユーザクライアント１３が、利用したいサービス処理コンポーネント１１を保持していない場合、利用したいサービス呼び出し処理に関する情報をサービスファクトリ１２に送信する。サービスファクトリ１２は、受信した情報に基づいてサービス処理コンポーネント１１を生成し、ユーザクライアント１３に返却する。続いて、サービス実行要求処理に移るが、ユーザクライアント１３は、サービスのオペレーションを呼び出すごとに、返却されたサービス処理コンポーネント１１を用い、サービスのオペレーション呼び出しに必要なオブジェクトを生成し、サービスのオペレーションを呼び出す。
【００２５】
図３に示す本発明実施形態によれば、サービス処理コンポーネント１１を、汎用的なコンポーネントを用いて実装せず、特定のオペレーションのみに特化されたコンポーネントによって実現している。２回目以降のオペレーション呼び出しは、このコンポーネントを再利用して実行する。これにより、オペレーションを呼び出すたびにオブジェクトを生成する必要がなくなり、１つ目の問題点であるＷＳＩＦにおいて時間のかかる処理が回避される。また、オペレーションの呼び出しに利用する、特定のオペレーションのみに特化されたコンポーネントは、汎用的な呼び出しであるリフレクションを使わずに、オペレーションを直接呼び出すためのコードを生成し、それをコンパイルすることで生成される。従って、２つ目の問題点であった処理オーバーヘッドの大きい処理を回避することもできる。
【００２６】
次に、本発明を用いて、ＥＪＢ（Enterprise JavaBeans）で公開されているＷｅｂサービスを呼び出すためのサービス処理コンポーネントの生成手順を図４に示す。
ここでは、まず、サービス内容が記述される、与えられたＷＳＤＬファイルを解析して、Ｈｏｍｅオブジェクト名やＪＮＤＩ名など必要な値を取得する（Ｓ１２１）。なお、ＥＪＢの定義情報はＷＳＩＦにおいて定められた仕様に従っている。次に、取得した情報を用い、EJBのリモートオブジェクトを生成する（Ｓ１２２）。ここで、取得した情報と、ＷＳＤＬに依存しない呼び出しコード部分を記述したＪａｖａ（登録商標）のファイルから、オペレーションを呼び出す特化コードを生成し、ファイルとして保存する（Ｓ１２３）。そして、ファイルをコンパイルして、特化クラスを生成し（Ｓ１２４）、そのクラスをインスタンス化してユーザクライアントに返却する（Ｓ１２５）。
【００２７】
なお、本発明実施形態のＷＳＩＦを用いた場合の処理時間に対する有効性を定量的に見積るために、評価実験を行った。
ここでは、引数が一つで処理も行い、ＥＪＢサービス側のオブジェクトによって実現するサービスのオペレーションを呼び出すこととし、処理時間は、同一オペレーション呼び出しを１００００回繰り返し、その平均から算出した。図５に、処理時間の比較が示されている。引数を、文字列長２００００バイトとしている。
図５に示す比較表から明確なように、評価実験をした結果、本発明実施形態によれば、サービス実行要求全体の処理時間を既存手法の５０％に減少できた。本発明実施形態では、サービス処理コンポーネント１１取得処理には時間を要するが、サービス呼び出し処理時間は短縮される。サービス処理コンポーネント１１取得処理は、特定のオペレーションに対して１回のみ行われるため、ユーザクライアント１３が、特定のオペレーションを高い頻度で呼び出す場合に有効となる。
【００２８】
以上説明のように本発明は、分散オブジェクト環境において、オペレーションの実行処理を特化させたクライアントを動的に生成し、それを用い、異なる計算機上に存在し、ネットワークを介して利用されるようなサービスを呼び出すクライアントシステムを提供するものである。また、同一オペレーションを呼び出す際に、オペレーションを呼び出すために必要なオブジェクトを再利用して、オペレーションを呼び出すことが可能であり、このことにより、サービス実行処理の高速化による性能向上を実現するものである。
なお、図３に示す、サービス処理コンポーネント１１、サービスファクトリ１２、ユーザクライアント１３のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって本発明のサービス実行処理システムおよびクライアント装置を実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺機器等のハードウェアを含む。
【００２９】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００３０】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００３１】
【図１】本発明実施形態に係るリモート呼び出し処理手順を示す図である。
【図２】従来のサービス実行処理システムの構成例を示す図である。
【図３】本発明実施形態に係る構成例を示す図である。
【図４】本発明実施形態に係るサービス処理コンポーネントの生成手順を示す図である。
【図５】本発明実施形態と従来例との性能を対比して示した評価表を示す。
【図６】従来例のリモート処理手順を示す図である。
【図７】従来例のリモート処理手順を示す図である。
【図８】引数を特化させる方法を説明するために引用した図である。
【図９】引数オブジェクトの直列化、逆直列か処理を特化させる方法を説明するために引用した図である。
【符号の説明】
【００３２】
１…クライアント、２…サーバ、１１…サービス処理コンポーネント、１２…サービスファクトリ、１３…ユーザクライアント
【図１】
2005250958.tif 000003
【図２】
2005250958.tif 000004
【図３】
2005250958.tif 000005
【図４】
2005250958.tif 000006
【図５】
2005250958.tif 000007
【図６】
2005250958.tif 000008
【図７】
2005250958.tif 000009
【図８】
2005250958.tif 000010
【図９】
2005250958.tif 000011