(57)【要約】【課題】オブジェクトを利用するアプリケーションにおいてオブジェクトの管理を容易に行うことができる情報処理装置、オブジェクト管理方法、オブジェクト管理プログラム及び記録媒体の提供を目的とする。【解決手段】クライアントから所定のサービスの提供の要求をうけて所定のサービスに係る所定の機能を提供する機能提供手段と、機能提供手段からオブジェクトの取得要求を受け付けるオブジェクト取得要求受け付け手段と、前記取得要求に係るオブジェクトは既に生成されているかを判断するオブジェクト生成判断手段と、前記判断結果に基づいてオブジェクトを生成するオブジェクト生成手段とを有し、オブジェクト生成手段は、オブジェクト生成手判断段が取得要求に係るオブジェクトは既に生成されていると判断した場合は、新たなオブジェクトは生成せずに既に生成されているオブジェクトを機能提供手段に提供することにより上記課題を解決する。【選択図】        図３
2004348664.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続しているクライアントから所定のサービスの提供の要求をうけて前記所定のサービスに係る所定の機能を提供する機能提供手段と、
前記機能提供手段から前記機能提供手段が利用するオブジェクトの取得要求を受け付けるオブジェクト取得要求受け付け手段と、
前記オブジェクト取得要求受け付け手段が受け付けた前記取得要求に係るオブジェクトは既に生成されているかを判断するオブジェクト生成判断手段と、
前記オブジェクト生成判断手段の判断結果に基づいて前記取得要求に係るオブジェクトを生成するオブジェクト生成手段とを有し、
前記オブジェクト生成手段は、前記オブジェクト生成手判断段が前記取得要求に係るオブジェクトは既に生成されていると判断した場合は、新たなオブジェクトは生成せずに既に生成されているオブジェクトを前記機能提供手段に提供することを特徴とする情報処理装置。
【請求項２】
前記オブジェクト生成手段は、前記オブジェクト生成判断手段が前記取得要求に係るオブジェクトはまだ生成されていないと判断した場合に、該オブジェクトを生成することを特徴とする請求項１記載の情報処理装置。
【請求項３】
既に生成されたオブジェクトを一意に識別するオブジェクト識別情報と前記取得要求に含まれる取得要求識別情報とを対応させて管理するオブジェクト管理手段を更に有し、
前記オブジェクト生成判断手段は、前記オブジェクト管理手段を参照し前記取得要求識別情報に基づいて、前記取得要求に係るオブジェクトは既に生成されているかを判断することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記オブジェクト生成手段は、前記オブジェクト生成手段が生成したオブジェクトの前記オブジェクト識別情報を前記取得要求識別情報に対応させて前記オブジェクト管理手段に登録することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記取得要求識別情報は、少なくとも前記クライアントとのセッションを識別するセッション識別情報と、
前記オブジェクトが前記機能提供手段からの要求に基づいて所定の処理を実行させる処理実行装置を識別するＵＲＩとによって構成されることを特徴とする請求項３又は４記載の情報処理装置。
【請求項６】
前記オブジェクト取得要求受け付け手段は、前記オブジェクトの種別を問わず共通のインタフェースによって前記取得要求を受け付けることを特徴とする請求項１乃至５いずれか一項記載の情報処理装置。
【請求項７】
複数の前記機能提供手段を有し、
それぞれの前記機能提供手段は、前記共通のインタフェースを呼び出すことにより、前記オブジェクトを取得することを特徴とする請求項１乃至６いずれか一項記載の情報処理装置。
【請求項８】
生成するオブジェクトの種別に応じて複数の前記オブジェクト生成手段を有し、
前記オブジェクト取得要求受け付け手段は、前記取得要求に係るオブジェクトの種別に基づいて、該オブジェクトを生成させるオブジェクト生成手段を判断することを特徴とする請求項１乃至７いずれか一項記載の情報処理装置。
【請求項９】
前記オブジェクト生成手段は、前記オブジェクトの種別に応じて前記オブジェクトの存在を管理することを特徴とする請求項８記載の情報処理装置。
【請求項１０】
前記機能提供手段から前記オブジェクトの破棄要求を受け付けるオブジェクト破棄要求受け付け手段と、
前記オブジェクト破棄要求受け付け手段が受け付けた前記破棄要求に係るオブジェクトを破棄するオブジェクト破棄手段とを更に有し、
前記オブジェクト破棄手段は、破棄したオブジェクトの前記オブジェクト識別情報を前記オブジェクト管理手段から削除することを特徴とする請求項３乃至９いずれか一項記載の情報処理装置。
【請求項１１】
前記機能提供手段は、当該情報処理装置とネットワークを介して接続している端末からの要求に応じて、前記オブジェクトから取得した情報を前記端末に表示させるＷｅｂページを生成することを特徴とする請求項１乃至１０いずれか一項記載の情報処理装置。
【請求項１２】
前記オブジェクトは、前記機能提供手段から要求された情報を当該情報処理装置とネットワークを介して接続している所定の情報管理装置より取得することを特徴とする請求項１乃至１１いずれか一項記載の情報処理装置。
【請求項１３】
前記オブジェクトは、前記機能提供手段からの要求された情報をＳＯＡＰによって前記所定の情報管理装置より取得することを特徴とする請求項１２記載の情報処理装置。
【請求項１４】
ネットワークを介して接続しているクライアントから所定のサービスの提供の要求をうけて前記所定のサービスに係る所定の機能を提供する機能提供手段を有する情報処理装置におけるオブジェクト管理方法であって、
前記機能提供手段から前記機能提供手段が利用するオブジェクトの取得要求を受け付けるオブジェクト取得要求受け付け手順と、
前記オブジェクト取得要求受け付け手順において受け付けられた前記取得要求に係るオブジェクトは既に生成されているかを判断するオブジェクト生成判断手順と、
前記オブジェクト生成判断手順における判断結果に基づいて前記取得要求に係るオブジェクトを生成するオブジェクト生成手順とを有し、
前記オブジェクト生成手順は、前記オブジェクト生成判断手順において前記取得要求に係るオブジェクトは既に生成されていると判断された場合は、新たなオブジェクトは生成せずに既に生成されているオブジェクトを前記機能提供手段に提供することを特徴とするオブジェクト管理方法。
【請求項１５】
前記オブジェクト生成手順は、前記オブジェクト生成判断手順において前記取得要求に係るオブジェクトはまだ生成されていないと判断された場合に、該オブジェクトを生成することを特徴とする請求項１４記載のオブジェクト管理方法。
【請求項１６】
前記オブジェクト生成判断手順は、既に生成されたオブジェクトを一意に識別するオブジェクト識別情報と前記取得要求に含まれる取得要求識別情報とを対応させて管理するオブジェクト管理手段を参照し前記取得要求識別情報に基づいて、前記取得要求に係るオブジェクトは既に生成されているかを判断することを特徴とする請求項１４又は１５記載のオブジェクト管理方法。
【請求項１７】
前記オブジェクト生成手順は、生成されたオブジェクトの前記オブジェクト識別情報を前記取得要求識別情報に対応させて前記オブジェクト管理手段に登録することを特徴とする請求項１６記載のオブジェクト管理方法。
【請求項１８】
前記取得要求識別情報は、少なくとも前記クライアントとのセッションを識別するセッション識別情報と、
前記オブジェクトが前記機能提供手段からの要求に基づいて所定の処理を実行させる処理実行装置を識別するＵＲＩとによって構成されることを特徴とする請求項１６又は１７記載のオブジェクト管理方法。
【請求項１９】
前記オブジェクト取得要求受け付け手順は、前記所定のオブジェクトの種別を問わず共通のインタフェースによって前記取得要求を受け付けることを特徴とする請求項１４乃至１８いずれか一項記載のオブジェクト管理方法。
【請求項２０】
前記オブジェクト取得要求受け付け手順は、前記機能提供手段の種別を問わず前記共通のインタフェースによって前記取得要求を受け付けることを特徴とする請求項１４乃至１９いずれか一項記載のオブジェクト管理方法。
【請求項２１】
生成するオブジェクトの種別に応じて複数の前記オブジェクト生成手順を有し、
前記オブジェクト取得要求受け付け手順は、前記取得要求に係るオブジェクトの種別に基づいて、該オブジェクトを生成させるオブジェクト生成手順を判断することを特徴とする請求項１４乃至２０いずれか一項記載のオブジェクト管理方法。
【請求項２２】
前記機能提供手段から前記オブジェクトの破棄要求を受け付けるオブジェクト破棄要求受け付け手順と、
前記オブジェクト破棄要求受け付け手順が受け付けた前記破棄要求に係るオブジェクトを破棄するオブジェクト破棄手順とを更に有し、
前記オブジェクト破棄手順は、破棄したオブジェクトの前記オブジェクト識別情報を前記オブジェクト管理手段から削除することを特徴とする請求項１６乃至２１いずれか一項記載のオブジェクト管理方法。
【請求項２３】
ネットワークを介して接続しているクライアントから所定のサービスの提供の要求をうけて前記所定のサービスに係る所定の機能を提供する機能提供手段を有する情報処理装置に実行させるためのオブジェクト管理プログラムであって、
前記機能提供手段から前記機能提供手段が利用するオブジェクトの取得要求を受け付けるオブジェクト取得要求受け付け手順と、
前記オブジェクト取得要求受け付け手順において受け付けられた前記取得要求に係るオブジェクトは既に生成されているかを判断するオブジェクト生成判断手順と、
前記オブジェクト生成判断手順における判断結果に基づいて前記取得要求に係るオブジェクトを生成するオブジェクト生成手順とを有し、
前記オブジェクト生成手順は、前記オブジェクト生成手判断順において前記取得要求に係るオブジェクトは既に生成されていると判断された場合は、新たなオブジェクトは生成せずに既に生成されているオブジェクトを前記機能提供手段に提供することを特徴とするオブジェクト管理プログラム。
【請求項２４】
ネットワークを介して接続しているクライアントから所定のサービスの提供の要求をうけて前記所定のサービスに係る所定の機能を提供する機能提供手段を有する情報処理装置に実行させるためのオブジェクト管理プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記オブジェクト管理プログラムは、
前記機能提供手段から前記機能提供手段が利用するオブジェクトの取得要求を受け付けるオブジェクト取得要求受け付け手順と、
前記オブジェクト取得要求受け付け手順において受け付けられた前記取得要求に係るオブジェクトは既に生成されているかを判断するオブジェクト生成判断手順と、
前記オブジェクト生成判断手順における判断結果に基づいて前記取得要求に係るオブジェクトを生成するオブジェクト生成手順とを有し、
前記オブジェクト生成手順は、前記オブジェクト生成判断手順において前記取得要求に係るオブジェクトは既に生成されていると判断された場合は、新たなオブジェクトは生成せずに既に生成されているオブジェクトを前記機能提供手段に提供することを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置、オブジェクト管理方法、オブジェクト管理プログラム及び記録媒体に関し、特にオブジェクトを利用したアプリケーションにおいてオブジェクトの管理を容易に行うことができる情報処理装置、オブジェクト管理方法、オブジェクト管理プログラム及び記録媒体に関する。
【０００２】
【従来の技術】
近年では、オブジェクト指向プログラミングが普及している。オブジェクト指向プログラミングにおいては、所定の機能を提供する実体がオブジェクトとしてモデル化され、かかるオブジェクトに所定のメッセージを送信することによりアプリケーションの機能を実現させる。
【０００３】
例えば、文書管理サーバを一つのオブジェクトとして定義してもよい。かかる場合に当該オブジェクトは、文書データの検索メソッド、削除メソッド、登録メソッド等を有していることが考えられる。
【０００４】
従って、アプリケーションは、当該オブジェクトを生成し、そのメソッドを呼び出すことにより、文書管理サーバの諸機能を利用することになる。
【０００５】
【発明が解決しようとする課題】
しかしながら、例えば、ＧＵＩと密接に結びついたイベントドリブン型のプログラムにおいて、オブジェクトを生成するタイミングを明確に特定するのが困難な場合がある。
【０００６】
従って、アプリケーションの構成する各モジュールのソースコード内において、同一の実体に対するオブジェクトが必要となる箇所が複数存在する場合に、それぞれのモジュール内でオブジェクトを生成し保持するといったことが行われている。
【０００７】
しかし、同一の実体に対して複数のオブジェクトを生成することは、メモリを余計に消費するばかりでなく、各オブジェクト間において不整合を生じさせないために複雑な実装が必要になるという問題がある。
【０００８】
本発明は、上記の点に鑑みてなされたものであって、オブジェクトを利用するアプリケーションにおいてオブジェクトの管理を容易に行うことができる情報処理装置、オブジェクト管理方法、オブジェクト管理プログラム及び記録媒体の提供を目的とする。
【０００９】
【課題を解決するための手段】
そこで上記課題を解決するため、本発明は、ネットワークを介して接続しているクライアントから所定のサービスの提供の要求をうけて前記所定のサービスに係る所定の機能を提供する機能提供手段と、前記機能提供手段から前記機能提供手段が利用するオブジェクトの取得要求を受け付けるオブジェクト取得要求受け付け手段と、前記オブジェクト取得要求受け付け手段が受け付けた前記取得要求に係るオブジェクトは既に生成されているかを判断するオブジェクト生成判断手段と、前記オブジェクト生成判断手段の判断結果に基づいて前記取得要求に係るオブジェクトを生成するオブジェクト生成手段とを有し、前記オブジェクト生成手段は、前記オブジェクト生成手判断段が前記取得要求に係るオブジェクトは既に生成されていると判断した場合は、新たなオブジェクトは生成せずに既に生成されているオブジェクトを前記機能提供手段に提供することを特徴とする。
【００１０】
このような情報処理装置では、アプリケーション等の機能提供手段は、オブジェクト取得要求受け付け手段に対してオブジェクトの取得要求を行うことで、前記取得要求に係るオブジェクトが生成されている場合は、既に生成されているオブジェクトを取得することができるため、オブジェクトの管理を容易に行うことができる。
【００１１】
また上記課題を解決するため、本発明は、上記情報処理装置におけるオブジェクト管理方法、前記オブジェクト管理方法をコンピュータに行なわせるためのプログラム、及び前記プログラムを記録した記録媒体としてもよい。
【００１２】
【発明の実施の形態】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における文書配信システムの構成例を示す図である。図１に示されるように、本発明の実施の形態における文書配信システム１は、ＬＡＮ、インターネット等のネットワーク５０により相互に接続されたＷｅｂサーバ１０と、端末２１、２２、及び２３等（以下、総称する場合「端末２０」という。）と、文書管理サーバ３１、３２、及び３３等（以下、総称する場合「文書管理サーバ３０」という。）と、文書配信サーバ４１、４２、及び４３等（以下、総称する場合「文書配信サーバ４０」という。）とにより構成されている。
【００１３】
Ｗｅｂサーバ１０は、ＨＴＴＰによる通信によって端末２０に対し様々な機能を提供するＷｅｂページを送信するコンピュータである。従って、Ｗｅｂサーバ１０には、Ｗｅｂページを生成するための様々なＷｅｂアプリケーションが実装されている。
【００１４】
端末２０は、ユーザが文書配信システム１を利用するためのインタフェースを提供するＰＣ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ（Ｄａｔａ）  Ａｓｓｉｓｔａｎｔｓ）、又は携帯電話等のＷｅｂブラウザ機能を有する端末である。
【００１５】
文書管理サーバ３０は、文書データを管理する文書管理ＤＢ（Ｄａｔａ  Ｂａｓｅ）を有するコンピュータであり、文書管理ＤＢにおける文書情報の検索、更新等の機能をいわゆるＷｅｂサービスとしてネットワーク５０上に提供している。すなわち、文書管理サーバ３１の文書管理機能は、ＳＯＡＰのＲＰＣによって呼び出すことが可能である。
【００１６】
文書配信サーバ４０は、文書データの配信機能（以下、「文書配信機能」という。）が実施されているコンピュータである。文書配信機能とは、端末２０において選択された文書データを、端末２０において選択された宛先に送信する機能をいう。文書配信サーバ４０は、文書配信機能をＷｅｂサービスとしてネットワーク５０上に提供している。すなわち、文書配信サーバ４０の文書配信機能は、ＳＯＡＰのＲＰＣによって呼び出すことが可能である。
【００１７】
なお、図１の文書配信システム１において、端末２０、文書管理サーバ３０及び文書配信サーバ４０は、それぞれ三台ずつ表示されている。これは、単に、それぞれが複数存在しうることの例示であり、三台であることに特に意味はない。
【００１８】
本実施の形態においては、上述した文書配信システム１における文書データの配信処理の際の、Ｗｅｂサーバ１０におけるオブジェクトの管理処理について説明する。
【００１９】
次に、Ｗｅｂサーバ１０の詳細について説明する。図２は、本発明の実施の形態におけるＷｅｂサーバのハードウェア構成例を示す図である。図２のＷｅｂサーバ１０は、それぞれバスＢで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、演算処理装置１０４と、インタフェース装置１０５とを有するように構成される。
【００２０】
Ｗｅｂサーバ１０での処理を実現するプログラムは、ＣＤ―ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。
【００２１】
補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。例えば補助記憶装置１０２は、プログラムの処理に必要な、後述する各種テーブルを格納している。
【００２２】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。演算処理装置１０４は、メモリ装置１０３に格納されたプログラムに従ってＷｅｂサーバ１０に係る機能を実行する。インタフェース装置１０５は例えばモデム、ルータ等で構成され、図１のネットワーク５０に接続するために用いられる。
【００２３】
更に、図３は、本発明の実施の形態におけるＷｅｂサーバの機能構成例を示す図である。図３に示されるように、Ｗｅｂサーバ１０は、Ｗｅｂアプリケーション（サーブレット等）としての文書一覧ページモジュール１１ａ、配信先一覧ページモジュール１１ｂ、及び配信実行モジュール１１ｃ等（以下、総称する場合、「Ｗｅｂアプリ１１」という。）と、オブジェクトコントローラ１２と、文書管理オブジェクトマネージャ１３と、文書配信オブジェクトマネージャ１４と、オブジェクト管理テーブル１５及び１６とから構成されている。
【００２４】
文書一覧ページモジュール１１ａは、文書管理サーバ３０において管理されている文書データの一覧を表示するＷｅｂページ（以下、「文書一覧ページ」という。）を生成するＷｅｂアプリケーションである。
【００２５】
配信先一覧ページモジュール１１ｂは、端末２０のユーザに文書データの配信先を指定させるために、配信先の一覧を表示するＷｅｂページ（以下、「配信先一覧ページ」という。）を生成するＷｅｂアプリケーションである。
【００２６】
配信実行モジュール１１ｃは、端末２０に表示された配信先一覧ページにおいて配信の実行の指示がされた際に、配信の実行指示を配信サーバ４０に対して行うＷｅｂアプリケーションである。
【００２７】
オブジェクトコントローラ１２は、Ｗｅｂアプリ１１からのオブジェクトの取得要求に応じて、文書管理サーバ３０の機能を透過的に提供するオブジェクト（文書管理オブジェクト１３１）や、文書配信サーバ４０の機能を透過的に提供するオブジェクト（文書配信オブジェクト１４１）等を提供するオブジェクトである。
【００２８】
オブジェクトコントローラ１２は、オブジェクトの種別（型）にかかわらず共通のインタフェース（メソッド）によってオブジェクトの取得要求を受け付ける。例えば、本実施の形態におけるオブジェクトコントローラ１２は、「ｇｅｔＯｂｊｅｃｔ（）」というメソッド（オブジェクト取得メソッド）によって、オブジェクトの取得要求を受け付ける。また、各Ｗｅｂアプリ１１もその種別を問わず共通のオブジェクト取得メソッドを呼び出すことによりオブジェクトを取得する。
【００２９】
ｇｅｔＯｂｊｅｃｔメソッドの引数としては、端末３０等（厳密には、端末３０等におけるＷｅｂブラウザ）に対して一意に割り当てられたセッションＩＤ、文書管理機能や文書配信機能等を一意に識別するサービス名、及び文書管理サーバ３０や文書配信サーバ４０等のＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒｓ）等がある。また、戻り値は、生成したオブジェクトである。
【００３０】
文書管理オブジェクトマネージャ１３と文書配信オブジェクトマネージャ１４と（以下、総称する場合「オブジェクトマネージャ」という。）は、オブジェクトの種別に応じてそれぞれの種別のオブジェクトのライフサイクル（存在）を管理するオブジェクトである。
【００３１】
すなわち、文書管理オブジェクトマネージャ１３には、文書管理オブジェクト１３１の生成機能や破棄機能等がメソッドとして実装されている。同様に、文書配信オブジェクトマネージャ１４には、文書配信オブジェクトの生成機能や破棄機能等がメソッドとして実装されている。
【００３２】
オブジェクト管理テーブル１５及び１６は、オブジェクトマネージャがオブジェクトの管理に利用するテーブルであるが、詳細については後述する。
【００３３】
ここで、文書管理オブジェクト１３１及び文書配信オブジェクト１４１（以下、総称する場合「サービスオブジェクト」という。）について更に詳しく説明する。サービスオブジェクトは、上述したように、文書管理サーバ３０や文書配信サーバ４０等のＷｅｂサービスによる機能を透過的に提供するオブジェクトである。本実施の形態においては、サービスオブジェクトは、セッションＩＤとＷｅｂサービスとしてのサーバとによって一意になるものとする。
【００３４】
以下、図１の文書配信システム１の処理手順について説明する。例えば、端末２１において文書データの配信を指示する場合、配信対象とする文書データを選択するため、文書一覧ページをＷｅｂブラウザに表示させる必要がある。従って、まず、端末２１から文書一覧ページが要求された際の処理から説明する。図４は、文書一覧ページが要求された際の処理を説明するためのシーケンス図である。
【００３５】
端末２１のユーザがＷｅｂブラウザに文書一覧ページのＵＲＬを入力すると、端末２１は、Ｗｅｂサーバ１０に対して文書一覧ページの送信を要求するＨＴＴＰリクエストを送信する（Ｓ１１）。
【００３６】
ステップＳ１１に続いてステップＳ１２に進み、Ｗｅｂサーバ１０が端末２１からのＨＴＴＰリクエストを受信すると文書一覧ページモジュール１１ａが呼び出される。文書一覧ページモジュール１１ａは、オブジェクトコントローラ１２のオブジェクト取得メソッド（ｇｅｔＯｂｊｅｃｔ（））を呼び出すことにより、文書管理オブジェクト１３１を要求する。ここで、オブジェクト取得メソッドの各引数には、以下のような値が指定される。
【００３７】
セッションＩＤ：端末２１とのセッションに対するセッションＩＤ（「セッションＡ」とする）
サービス名：文書管理サービス
ＵＲＩ：文書管理サーバ３１のＵＲＩ
ステップＳ１２に続いてステップＳ１３に進み、オブジェクトコントローラ１２は、オブジェク取得メソッドに指定されたサービス名より、取得すべきオブジェクトの種別（型）を判断する。ここでは、サービス名に「文書管理サービス」が指定されているため、オブジェクトコントローラ１２は、文書管理オブジェクト１３１を取得する必要がある旨を判断する。
【００３８】
ステップＳ１３に続いてステップＳ１４に進み、オブジェクトコントローラ１２は、文書管理オブジェクト１３１に対応するオブジェクトマネージャである文書管理オブジェクトマネージャ１３のオブジェクト取得メソッドを呼び出すことにより、文書管理オブジェクト１３１を要求する。なお、文書管理オブジェクトマネージャ１３のオブジェクト取得メソッドの各引数には、以下の値が指定される。
【００３９】
セッションＩＤ：端末２１とのセッションに対するセッションＩＤ（セッションＡ）
ＵＲＩ：文書管理サーバ３１のＵＲＩ
ステップＳ１４に続いてステップＳ１５に進み、文書管理オブジェクトマネージャ１３は、オブジェクト管理テーブル１５を参照して、要求されたオブジェクトは既に生成済みか否かを判断する。
【００４０】
図５は、文書管理オブジェクトマネージャが利用するオブジェクト管理テーブルの構成例を示す図である。図５に示されるようにオブジェクト管理テーブル１５は、行方向にセッションごと、列方向にサーバごととなっており、その組み合わせごとに、既に生成されたオブジェクトを一意に識別する情報（ポインタ、やオブジェクトＩＤ等）を管理している。図５においては、セッションＢにおける文書管理サーバ３２に対する文書管理オブジェクト１３１（オブジェクトＡ）と、セッションＣにおける文書管理サーバ３３に対する文書管理オブジェクト１３２に対する文書管理オブジェクト１３１（オブジェクトＢ）は、既に生成されていることを示す。
【００４１】
すなわち、文書管理オブジェクトマネージャ１３１は、ステップＳ１５において、オブジェクト取得メソッドの引数に指定されたセッションＩＤと文書管理サーバ３１のＵＲＩとの組み合わせ（取得要求識別情報）に対応するオブジェクト管理テーブル１５内のセル（以下、「カレントセル」という。）を参照することにより、要求されたオブジェクトは既に生成されたか否かを判断する。
【００４２】
ここで、セッションＡにおける文書管理サーバ３１に対する文書管理オブジェクトは、まだ生成されていないため、文書管理オブジェクトマネージャ１３１は、新たに、セッションＡにおける文書管理サーバ３１に対する文書管理オブジェクトを生成し（Ｓ１６）、生成したオブジェクトの識別情報を、セッションＡの行であって文書管理サーバ３１の列に該当するセルに登録する（Ｓ１７）。
【００４３】
なお、要求されたオブジェクトの識別情報が既にカレントセルに登録されている場合、即ち、要求されたオブジェクトが既に生成されている場合は、文書管理オブジェクトマネージャ１３１は、新たにオブジェクトを生成せずに、既に生成されているオブジェクトを処理対象とする。
【００４４】
ステップＳ１７に続いてステップＳ１８からＳ１９にかけて、新たに生成された文書管理オブジェクト１３１がオブジェクトコントローラ１２を経て文書一覧ページモジュール１１ａに出力される。
【００４５】
ステップＳ１９に続いてステップＳ２０に進み、文書一覧ページモジュール１１ａが、ステップＳ１６において新たに生成された文書管理オブジェクト１３１（又は、既に生成されていたオブジェクトの場合は、オブジェクト管理テーブル１５に基づいて取得された文書管理オブジェクト１３１）に対して文書データの一覧情報を要求すると、文書管理オブジェクト１３１は、文書管理サーバ３０における文書一覧取得メソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、文書データの一覧情報を取得する（Ｓ２１）。文書管理オブジェクト１３１は、取得した文書データの一覧情報をＸＭＬ形式のデータ（以下、「文書一覧ＸＭＬデータ」という。）にして文書一覧ページモジュール１１ａに対して出力する（Ｓ２２）。
【００４６】
ステップＳ２２に続いてステップＳ２３に進み、文書一覧ページモジュール１１ａが、文書一覧ＸＭＬデータに基づいて文書一覧ページを生成し、生成した文書一覧ページを端末２１に送信すると、端末２１のＷｅｂブラウザに文書一覧ページが表示される。
【００４７】
図６は、文書一覧ページの表示例を示す図である。図６の文書一覧ページ２０１には、文書一覧領域２０１１に文書データの一覧が表示されている。ユーザが文書一覧領域２０１１上で配信対象とする文書データを選択（チェックボタンをチェック）し、配信ボタン２０１２をクリックすると、端末２１に配信先一覧ページを表示させるべく図７の処理が開始される。
【００４８】
図７は、配信先一覧ページが要求された際の処理を説明するためのシーケンス図である。
【００４９】
配信ボタン２０１２のクリックに基づいて、端末２１は、配信先一覧ページの送信を要求するＨＴＴＰリクエストをＷｅｂサーバ１０に送信する（Ｓ３１）。
【００５０】
ステップＳ３１に続いてステップＳ３２に進み、Ｗｅｂサーバ１０が端末２１からのＨＴＴＰリクエストを受信すると配信先一覧ページモジュール１１ｂが呼び出される。配信先一覧ページモジュール１１ｂは、オブジェクトコントローラ１２のオブジェクト取得メソッド（ｇｅｔＯｂｊｅｃｔ（））を呼び出すことにより、文書配信オブジェクト１４１を要求する。ここで、オブジェクト取得メソッドの各引数には、以下のような値が指定される。
【００５１】
セッションＩＤ：端末２１とのセッションに対するセッションＩＤ（セッションＡ）
サービス名：文書配信サービス
ＵＲＩ：文書配信サーバ４１のＵＲＩ
ステップＳ３２に続いてステップＳ３３に進み、以降、ステップＳ３９までの処理は、図４のステップＳ１３からステップＳ１９までの手順と同様である。
【００５２】
すなわち、オブジェクトコントローラ１２が、文書配信サービスに対応した文書配信オブジェクトマネージャ１４に対して文書配信オブジェクト１４１を要求すると（Ｓ３３、Ｓ３４）、文書配信オブジェクトマネージャ１４は、オブジェクト管理テーブル１６を参照して要求されたオブジェクトの存在を確認し（Ｓ３５）、要求されたオブジェクトがまだ生成されていない場合には、新たに文書配信オブジェクト１４を生成する（Ｓ３６）。ここでは、セッションＡにおける文書配信サーバ４１に対応した文書配信オブジェクト１４１が生成され、その識別情報がオブジェクト管理テーブル１６に登録される（Ｓ３７）。なお、オブジェクト管理テーブル１６の構成は、文書配信サーバ４０を対象としている点を除き、オブジェクト管理テーブル１５と同様である。
【００５３】
生成された文書配信オブジェクト１４１は、オブジェクトコントローラ１２を介して配信先一覧ページモジュール１１ｂに出力される（Ｓ３８、Ｓ３９）。
【００５４】
ステップＳ３９に続いてステップＳ４０に進み、配信先一覧ページモジュール１１ｂが、文書配信オブジェクト１４１に対して配信先の一覧情報を要求すると、文書配信オブジェクト１４１は、文書配信サーバ４１における配信先一覧取得メソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、文書配信サーバ４０において管理されている配信先の一覧情報を取得する。文書配信オブジェクト１４１は、取得した一覧情報をＸＭＬ形式のデータ（以下、「配信先一覧ＸＭＬデータ」という。）にして配信先一覧ページモジュール１１ｂに対して出力する（Ｓ４１、Ｓ４２）。
【００５５】
なお、ステップＳ４１において、文書配信サーバ４１における配信先一覧取得メソッドが呼び出されることにより、Ｗｅｂサーバ１０から文書配信サーバ４１に送信されるＳＯＡＰリクエストの内容は、図８に示される。図８は、配信先一覧メソッドが呼び出された際のＳＯＡＰリクエストの例を示す図である。
【００５６】
図８のＳＯＡＰリクエスト１４２において、記述１４２１は、配信先一覧メソッドの呼びだし情報に該当する。すなわち、記述１４２１ａがメソッド名（ｇｅｔＥｎｔｒｙＬｉｓｔ）であり、記述１４２１ｂ及び記述１４２１ｃが引数情報である。
【００５７】
記述１４２１ｂと記述１４２１ｃにおいてタグ名が引数名に該当し、タグにはさまれた値が引数の値に該当する。従って、第一引数の引数名は「ｏｆｆｓｅｔ」であり、その値は「０」、第二引数の引数名は、「ｃｏｕｎｔ」であり、その値は「２０」である。これは、配信先の一覧情報において先頭（０番目）から２０番目までの情報を要求した例を示している。
【００５８】
また、Ｗｅｂサーバ１０からのＳＯＡＰリクエストに対する応答として、文書配信サーバ４１からＷｅｂサーバ１０に対して送信されるＳＯＡＰレスポンスの内容は、図９に示される。図９は、配信先一覧メソッドの戻り値としてのＳＯＡＰレスポンスの例を示す図である。
【００５９】
図９のＳＯＡＰレスポンス１４３において、記述１４３１は、配信先一覧メソッドの戻り値に該当する。また、詳細については省略しているが、＜ｅｎｔｒｉｅｓ＞タグで囲まれた記述１４３２には、配信先の一覧情報が格納されている。
【００６０】
更に、文書配信オブジェクト１４１が、配信先一覧メソッドの戻り値に基づいて生成した配信先一覧ＸＭＬデータは、図１０に示される。
【００６１】
図１０は、配信先一覧ＸＭＬデータの定義例を示す図である。図１０の配信先一覧ＸＭＬデータ１４４において、＜ａｄｄｒｅｓｓ＞タグで囲まれた記述１４４１は、一つの配信先に対応する情報である。すなわち、記述１４４１ａには、配信先を一意に識別するＩＤ情報が定義され、記述１４４２ｂには配信先に付けられた名前が定義されている。配信先一覧ＸＭＬデータ１４４には、記述１４４１ａと同様の定義が配信先ごとに格納されている。
【００６２】
ステップＳ４２に続いてステップＳ４３に進み、配信先一覧ページモジュール１１ｂが、配信先一覧ＸＭＬデータ１４４に基づいて配信先一覧ページを生成し、端末２１に送信すると、端末２１のＷｅｂブラウザに配信先一覧ページが表示される。
【００６３】
図１１は、配信先一覧ページの表示例を示す図である。図１１の配信先一覧ページ２０２は、配信先一覧領域２０２１に、配信先の一覧が表示されている。ユーザが配信先一覧領域２０２１において配信先を選択（チェックボタンをチェック）し、ＯＫボタン２０２２をクリックすると、図１２〜図１４にかかる処理が実行される。
【００６４】
図１２、図１３、及び図１４は、文書データの配信を実行する際の処理を説明するためのシーケンス図である。
【００６５】
ＯＫボタン２０２２のクリックに基づいて、端末２１は、文書データの配信の実行を要求するＨＴＴＰリクエストをＷｅｂサーバ１０に送信する（Ｓ５１）。
【００６６】
ステップＳ５１に続いてステップＳ５２に進み、配信実行モジュール１１ｃが呼び出され、配信実行モジュール１１ｃは、オブジェクトコントローラ１２のオブジェクト取得メソッド（ｇｅｔＯｂｊｅｃｔ（））を呼び出すことにより、セッションＡにおける文書管理サーバ３１に対する文書管理オブジェクト１３１を要求する。従って、オブジェクト取得メソッドの各引数には、ステップＳ１２（図４）と同じ値が指定される。
【００６７】
ステップＳ５２に続いてステップＳ５３に進み、オブジェクトコントローラ１２は、要求されたオブジェクトの種別を判断し（Ｓ５３）、文書管理オブジェクトマネージャ１３に対して文書管理オブジェクト１３１を要求する（Ｓ５４）。
【００６８】
文書管理オブジェクトマネージャ１３は、オブジェクト管理テーブル１５を参照して、要求されたオブジェクトの存在を確認する（Ｓ５５）。ここでは、既にステップＳ１６（図４）において、セッションＡにおける文書管理サーバ３１に対するオブジェクトが生成され、オブジェクト管理テーブル１５に登録されている。従って、文書管理オブジェクトマネージャ１３は、新たな文書管理オブジェクト１３１を生成せずに、既存の文書管理オブジェクト１３１を返却する（Ｓ５６）。
【００６９】
オブジェクトコントローラ１２を介して文書管理オブジェクト１３１を取得した配信実行モジュール１１ｃは（Ｓ５７）、文書管理オブジェクト１３１に対して配信対象として指定された文書データを要求する（Ｓ５８）。
【００７０】
文書管理オブジェクト１３１は、文書管理サーバ３１における文書取得メソッドをＳＯＡＰのＲＰＣによって呼び出すことにより文書管理サーバ３１より文書データを取得し（Ｓ５９）、取得した文書データを配信実行モジュール１１ｃへ出力する（Ｓ６０）。
【００７１】
ステップＳ６０に続いて図１３のステップＳ６１に進み、配信実行モジュール１１ｃは、オブジェクトコントローラ１２に対してセッションＡにおける文書配信サーバ４１に対する文書配信オブジェクト１４１を要求する。
【００７２】
オブジェクトコントローラ１２は、要求されたオブジェクトの種別を判断し（Ｓ６２）、文書配信オブジェクトマネージャ１４に対して文書配信オブジェクト１４１を要求する（Ｓ６３）。
【００７３】
文書配信オブジェクトマネージャ１４は、オブジェクト管理テーブル１６を参照して、要求されたオブジェクトの存在を確認する（Ｓ６４）。ここでは、既にステップＳ１６（図４）において、セッションＡにおける文書配信サーバ４１に対するオブジェクトが生成され、オブジェクト管理テーブル１５に登録されている。従って、文書配信オブジェクトマネージャ１４は、新たな文書配信オブジェクト１４１を生成せずに、既存の文書配信オブジェクト１４１を返却する（Ｓ６５）。
【００７４】
オブジェクトコントローラ１２を介して文書配信オブジェクト１４１を取得した配信実行モジュール１１ｃは（Ｓ６６）、文書配信オブジェクト１４１に対してステップＳ６０（図１２）において取得した文書データの配信を要求する（Ｓ６７）。
【００７５】
文書配信オブジェクト１４１が、文書配信サーバ４１における文書配信メソッドをＳＯＡＰのＲＰＣによって呼び出すことにより文書配信サーバ４１に対して文書データの配信を要求すると（Ｓ６８）、その処理結果（正常終了、又は異常終了）を配信実行モジュール１１ｃに対して出力する（Ｓ６９）。
【００７６】
ステップＳ６９に続いて図１４のステップＳ７０に進み、配信実行モジュール１１ｂは、文書配信オブジェクト１４１が不要となったため、オブジェクトコントローラ１２のオブジェクト破棄メソッド（ｄｅｌｅｔｅＯｂｊｅｃｔ（））を呼び出すことにより、文書配信オブジェクトの破棄を要求する（Ｓ７０）。ここでオブジェクト破棄メソッドも、オブジェクト取得メソッドと同様、オブジェクトの種別にかかわらず、不要となったオブジェクトを破棄する際に共通に呼び出されるメソッドである。
【００７７】
オブジェクトコントローラ１２は、破棄が要求されたオブジェクトの種別を判断し（Ｓ７１）、文書配信オブジェクト１４１に対応するオブジェクトマネージャである文書配信オブジェクトマネージャ１４に対してオブジェクトの破棄を要求する（Ｓ７２）。
【００７８】
文書配信オブジェクトマネージャ１４は、破棄が要求された文書配信オブジェクト１４１を破棄し（Ｓ７３）、破棄したオブジェクトをオブジェクト管理テーブル１６から削除する（Ｓ７４）。
【００７９】
処理の制御が配信実行モジュール１１ｂに戻され（Ｓ７５、Ｓ７６）、配信実行モジュール１１ｂが、配信の実行処理が完了した旨を表示するＷｅｂページ（以下、「完了通知ページ」という。）を端末２１に送信すると、完了通知ページが端末２１のＷｅｂブラウザに表示される。ユーザは、完了通知ページを閲覧することにより、文書データの配信が正常に実行されたことを確認することができる。
【００８０】
更に、要求されたサービスオブジェクトの生成の際にエラーが発生した際の処理手順について説明する。図１５は、文書管理オブジェクトの生成時にエラーが発生した際の処理を説明するためのシーケンス図である。図１５では、図４のステップＳ１６においてエラーが発生した例を示している。従って、ステップＳ１１〜ステップＳ１５までの説明は省略する。
【００８１】
ステップＳ１６において、文書管理オブジェクト１３１を生成する際に呼び出された文書管理オブジェクト１３１のコンストラクタ内でエラーが発生すると、エラーの種別を示すエラーコードが文書管理オブジェクトマネージャ１３に出力される（Ｓ８１）。ここでのエラーは、例えば、コンストラクタ内で文書管理サーバ３１とのセッションの開設処理が実装されている場合などにおいて、文書管理サーバ３１が起動していない場合や、通信異常が発生した場合などが相当する。
【００８２】
文書管理オブジェクトマネージャ１３に対して出力されたエラーコードは、オブジェクトコントローラ１２を介して文書一覧ページモジュール１１ａに出力され（Ｓ８２、Ｓ８３）、文書一覧ページモジュール１１ａは、エラーコードに基づいて、エラーが発生した旨を通知するＷｅｂページ（以下、「エラーページ」という。）を生成し、端末２１に送信する（Ｓ８４）。
【００８３】
上述したように、本発明の実施の形態におけるＷｅｂサーバ１０によれば、各Ｗｅｂアプリ１１は、要求するオブジェクトの種別を問わずオブジェクトコントローラ１３における共通のオブジェクト取得メソッド（ｇｅｔＯｂｊｅｃｔ（））を呼び出すことにより、必要とするオブジェクトを入手することができるため、各サービオブジェクトのインタフェースの変更の影響を受ける可能性が低くなる。例えば、文書管理オブジェクト１３１のコンストラクタのインタフェースに変更があった場合、それがオブジェクトコントローラ１３のオブジェクト取得メソッドのインタフェースにまで影響するものでなければ、各Ｗｅｂアプリ１１のソースコードを修正する必要はなく、文書管理オブジェクトマネージャ１３のソースコードの修正のみで足りる。
【００８４】
また、既に生成されている同一のサーバに対応するサービスオブジェクトは、各Ｗｅｂアプリ１１間で共通に利用されるため、同一のサーバに対して複数のオブジェクトが生成される場合に比べて、余分なメモリ領域の消費を抑えることができ、各オブジェクト間における不整合の発生等の問題もない。
【００８５】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００８６】
【発明の効果】
上述の如く、本発明によれば、オブジェクトを利用するアプリケーションにおいてオブジェクトの管理を容易に行うことができる。
【図面の簡単な説明】
【図１】本発明の実施の形態における文書配信システムの構成例を示す図である。
【図２】本発明の実施の形態におけるＷｅｂサーバのハードウェア構成例を示す図である。
【図３】本発明の実施の形態におけるＷｅｂサーバの機能構成例を示す図である。
【図４】文書一覧ページが要求された際の処理を説明するためのシーケンス図である。
【図５】文書管理オブジェクトマネージャが利用するオブジェクト管理テーブルの構成例を示す図である。
【図６】文書一覧ページの表示例を示す図である。
【図７】配信先一覧ページが要求された際の処理を説明するためのシーケンス図である。
【図８】配信先一覧メソッドが呼び出された際のＳＯＡＰリクエストの例を示す図である。
【図９】配信先一覧メソッドの戻り値としてのＳＯＡＰレスポンスの例を示す図である。
【図１０】配信先一覧ＸＭＬデータの定義例を示す図である。
【図１１】配信先一覧ページの表示例を示す図である。
【図１２】文書データの配信を実行する際の処理を説明するためのシーケンス図である。
【図１３】文書データの配信を実行する際の処理を説明するためのシーケンス図である。
【図１４】文書データの配信を実行する際の処理を説明するためのシーケンス図である。
【図１５】文書管理オブジェクトの生成時にエラーが発生した際の処理を説明するためのシーケンス図である。
【符号の説明】
１        文書配信システム
１０      Ｗｅｂサーバ
１１      Ｗｅｂアプリ
１１ａ    文書一覧ページモジュール
１１ｂ    配信先一覧ページモジュール
１１ｃ    配信実行モジュール
１２      オブジェクトコントローラ
１３      文書管理オブジェクトマネージャ
１４      文書配信オブジェクトマネージャ
１５、１６    オブジェクト管理テーブル
２０、２１、２２、２３    端末
３０、３１、３２、３３    文書管理サーバ
４０、４１、４２、４３      文書配信サーバ
１００    ドライブ装置
１０１    記録媒体
１０２    補助記憶装置
１０３    メモリ装置
１０４    演算処理装置
１０５    インタフェース装置
１３１    文書管理オブジェクト
１４１    文書配信オブジェクト
Ｂ        バス
【図１】
2004348664.tif 000003
【図２】
2004348664.tif 000004
【図３】
2004348664.tif 000005
【図４】
2004348664.tif 000006
【図５】
2004348664.tif 000007
【図６】
2004348664.tif 000008
【図７】
2004348664.tif 000009
【図８】
2004348664.tif 000010
【図９】
2004348664.tif 000011
【図１０】
2004348664.tif 000012
【図１１】
2004348664.tif 000013
【図１２】
2004348664.tif 000014
【図１３】
2004348664.tif 000015
【図１４】
2004348664.tif 000016
【図１５】
2004348664.tif 000017