(57)【要約】【課題】環境に応じた最適なバインディングを自動的に選択することのできる機能を有したＷｅｂサービス接続用開発フレームワークを提供する。【解決手段】マルチバインディング機能を提供しているＷｅｂサービスに接続するための接続機構を実現する開発フレームワークであって、使用するバインディングの選択条件を保持する接続設定手段を生成するモジュールと、クライアントで実行される共通インタフェース実行用コードからの接続要求を受け付ける共通インタフェース手段を構成するモジュールと、上記接続設定手段から選択条件を取得する読取／解析手段を構成するモジュールと、クライアントおよび／もしくはサーバの環境情報を取得する環境情報取得手段を構成するモジュールと、上記選択条件および上記環境情報に基づいて使用するバインディングを決定する接続選択決定手段を構成するモジュールと、決定されたバインディングに対応する実行コードによりＷｅｂサービスへの接続を行う呼出手段を構成するモジュールとを備える。【選択図】図１２
2007066295.tif 000002
【特許請求の範囲】
【請求項１】
マルチバインディング機能を提供しているＷｅｂサービスに接続するための接続機構を実現する開発フレームワークであって、
使用するバインディングの選択条件を保持する接続設定手段を生成するモジュールと、
クライアントで実行される共通インタフェース実行用コードからの接続要求を受け付ける共通インタフェース手段を構成するモジュールと、
上記接続設定手段から選択条件を取得する読取／解析手段を構成するモジュールと、
クライアントおよび／もしくはサーバの環境情報を取得する環境情報取得手段を構成するモジュールと、
上記選択条件および上記環境情報に基づいて使用するバインディングを決定する接続選択決定手段を構成するモジュールと、
決定されたバインディングに対応する実行コードによりＷｅｂサービスへの接続を行う呼出手段を構成するモジュールとを備えたことを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項２】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記モジュールは、ｊａｒファイルもしくはｄｌｌファイルとして提供されることを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項３】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記共通インタフェース手段、読取／解析手段、環境情報取得手段、接続選択決定手段、呼出手段は、部品としてクラス定義されることを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項４】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記接続設定手段は、ＸＭＬにより記述された接続設定ファイルからなることを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項５】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記接続設定手段は、接続対象のＷｅｂサービスのＩＰアドレスがローカルホストを指すＩＰアドレスである場合に、Ｊａｖａバインディングを優先的に使用する旨の記述を含み、
リモートホストを指すＩＰアドレスである場合に、ＳＯＡＰバインディング、ＪＭＳバインディング、ＥＪＢバインディングのいずれかを優先的に使用する旨の記述を含むことを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項６】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記接続設定手段は、クライアントとサーバ間の通信速度に応じて優先的に使用するバインディングを指定する記述を含むことを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項７】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記接続設定手段は、動作環境がデバッグモードであるか否かに応じて優先的に使用するバインディングを指定する記述を含むことを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項８】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記接続設定手段は、上記クライアントに保持されることを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項９】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記接続設定手段は、上記サーバに保持され、上記クライアントから参照されることを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項１０】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記接続設定手段は、一群の上記クライアントに保持されるとともに、他の一群の上記クライアントにつき上記サーバに保持され、他の一群の上記クライアントから参照されることを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項１１】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記接続設定手段は、サービスレジストリのホストに保持され、上記クライアントから参照されることを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項１２】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記接続設定手段は、サービスレジストリのホストに保持されて上記クライアントから参照されるとともに、一群の上記クライアントに保持されることを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項１３】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記読取／解析手段は、上記クライアントに設けられることを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項１４】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記読取／解析手段は、上記サーバに設けられることを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項１５】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記環境情報取得手段は、上記クライアントの環境情報を取得するクライアント環境情報取得手段を含むことを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項１６】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記環境情報取得手段は、上記サーバの環境情報を取得するサーバ環境情報取得手段を含むことを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項１７】
請求項１６に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記サーバ環境情報取得手段は、上記サーバに設けられたサーバ環境情報取得エージェントから情報を取得することを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項１８】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記共通インタフェース手段は、初期化とサービス実行とを分け、サービス実行前に１度だけ初期化を行うことを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項１９】
請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記共通インタフェース手段は、初期化とサービス実行とを同時に行うことを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項２０】
請求項１９に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記初期化と上記サービス実行とを別のメソッドにより行うことを特徴とするＷｅｂサービス接続用開発フレームワーク。
【請求項２１】
請求項１９に記載のＷｅｂサービス接続用開発フレームワークにおいて、
上記初期化と上記サービス実行とを一つのメソッドにより行うことを特徴とするＷｅｂサービス接続用開発フレームワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチバインディング機能を提供しているＷｅｂサービスに接続するにあたり、ＩＰ（Internet Protocol）アドレスや環境に応じたＷｅｂサービス接続方式の自動的な切替えを行うためのＷｅｂサービス接続用開発フレームワークに関する。
【背景技術】
【０００２】
Ｗｅｂサービスはインターネット標準技術を使ってネットワーク上に分散したアプリケーション（コンポーネント）を連携させる技術であり、個々のアプリケーションそのものもＷｅｂサービスと呼ばれる（例えば、特許文献１〜４参照。）。
【０００３】
ところで、当初のＷｅｂサービスの実装にあっては、ネットワーク上のサーバに存在するリモートのＷｅｂサービスと同一のクライアントホスト上に存在するローカルのＷｅｂサービスとを区別していなかったため、Ｗｅｂサービスの利用にあたり常にネットワーク通信およびその準備の時間が必要であり、効率的ではなかった。
【０００４】
また、Ｗｅｂサービスを利用するためのメッセージ技術としてはＳＯＡＰ（Simple Object Access Protocol）通信が用いられることが多いが、ＳＯＡＰはデータ量も多いとともに、ＸＭＬ（eXtensible Markup Language）解析時間も必要であり、環境によっては効率的でない場合もあった。
【０００５】
これらの解決策としてマルチバインディング機能が提供され、ＷＳＩＦ（Web Service Invocation Framework）によって実現されるに至っている。ＷＳＩＦは複数のバインディング（抽象的な操作やメッセージから具体的なプロトコルやメッセージへのマッピング）を提供するＷｅｂサービスの呼出しをクライアント側で実現するためのフレームワークである。
【０００６】
図１はこのようなマルチバインディングに基づく従来のＷｅｂサービス接続機構の構成例を示す図である。図１において、Ｗｅｂサービスクライアント１ＡにはＪａｖａ実行用コードが実装され、Ｗｅｂサービスクライアント１ＢにはＪＭＳ（Java Message Service）実行用コードが実装され、Ｗｅｂサービスクライアント１ＣにはＥＪＢ（Enterprise JavaBeans）実行用コードが実装され、Ｗｅｂサービスクライアント１ＤにはＳＯＡＰ実行用コードが実装されているものとすると、マルチバインディング接続モジュール２はＷｅｂサービスを記述したＷＳＤＬ（Web Services Description Language）６を参照し、各バインディング（Ｊａｖａバインディング、ＪＭＳバインディング、ＥＪＢバインディング、ＳＯＡＰバインディング）に対応するスタブ３Ａ〜３Ｄ（Ｊａｖａスタブ３Ａについては省略可）を静的あるいは動的に生成し、対応するスタブ（３Ａ〜３Ｄ）を介して対応するインタフェース（４Ａ〜４Ｄ）に接続し、Ｗｅｂサービス５を利用する。
【０００７】
ここで、Ｗｅｂサービス５と同一のクライアントホスト内に存在するＷｅｂサービスクライアント１Ａではネットワーク通信を伴わないＪａｖａ実行用コードによる効率的な接続が可能となり、その他のＷｅｂサービスクライアント１Ｂ〜１Ｄでは実装したコードに対応した方式による効率的なネットワーク経由による接続が可能となる。
【特許文献１】特開２００４−１７１５２４号公報
【特許文献２】特開２００４−１７１５２５号公報
【特許文献３】特開２００４−２７２８８８号公報
【特許文献４】特開２００４−２７４７３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したように、従来のＷｅｂサービス接続機構にあっては、Ｗｅｂサービス側の提供する複数のバインディングのうちからＷｅｂサービスクライアント側のコードに対応したバインディングが選択されることで効率のよい方式を使用できる利点があったが、選択されるバインディングがＷｅｂサービスクライアント側のコードに依存するため、マルチバインディングを提供するＷｅｂサービスの活用が難しいという問題があった。
【０００９】
すなわち、ホストの性能、ネットワーク環境、開発工程といった環境によって最適なバインディングも変化するものであるが、バインディングを変更するためにはＷｅｂサービスクライアント側のコードを修正しなければならず、そのための作業が煩雑であった。特に、複数のＷｅｂサービスクライアントが存在する場合は全てに変更を反映する必要があり、トータルの作業は相当なものとなっていた。
【００１０】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、環境に応じた最適なバインディングを自動的に選択することのできる機能を有したＷｅｂサービス接続用開発フレームワークを提供することにある。
【課題を解決するための手段】
【００１１】
上記の課題を解決するため、本発明にあっては、請求項１に記載されるように、マルチバインディング機能を提供しているＷｅｂサービスに接続するための接続機構を実現する開発フレームワークであって、使用するバインディングの選択条件を保持する接続設定手段を生成するモジュールと、クライアントで実行される共通インタフェース実行用コードからの接続要求を受け付ける共通インタフェース手段を構成するモジュールと、上記接続設定手段から選択条件を取得する読取／解析手段を構成するモジュールと、クライアントおよび／もしくはサーバの環境情報を取得する環境情報取得手段を構成するモジュールと、上記選択条件および上記環境情報に基づいて使用するバインディングを決定する接続選択決定手段を構成するモジュールと、決定されたバインディングに対応する実行コードによりＷｅｂサービスへの接続を行う呼出手段を構成するモジュールとを備えるＷｅｂサービス接続用開発フレームワークを要旨としている。
【００１２】
また、請求項２に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記モジュールは、ｊａｒファイルもしくはｄｌｌファイルとして提供されるものとすることができる。
【００１３】
また、請求項３に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記共通インタフェース手段、読取／解析手段、環境情報取得手段、接続選択決定手段、呼出手段は、部品としてクラス定義されるものとすることができる。
【００１４】
また、請求項４に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記接続設定手段は、ＸＭＬにより記述された接続設定ファイルからなるものとすることができる。
【００１５】
また、請求項５に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記接続設定手段は、接続対象のＷｅｂサービスのＩＰアドレスがローカルホストを指すＩＰアドレスである場合に、Ｊａｖａバインディングを優先的に使用する旨の記述を含み、リモートホストを指すＩＰアドレスである場合に、ＳＯＡＰバインディング、ＪＭＳバインディング、ＥＪＢバインディングのいずれかを優先的に使用する旨の記述を含むものとすることができる。
【００１６】
また、請求項６に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記接続設定手段は、クライアントとサーバ間の通信速度に応じて優先的に使用するバインディングを指定する記述を含むものとすることができる。
【００１７】
また、請求項７に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記接続設定手段は、動作環境がデバッグモードであるか否かに応じて優先的に使用するバインディングを指定する記述を含むものとすることができる。
【００１８】
また、請求項８に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記接続設定手段は、上記クライアントに保持されるものとすることができる。
【００１９】
また、請求項９に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記接続設定手段は、上記サーバに保持され、上記クライアントから参照されるものとすることができる。
【００２０】
また、請求項１０に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記接続設定手段は、一群の上記クライアントに保持されるとともに、他の一群の上記クライアントにつき上記サーバに保持され、他の一群の上記クライアントから参照されるものとすることができる。
【００２１】
また、請求項１１に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記接続設定手段は、サービスレジストリのホストに保持され、上記クライアントから参照されるものとすることができる。
【００２２】
また、請求項１２に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記接続設定手段は、サービスレジストリのホストに保持されて上記クライアントから参照されるとともに、一群の上記クライアントに保持されるものとすることができる。
【００２３】
また、請求項１３に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記読取／解析手段は、上記クライアントに設けられるものとすることができる。
【００２４】
また、請求項１４に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記読取／解析手段は、上記サーバに設けられるものとすることができる。
【００２５】
また、請求項１５に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記環境情報取得手段は、上記クライアントの環境情報を取得するクライアント環境情報取得手段を含むものとすることができる。
【００２６】
また、請求項１６に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記環境情報取得手段は、上記サーバの環境情報を取得するサーバ環境情報取得手段を含むものとすることができる。
【００２７】
また、請求項１７に記載されるように、請求項１６に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記サーバ環境情報取得手段は、上記サーバに設けられたサーバ環境情報取得エージェントから情報を取得するものとすることができる。
【００２８】
また、請求項１８に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記共通インタフェース手段は、初期化とサービス実行とを分け、サービス実行前に１度だけ初期化を行うものとすることができる。
【００２９】
また、請求項１９に記載されるように、請求項１に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記共通インタフェース手段は、初期化とサービス実行とを同時に行うものとすることができる。
【００３０】
また、請求項２０に記載されるように、請求項１９に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記初期化と上記サービス実行とを別のメソッドにより行うものとすることができる。
【００３１】
また、請求項２１に記載されるように、請求項１９に記載のＷｅｂサービス接続用開発フレームワークにおいて、上記初期化と上記サービス実行とを一つのメソッドにより行うものとすることができる。
【発明の効果】
【００３２】
本発明のＷｅｂサービス接続用開発フレームワークにあっては、環境に応じた最適なバインディングを自動的に選択する機能を提供することができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の好適な実施形態につき詳細に説明する。
【００３４】
図２は本発明の一実施形態にかかるＷｅｂサービス接続機構の構成例を示す図である。図２において、Ｗｅｂサービスクライアント１には共通インタフェース実行用コード１１が実装され、開発フレームワーク７により提供される自動接続切替モジュール８を介してマルチバインディング接続モジュール２に接続するようになっている。自動接続切替モジュール８は、同じく開発フレームワーク７により提供される接続設定ファイル９の設定内容を読み込み、環境に応じてＪａｖａ実行用コード８１、ＪＭＳ実行用コード８２、ＥＪＢ実行用コード８３、ＳＯＡＰ実行用コード８４を適宜に選択するようになっている。マルチバインディング接続モジュール２はＷｅｂサービスを記述したＷＳＤＬ６を参照し、各バインディング（Ｊａｖａバインディング、ＪＭＳバインディング、ＥＪＢバインディング、ＳＯＡＰバインディング）に対応するスタブ３Ａ〜３Ｄ（Ｊａｖａスタブ３Ａについては省略可）を静的あるいは動的に生成し、対応するスタブ（３Ａ〜３Ｄ）を介してＷｅｂサービス５側の対応するインタフェース（４Ａ〜４Ｄ）に接続し、Ｗｅｂサービス５に接続するようになっている。
【００３５】
図３はＸＭＬにより記述された接続設定ファイル９の例を示す図である。図３において、接続設定ファイル９はルート要素として「WebServiceBindingConfiguration」要素９ａを有しており、子要素として選択バインディングを優先順（出現順に評価）に列挙する「OrderOfBindingPriority」要素９ｂを有している。なお、「OrderOfBindingPriority」要素９ｂは、図４に示すように、属性として設定対象のＷｅｂサービスに対応する「ServiceNameSpace(サービス名前空間)」を含むことができる。含まない場合はデフォルト（Default）の設定として扱われる。
【００３６】
図３において、「OrderOfBindingPriority」要素９ｂは、独自に設定を持つ場合として、個々のバインディングを記述する複数個（>0）の「Binding」要素９ｃ、９ｄを子要素として有している。外部の設定を参照する場合は子要素として「Import」要素を一つ含む。図５（ａ）は「Import」要素の例を示しており、必須の属性であるFileに外部の接続設定ファイル９を参照するためのパス（ＵＲＬ（Uniform Resource Locator）等）が指定される。また、「Import」要素は図５（ｂ）に示すように「ServiceNameSpace」属性を追加指定することができる。図５（ｃ）に示すように「OrderOfBindingPriority」要素において「ServiceNameSpace」属性が指定され、「Import」要素において「ServiceNameSpace」属性の指定がない場合は、先祖要素である「OrderOfBindingPriority」要素の「ServiceNameSpace」属性が継承される。図５（ｄ）に示すように「OrderOfBindingPriority」要素においても「Import」要素においても「ServiceNameSpace」属性の指定がない場合は、デフォルトの設定情報が参照される。
【００３７】
図３において、「Binding」要素９ｃ、９ｄは、属性としてName（「JavaBinding」、「SOAPBinding」、「EJBBinding」、「JMSBinding」等のバインディング名）を有し、子要素として各バインディングを決定するための条件を記述する要素である「Condition」要素９ｅ、９ｆ、９ｇを有している。「Condition」要素９ｅは ＯＲ（論理和）を利用してＩＰアドレスが所定の値である場合もしくはホスト名が「localhost」である場合に条件が満たされる旨を記述している。なお、ＯＲの他にＡＮＤ（論理積）を利用することもでき、ＡＮＤ、ＯＲを入れ子にすることもできる。図６はＡＮＤの中にＯＲを入れ子にした例である。図３において、「Condition」要素９ｆはアプリケーションを使った転送速度の実測値を条件に指定したものである。「Condition」要素９ｇは上の全ての条件に一致しなかった場合にデフォルトのバインディングを利用するためのものである。なお、DefaultBindingを利用しなくても、「Condition」要素そのものを省略することでデフォルトとすることも可能である。このように、「Condition」要素として、IPAddress（サーバのＩＰアドレス）、HostName（サーバのホスト名）、MinBitPerSec / MaxBitPerSec（クライアントとサーバ間の通信速度）、DebugMode（動作環境がデバッグモード（log4jプロパティ等を参照））、DefaultBinding（デフォルトのバインディングを指定）等により条件を指定することができる。
【００３８】
図７Ａ〜図１０Ｄは接続設定ファイル９の配置例を示したものである。
【００３９】
図７Ａは接続設定ファイルをクライアント側で管理する場合の例を示す図であり、クライアントホスト１００Ａ〜１００Ｅ側にそれぞれ接続設定ファイル９Ａ〜９Ｅを配置し、保持・参照を行うようにしたものである。この場合、クライアント側で条件を独自設定できる利点があるが、反面、サービスやネットワーク等の環境変化に合わせて全クライアントの設定を変更する必要がある。導入が比較的容易であるとともに、サービスの数が少なくてその増減幅が小さく、クライアントの数が少なくてその増減幅が小さい場合に適している。図７Ｂは設定の変更の例を示す図であり、条件を変更する場合、クライアントホスト１００Ａ〜１００Ｅの接続設定ファイル９Ａ〜９Ｅの全てを更新する。図７Ｃはクライアントの追加の例を示す図であり、クライアントホスト１００Ｆを追加した場合、新たにクライアントホスト１００Ｆに接続設定ファイル９Ｆを作成する。図７ＤはＷｅｂサービスの追加の例を示す図であり、Ｗｅｂサービス５’を追加した場合、クライアントホスト１００Ａ〜１００Ｅの接続設定ファイル９Ａ〜９Ｅの全てを更新する。
【００４０】
図８Ａは接続設定ファイルをサーバ側で管理する場合の例を示す図であり、Ｗｅｂサービス５側に接続設定ファイル９を配置し、クライアントホスト１００Ａ〜１００ＥからＵＲＬ等を利用して参照を行うようにしたものである。この場合、一つの接続設定ファイル９を変更すると全てのクライアントホスト１００Ａ〜１００Ｅに反映できる利点があるが、反面、クライアント側で独自の設定を持つことはできない。サービスの数が少なくてその増減幅が小さく、クライアントの数が多くてその増減幅が大きい場合に適している。図８Ｂは設定の変更の例を示す図であり、条件を変更する場合、Ｗｅｂサービス５側の接続設定ファイル９を更新すればよい。図８Ｃはクライアントの追加の例を示す図であり、クライアントホスト１００Ｆを追加した場合、クライアントホスト１００Ｆにおける接続設定ファイル９の参照先（ＵＲＬ等）を指定すればよい。図８ＤはＷｅｂサービスの追加の例を示す図であり、Ｗｅｂサービス５’を追加した場合、新たにＷｅｂサービス５’側に接続設定ファイル９’を作成し、全てのクライアントホスト１００Ａ〜１００Ｅの参照先（ＵＲＬ等）を更新する。
【００４１】
図９Ａは接続設定ファイルをサーバ側とクライアント側とで管理する場合の例を示す図であり、Ｗｅｂサービス５側に接続設定ファイル９を配置し、一群のクライアントホスト１００Ａ〜１００ＣからＵＲＬ等を利用して参照を行うようにするとともに、他の一群のクライアントホスト１００Ｄ、１００Ｅにはそれぞれに接続設定ファイル９Ｄ、９Ｅを配置し、保持・参照を行うようにしたものである。この場合、一元管理したい一群のクライアントの設定を一箇所に持つことができるとともに、個別管理したい他の一群のクライアントの設定を個別に持つことができる利点があるが、反面、接続設定ファイルが分散してしまうことになる。上述した２つの方式の中間的な位置付けとなる。図９Ｂは設定の変更の例を示す図であり、条件を変更する場合、Ｗｅｂサービス５側の接続設定ファイル９を更新するとともに、クライアントホスト１００Ｄ、１００Ｅの接続設定ファイル９Ｄ、９Ｅを更新する。図９Ｃはクライアントの追加の例を示す図であり、クライアントホスト１００Ｆを追加した場合、クライアントホスト１００Ｆにおける接続設定ファイル９の参照先（ＵＲＬ等）を指定すればよい。クライアントホスト１００Ｇを追加した場合、新たにクライアントホスト１００Ｇに接続設定ファイル９Ｇを作成する。図９ＤはＷｅｂサービスの追加の例を示す図であり、Ｗｅｂサービス５’を追加した場合、新たにＷｅｂサービス５’側に接続設定ファイル９’を作成し、クライアントホスト１００Ａ〜１００Ｃの参照先（ＵＲＬ等）を更新するとともに、クライアントホスト１００Ｄ、１００Ｅの接続設定ファイル９Ｄ、９Ｅを更新する。
【００４２】
図１０Ａは接続設定ファイルをレジストリホスト側で管理する場合の例を示す図であり、ＵＤＤＩ（Universal Description, Discovery and Integration）等のレジストリ１０側に接続設定ファイル９を配置し、クライアントホスト１００Ａ〜１００ＥからＵＲＬ等を利用して参照を行うようにしたものである。この場合、クライアントホスト１００Ａ〜１００ＥからＷｅｂサービスを検索するのと同時に環境に応じた最適な接続方式の動的な選択が行えるとともに、接続設定ファイル９をレジストリ１０に集約できるという利点があるが、反面、導入にあたってレジストリ１０を構築する必要がある。サービスの数が多くてその増減幅が大きく、クライアントの数が多くてその増減幅が大きい場合に適している。図１０Ｂは設定の変更の例を示す図であり、条件を変更する場合、レジストリ１０側の接続設定ファイル９を更新すればよい。図１０Ｃはクライアントの追加の例を示す図であり、クライアントホスト１００Ｆを追加した場合、クライアントホスト１００Ｆにおける接続設定ファイル９の参照先（ＵＲＬ等）を指定すればよい。図１０ＤはＷｅｂサービスの追加の例を示す図であり、Ｗｅｂサービス５Ｃを追加した場合、レジストリ１０側の接続設定ファイル９を更新すればよい。
【００４３】
図１１Ａは接続設定ファイルをレジストリホスト側とクライアント側とで管理する場合の例を示す図であり、ＵＤＤＩ等のレジストリ１０側に接続設定ファイル９を配置し、クライアントホスト１００Ａ〜１００ＥからＵＲＬ等を利用して参照を行うとともに、一部のクライアントホスト１００Ａ、１００Ｃに接続設定ファイル９Ａ、９Ｃを配置して保持・参照を行うようにしたものである。この場合、図１０Ａ〜図１０Ｄの利点に加え、クライアントホスト側の独自拡張が行えるという利点があるが、反面、クライアントホスト側のメンテナンスが必要になる。図１１Ｂは設定の変更の例を示す図であり、レジストリ１０側の接続設定ファイル９を更新すれば、基本設定は全クライアントホストに反映することができる。独自設定を持つクライアントホスト１００Ａ、１００Ｃの設定条件は個別に変更する。図１１Ｃはクライアントの追加の例を示す図であり、クライアントホスト１００Ｆを追加した場合、クライアントホスト１００Ｆにおける接続設定ファイル９の参照先（ＵＲＬ等）を指定すればよい。図１１ＤはＷｅｂサービスの追加の例を示す図であり、Ｗｅｂサービス５Ｃを追加した場合、レジストリ１０側の接続設定ファイル９を更新すればよい。
【００４４】
図１２〜図１６はＷｅｂサービス接続機構のより詳細な構成例を示す図であり、図１２は接続設定ファイル９がクライアントホスト１００側にある例、図１３および図１４は接続設定ファイル９がサービスホスト５００側にある例である。
【００４５】
図１２において、自動接続切替モジュール８は、Ｗｅｂサービスクライアント１で実行される共通インタフェース実行用コード１１からの接続要求を受け付ける共通インタフェース部８０１と、Ｊａｖａ実行用コード８１、ＪＭＳ実行用コード８２、ＥＪＢ実行用コード８３、ＳＯＡＰ実行用コード８４のいずれかを介してＷｅｂサービス５側への接続を制御する接続管理部８０２と、接続管理部８０２からの要求に応じ、接続設定ファイル９の設定内容（選択条件）および環境情報に基づいて使用するバインディングを決定する接続選択決定部８０３と、接続選択決定部８０３からの要求に応じ、接続設定ファイル９から設定内容を読み取って解析する設定ファイル読取／解析部８０４と、クライアント側の環境情報を取得するクライアント環境情報取得部８０５と、サービスホスト５００側に設けられたサーバ環境情報取得エージェント８０７からサーバ環境情報を取得するサーバ環境情報取得部８０６とを備えている。クライアント環境情報取得部８０５およびサーバ環境情報取得部８０６はまとめて環境情報取得部とみることができる。また、Ｊａｖａ実行用コード８１、ＪＭＳ実行用コード８２、ＥＪＢ実行用コード８３、ＳＯＡＰ実行用コード８４には、それぞれＷｅｂサービス５側への接続を行うＪａｖａ呼出部８１１、ＪＭＳ呼出部８２１、ＥＪＢ呼出部８３１、ＳＯＡＰ呼出部８４１が設けられている。その他の構成は図２に示したものと同様である。
【００４６】
一方、図１３においては、接続設定ファイル９がサービスホスト５００側に設けられ、自動接続切替モジュール８の設定ファイル読取／解析部８０４はネットワークを介して接続設定ファイル９の内容を読み取るようになっている。
【００４７】
図１４においては、設定ファイル読取／解析部８０４もサービスホスト５００側に設けられ、自動接続切替モジュール８の接続選択決定部８０３はネットワークを介して設定ファイル読取／解析部８０４から接続設定ファイル９の内容を読み取るようになっている。
【００４８】
図１５においては、接続設定ファイル９がレジストリ１０側に設けられ、自動接続切替モジュール８の設定ファイル読取／解析部８０４はレジストリ１０から接続設定ファイル９の内容を読み取るようになっている。
【００４９】
図１６においては、接続設定ファイル９がレジストリ１０側に設けられ、自動接続切替モジュール８の設定ファイル読取／解析部８０４はレジストリ１０から接続設定ファイル９の内容を読み取るとともに、クライアントホスト１００側にＸＳＬ（XML Stylesheet Language ）等により記述された独自拡張の接続設定ファイル９ｘを設け、これを設定ファイル読取／解析部８０４ｘにより読み取り、設定ファイル変換部８０８によってＸＳＬＴ（XML Stylesheet Language Transformations）等の変換を行うようになっている。図１７はＸＳＬによる変換の例を示す図であり、（ａ）はＸＳＬで記述されたクライアントホスト１００側の接続設定ファイル９ｘ、（ｂ）は変換（ＸＳＬＴ）の行われた後の接続設定ファイルを示している。ここでは、JavaBindingの条件を変更するとともに、SOAPBindingを削除する例を示している。
【００５０】
図１８Ａ〜図２０は図１２〜図１４に示したＷｅｂサービス接続機構の動作を示すシーケンス図である。
【００５１】
図１８Ａは初期化とサービス実行とを分けた場合の初期化のシーケンス例を示す図である。サービス実行前に一度だけサービスの初期化を行うものであるため、複数回サービスを実行する場合に処理時間の短縮が図れる。図１８Ａにおいて、Ｗｅｂサービスクライアント１から共通インタフェース部８０１に対してサービスＵＲＬ、サービス名前空間を伴うサービス初期化の要求を行うと（ステップＳ１）、共通インタフェース部８０１は同要求を接続管理部８０２に伝え（ステップＳ２）、接続管理部８０２は接続選択決定部８０３に対して接続方式取得の要求を行う（ステップＳ３）。これを受けて、接続選択決定部８０３は設定ファイル読取／解析部８０４に接続設定ファイルの情報取得を要求し（ステップＳ４）、設定ファイル読取／解析部８０４は接続設定ファイルを読み込み、解析を行って設定情報を接続選択決定部８０３に返す（ステップＳ５）。
【００５２】
次いで、接続選択決定部８０３はクライアント環境情報取得部８０５に対してクライアント環境情報の取得を要求し（ステップＳ６）、クライアント環境情報取得部８０５はクライアント環境情報を収集して接続選択決定部８０３に返す（ステップＳ７）。次いで、接続選択決定部８０３はサーバ環境情報取得部８０６に対してサーバ環境情報の取得を要求し（ステップＳ８）、サーバ環境情報取得部８０６はサーバ環境情報取得エージェント８０７からサーバ環境情報を取得し（ステップＳ９、Ｓ１０）、接続選択決定部８０３に返す（ステップＳ１１）。そして、接続選択決定部８０３は接続設定ファイルの設定条件およびクライアント環境情報およびサーバ環境情報に基づいて接続方式を選択し（ステップＳ１２）、選択した接続方式情報を接続管理部８０２に伝える（ステップＳ１３）。ここではＪａｖａが選択されたものとすると、接続管理部８０２はＪａｖａ呼出部８１１に対してインタフェース初期化を要求し（ステップＳ１４）、初期化を完了する。
【００５３】
図１８Ｂは初期化とサービス実行とを分けた場合のサービス実行のシーケンス例を示す図である。なお、予め図１８Ａに示した処理によりＪａｖａインタフェースの初期化が行われているものとする。図１８Ｂにおいて、Ｗｅｂサービスクライアント１から共通インタフェース部８０１に対して関数名と関数引数情報とを伴うサービス実行の要求を行うと（ステップＳ２１）、共通インタフェース部８０１は同要求を接続管理部８０２に伝え（ステップＳ２２）、接続管理部８０２はＪａｖａ呼出部８１１に対して実行を要求する（ステップＳ２３）。これに応じ、Ｊａｖａ呼出部８１１はサービス実行を行い、実行結果を接続管理部８０２に返し（ステップＳ２４）、接続管理部８０２および共通インタフェース部８０１を経て実行結果がＷｅｂサービスクライアント１に返される（ステップＳ２５、Ｓ２６）。
【００５４】
図１９は初期化とサービス実行とを同時に行う場合であって初期化とサービス実行とを別メソッドで行う場合のシーケンス例を示す図である。一回のサービス実行毎にサービスの初期化を行うものであるが、クライアント側から一つの関数を利用するだけであるため、実行手順の簡略化が可能である。図１９において、Ｗｅｂサービスクライアント１から共通インタフェース部８０１に対してサービスＵＲＬ、サービス名前空間、関数名、関数引数情報を伴うサービス初期化およびサービス実行の要求を行うと（ステップＳ３１）、共通インタフェース部８０１は接続管理部８０２に対してサービスＵＲＬ、サービス名前空間を伴うサービス初期化の要求を行い（ステップＳ３２）、接続管理部８０２は接続選択決定部８０３に対して接続方式取得の要求を行う（ステップＳ３３）。これを受けて、接続選択決定部８０３は設定ファイル読取／解析部８０４に接続設定ファイルの情報取得を要求し（ステップＳ３４）、設定ファイル読取／解析部８０４は接続設定ファイルを読み込み、解析を行って設定情報を接続選択決定部８０３に返す（ステップＳ３５）。
【００５５】
次いで、接続選択決定部８０３はクライアント環境情報取得部８０５に対してクライアント環境情報の取得を要求し（ステップＳ３６）、クライアント環境情報取得部８０５はクライアント環境情報を収集して接続選択決定部８０３に返す（ステップＳ３７）。次いで、接続選択決定部８０３はサーバ環境情報取得部８０６に対してサーバ環境情報の取得を要求し（ステップＳ３８）、サーバ環境情報取得部８０６はサーバ環境情報取得エージェント８０７からサーバ環境情報を取得し（ステップＳ３９、Ｓ４０）、接続選択決定部８０３に返す（ステップＳ４１）。そして、接続選択決定部８０３は接続設定ファイルの設定条件およびクライアント環境情報およびサーバ環境情報に基づいて接続方式を選択し（ステップＳ４２）、選択した接続方式情報を接続管理部８０２に伝える（ステップＳ４３）。ここではＪａｖａが選択されたものとすると、接続管理部８０２はＪａｖａ呼出部８１１に対してインタフェース初期化を要求し（ステップＳ４４）、初期化を完了する。
【００５６】
次いで、共通インタフェース部８０１は接続管理部８０２に対して関数名と関数引数情報とを伴うサービス実行の要求を行い（ステップＳ４５）、接続管理部８０２はＪａｖａ呼出部８１１に対して実行を要求する（ステップＳ４６）。これに応じ、Ｊａｖａ呼出部８１１はサービス実行を行い、実行結果を接続管理部８０２に返し（ステップＳ４７）、接続管理部８０２および共通インタフェース部８０１を経て実行結果がＷｅｂサービスクライアント１に返される（ステップＳ４８、Ｓ４９）。
【００５７】
図２０は初期化とサービス実行とを同時に行う場合であって初期化とサービス実行とを一つのメソッドで行う場合のシーケンス例を示す図である。図１９の場合と同様に、一回のサービス実行毎にサービスの初期化を行うものであるが、クライアント側から一つの関数を利用するだけであるため、実行手順の簡略化が可能である。図２０において、Ｗｅｂサービスクライアント１から共通インタフェース部８０１に対してサービスＵＲＬ、サービス名前空間、関数名、関数引数情報を伴うサービス初期化およびサービス実行の要求を行うと（ステップＳ５１）、共通インタフェース部８０１は同要求を接続管理部８０２に伝え（ステップＳ５２）、接続管理部８０２は接続選択決定部８０３に対して接続方式取得の要求を行う（ステップＳ５３）。これを受けて、接続選択決定部８０３は設定ファイル読取／解析部８０４に接続設定ファイルの情報取得を要求し（ステップＳ５４）、設定ファイル読取／解析部８０４は接続設定ファイルを読み込み、解析を行って設定情報を接続選択決定部８０３に返す（ステップＳ５５）。
【００５８】
次いで、接続選択決定部８０３はクライアント環境情報取得部８０５に対してクライアント環境情報の取得を要求し（ステップＳ５６）、クライアント環境情報取得部８０５はクライアント環境情報を収集して接続選択決定部８０３に返す（ステップＳ５７）。次いで、接続選択決定部８０３はサーバ環境情報取得部８０６に対してサーバ環境情報の取得を要求し（ステップＳ５８）、サーバ環境情報取得部８０６はサーバ環境情報取得エージェント８０７からサーバ環境情報を取得し（ステップＳ５９、Ｓ６０）、接続選択決定部８０３に返す（ステップＳ６１）。そして、接続選択決定部８０３は接続設定ファイルの設定条件およびクライアント環境情報およびサーバ環境情報に基づいて接続方式を選択し（ステップＳ６２）、選択した接続方式情報を接続管理部８０２に伝える（ステップＳ６３）。ここではＪａｖａが選択されたものとすると、接続管理部８０２はＪａｖａ呼出部８１１に対してインタフェース初期化を要求し（ステップＳ６４）、初期化を完了する。
【００５９】
次いで、接続管理部８０２はＪａｖａ呼出部８１１に対して関数名と関数引数情報とを伴うサービス実行の要求を行う（ステップＳ６５）。これに応じ、Ｊａｖａ呼出部８１１はサービス実行を行い、実行結果を接続管理部８０２に返し（ステップＳ６６）、接続管理部８０２および共通インタフェース部８０１を経て実行結果がＷｅｂサービスクライアント１に返される（ステップＳ６７、Ｓ６８）。
【００６０】
次に、図２１〜図２３は開発フレームワークによる自動接続切替モジュールのコンポーネント図であり、図２１は接続設定ファイル９がクライアントホスト側にある例（図１２に対応）、図２２は接続設定ファイル９がサービスホスト側にあり、設定ファイル読取／解析部８０４がクライアントホスト側にある例（図１３に対応）、図２３は接続設定ファイル９および設定ファイル読取／解析部８０４がサービスホスト側にある例（図１４に対応）である。
【００６１】
図２１において、開発フレームワークによるクライアント側自動接続切替モジュール８ａおよびサーバ側自動接続切替モジュール８ｂはｊａｒ（Java ARchive）形式もしくはｄｌｌ（Dynamic Link Library）形式のファイルで提供される。クライアント側自動接続切替モジュール８ａにはコンポーネントとして、共通インタフェース部８０１、接続管理部８０２、接続選択決定部８０３、設定ファイル読取／解析部８０４、クライアント環境情報取得部８０５、サーバ環境情報取得部８０６、Ｊａｖａ呼出部８１１、ＪＭＳ呼出部８２１、ＥＪＢ呼出部８３１、ＳＯＡＰ呼出部８４１、接続設定ファイル９が含まれ、これらは部品としてクラス定義されている。サーバ側自動接続切替モジュール８ｂにはコンポーネントとして、サーバ環境情報取得エージェント８０７が含まれ、部品としてクラス定義されている。図２２では、サーバ環境情報取得エージェント８０７および接続設定ファイル９がサーバ側自動接続切替モジュール８ｂのコンポーネントとされている。図２３では、設定ファイル読取／解析部８０４、サーバ環境情報取得エージェント８０７、接続設定ファイル９がサーバ側自動接続切替モジュール８ｂのコンポーネントとされている。
【００６２】
図２４は開発フレームワークによる自動接続切替モジュールの配置図であり、クライアント側自動接続切替モジュール８ａはパーソナルコンピュータ等のクライアント実行環境に配置され、サーバ側自動接続切替モジュール８ｂはサーバ実行環境に配置される。
【００６３】
次に、図２５〜図２８は開発手順の例を示す図である。先ず、図２５においては、クライアント側に、自動接続切替モジュール８および接続設定ファイル９を提供する開発フレームワーク７とマルチバインディング接続モジュール２とが配置され、サーバ側にインタフェース４Ａ〜４Ｄ、Ｗｅｂサービス５およびＷＳＤＬ６が配置されている状態を示している。なお、この状態では接続設定ファイル９の設定内容はデフォルトとなっている。この後、図２６に示すように、マルチバインディング接続モジュール２はＷＳＤＬ６を参照し、Ｗｅｂサービス５の提供する接続方式に対応するスタブ３Ａ〜３Ｄを生成する。その後、図２７に示すように、Ｗｅｂサービスクライアント１が設けられる。その後、図２８に示すように、接続設定ファイル９が適切な条件を示すように調整され、Ｗｅｂサービスクライアント１から自動接続切替モジュール８、マルチバインディング接続モジュール２、スタブ（３Ａ〜３Ｄ）、インタフェース（４Ａ〜４Ｄ）を介してＷｅｂサービス５に接続が行えるようになる。
【００６４】
図２９はＷｅｂサービス接続機構の実装例を示す図であり、Ｗｅｂサービスクライアント１をリポジトリプラグインおよび認証プラグインを含む文書閲覧サービスクライアントとして構成し、開発フレームワーク７により提供される自動接続切替モジュールにより、マルチバインディング接続モジュール２、スタブ３、インタフェース４を介して、リポジトリサービスおよび認証サービスのＷｅｂサービス５に接続するようになっている。
【００６５】
以上のように、本発明では、接続設定ファイルの条件（ＩＰアドレスやホスト名の条件、ネットワーク通信速度の条件、ＣＰＵ・メモリなどマシン情報の条件、環境情報に基づく実行モードの条件等）に基づいて自動的にバインディングを選択するようにしたので、サーバとクライアントが同居する場合にはローカル呼出しのＩＦ（Ｊａｖａ）を選択させ、ネットワーク環境の転送データ量に応じたバインディングを選択させ、ホストの処理能力に応じたバインディングを選択させ、開発中はローカル（Ｊａｖａ）を選択させ、実運用はリモート（ＳＯＡＰ）を選択させるといった柔軟な接続制御を行うことができる。また、接続の切替えは開発フレームワークにより提供される自動接続切替モジュールにより行われ、クライアントコードから呼出切替機能が分離されているため、バインディングを変更してもクライアントコードを修正する必要はない。更に、接続設定ファイルを環境に応じて様々なロケーションで管理することができる。
【００６６】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【図面の簡単な説明】
【００６７】
【図１】従来のＷｅｂサービス接続機構の構成例を示す図である。
【図２】本発明の一実施形態にかかるＷｅｂサービス接続機構の構成例を示す図である。
【図３】ＸＭＬにより記述された接続設定ファイルの例を示す図である。
【図４】属性ServiceNameSpaceを含んだ要素OrderOfBindingPriorityの例を示す図である。
【図５】要素Importの例を示す図である。
【図６】要素Conditionの例を示す図である。
【図７Ａ】接続設定ファイルをクライアント側で管理する場合の例を示す図である。
【図７Ｂ】接続設定ファイルをクライアント側で管理する場合における設定の変更の例を示す図である。
【図７Ｃ】接続設定ファイルをクライアント側で管理する場合におけるクライアントの追加の例を示す図である。
【図７Ｄ】接続設定ファイルをクライアント側で管理する場合におけるＷｅｂサービスの追加の例を示す図である。
【図８Ａ】接続設定ファイルをサーバ側で管理する場合の例を示す図である。
【図８Ｂ】接続設定ファイルをサーバ側で管理する場合における設定の変更の例を示す図である。
【図８Ｃ】接続設定ファイルをサーバ側で管理する場合におけるクライアントの追加の例を示す図である。
【図８Ｄ】接続設定ファイルをサーバ側で管理する場合におけるＷｅｂサービスの追加の例を示す図である。
【図９Ａ】接続設定ファイルをサーバ側とクライアント側とで管理する場合の例を示す図である。
【図９Ｂ】接続設定ファイルをサーバ側とクライアント側とで管理する場合における設定の変更の例を示す図である。
【図９Ｃ】接続設定ファイルをサーバ側とクライアント側とで管理する場合におけるクライアントの追加の例を示す図である。
【図９Ｄ】接続設定ファイルをサーバ側とクライアント側とで管理する場合におけるＷｅｂサービスの追加の例を示す図である。
【図１０Ａ】接続設定ファイルをレジストリホスト側で管理する場合の例を示す図である。
【図１０Ｂ】接続設定ファイルをレジストリホスト側で管理する場合における設定の変更の例を示す図である。
【図１０Ｃ】接続設定ファイルをレジストリホスト側で管理する場合におけるクライアントの追加の例を示す図である。
【図１０Ｄ】接続設定ファイルをレジストリホスト側で管理する場合におけるＷｅｂサービスの追加の例を示す図である。
【図１１Ａ】接続設定ファイルをレジストリホスト側とクライアント側とで管理する場合の例を示す図である。
【図１１Ｂ】接続設定ファイルをレジストリホスト側とクライアント側とで管理する場合における設定の変更の例を示す図である。
【図１１Ｃ】接続設定ファイルをレジストリホスト側とクライアント側とで管理する場合におけるクライアントの追加の例を示す図である。
【図１１Ｄ】接続設定ファイルをレジストリホスト側とクライアント側とで管理する場合におけるＷｅｂサービスの追加の例を示す図である。
【図１２】Ｗｅｂサービス接続機構のより詳細な構成例を示す図（その１）である。
【図１３】Ｗｅｂサービス接続機構のより詳細な構成例を示す図（その２）である。
【図１４】Ｗｅｂサービス接続機構のより詳細な構成例を示す図（その３）である。
【図１５】Ｗｅｂサービス接続機構のより詳細な構成例を示す図（その４）である。
【図１６】Ｗｅｂサービス接続機構のより詳細な構成例を示す図（その５）である。
【図１７】ＸＳＬによる変換の例を示す図である。
【図１８Ａ】初期化とサービス実行とを分けた場合の初期化のシーケンス例を示す図である。
【図１８Ｂ】初期化とサービス実行とを分けた場合のサービス実行のシーケンス例を示す図である。
【図１９】初期化とサービス実行とを同時に行う場合であって初期化とサービス実行とを別メソッドで行う場合のシーケンス例を示す図である。
【図２０】初期化とサービス実行とを同時に行う場合であって初期化とサービス実行とを一つのメソッドで行う場合のシーケンス例を示す図である。
【図２１】開発フレームワークによる自動接続切替モジュールのコンポーネント図（その１）である。
【図２２】開発フレームワークによる自動接続切替モジュールのコンポーネント図（その２）である。
【図２３】開発フレームワークによる自動接続切替モジュールのコンポーネント図（その３）である。
【図２４】開発フレームワークによる自動接続切替モジュールの配置図である。
【図２５】開発手順の例を示す図（その１）である。
【図２６】開発手順の例を示す図（その２）である。
【図２７】開発手順の例を示す図（その３）である。
【図２８】開発手順の例を示す図（その４）である。
【図２９】Ｗｅｂサービス接続機構の実装例を示す図である。
【符号の説明】
【００６８】
１１                    共通インタフェース実行用コード
１００                  クライアントホスト
２                      マルチバインディング接続モジュール
３Ａ                    Ｊａｖａスタブ
３Ｂ                    ＪＭＳスタブ
３Ｃ                    ＥＪＢスタブ
３Ｄ                    ＳＯＡＰスタブ
４Ａ                    Ｊａｖａインタフェース
４Ｂ                    ＪＭＳインタフェース
４Ｃ                    ＥＪＢインタフェース
４Ｄ                    ＳＯＡＰインタフェース
５、５Ａ〜５Ｃ          Ｗｅｂサービス
５００                  サービスホスト
６                      ＷＳＤＬ
７                      開発フレームワーク
８                      自動接続切替モジュール
８ａ                    クライアント側自動接続切替モジュール
８ｂ                    サーバ側自動接続切替モジュール
８１                    Ｊａｖａ実行用コード
８２                    ＪＭＳ実行用コード
８３                    ＥＪＢ実行用コード
８４                    ＳＯＡＰ実行用コード
８０１                  共通インタフェース部
８０２                  接続管理部
８０３                  接続選択決定部
８０４                  設定ファイル読取／解析部
８０４ｘ                設定ファイル読取／解析部
８０５                  クライアント環境情報取得部
８０６                  サーバ環境情報取得部
８０７                  サーバ環境情報取得エージェント
８０８                  設定ファイル変換部
８１１                  Ｊａｖａ呼出部
８２１                  ＪＭＳ呼出部
８３１                  ＥＪＢ呼出部
８４１                  ＳＯＡＰ呼出部
９、９Ａ〜９Ｇ、９ｘ    接続設定ファイル
１０                    レジストリ
【図１】
2007066295.tif 000003
【図２】
2007066295.tif 000004
【図３】
2007066295.tif 000005
【図４】
2007066295.tif 000006
【図５】
2007066295.tif 000007
【図６】
2007066295.tif 000008
【図７Ａ】
2007066295.tif 000009
【図７Ｂ】
2007066295.tif 000010
【図７Ｃ】
2007066295.tif 000011
【図７Ｄ】
2007066295.tif 000012
【図８Ａ】
2007066295.tif 000013
【図８Ｂ】
2007066295.tif 000014
【図８Ｃ】
2007066295.tif 000015
【図８Ｄ】
2007066295.tif 000016
【図９Ａ】
2007066295.tif 000017
【図９Ｂ】
2007066295.tif 000018
【図９Ｃ】
2007066295.tif 000019
【図９Ｄ】
2007066295.tif 000020
【図１０Ａ】
2007066295.tif 000021
【図１０Ｂ】
2007066295.tif 000022
【図１０Ｃ】
2007066295.tif 000023
【図１０Ｄ】
2007066295.tif 000024
【図１１Ａ】
2007066295.tif 000025
【図１１Ｂ】
2007066295.tif 000026
【図１１Ｃ】
2007066295.tif 000027
【図１１Ｄ】
2007066295.tif 000028
【図１２】
2007066295.tif 000029
【図１３】
2007066295.tif 000030
【図１４】
2007066295.tif 000031
【図１５】
2007066295.tif 000032
【図１６】
2007066295.tif 000033
【図１７】
2007066295.tif 000034
【図１８Ａ】
2007066295.tif 000035
【図１８Ｂ】
2007066295.tif 000036
【図１９】
2007066295.tif 000037
【図２０】
2007066295.tif 000038
【図２１】
2007066295.tif 000039
【図２２】
2007066295.tif 000040
【図２３】
2007066295.tif 000041
【図２４】
2007066295.tif 000042
【図２５】
2007066295.tif 000043
【図２６】
2007066295.tif 000044
【図２７】
2007066295.tif 000045
【図２８】
2007066295.tif 000046
【図２９】
2007066295.tif 000047