(57)【特許請求の範囲】
【請求項１】
第１のプロトコルに係る第１のコンテキストを管理する第１のコンテキスト管理手段と、
第２のプロトコルに係る第2のコンテキストを管理する第２のコンテキスト管理手段と、
第１のコンテキスト管理手段に接続され、第１のコンテキストに係る第１のアプリケーションを実行する第１のアプリケーション実行サーバと、
第２のコンテキスト管理手段に接続され、第１のコンテキストに関連する第２のコンテキストに係る第２のアプリケーションを実行する第２のアプリケーション実行サーバと、
第１のアプリケーション実行サーバに接続され、第１のハンドラのメッセージを受け渡しする第１のハンドラ管理手段と、
第２のアプリケーション実行サーバに接続され、第２のハンドラのメッセージを受け渡しする第２のハンドラ管理手段とを含み、
第１のアプリケーション実行サーバは、第１のコンテキストが操作されると、該操作を第２のアプリケーション実行サーバに通知するイベントリスナを管理する第１のイベントリスナ管理手段を含み、
第１のハンドラ管理手段は、第１のハンドラの追加または削除が行なわれたときにイベントを第１のアプリケーション実行サーバに通知する第１のハンドラ管理部と、
第１のハンドラと第１のアプリケーション実行サーバとの間でメッセージの授受を実行する第１のメッセージ処理部とを含み、
第２のハンドラ管理手段は、第２のハンドラの追加または削除が行なわれたときにイベントを第２のアプリケーション実行サーバに通知する第２のハンドラ管理部と、
第２のハンドラと第２のアプリケーション実行サーバとの間でメッセージの授受を実行する第２のメッセージ処理部とを含むことを特徴とするサービス提供システム。
【請求項２】
請求項１に記載のシステムにおいて、第２のアプリケーション実行サーバは、前記イベントリスナを受けて管理する第２のイベントリスナ管理手段を含むことを特徴とするサービス提供システム。
【請求項３】
請求項１に記載のシステムにおいて、第２のハンドラは、第２のアプリケーション実行サーバからの要求に応じて、コネクションを生成するコネクション管理手段を含むことを特徴とするサービス提供システム。
【請求項４】
請求項１に記載のシステムにおいて、第１のアプリケーション実行サーバはさらに、
第１のコンテキスト管理手段と通信するための第１のコンテキスト管理部と、
第１のプロトコルに従うメッセージを該当のコンテキストに配送する第１のメッセージ配送部とを含むことを特徴とするサービス提供システム。
【請求項５】
請求項４に記載のシステムにおいて、第２のアプリケーション実行サーバは、
第２のコンテキスト管理手段と通信するための第２のコンテキスト管理部と、
第２のプロトコルに従うメッセージを該当のコンテキストに配送する第２のメッセージ配送部とを含むことを特徴とするサービス提供システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はサービス提供システムに関するものであり、例えば、WWW (World Wide Web)環境上のAP (Application: アプリケーションソフトウェア)を提供するWeb-APサーバ環境とVoIP (Voice over Internet Protocol)を実現する代表的なプロトコルであるSIP (Session Initiation Protocol)によるVoIPサーバ環境であるSIPサーバ環境とを統合したWeb-VoIP融合型AP環境に有利に適用されるサービス提供システムに関する。
【背景技術】
【０００２】
近年、WebクライアントにHTTP (Hyper Text Transfer Protocol)プロトコルでサービスを提供するWebサーバとWebアプリケーション(Web-AP)との間にWeb-APサーバを導入して、Webサーバは、Webクライアントと直接、やり取りする機能だけを担うようになってきた。このようなWeb-APサーバをベースとしたAP環境は、専らHTTPプロトコルを対象としたWebアプリケーションを実行することができる。
【０００３】
このような従来型の環境では、以下のように動作する。まず、１つのWebクライアントとなるWebブラウザからWebサーバへHTTPプロトコルに従って、リクエストを発行する（第１ステップ）。次に、Webサーバは、受信したリクエストを基にWeb-APサーバへAP処理の実行を依頼する（第２ステップ）。そこでWeb-APサーバは、依頼されたAP処理に対応するWebアプリケーションを起動し、目的のAP処理を実行する（第３ステップ）。最後にWebアプリケーションは、実行結果をWeb-APサーバへ回答し、Webサーバは、リクエストを発行したWebブラウザに実行結果を与える（第４ステップ）。
【０００４】
ここで、複数の利用者の間でコミュニケーションを実行するようなアプリケーションを構築する場合、一方の利用者からのリクエストに対するWebアプリケーションでの実行結果を他方の利用者へ渡すアプリケーションを実現することが必要である。その場合、一方の利用者についての実行結果を取り出すためのリクエストを他方の利用者のWebブラウザから発行させ、上述の第１〜第４ステップと同様な処理の流れで、いわば間接的に、一方の利用者についての実行結果を他方の利用者に受信させることが必要となる。
【０００５】
このようなWeb-APサーバの代表的な構成は一般に、HTTP Servletコンテナで実現される。HTTP Servletコンテナ内には複数のServletを含むWebアプリケーションが配置され、Webサーバから受信したリクエストを実行する。他のWebブラウザから送信されるリクエストの処理も同様のメカニズムにより実行される。したがって、一方の利用者からのリクエストについての処理結果を他方の利用者からのリクエストと連携させる処理も、このServlet内で実行するのが一般的である。
【０００６】
例えば、ある利用者がWebペ一ジを操作して上述の第１〜第４ステップの流れで、ある製品の購入を申し込むと、購入を申し込まれた者すなわち販売者は別途、第１〜第４ステップと同様の流れで申込み内容を確認する。その確認タイミングは、購入を申し込まれた者の任意である。したがって販売者は、確認タイミングまでは、購入申込みを知得することができない。
【０００７】
HTTP Servletに関する仕様(非特許文献１)を実現する代表的なWebアプリケーションとして、Tomcat (非特許文献２)がある。このTomcatを適用しても、複数の利用者の間の連携は、他方の利用者がリクエストを発行して一方の利用者のリクエストに対する処理結果を取り込むという、上述した間接的な連携であった。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】<http://java.sun.com/products/servlet/>
【非特許文献２】<http://jakarta.apache.org/tomcat/>
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、このような間接的連携では、Webクライアント相互間でピアツーピア型コミュニケーションを実現できない。より具体的には、従来型のWeb-APサーバ環境では、リアルタイムな更新および連携が必要なリアルタイムコミュニケーション型アプリケーションを構築することが困難であった。例えば、購入申込者と販売者とを購入申込み時にリアルタイムに直接連携させるアプリケーションを構築することは、困難であった。
【００１０】
また、従来型のWeb-APサーバ環境では、処理可能なプロトコルはHTTPプロトコルのみであった。したがって、他の通信プロトコルを汎用的な枠組みでハンドリングすることができず、異なる複数のプロトコルを融合したアプリケーションを構築することが困難であった。そのため、複数のアプリケーション利用者をリアルタイムで連携させ、複数のプロトコルをハンドリングできるアプリケーションを構築できるサービス提供システムが望まれていた。
【００１１】
本発明は、複数のアプリケーション利用者をリアルタイムで連携させ、複数のプロトコルをハンドリングするアプリケーションを構築可能なサービス提供システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のサービス提供システムは、上述の課題を解決するために、第１のプロトコルに係る第１のコンテキストを管理する第１のコンテキスト管理手段と、第２のプロトコルに係る第２のコンテキストを管理する第２のコンテキスト管理手段と、第１のコンテキスト管理手段に接続され、第１のコンテキストに係る第１のアプリケーションを実行する第１のアプリケーション実行サーバと、第２のコンテキスト管理手段に接続され、第１のコンテキストに関連する第２のコンテキストに係る第２のアプリケーションを実行する第２のアプリケーション実行サーバと、第１のアプリケーション実行サーバに接続され、ハンドラ間のメッセージを受け渡しするハンドラ管理手段とを含む。
【００１３】
本発明のサービス提供システムによれば、第１および第２のプロトコルをハンドリングできるアプリケーションの構築が可能であり、また、複数の利用者をリアルタイムで連携可能なアプリケーションを構築できる。
【発明の効果】
【００１４】
本発明によれば、例えばTomcat、WebLogic、WebSphereなどに代表されるWeb-APサーバ環境にSIPをベースとしたSIP-APサーバ機能を統合することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施例によるサービス提供システムの機能的構成を示す機能ブロック図である。
【図２】図１に示す実施例におけるWebコンテキストマネージャおよびSIPコンテキストマネージャの連携管理部の機能的構成例を示す機能ブロック図である。
【図３】同実施例におけるWeb-AP実行サーバの具体的な構成例を示す機能ブロック図である。
【図４】同実施例におけるSIP-AP実行サーバの具体的な構成例を示す機能ブロック図である。
【図５】同実施例におけるWeb-AP実行サーバおよびSIP-AP実行サーバの連携管理部の機能的構成例を示す機能ブロック図である。
【図６】同実施例におけるサービス提供システムがSIPメッセージを受信した際の動作例を示すシーケンス図である。
【図７】同実施例においてWebアプリケーションとSIPアプリケーションとを連携させる際の動作例を示すシーケンス図である。
【図８】同実施例においてSIPハンドラの登録および削除の動作例を示すシーケンス図である。
【図９】同実施例においてWebアプリケーションとSIPアプリケーションの融合型アプリケーションを実行するためのコンテキストの登録および削除の動作例を示すシーケンス図である。
【図１０】本発明の他の実施例によるサービス提供システムの機能的構成を示す、図１と同様の機能ブロック図である。
【図１１】図10に示す実施例におけるWeb-AP実行サーバおよびFTP-AP実行サーバの連携管理部の機能的構成例を示すブロック図である。
【図１２】本発明が適用されるアプリケーション実行環境の例を示す図である。
【図１３】従来のアプリケーション実行環境を説明するための図である。
【図１４】本発明のさらに他の実施例によるサービス提供システムの機能的構成を示す、図１と同様の機能ブロック図である。
【図１５】図14に示す実施例におけるWebコンテキストマネージャおよびSIPコンテキストマネージャの機能的構成例を示す、図２と同様の機能ブロック図である。
【図１６】同実施例におけるWeb-AP実行サーバの具体的な構成例を示す、図３と同様の機能ブロック図である。
【図１７】同実施例におけるSIP-AP実行サーバの具体的な構成例を示す、図４と同様の機能ブロック図である。
【図１８】同実施例におけるサービス提供システムを初期化する際の動作例を示すシーケンス図である。
【図１９】同実施例においてコンテキストを登録する際の動作例を示すシーケンス図である。
【図２０】同実施例においてコンテキストを削除する際の動作例を示すシーケンス図である。
【図２１】同実施例におけるサービス提供システムがSIPメッセージを受信した際の動作例を示す、図６と同様のシーケンス図である。
【図２２】同実施例においてWebアプリケーションとSIPアプリケーションとを連携させる際の動作例を示す、図７と同様のシーケンス図である。
【図２３】同実施例においてコンテキストの属性の登録の動作例を示すシーケンス図である。
【図２４】同実施例においてコンテキストの属性の削除の動作例を示すシーケンス図である。
【発明を実施するための最良の形態】
【００１６】
次に添付図面を参照して本発明によるサービス提供システムの実施例を詳細に説明する。この実施例は、例えば、Tomcatに代表されるWeb-APサーバ環境にSIPをベースとしたSIP-APサーバ機能を統合するシステムである。
【００１７】
図12に示すシステムは全体として、複数のWebクライアント13-1および13-2にHTTPプロトコルでサービスを提供するWebサーバ132と、Webアプリケーション(Web-AP) 134と、それらの間に配設されたWeb-APサーバ133とを含む。Webサーバ132は、Webクライアント13-1および13-2と直接、やり取りする機能を担っている。このようなWeb-APサーバ133をベースとしたAP環境は、専らHTTPプロトコルを対象としたWebアプリケーションを実行することができる。
【００１８】
このようなシステムでは従来、以下のように動作していた。まず、Webクライアント13-1であるWebブラウザは、Webサーバ132へHTTPプロトコルを利用してリクエストを発行する（ステップS1）。次にWebサーバ132は、受信したリクエストを基にWeb-APサーバ133へAP処理の実行を依頼する（ステップS2）。そこでWeb-APサーバ133は、依頼されたAP処理に対応するWebアプリケーション134を起動し、目的のAP処理を実行する（ステップS3）。Webアプリケーション134は、実行結果をWeb-APサーバ133へ回答し、これは、Webサーバ132を介してWebブラウザ13-1に与えられる（ステップS4）。
【００１９】
従来、一方のWebクライアント13-1からのリクエストに対するWebアプリケーション134の実行結果を他方のWebクライアント13-2へ渡すには、この実行結果を取り出すためのリクエストを他方のWebブラウザ13-2が発行し、ステップS1〜S4と同様なステップS5〜S8の処理の流れで間接的に、実行結果を他方のWebブラウザ13-2が受信していた。
【００２０】
従来、このようなWeb-APサーバ133は一般に、図13にWeb-APサーバ133aとして示すように、HTTP Servletコンテナ141で実現されていた。HTTP Servletコンテナ141内には、複数のServlet 142を含むWebアプリケーション134が配置され、これは、Webサーバ132から受信したリクエストを実行する。他のWebブラウザ、例えば13-2から送信されるリクエストも同様のメカニズムにより処理される。このように、一方のWebブラウザ13-1からのリクエストの処理結果を他方のWebブラウザ13-2からのリクエストと連携させる処理も、一般には、このWebアプリケーション134内で実行されていた。
【００２１】
また、このWeb-APサーバ133aでは、Webクライアント13-1と13-2との間で、ステップS9で示すようなピアツーピア型のコミュニケーションを実行することができなかった。
【００２２】
図１を参照すると、実施例のサービス提供システム100は、図13に示すシステムにおけるWeb-APサーバ133aに代わる機能ブロックである。実施例のサービス提供システム100は、物理的には、1個のサーバで構成されていても、または複数のサーバで構成されていてもよい。
【００２３】
本実施例のサービス提供システム100は全体として、図示のように、Webコンテキストマネージャ101、SIPコンテキストマネージャ102、Web-AP実行サーバ107、SIP-AP実行サーバ108、コネクタマネージャ117、ハンドラマネージャ119、HTTPハンドラ122およびSIPハンドラ123を有する。
【００２４】
Webコンテキストマネージャ101は、Web-AP実行サーバ107上で実行される１または複数のWebコンテキスト103を管理するコンポーネントであり、各Webコンテキスト103には、対応するSIPコンテキスト105側との連携管理部104が設けられている。
【００２５】
SIPコンテキストマネージャ102は、SIP-AP実行サーバ108の環境上で実行される１または複数のSIPコンテキスト105を管理するコンポーネントであり、SIP-AP実行サーバ108はWeb-AP実行サーバ107と連携する。各SIPコンテキスト105には、対応するWebコンテキスト103側との連携管理部106が設けられている。
【００２６】
Webコンテキスト103は、Webアプリケーション134がWeb-AP実行サーバ107と通信するためのコンポーネントであり、例えば、実行ログの書込み、要求の振分け等のインタフェース機能を提供する。
【００２７】
Webコンテキスト103側の連携管理部104は、Webコンテキスト103とSIPコンテキスト105が連携するためのWebコンテキスト用のコンポーネントであり、SIPコンテキスト105側の連携管理部106と対で利用する。Webコンテキスト103側の連携管理部104は、Webコンテキスト102側で管理するWeb-AP情報等の情報の操作をSIPコンテキスト105側から実行可能にする機能を提供する。連携管理部104はまた、Webアプリケーション134側からの要求を基にSIPコンテキスト103側の情報を操作するための機能を提供する。具体的な機能構成に関しては図２を参照して後述する。
【００２８】
SIPコンテキスト105は、SIPアプリケーション(図示せず)がSIP-AP実行サーバ108と通信するためのコンポーネントであり、例えば、実行ログの書込み、要求の振分け等のインタフェース機能を提供する。
【００２９】
SIPコンテキスト105側の連携管理部106は、Webコンテキスト103とSIPコンテキスト105が連携するためのSIPコンテキスト用のコンポーネントであり、Webコンテキスト103側の連携管理部104と対で利用する。SIPコンテキスト105側の連携管理部106は、Webコンテキスト103側で管理するWeb-AP情報を操作するための機能を提供する。さらに、SIPコンテキスト105側で管理するSIP-AP情報をWebコンテキスト103側から操作するための機能を提供する。具体的な機能構成に関しては図２を参照して後述する。
【００３０】
さて、Web-AP実行サーバ107は、Webプロトコル、すなわちHTTPプロトコルを操作するアプリケーションが稼働するサーバ環境である。これは、図示のように、コンテキスト管理部109、ハンドライベント処理部110、メッセージ処理部111および連携管理部112を有する。
【００３１】
コンテキスト管理部109は、Webコンテキストマネージャ101と通信するためのコンポーネントである。ハンドライベント処理部110は、ハンドラ（図示せず）からのイベントを処理するコンポーネントである。ここで、ハンドラとは、HTTPおよびSIPプロトコルを処理する機構の総称であり、HTTPおよびSIPプロトコルを構成するメッセージの処理、さらにはAPサーバ側との通信コネクションの管理を実行する。メッセージ処理部111は、HTTPおよびSIPメッセージを処理するコンポーネントである。Webアプリケーション134側のサーバ環境連携管理部112は、Web-AP実行サーバ107とSIP-AP実行サーバ108を連携させるためのWeb-AP用のコンポーネントであり、SIPアプリケーション側のサーバ環境連携管理部116と対で利用される。
【００３２】
SIP-AP実行サーバ108は、SIPプロトコルを操作するアプリケーションを稼働させるサーバ環境であり、SIPメッセージの操作、さらには、IPメッセージの発行機能等を有する。SIP-AP実行サーバ108は、図示のようにコンテキスト管理部113、コネクタ管理部114、メッセージ処理部115および連携管理部116を有する。
【００３３】
コンテキスト管理部113は、SIPコンテキストマネージャ102と通信するためのコンポーネントである。コネクタ管理部114は、コネクタマネージャ117と通信するためのコンポーネントである。メッセージ処理部115は、SIPメッセージを処理するコンポーネントである。SIPアプリケーション側のサーバ環境連携管理部116は、Web-AP実行サーバ107とSIP-AP実行サーバ108を連携させるためのSIPアプリケーション用のコンポーネントであり、Webアプリケーション側のサーバ環境連携管理部112と対で利用される。
【００３４】
コネクタマネージャ117は、１または複数のコネクタ118を管理するためのコンポーネントである。各コネクタ118は、SIP-AP実行サーバ108とその接続先との間でSIPメッセージを送受信するためのコンポーネントであり、各コネクタ118は、SIPハンドラ123と1対1で関連づけられている。
【００３５】
ハンドラマネージャ119は、HTTPハンドラ122およびSIPハンドラ123からのメッセージをWeb-AP実行サーバ107へ受け渡すためのコンポーネントであり、図示のように、ハンドラ管理部120、ハンドライベント処理部121およびメッセージ処理部127を有する。
【００３６】
ハンドラ管理部120は、HTTPハンドラ122およびSIPハンドラ123を管理するコンポーネントであり、HTTPハンドラ122またはSIPハンドラ123の追加、削除等の変更機能を有する。ハンドライベント処理部121は、HTTPハンドラ122およびSIPハンドラ123を追加や削除したときに、これらのイベントをWeb-AP実行サーバ107に通知するコンポーネントである。メッセージ処理部127は、HTTPハンドラ122およびSIPハンドラ123とWeb-AP実行サーバ107との間でメッセージを授受するコンポーネントである。
【００３７】
HTTPハンドラ122は、Webプロトコル、すなわちこの例ではHTTPプロトコルでメッセージを受信し、Web-AP実行サーバ107で実行するHTTPメッセージを構成するコンポーネントである。
【００３８】
SIPハンドラ123は、SIPプロトコルでメッセージを受信し、SIP-AP実行サーバ108で実行するSIPメッセージを構成するコンポーネントであり、SIPハンドラ識別情報(ID)により、一意に識別される。SIPハンドラ123は、図示のようにコネクタ生成部124、コネクション生成部125およびメッセージ処理部126を有する。
【００３９】
コネクタ生成部124は、コネクタ118を生成するコンポーネントである。コネクション生成部125は、コネクションを生成するためのモジュールである。コネクションは、転送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)等のトランスポートプロトコルに従って、実際にSIPメッセージを送受信する機能を提供し、コネクタ118で利用される。メッセージ処理部126は、特定のトランスポートプロトコルでメッセージを受信し、SIPメッセージを構成するコンポーネントである。
【００４０】
次に、図２を参照して、WebアプリケーションとSIPアプリケーションのコンテキストを連携させるための環境であるWebコンテキスト103側の連携管理部104とSIPコンテキスト105側の連携管理部106の構成を説明する。
【００４１】
Webコンテキスト103側の連携管理部104は、Webコンテキスト103側で管理するWeb-AP情報等の情報の操作をSIPコンテキスト105側から実行可能にするためのコンポーネントである。また、Webアプリケーション側からの要求を基に、SIPコンテキスト105側の情報を操作するためにも利用する。Webコンテキスト103側の連携管理部104は、図示のように、AP検索要求送信モジュール201、AP検索要求受信モジュール202、属性登録要求受信モジュール203、属性削除要求受信モジュール204および属性検索要求受信モジュール205を有する。
【００４２】
SIPコンテキスト105側の連携管理部106は、Webコンテキスト103側で管理するWeb-AP情報を操作するためのコンポーネントであり、SIPコンテキスト105側で管理するSIP-AP情報をWebコンテキスト103側から操作するためにも利用する。SIPコンテキスト105側の連携管理部106は、図示のように、AP検索要求受信モジュール206、AP検索要求送信モジュール207、属性登録要求送信モジュール208、属性削除要求送信モジュール209および属性検索要求送信モジュール210を有する。
【００４３】
AP検索要求送信モジュール201は、SIP側で管理されるSIPアプリケーションを検索するためのモジュールである。AP検索要求受信モジュール206は、Web側で管理されるWebアプリケーションを検索するためのモジュールであり、AP検索要求送信モジュール201と対をなす。
【００４４】
AP検索要求受信モジュール202は、Web側で管理されるWebアプリケーションをSIPコンテキスト側から検索するためのモジュールである。AP検索要求送信モジュール207は、SIP側で管理されるSIPアプリケーションをWebコンテキスト側から検索するためのモジュールであり、AP検索要求受信モジュール202と対をなす。
【００４５】
属性登録要求受信モジュール203は、Web側で管理されるWebアプリケーションの属性情報をSIPコンテキスト側から登録するためのモジュールである。属性登録要求送信モジュール208は、Web側で管理されるWebアプリケーションの属性情報を登録するためのモジュールであり、属性登録要求受信モジュール203と対をなす。
【００４６】
属性削除要求受信モジュール204は、Web側で管理されるWebアプリケーションの属性情報をSIPコンテキスト側から削除するためのモジュールである。属性削除要求送信モジュール209は、Web側で管理されるWebアプリケーションの属性情報を削除するためのモジュールであり、属性削除要求受信モジュール204と対をなす。
【００４７】
属性検索要求受信モジュール205は、Web側で管理されるWebアプリケーションの属性情報をSIPコンテキスト側から検索するためのモジュールである。属性検索要求送信モジュール210は、Web側で管理されるWebアプリケーションの属性情報を検索するためのモジュールであり、属性検索要求受信モジュール205と対をなす。
【００４８】
上述の構成は、アプリケーションの属性情報はすべてWeb側で管理する方式を採用している。しかし、このようにしないで、SIP側で管理するように構成してもよい。
【００４９】
次に図３を参照して、Web-AP実行サーバ107の具体的な構成を説明する。コンテキスト管理部109は、前述したように、Webコンテキストマネージャ101で保持されるWebコンテキスト103を操作するためのコンポーネントである。コンテキスト管理部109は、図示のように、コンテキスト検索モジュール301、コンテキスト登録モジュール302、コンテキスト削除モジュール303およびコンテキスト連携モジュール304を有する。コンテキスト管理部109は、コンテキスト連携モジュール304を備える点が特徴的である。
【００５０】
さて、コンテキスト検索モジュール301は、Webコンテキストマネージャ101（図１）上に登録されているWebコンテキスト103を検索するモジュールである。コンテキスト登録モジュール302は、Webコンテキストマネージャ101上にWebコンテキスト103を登録するモジュールである。コンテキスト削除モジュール303は、Webコンテキストマネージャ101上からWebコンテキスト103を削除するモジュールである。コンテキスト連携モジュール304は、Webコンテキスト103とSIPコンテキスト105との連携指示を発行するモジュールである。
【００５１】
ハンドライベント処理部110は、前述のように、ハンドラマネージャ119で実行されるHTTPハンドラ122およびSIPハンドラ123に対する操作のイベント通知を受信するためのコンポーネントであり、図示のように、ハンドラ登録イベント受信モジュール306およびハンドラ削除イベント受信モジュール305を有する。
【００５２】
ハンドラ登録イベント受信モジュール306は、ハンドラマネージャ119ヘハンドラが追加されたことを表すイベントを受信するためのモジュールである。ハンドラ削除イベント受信モジュール305は、ハンドラマネージャ119からハンドラが削除されたことを表すイベントを受信するためのモジュールである。メッセージ処理部111は、前述したように、HTTPハンドラ122およびSIPハンドラ123から受信したメッセージを処理するためのコンポーネントであり、HTTPメッセージ処理モジュール307およびSIPメッセージ処理モジュール308を有する。HTTPメッセージ処理モジュール307は、対象とするアプリケーションを実行するWebコンテキスト103ヘHTTPメッセージを配送するためのモジュールである。SIPメッセージ処理モジュール308は、SIPメッセージをSIP-AP実行サーバ108へ配送するためのモジュールである。
【００５３】
連携管理部112の具体的な構成および機能は、SIP-AP実行サーバ108の連携管理部116とともに、図５を参照して後述する。
【００５４】
次に図４を参照して、Web-AP実行サーバ107に接続されるSIP-AP実行サーバ108の具体的な構成を説明する。
【００５５】
コンテキスト管理部113は、前述したように、SIPコンテキストマネージャ102で保持されるSIPコンテキスト105を操作するためのコンポーネントであり、図示のように、コンテキスト検索モジュール401、コンテキスト登録モジュール402、コンテキスト削除モジュール403およびWebコンテキスト連携モジュール404を有する。
【００５６】
コンテキスト検索モジュール401は、SIPコンテキストマネージャ102上に登録されているSIPコンテキスト105を検索するモジュールである。コンテキスト登録モジュール402は、SIPコンテキストマネージャ102上へSIPコンテキスト105を登録するモジュールである。コンテキスト削除モジュール403は、SIPコンテキストマネージャ102上からSIPコンテキスト105を削除するモジュールである。Webコンテキスト連携モジュール404は、SIPコンテキスト105とWebコンテキスト103を関連づけるモジュールである。
【００５７】
コネクタ管理部114は、前述したように、コネクタ118を操作するためのコンポーネントであり、図示のように、コネクタ検索モジュール405、コネクタ登録モジュール406、コネクタ削除モジュール407およびメッセージ送信モジュール408を有する。
【００５８】
コネクタ検索モジュール405は、コネクタマネージャ117上に登録されているコネクタ118を検索するモジュールである。コネクタ登録モジュール406は、コネクタマネージャ117ヘコネクタ118を登録するモジュールである。コネクタ削除モジュール407は、コネクタマネージャ117からコネクタ118を削除するモジュールである。メッセージ送信モジュール408は、コネクタ118へSIPメッセージを配送するモジュールである。
【００５９】
メッセージ処理部115は、前述のように、SIPメッセージを処理するためのコンポーネントであり、図示のようにSIPメッセージ受信モジュール409およびSIPメッセージ送信モジュール410を有する。
【００６０】
SIPメッセージ受信モジュール409は、コネクタ118からSIPメッセージを受信し、対象とするSIPアプリケーションを実行するSIPコンテキスト105へ配送するためのモジュールである。SIPメッセージ送信モジュール410は、SIPコンテキスト105から受信したSIPメッセージをコネクタ118へ配送するモジュールである。
【００６１】
次に、Webアプリケーション134側とSIPアプリケーション側を連携させるための管理機構であるWeb-AP実行サーバ107側の連携管理部112およびSIP-AP実行サーバ108側の連携管理部116の具体的な構成を図５を参照しながら説明する。
【００６２】
Web-AP実行サーバ107側の連携管理部112は、すでに述べたように、Web-AP実行サーバ107に通知されるSIPプロトコルに関するSIPメッセージ、コネクタ管理などの情報をSIP-AP実行サーバ108へ渡すためのコンポーネントである。この連携管理部112は、図示のようにSIPメッセージ配送モジュール501、SIPコネクタ登録イベント配送モジュール502、SIPコネクタ削除イベント配送モジュール503、コンテキスト登録イベント配送モジュール504およびコンテキスト削除イベント配送モジュール505を有する。
【００６３】
SIP-AP実行サーバ108側の連携管理部116は、既述のように、Web-AP実行サーバ107に通知されたSIPプロトコルに関するSIPメッセージ、コネクタ管理などの情報を受け取るためのコンポーネントである。この連携管理部116は、図示のようにSIPメッセージ受信モジュール506、SIPコネクタ登録イベント受信モジュール507、SIPコネクタ削除イベント受信モジュール508、コンテキスト登録イベント受信モジュール509およびコンテキスト削除イベント受信モジュール510を有する。
【００６４】
SIPメッセージ配送モジュール501は、Web-AP実行サーバ107が受信したSIPメッセージをSIP-AP実行サーバ108へ配送するモジュールである。SIPメッセージ受信モジュール506は、Web-AP実行サーバ107が受信したSIPメッセージを受信するモジュールである。
【００６５】
SIPコネクタ登録イベント配送モジュール502は、SIPコネクタ118が登録されたことを通知するモジュールである。SIPコネクタ登録イベント受信モジュール507は、SIPコネクタ118が登録された旨の通知を受信するモジュールである。
【００６６】
SIPコネクタ削除イベント配送モジュール503は、SIPコネクタ118が削除されたことを通知するモジュールである。SIPコネクタ削除イベント受信モジュール508は、SIPコネクタ118が削除された旨の通知を受信するモジュールである。
【００６７】
コンテキスト登録イベント配送モジュール504は、SIPコンテキスト105が登録されたことを通知するモジュールである。コンテキスト登録イベント受信モジュール509は、SIPコンテキスト105が登録された旨の通知を受信するモジュールである。
【００６８】
コンテキスト削除イベント配送モジュール505は、SIPコンテキスト105が削除されたことを通知するモジュールである。コンテキスト削除イベント受信モジュール510は、SIPコンテキスト105が削除された旨の通知を受信するモジュールである。
【００６９】
次に、本実施例のAPサーバ環境におけるサービス提供システム100がSIPメッセージを受信した際の動作を図６を参照しながら説明する。まず、SIPハンドラ123（図１）が外部からのSIPメッセージを受信すると、メッセージ処理モジュール126は、転送するSIPメッセージを構成する。このSIPメッセージには、SIPハンドラを特定するための識別子情報であるSIPハンドラIDを設定し、ハンドラマネージャ119へ配送する（ステップS11）。SIPハンドラIDは、例えば整数値でよい。ハンドラマネージャ119は、SIPメッセージをメッセージ処理部127で受信し、Web-AP実行サーバ107へ配送する（ステップS12）。
【００７０】
Web-AP実行サーバ107は、SIPメッセージをメッセージ処理部111で受信する。メッセージ処理部111は、SIPメッセージ処理モジュール308によりSIPメッセージをWeb-AP実行サーバ107側の連携管理部112へ配送する（ステップS13）。
【００７１】
Web-AP実行サーバ107側の連携管理部112は、SIPメッセージ配送モジュール501によりSIPメッセージをSIP-AP実行サーバ108側の連携管理部116へ配送する（ステップS14）。
【００７２】
SIP-AP実行サーバ108側の連携管理部116は、SIPメッセージ受信モジュール506によりSIPメッセージを受信する。受信したSIPメッセージをコネクタ管理部114へ配送する（ステップS15）。
【００７３】
コネクタ管理部114は、SIPメッセージに設定されたSIPハンドラIDを利用してコネクタ検索モジュール405からコネクタ118を検索し、これを取得する。次に、メッセージ送信モジュール408により、この取得したコネクタ118へSIPメッセージを配送する（ステップS16）。コネクタ118は、メッセージ処理部115へSIPメッセージを配送する（ステップS17）。
【００７４】
そこでメッセージ処理部115は、コンテキスト管理部113へSIPコンテキスト105の取得を要求する（ステップS18）。コンテキスト管理部113は、コンテキスト検索モジュール401からSIPコンテキスト105を検索し、メッセージ処理部115へ返す（ステップS19）。メッセージ処理部115は、SIPメッセージをSIPコンテキスト105へ配送する（ステップS20）。
【００７５】
そこでSIPコンテキスト105は、SIPメッセージをSIPアプリケーション601に配送し、SIPアプリケーション601では、例えば、IP (Internet Protocol)電話接続処理、インスタントメッセージ処理、プレゼンス表示等のアプリケーション処理を実行する。実行後、SIPコンテキスト105は、アプリケーション処理の実行結果を示すレスポンスを受信する。このレスポンスは、正常終了、異常終了、途中経過等の情報を含む。SIPコンテキスト105は、レスポンスをSIP-AP実行サーバ108へ配送する。より具体的には、レスポンスは、SIP-AP実行サーバ108のメッセージ処理部115へ配送される（ステップS21）。
【００７６】
そこでメッセージ処理部115は、SIPメッセージ送信モジュール410ヘレスポンスを配送する。SIPメッセージ送信モジュール410は、コネクタ管理部114ヘコネクタ118の取得を要求する（ステップS22）。
【００７７】
コネクタ管理部114では、SIPハンドラ123との接続を行うためのコネクタ118の取得をコネクタ検索モジュール405によってコネクタマネージャ117に依頼し、コネクタマネージャ117の管理下にあるコネクタ118を抽出する（ステップS23）。
【００７８】
SIPメッセージ送信モジュール410は、コネクタ118ヘレスポンスを配送する（ステップS24）。コネクタ118は、それに関連づけられたSIPハンドラ123ヘコネクションを要求する（ステップS25）。
【００７９】
そこでSIPハンドラ123は、コネクション生成部125によりコネクションを生成し、コレクタ118にその旨を返す（ステップS26）。コネクタ118は、コネクションを利用してレスポンスを宛先へ配送する（ステップS27）。
【００８０】
次に、WebアプリケーションとSIPアプリケーションが連携する際の動作を図７を参照しながら説明する。HTTPハンドラ122がHTTPリクエストを受信すると、HTTPハンドラ122はHTTPメッセージを構成する。HTTPメッセージは、例えば、特定のWebぺ一ジを表示するためのGetメッセージや、Webブラウザ13-1上からの入力情報をWeb-APサーバ133に送信するためのPutメッセージなどである。HTTPハンドラ122は、HTTPメッセージをハンドラマネージャ119へ配送する（ステップS31）。
【００８１】
ハンドラマネージャ119は、HTTPメッセージをメッセージ処理部127で処理してWeb-AP実行サーバ107へ配送する（ステップS32）。
【００８２】
Web-AP実行サーバ107は、HTTPメッセージをメッセージ処理部111へ配送する。メッセージ処理部111は、コンテキスト管理部109へWebコンテキスト103を要求する（ステップS33）。コンテキスト管理部109は、Webコンテキスト103を取得し、メッセージ処理部111に返す（ステップS34）。メッセージ処理部111のHTTPメッセージ処理モジュール307は、メッセージを該当するWebコンテキスト103へ渡す（ステップS35）。
【００８３】
Webコンテキスト103は、Webアプリケーション(Web-AP) 701ヘメッセージを配送する（ステップS36）。Webアプリケーション701は、SIPアプリケーション(図示せず)の取得をWebコンテキスト103へ要求する（ステップS37）。Webコンテキスト103は、その連携管理部104へSIPアプリケーションを要求する（ステップS38）。
【００８４】
連携管理部104は、そのAP検索要求送信モジュール201により連携管理部106へSIPアプリケーションを要求する（ステップS39）。連携管理部106は、この要求をAP検索要求受信モジュール206により受信する。AP検索要求受信モジュール206は、SIPコンテキスト105へSIPアプリケーションを要求する（ステップS40）。
【００８５】
SIPコンテキスト105は、SIPアプリケーション(SIP-AP) 702を取得し、連携管理部106に返す（ステップS41）。AP検索要求受信モジュール206は、連携管理部104側にSIPアプリケーションを返す（ステップS42）。
【００８６】
連携管理部104のAP検索要求送信モジュール201は、SIPアプリケーションを受け取り、Webコンテキスト103へ返す（ステップS43）。Webコンテキスト103は、Webアプリケーション701へSIPアプリケーション702を返す（ステップS44）。Webアプリケーション701は、SIPアプリケーション702を呼び出すとともに、レスポンスをHTTPリクエストの送信元へ向けて返す（ステップS45）。
【００８７】
次に、本実施例の方式を適用した場合において、SIPハンドラ123の登録、削除の動作と、WebアプリケーションとSIPアプリケーションとの融合型アプリケーションを実行するためのコンテキストの登録、削除の動作を図８および図９を参照しながら説明する。
【００８８】
まず、SIPハンドラ123を登録する動作を、図８(A)を参照しながら説明する。SIPハンドラ123の登録は、例えば、今、登録されているSIPハンドラとは別のポート番号あるいは別のトランスポートプロトコルでSIPメッセージを受信したいときに必要となる。
【００８９】
SIPハンドラ123の登録は、管理ツール(図示せず)からハンドラマネージャ119へ依頼される（ステップS51）。「管理ツール」は、WebサーバやWeb-APサーバの設定の変更をするために、通常、提供されている。
【００９０】
ハンドラマネージャ119は、そのハンドラ管理部120によりハンドラを登録する。次に、ハンドラが登録されたことをハンドライベント処理部121によりWeb-AP実行サーバ107に通知する（ステップS52）。
【００９１】
Web-AP実行サーバ107は、ハンドライベント処理部110のハンドラ登録イベント受信モジュール306でイベントを受信する。ハンドラ登録イベント受信モジュール306は、ハンドラが登録されたことを連携管理部112へ通知する（ステップS53）。
【００９２】
連携管理部112は、登録されたSIPハンドラ123を取得し、SIPコネクタ登録イベント配送モジュール502により、SIP-AP実行サーバ108の連携管理部116に配送する（ステップS54）。連携管理部116は、SIPコネクタ登録イベント受信モジュール507によりSIPハンドラ123を受信する（ステップS55）。
【００９３】
SIPコネクタ登録イベント受信モジュール507はSIPハンドラ123をコネクタ管理部114へ配送する（ステップS56）。コネクタ管理部114は、コネクタ登録モジュール406によってコネクタ118をコネクタマネージャ117へ登録する（ステップS57）。
【００９４】
次に、SIPハンドラ123を削除する動作を図８(B)を参照しながら説明する。SIPハンドラ123の削除は、例えば、SIPメッセージの受信がそのSIPハンドラから必要なくなったとき、管理ツールから起動される。
【００９５】
管理ツールからハンドラマネージャ119へ削除が依頼されると（ステップS61）、ハンドラマネージャ119は、そのハンドラ管理部120によりハンドラを削除する。次に、ハンドラが削除されたことをハンドライベント処理部121によりWeb-AP実行サーバ107に通知する（ステップS62）。
【００９６】
Web-AP実行サーバ107は、ハンドライベント処理部110のハンドラ削除イベント受信モジュール305でイベントを受信する。ハンドラ削除イベント受信モジュール305は、ハンドラが削除されたことを連携管理部112へ通知する（ステップS63）。
【００９７】
連携管理部112は、削除されたSIPハンドラ123のSIPハンドラIDを取得し、SIPコネクタ削除イベント配送モジュール503によりSIP-AP実行サーバ108の連携管理部116側へ配送する（ステップS64）。連携管理部116は、SIPコネクタ削除イベント受信モジュール508によりSIPハンドラIDを受信する（ステップS65）。
【００９８】
SIPコネクタ削除イベント受信モジュール508は、SIPハンドラIDをコネクタ管理部114へ配送する（ステップS66）。コネクタ管理部114は、コネクタ削除モジュール407によってコネクタ118をコネクタマネージャ117から削除する（ステップS67）。
【００９９】
次に、Webコンテキスト、および必要に応じてSIPコンテキストも登録する動作を図９(A)を参照しながら説明する。WebコンテキストおよびSIPコンテキストの登録は、例えば、アプリケーションを公開したいときなど、WebアプリケーションやSIPアプリケーションを追加するときに必要となる。
【０１００】
まず管理ツールは、Web-AP実行サーバ107のコンテキスト管理部109へWebコンテキストの登録を要求する（ステップS71）。コンテキスト管理部109は、そのコンテキスト登録モジュール302によりWebコンテキスト103をWebコンテキストマネージャ101へ登録する（ステップS72）。
【０１０１】
次に、Webコンテキストの登録に応じ、SIPコンテキスト105を生成する必要がある場合は、連携管理部112ヘコンテキストが追加されたことをコンテキスト連携モジュール304により通知する（ステップS73）。
【０１０２】
連携管理部112は、登録したWebコンテキスト103をコンテキスト登録イベント配送モジュール504によりSIP-AP実行サーバ108の連携管理部116に配送する（ステップS74）。連携管理部116のコンテキスト登録イベント受信モジュール509は、登録されたWebコンテキスト103を受信し、コンテキスト管理部113へ配送する（ステップS75）。
【０１０３】
コンテキスト管理部113は、登録されたWebコンテキスト103に対応するSIPコンテキスト105を生成する（ステップS76）。コンテキスト管理部113は、そのSIPコンテキスト登録モジュール402により、SIPコンテキストマネージャ102へ生成されたSIPコンテキストを登録する（ステップS77）。次いで、Webコンテキスト連携モジュール404により、Webコンテキスト103とSIPコンテキスト105を関連づける。
【０１０４】
次に、Webコンテキスト、および関連するSIPコンテキストが登録されているときはそれも削除する動作を、図９(B)を参照しながら説明する。WebコンテキストおよびSIPコンテキストの削除は、例えば、アプリケーションの公開を中止したいときなど、WebアプリケーションやSIPアプリケーションを削除するときに必要となる。
【０１０５】
まず管理ツールは、Web-AP実行サーバ107のコンテキスト管理部109へWebコンテキスト103の削除を要求する（ステップS81）。コンテキスト管理部109は、そのコンテキスト削除モジュール303によりWebコンテキスト103をWebコンテキストマネージャ101から削除する（ステップS82）。
【０１０６】
次に、Webコンテキストの削除によりSIPコンテキスト105を削除する必要がある場合は、連携管理部112ヘコンテキストが削除されたことをコンテキスト連携モジュール304により通知する（ステップS83）。
【０１０７】
連携管理部112は、削除されたWebコンテキスト名をそのコンテキスト削除イベント配送モジュール505によりSIP-AP実行サーバ108の連携管理部116に配送する（ステップS84）。連携管理部116のコンテキスト削除イベント受信モジュール510は、削除されたWebコンテキスト名を受信し、コンテキスト管理部113へ配送する（ステップS85）。
【０１０８】
コンテキスト管理部113は、削除されたWebコンテキストと同じ名前のSIPコンテキストをコンテキスト削除モジュール403によりSIPコンテキストマネージャ102から削除する（ステップS86）。
【０１０９】
以上のように、本実施例によれば、Web環境上に構築されるアプリケーションとSIP環境上に構築されるアプリケーションが相互に連携可能であり、Web-AP実行サーバ107をベースとした、WebとSIPプロトコルとの融合型アプリケーションの実行環境を構築することができる。これにより、従来型のWeb-APサーバ環境上では構築することができなかった、SIPプロトコルによるリアルタイムなコミュニケーションサービスがWebアプリケーション環境上に実現される。
【０１１０】
具体的には、以下のような適用例がある。(1) Webアプリケーションとして構築されたインターネットショッピング等の電子商取引アプリケーションにおいて、利用者が支援を必要とするとき、SIPアプリケーション側に処理を渡し、販売者側がIP電話やテレビジョン(TV)会議機能等の支援機能により利用者の操作を支援する。(2) 情報を共有するWebアプリケーションにおいて、情報を共有しているグループ内で、必要なときに電話会議やTV会議を行い、グループでの協働処理を促進させる。(3) 調達や生産管理を行うWebアプリケーションにおいて、調達物品が不足した際に、その情報をSIPアプリケーション側に渡し、調達処理の担当者に自動的にリアルタイムにメッセージを送信する。
【０１１１】
次に、本発明によるサービス提供システムの他の実施例を図面を参照しながら説明する。図10は、他の実施例のサービス提供システム1100の機能的構成を示すブロック図である。前述の実施例はWeb-APサーバにSIP-APサーバ環境を統合するものであったが、本実施例は、Web-APサーバとFTP-APサーバ環境とを統合するものである。
【０１１２】
図10に示す実施例は、図１に示す構成と比較すれば明らかなように、図１に示す実施例におけるSIPプロトコルに固有のコンポーネント102〜126がファイル転送プロトコル(FTP)に固有のコンポーネント1102〜1126にそれぞれ置き換わっている点を除いて、基本的には図１に示す実施例と同様である。以降の図において、図１に示す構成要素と同様の要素は、同じ参照符号で示し、説明の冗長を避ける。
【０１１３】
図11は、図10に示す実施例におけるWebアプリケーションとFTPアプリケーション(FTP-AP)との連携処理を実行する機能部を示している。図11から分かるように、Web-AP実行サーバ107側では、Get/Put/List等のFTPプロトコル処理を実行するFTPメッセージをFTPメッセージ配送モジュール1201により作成し、FTP-AP実行サーバ1108側のFTPメッセージ受信モジュール1206にこれを伝達する。FTP-AP実行サーバ1108側では、FTPメッセージの受信後、FTPアプリケーションを実行する。
【０１１４】
以上のように、本実施例によれば、Web環境上に構築されるアプリケーションとFTP環境上に構築されるFTPアプリケーションが相互に連携可能であり、Web-APサーバをベースとしたWebとFTPプロトコルとの融合型アプリケーションの実行環境が構築される。具体的には、Webをベースとしたグループ作業を実施している際、必要な大規模ファイルを相互に配信することや、大規模ファイル送受信を実行している際の問合せをWebブラウザ側に表示すること等が容易に実現される。
【０１１５】
上述した２つの実施例の技術思想を組み合わせて、Web-SIP-FTPの融合環境を実現することも可能である。
【０１１６】
図１に示す実施例は、Web-AP実行サーバにSIP-APサーバ環境を統合した例であり、図10に示した実施例は、Web-AP実行サーバにFTPサーバによるファイル送受信環境を統合した例であった。勿論これらは一例であり、本発明の方式を利用することにより、様々なプロトコルをベースとしたアプリケーション環境構築のベース環境としてWeb-APサーバを適用することが可能である。
【０１１７】
さて、本発明のさらに他の実施例を図14を参照して以下に説明する。この実施例1400は、SIP-APサーバとWeb-APサーバが疎結合され、既存のWeb-APサーバに変更を加える必要がないという点でこれまでに説明した実施例と異なる。その構成上の主な違いは以下の通りである。
【０１１８】
まず、ハンドラマネージャ119が本実施例ではHTTPハンドラマネージャ1019およびSIPハンドラマネージャ1028で構成されている。次に、コネクタ118の機能は、SIPハンドラ123に統合されている。さらに、SIP-APサーバとWeb-APサーバの統合は、連携管理コンポーネント112および116に代わって、本実施例ではWeb-APサーバの提供するイベント機能を使用している。また、SIP-APサーバがWeb-APサーバへ、SIPアプリケーションを利用するためのモジュールを提供する。その他の点は、基本的には、これまで説明した実施例と同様でよい。
【０１１９】
図14を参照すると、Webコンテキストマネージャ101およびSIPコンテキストマネージャ102には、それぞれ連携管理部104および106（図1）が設けられていない。Webコンテキスト103は、Webアプリケーションの実行環境を提供するコンポーネントである。例えば、前述した実行ログの書込み、Webアプリケーションへの要求の振分けの他に、属性の管理等を含むインタフェース機能を提供する。具体的な機能構成は後述する。また、SIPコンテキスト105は、SIPアプリケーションの実行環境を提供するコンポーネントである。例えば、前述した実行ログの書込み、SIPアプリケーションへの要求の振分けの他に、属性の管理等を含むインタフェース機能を提供する。これも具体的な機能構成は後述する。
【０１２０】
Web-AP実行サーバ107およびSIP-AP実行サーバ108は、基本的には図１に示す実施例と同様でよい。コンテキスト管理部109は、Webコンテキストマネージャ101と通信するためのコンポーネントであり、コンテキストの登録、削除等の機能を有する。さらに、コンテキストが登録または削除されたときに、イベントを送信する機能も有する。
【０１２１】
Web-AP実行サーバ107は、図示のようにメッセージ配送部10llを有し、これは、HTTPメッセージを適切なコンテキストヘ配送するコンポーネントである。Web-AP実行サーバ107はまた、イベントリスナ管理部1012も有している。これは、後述のイベントリスナを管理するコンポーネントである。イベントリスナは、SIP-AP実行サーバ108にあって、Webコンテキストが登録、削除等の操作をされたことをSIP-AP実行サーバ108へ通知する。後述するイベントリスナ1016は、そのようなイベントリスナの１つとして登録される。
【０１２２】
SIP-AP実行サーバ108において、コンテキスト管理部113は、SIPコンテキストマネージャ102と通信するためのコンポーネントであり、コンテキストの登録、削除等の機能を有する。SIP-AP実行サーバ108はメッセージ配送部1015を有し、これは、SIPメッセージを適切なコンテキストヘ配送するコンポーネントである。また、SIPアプリケーションからのSIPリクエストを宛先へ配送する機能も有する。SIP-AP実行サーバ108はイベントリスナ1016を有し、これは、Web-AP実行サーバ107でコンテキストが操作されたときに、その操作内容をSIP-AP実行サーバ108ヘ通知するためのコンポーネントである。
【０１２３】
先に触れたHTTPハンドラマネージャ1019は、HTTPハンドラ122からのメッセージをWeb-AP実行サーバ107へ受け渡すためのコンポーネントである。HTTPハンドラマネージャ1019はハンドラ管理1020を有する。これは、HTTPハンドラ122を管理するコンポーネントであり、HTTPハンドラ122の追加、削除等の機能を有する。
【０１２４】
HTTPハンドラ122は図１に示す実施例と同様でよい。SIPハンドラ123は、SIPプロトコルでメッセージを受信し、SIPアプリケーションへ受け渡すSIPメッセージを構成するコンポーネントである。SIPハンドラ123は、コネクションを生成するためのモジュールであるコネクション生成部125を有する。SIPハンドラ123は、図示のようにメッセージ処理部126を有し、これは、特定のトランスポートプロトコルでメッセージを受信し、ソケットから受信したデータをSIPメッセージとして構成するコンポーネントである。
【０１２５】
HTTPハンドラマネージャ1019は、図示のようにメッセージ処理部1027を有し、これは、HTTPハンドラ122から受信したHTTPメッセージをWeb-AP実行サーバ107へ受け渡すコンポーネントである。
【０１２６】
他方のハンドラマネージャ、SIPハンドラマネージャ1028は、SIPハンドラ123からのメッセージをSIP-AP実行サーバ108へ受け渡すためのコンポーネントである。SIPハンドラマネージャ1028はハンドラ管理部1029を有し、これは、SIPハンドラ123を管理するコンポーネントであり、SIPハンドラ123の追加、削除等の機能を有する。
【０１２７】
SIPハンドラマネージャ1028は、図示のようにメッセージ処理部1030を有し、これは、SIPハンドラ123から受信したSIPメッセージをSIP-AP実行サーバ108へ受け渡すコンポーネントである。
【０１２８】
次に、図15を参照して、WebおよびSIPコンテキスト103および105の構成を説明する。Webコンテキスト103は、代表的には次のモジュール群から構成される。すなわち、図示のようにAP検索要求受信部2002、属性登録要求受信部2003、属性削除要求受信部2004、属性検索要求受信部2005およびイベントリスナ管理部2011である。
【０１２９】
AP検索要求受信部2002は、Web側で管理されるWebアプリケーションをSIPコンテキスト105側から検索するためのモジュールであり、後述のSIPコンテキスト105にあるAP検索要求送信部2007と対になる。
【０１３０】
属性登録要求受信部2003は、Web側で管理されるWebアプリケーションの属性情報をSIPコンテキスト105側から登録するためのモジュールであり、後述のSIPコンテキスト105における属性登録要求受信部2008と対になる。属性削除要求受信部2004は、Web側で管理されるWebアプリケーションの属性情報をSIPコンテキスト105側から削除するためのモジュールである。これは、SIPコンテキスト105における属性削除要求受信部2009と対になる。
【０１３１】
属性検索要求受信2005は、Web側で管理されるWebアプリケーションの属性情報をSIPコンテキスト105側から検索するためのモジュールである。これは、SIPコンテキスト105における属性検索要求受信部2010と対になる。
【０１３２】
イベントリスナ管理部2011は、コンテキストの属性情報が登録、削除、更新等の操作をされたことを通知するためのイベントリスナを管理するWeb側のモジュールである。イベントリスナ2012は、このようなイベントリスナの１つとして登録される。
【０１３３】
SIPコンテキスト105は、代表的には次のモジュール群から構成される。すなわち、図示のように、AP検索要求送信部2007、属性登録要求受信部2008、属性削除要求受信部2009、属性検索要求受信部2010、イベントリスナ2012、SIP-AP実行部2013およびイベントリスナ管理部2014である。
【０１３４】
AP検索要求送信部2007は、SIP側で管理されるSIPアプリケーションをWebコンテキスト103側から検索するためのモジュールである。
【０１３５】
属性登録要求受信部2008は、Web側で管理されるWebアプリケーションの属性情報を登録するためのモジュールである。属性削除要求受信部2009は、Web側で管理されるWebアプリケーションの属性情報を削除するためのモジュールである。
【０１３６】
属性検索要求受信2010は、Web側で管理されるWebアプリケーションの属性情報を検索するためのモジュールである。イベントリスナ2012は、Web側で属性情報が操作されたときに、その内容をSIPコンテキスト105側へ通知するためのモジュールである。
【０１３７】
SIP-AP実行部2013は、SIPアプリケーションを実行するためのモジュールであり、WebアプリケーションからSIPアプリケーションを実行する場合等で使用する。
【０１３８】
イベントリスナ管理部2014は、コンテキストの属性情報が登録、削除、更新等の操作をされたことを通知するためのイベントリスナを管理するSIP側のモジユールである。
【０１３９】
次に、Web-AP実行サーバ107の構成を図16を参照して説明する。コンテキスト管理109は、基本的には前述した図１に示す実施例におけるのと同様のコンテキスト検索モジュール301、コンテキスト登録モジュール302およびコンテキスト削除モジュール303を有する。コンテキスト連携モジュール304は配設されていない。
【０１４０】
Web-AP実行サーバ107は、図示のようにHTTPメッセージ配送部101lを有し、これは、HTTPメッセージを適切なコンテキストヘ配送するコンポーネントである。Web-AP実行サーバ107はまた、イベントリスナ管理部1012を有し、これは、Webコンテキストが登録、削除等の操作をされたことを通知するためのイベントリスナを管理するコンポーネントである。
【０１４１】
次いで、Web-AP実行サーバ107に接続するSIP-AP実行サーバ108の構成を図17を参照して説明する。コンテキスト管理部113は、コンテキスト検索モジュール401、コンテキスト登録モジュール402およびコンテキスト削除モジュール403を有する。勿論、Webコンテキスト連携モジュール404は設けられていない。
【０１４２】
メッセージ配送部1015は、図１に示す実施例におけるメッセージ処理部115（図４）と同様でよい。しかし、SIPメッセージ受信モジュール409がSIPハンドラ123からSIPメッセージを受信し、対象とするSIPアプリケーションを実行するSIPコンテキスト105へ配送することと、SIPメッセージ送信モジュール410がSIPコンテキスト105から受信したSIPメッセージをSIPハンドラ123へ配送することは、図１の実施例と相違する。
【０１４３】
イベントリスナ1016は、Web-AP実行サーバ107でコンテキストが操作されたときに、その操作内容をSIP-AP実行サーバ108へ通知するためのコンポーネントである。イベントリスナ管理部1031は、SIPのコンテキストが登録や削除等のコンテキスト操作をされたことをイベントとして受け取るためのイベントリスナを管理するコンポーネントである。たとえば、Web上の管理ツールからコンテキストを削除したとき、イベントリスナ管理部1031は、それが管理するイベントリスナにイベント通知を行なう。
【０１４４】
さて、この実施例におけるAPサーバ環境を初期化する際の動作を図18を参照して説明をする。まず、Web-APサーバとSIP-APサーバを起動する。SIP-AP実行サーバ108は、イベントリスナ1016をWeb-AP実行サーバ107のイベントリスナ管理部1012に登録する（ステップS101）。
【０１４５】
Web-AP実行サーバ107は、Webアプリケーションの設定情報に従ってWebコンテキスト103を生成し、Webコンテキスト103をWebコンテキストマネージャ101へ設定する。このとき、SIPコンテキスト105も生成され、SIPコンテキストマネージャ102へ登録される（ステップS102）。Webコンテキスト103の登録時の動作は後述する。Web-AP実行サーバ107は、Webアプリケーションの数だけステップS102を繰り返す（ステップS103）。
【０１４６】
次に、図19を参照してAPサーバ環境にコンテキストを登録する際の動作を説明する。Web-AP実行サーバ107は、Webアプリケーションの設定情報に従ってWebコンテキスト103を生成し、コンテキスト管理部109のコンテキスト登録モジュール302へWebコンテキスト103の登録を依頼する（ステップS111）。コンテキスト登録モジュール302は、Webコンテキスト103をWebコンテキストマネージャ101へ登録する（ステップS112）。
【０１４７】
Web-AP実行サーバ107は、イベントリスナ管理部1012で管理されているイベントリスナ1016へWebコンテキスト103が生成されたことを通知する（ステップS114）。SIP-AP実行サーバ108は、イベントリスナ1016からWebコンテキスト103の生成を通知される。
【０１４８】
SIP-AP実行サーバ108は、生成されたWebコンテキストと同じコンテキスト名であるSIPコンテキスト105を生成し、これをWebコンテキスト103と関連づける（ステップS115）。SIP-AP実行サーバ108は、SIPコンテキスト105のイベントリスナモジュール2012を、Webコンテキスト103のイベントリスナ管理モジュール20llへ登録する（ステップS116）。
【０１４９】
SIP-AP実行サーバ108は、コンテキスト管理部113のコンテキスト登録モジュール402へSIPコンテキスト105の登録を依頼する（ステップS117）。コンテキスト登録モジュール402は、SIPコンテキスト105をSIPコンテキストマネージャ102へ登録する（ステップS118）。SIP-AP実行サーバ108は、イベントリスナ管理部1031で管理されているイベントリスナヘこのSIPコンテキスト105の登録された旨を通知する（ステップS119）。
【０１５０】
ここで、図20を参照してAPサーバ環境からコンテキストを削除する際の動作を説明する。Web-AP実行サーバ107は、コンテキスト管理部109のコンテキスト検索モジュール301からWebコンテキスト103を検索する。対象のコンテキストが存在していれば、コンテキスト削除モジュール303へWebコンテキストの削除を依頼する（ステップS121）。コンテキスト削除モジュール303は、Webコンテキストマネージャ101からWebコンテキスト103を削除する（ステップS122）。
【０１５１】
Web-AP実行サーバ107は、イベントリスナ管理部1012で管理されているイベントリスナ1016へWebコンテキスト103が削除されたことを通知する（ステップS123）。SIP-AP実行サーバ108は、イベントリスナ1016からWebコンテキスト103の削除を通知される（ステップS124）。
【０１５２】
SIP-AP実行サーバ108は、削除されたWebコンテキストと同じコンテキスト名であるSIPコンテキスト105をコンテキスト管理部113のコンテキスト検索モジュール401から検索する。そのコンテキストが存在していれば、コンテキスト削除モジュール403へSIPコンテキスト105の削除を依頼する（ステップS125）。コンテキスト削除モジュール403は、SIPコンテキスト105をSIPコンテキストマネージャ102から削除する。SIP-AP実行サーバ108は、イベントリスナ管理部1031で管理されているイベントリスナヘSIPコンテキスト105が削除されたことを通知する。
【０１５３】
次に、図21を参照してAPサーバ環境がSIPメッセージを受信した際の動作を説明する。SIPハンドラ123がソケットから受信したバイト列で表現されるSIPメッセージを受信すると、メッセージ処理モジュール126は、このSIPメッセージをバイト列からSIP-AP実行サーバ108で認識可能な形のSIPメッセージヘ変換する。このSIPメッセージをSIPハンドラマネージャ1028へ配送する（ステップS131）。
【０１５４】
SIPハンドラマネージャ1028は、このSIPメッセージをメッセージ処理部1030で受信し、SIP-AP実行サーバ108へ配送する（ステップS132）。SIP-AP実行サーバ108は、SIPメッセージをメッセージ配送部1015のSIPメッセージ受信モジュール409で受信する。SIPメッセージ受信モジュール409は、コンテキスト管理部113へSIPコンテキスト105の取得を要求する（ステップS133）。
【０１５５】
コンテキスト管理部113は、コンテキスト検索モジュール401からSIPコンテキスト105を検索し、検索したSIPコンテキスト105をSIPメッセージ受信モジュール409へ返す（ステップS134）。SIPメッセージ受信モジュール409は、SIPメッセージをSIPコンテキスト105へ配送する（ステップS135）。
【０１５６】
SIPコンテキスト105は、SIPメッセージをSIPアプリケーションに配送し、SIPアプリケーションで、例えばIP電話接続処理、インスタントメッセージ処理、プレゼンス表示等のアプリケーション処理601を実行する。実行後、そのレスポンスを受信する。このレスポンスは、アプリケーション処理の実行結果である正常終了、異常終了、途中経過等の情報を含み、SIP-AP実行サーバ108へ配送され、さらに、メッセージ配送部1015へ配送される（ステップS136）。
【０１５７】
メッセージ配送部1015は、SIPメッセージ送信モジュール410ヘレスポンスを配送する。SIPメッセージ送信モジュール410は、ハンドラ管理部1029ヘハンドラ123の取得を要求する（ステップS137）。ハンドラ管理部1029は、SIPハンドラ123を検索し、検索したハンドラをSIPメッセージ送信モジュール410へ返す（ステップS138）。
【０１５８】
SIPメッセージ送信モジュール410は、SIPハンドラ123ヘコネクションを要求する（ステップS139）。SIPハンドラ123は、コネクション生成部125によりコネクションを生成し、これを返す（ステップS140）。SIPメッセージ送信モジュール410は、このコネクションを利用してレスポンスを宛先へ配送する（ステップS141）。
【０１５９】
次に、WebアプリケーションとSIPアプリケーションが連携する際の動作を図22を参照しながら説明する。HTTPハンドラ122は、HTTPリクエストを受信すると、HTTPメッセージを構成する。このメッセージは、例えば、特定のWebページを表示するためのGetメッセージや、Webブラウザ13-1上からの入力情報をWeb-APサーバ133に送信するためのPutメッセージなどである。このメッセージはHTTPハンドラマネージャ1019へ配送される（ステップS151）。HTTPハンドラマネージャ1019は、メッセージ処理部1027でこれを処理し、Web-AP実行サーバ107へ配送する（ステップS152）。
【０１６０】
Web-AP実行サーバ107は、メッセージをメッセージ配送部1011へ配送する。メッセージ配送部101lは、コンテキスト管理部109へWebコンテキスト103を要求する（ステップS153）。コンテキスト管理部109は、Webコンテキスト103を取得して返す（ステップS154）。HTTPメッセージ配送部101lは、メッセージをWebコンテキスト103へ渡す（ステップS155）。
【０１６１】
Webコンテキスト103は、Webアプリケーション134ヘメッセージを配送する（ステップS156）。次いで、Webアプリケーション134は、SIPコンテキスト105のSIP-AP実行モジュール2013へSIPアプリケーションの実行を要求する（ステップS157）。
【０１６２】
SIP-AP実行モジュール2013は、SIPアプリケーション702をSIPコンテキスト105から取得する（ステップS158）。SIP-AP実行モジュール2013は、SIPアプリケーションを実行する（ステップS159）。SIP-AP実行モジュール2013は、SIPアプリケーションの実行結果をWebアプリケーションへ返す（ステップS160）。そこでWebアプリケーション134は、レスポンスをHTTPリクエストの送信元へ返す（ステップS161）。
【０１６３】
図23を参照すると、コンテキストの属性を登録するときの動作は、次のように進行する。まず、Webコンテキスト103から属性が登録された場合は、次のように処理される。Webコンテキスト103は、属性登録の要求を受けると、指定された属性を登録する（ステップS171）。そこでWebコンテキスト103は、イベントリスナ管理部2011にイベント通知するように要求する（ステップS172）。イベントリスナ管理部2011は、イベントリスナ管理部20llに登録されているイベントリスナ2012ヘイベントを配送し、SIPコンテキスト105は、イベントリスナ2012からイベントを受ける（ステップS173）。
【０１６４】
SIPコンテキスト105は、イベントリスナ管理部2014にイベント通知するように要求する（ステップS174）。イベントリスナ管理部2014は、イベントリスナ管理部2014に登録されているイベントリスナヘイベントを配送する。
【０１６５】
SIPコンテキスト105から属性が登録された場合は、次のように処理される。SIPコンテキスト105は、属性登録の要求を受けると（ステップS176）、SIP側の属性登録部2008へ属性の登録を要求する（ステップS177）。SIP側の属性登録部2008は、Web側の属性登録部2003へ属性の登録を要求する（ステップS178）。
【０１６６】
Web側の属性登録部2003は、Webコンテキスト103へ属性登録を要求し、Webコンテキスト103は属性を登録する（ステップS179）。Webコンテキスト103は、イベントリスナ管理部20llにイベント通知するように要求する（ステップS180）。
【０１６７】
イベントリスナ管理部20llは、イベントリスナ管理部2011に登録されているイベントリスナ2012ヘイベントを配送し、SIPコンテキスト105は、イベントリスナから2012からイベントを受ける（ステップS181）。
【０１６８】
SIPコンテキスト105は、イベントリスナ管理部2014にイベント通知するように要求する（ステップS182）。イベントリスナ管理部2014は、イベントリスナ管理部2014に登録されているイベントリスナヘイベントを配送する（ステップS183）。
【０１６９】
最後に、図24を参照して、コンテキストの属性を削除するときの動作を説明する。Webコンテキスト103から属性が削除された場合、次のように処理される。Webコンテキスト103は、属性削除の要求を受けると、指定された属性を削除する（ステップS201）。Webコンテキスト103は、イベントリスナ管理部2011にイベント通知するように要求する（ステップS202）。
【０１７０】
イベントリスナ管理部20llは、イベントリスナ管理部20llに登録されているイベントリスナ2012ヘイベントを配送し、SIPコンテキスト105は、イベントリスナから2012からイベントを受ける（ステップS203）。SIPコンテキスト105は、イベントリスナ管理部2014にイベント通知するように要求する（ステップS204）。イベントリスナ管理部2014は、イベントリスナ管理部2014に登録されているイベントリスナヘイベントを配送する（ステップS205）。
【０１７１】
SIPコンテキスト105から属性が削除された場合は、以下のように処理が進行する。SIPコンテキスト105は、属性削除の要求を受けると（ステップS206）、SIP側の属性削除部2009へ属性の削除を要求する（ステップS207）。SIP側の属性削除部2009は、Web側の属性削除部2004へ属性の削除を要求する（ステップS208）。
【０１７２】
Web側の属性削除部2004は、Webコンテキスト103へ属性の削除を要求し、Webコンテキスト103は属性を削除する（ステップS209）。Webコンテキスト103は、イベント通知するようイベントリスナ管理部20llに要求する（ステップS210）。
イベントリスナ管理部2011は、イベントリスナ管理部2011に登録されているイベントリスナ2012ヘイベントを配送し、SIPコンテキスト105は、イベントリスナから2012からイベントを受ける（ステップS211）。
【０１７３】
SIPコンテキスト105は、イベント通知するようイベントリスナ管理部2014に要求する（ステップS212）。イベントリスナ管理部2014は、イベントリスナ管理部2014に登録されているイベントリスナヘイベントを配送する（ステップS213）。
【０１７４】
このように、実施例のサービス提供システムは、SIP-APサーバとWeb-APサーバが疎結合され、既存のWeb-APサーバに変更を加えることなくWeb-APサーバ環境上にSIP-APサーバ環境を構築することができる。
【符号の説明】
【０１７５】
100、1100、1400  サービス提供システム
101  Webコンテキストマネージャ
102  SIPコンテキストマネージャ
103、105  Webコンテキスト
104、106、112、116  連携管理部
107  Web-AP実行サーバ
108  SIP-AP実行サーバ
109、113  コンテキスト管理部
110  ハンドライベント処理部
111、115、126、127  メッセージ処理部
114  コネクタ管理部
117  コネクタマネージャ
118  コネクタ
119  ハンドラマネージャ
120、1020、1029  ハンドラ管理部
121  ハンドライベント処理部
122  HTTPハンドラ
123  SIPハンドラ
124  コネクタ生成部
1011、1015  メッセージ配送部
1012、1031  イベントリスナ管理部
1016  イベントリスナ
1019  HTTPハンドラマネージャ
1028  SIPハンドラマネージャ
【図１】
0005418468.tif 000002
【図２】
0005418468.tif 000003
【図３】
0005418468.tif 000004
【図４】
0005418468.tif 000005
【図５】
0005418468.tif 000006
【図６】
0005418468.tif 000007
【図７】
0005418468.tif 000008
【図８】
0005418468.tif 000009
【図９】
0005418468.tif 000010
【図１０】
0005418468.tif 000011
【図１１】
0005418468.tif 000012
【図１２】
0005418468.tif 000013
【図１３】
0005418468.tif 000014
【図１４】
0005418468.tif 000015
【図１５】
0005418468.tif 000016
【図１６】
0005418468.tif 000017
【図１７】
0005418468.tif 000018
【図１８】
0005418468.tif 000019
【図１９】
0005418468.tif 000020
【図２０】
0005418468.tif 000021
【図２１】
0005418468.tif 000022
【図２２】
0005418468.tif 000023
【図２３】
0005418468.tif 000024
【図２４】
0005418468.tif 000025