(57)【要約】【課題】  システムの規模の拡大やシステムの利用方法の変化に柔軟に対処することができるフレームワークシステムを得ることを目的とする。【解決手段】  搭載先確認部１３により確認された搭載先がプログラム格納メモリ１４であれば、そのプログラム格納メモリ１４に格納されている処理プログラムを実行し、その搭載先が外部システムであれば、その処理プログラムを外部システムに実行させるクライアント要求実行部１５を設ける。これにより、その処理プログラムがフレームワークシステム３に搭載されていない場合でも、その処理プログラムを実行させることができるようになる。【選択図】        図１
2005092345.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末から送信された実行要求を受信する実行要求受信手段と、上記実行要求受信手段により受信された実行要求を実現する処理プログラムの搭載先を確認する確認手段と、上記確認手段により確認された搭載先がシステム内のメモリであれば、そのメモリに格納されている処理プログラムを実行し、その搭載先が外部システムであれば、その処理プログラムを上記外部システムに実行させる実行手段と、上記実行手段により実行された処理プログラムの処理結果又は上記外部システムにより実行された処理プログラムの処理結果を取得し、その処理結果を上記クライアント端末に送信する応答手段とを備えたフレームワークシステム。
【請求項２】
確認手段は、各種の実行要求に対応する処理プログラムの搭載先を示す一覧表を参照して、実行要求受信手段により受信された実行要求を実現する処理プログラムの搭載先を確認することを特徴とする請求項１記載のフレームワークシステム。
【請求項３】
処理プログラムを搭載している外部システムを新たに追加する場合、あるいは、既存の内部システム又は外部システムに処理プログラムを追加する場合、一覧表を更新する更新手段を設けたことを特徴とする請求項２記載のフレームワークシステム。
【請求項４】
確認手段は、各種の実行要求に対応する処理プログラムの搭載先が記述されている定義内容を参照して、実行要求受信手段により受信された実行要求を実現する処理プログラムの搭載先を確認することを特徴とする請求項１記載のフレームワークシステム。
【請求項５】
処理プログラムを搭載している外部システムを新たに追加する場合、あるいは、既存の内部システム又は外部システムに処理プログラムを追加する場合、定義内容を更新する更新手段を設けたことを特徴とする請求項４記載のフレームワークシステム。
【請求項６】
更新手段により更新された定義内容を検証する検証手段を設けたことを特徴とする請求項５記載のフレームワークシステム。
【請求項７】
検証手段は、定義内容に不備があれば、更新後の定義内容の参照を禁止することを特徴とする請求項６記載のフレームワークシステム。
【請求項８】
外部システムがワークフローを実現する処理プログラムを搭載していることを特徴とする請求項１から請求項７のうちのいずれか１項記載のフレームワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ソフトウェア構造がパターン化されたフレームワークを搭載しているフレームワークシステムに関するものである。
【背景技術】
【０００２】
従来のフレームワークシステムは、基本的な振舞いが定義された基本クラス群の他に、複数の共通部品を含む共通部品群を備えている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２０００−９９３２２号公報（段落番号［０００９］、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のフレームワークシステムは以上のように構成されているので、共通部品などを追加すれば、システムの規模の拡大やシステムの利用方法の変化に対処することができる。しかし、内部で処理することが不可能な実行要求が発生したとき、外部システムを利用することができないため、システム規模の拡大等に柔軟に対処することができないなどの課題があった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、システムの規模の拡大やシステムの利用方法の変化に柔軟に対処することができるフレームワークシステムを得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るフレームワークシステムは、確認手段により確認された搭載先がシステム内のメモリであれば、そのメモリに格納されている処理プログラムを実行し、その搭載先が外部システムであれば、その処理プログラムを外部システムに実行させる実行手段を設けたものである。
【発明の効果】
【０００７】
この発明によれば、確認手段により確認された搭載先がシステム内のメモリであれば、そのメモリに格納されている処理プログラムを実行し、その搭載先が外部システムであれば、その処理プログラムを外部システムに実行させる実行手段を設けるように構成したので、システムの規模の拡大やシステムの利用方法の変化に柔軟に対処することができる効果がある。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１はこの発明の実施の形態１によるフレームワークシステムを示す構成図であり、図において、クライアント端末１は例えばインターネットなどのネットワーク２を介してフレームワークシステム３と接続し、フレームワークシステム３とデータの送受信を実施するＷｅｂブラウザなどを搭載しており、いわゆるパーソナルコンピュータの他、モバイルＰＣや携帯電話などが該当する。
フレームワークシステム３は基本的な処理を実行するフレームワークを搭載しており、クライアント端末１からフレームワークが実現することが不可能な実行要求を受信すると、その実行要求を実現することが可能な外部システムを検索して、その外部システムに実行を要求する機能を有している。
外部システム４，５，６は少なくとも１以上の処理プログラムを搭載しており、フレームワークシステム３からの要求に応じて処理プログラムを実行する。
【０００９】
実行要求受信部１１はネットワーク２に対するインタフェース機能を有し、クライアント端末１から送信された実行要求を受信する実行要求受信手段を構成している。一覧表格納メモリ１２は各種の実行要求と処理プログラムの対応関係を示すとともに、その処理プログラムの搭載先を示す一覧表を格納している。搭載先確認部１３は一覧表格納メモリ１２に格納されている一覧表を参照して、実行要求受信部１１により受信された実行要求を実現する処理プログラムの搭載先を確認する。なお、一覧表格納メモリ１２と搭載先確認部１３から確認手段が構成されている。
プログラム格納メモリ１４は少なくとも１以上の処理プログラムを格納している。クライアント要求実行部１５は搭載先確認部１３により確認された搭載先がフレームワークシステム３のプログラム格納メモリ１４であれば、プログラム格納メモリ１４から実行要求受信部１１により受信された実行要求を実現する処理プログラムをロードして実行し、その搭載先が例えば外部システム４であれば、その処理プログラムを外部システム４に実行させる実行手段を構成している。
【００１０】
外部入出力部１６はネットワーク２に対するインタフェース機能を有し、クライアント要求実行部１５から出力された実行指令を例えば外部システム４に送信する一方、外部システム４により実行された処理プログラムの処理結果を受信する。応答部１７はネットワーク２に対するインタフェース機能を有し、クライアント要求実行部１５により実行された処理プログラムの処理結果又は外部システム４により実行された処理プログラムの処理結果を取得し、その処理結果をクライアント端末１に送信する応答手段を構成している。
一覧表更新部１８はキーボードやマウスなどから構成され、処理プログラムを搭載している外部システムを新たに追加する場合、あるいは、既存の内部システム又は外部システム４，５，６に処理プログラムを追加する場合、一覧表格納メモリ１２に格納されている一覧表を更新する更新手段を構成している。データベース１９は例えば住所録を格納している。
なお、実行要求受信部１１、搭載先確認部１３、クライアント要求実行部１５、外部入出力部１６、応答部１７及び一覧表更新部１８は、専用のハードウエア（例えば、ＩＣ集積回路）を用いて構成してもよいが、これらの処理内容が記述されたソフトウェアを用意し、図示せぬＣＰＵが当該ソフトウェアを実行するようにしてもよい。
図２はこの発明の実施の形態１によるフレームワークシステムの処理内容を示すフローチャートである。
【００１１】
次に動作について説明する。
例えば、クライアント端末１の使用者が住所録の登録を希望する場合、クライアント端末１を操作して、住所録の登録を要求するリクエスト（実行要求）をフレームワークシステム３に送信する（ステップＳＴ１）。
即ち、使用者がクライアント端末１を操作して、登録対象のデータ要素（住所、郵便番号、氏名など）を入力すると、クライアント端末１がネットワーク２を介して、そのデータ要素を含む住所録登録リクエストをフレームワークシステム３に送信する。
【００１２】
フレームワークシステム３の実行要求受信部１１は、クライアント端末１から送信された住所録登録リクエストを受信する（ステップＳＴ２）。
フレームワークシステム３の搭載先確認部１３は、実行要求受信部１１が住所録登録リクエストを受信すると、一覧表格納メモリ１２に格納されている一覧表を参照して（図３を参照）、その住所録登録リクエストに対応する処理プログラム（住所録の登録を行う処理プログラム）を認識し、その処理プログラムの搭載先を確認する（ステップＳＴ３）。
例えば、実行要求受信部１１により受信されたリクエストがリクエストＢである場合、図３の例では、そのリクエストに対応する処理プログラムはプログラムＹであり、その処理プログラムの搭載先は外部システム５である。
【００１３】
フレームワークシステム３のクライアント要求実行部１５は、搭載先確認部１３により確認された搭載先がプログラム格納メモリ１４であれば（ステップＳＴ４）、プログラム格納メモリ１４から住所録登録リクエストに対応する処理プログラムをロードして実行する（ステップＳＴ５）。即ち、住所録登録リクエストに含まれているデータ要素を利用して、住所録登録リクエストに対応する処理プログラムを実行することにより、データベース１９に格納されている住所録に新たな住所等を登録する。
クライアント要求実行部１５は、住所録登録リクエストに対応する処理プログラムの実行を終えると、その処理結果（例えば、登録完了、登録失敗）を応答部１７に出力する。
【００１４】
一方、クライアント要求実行部１５は、搭載先確認部１３により確認された搭載先が例えば外部システム５であれば（ステップＳＴ４）、外部入出力部１６を介して、住所録登録リクエストに対応する処理プログラムの実行指令を外部システム５に出力と同時に、住所録登録リクエストに含まれているデータ要素を外部システム５に出力する（ステップＳＴ６）。
外部システム５は、フレームワークシステム３から住所録登録リクエストに対応する処理プログラムの実行指令とデータ要素を受信すると、そのデータ要素を利用して、住所録登録リクエストに対応する処理プログラムを実行することにより、図示せぬデータベースに格納されている住所録に新たな住所等を登録する（ステップＳＴ７）。
外部システム５は、住所録登録リクエストに対応する処理プログラムの実行を終えると、その処理結果（例えば、登録完了、登録失敗）をフレームワークシステム３に送信する（ステップＳＴ８）。
フレームワークシステム３の外部入出力部１６は、外部システム５から送信された処理結果を受信し、その処理結果を応答部１７に出力する。
【００１５】
フレームワークシステム３の応答部１７は、クライアント要求実行部１５又は外部システム５から処理結果を受けると、ネットワーク２を介して、その処理結果をクライアント端末１に送信する（ステップＳＴ９）。
これにより、クライアント端末１のディスプレイには処理結果が表示されるので、クライアント端末１の使用者は、正常に住所登録が行われたか否かを確認することができる。
なお、処理結果は、クライアント端末１が要求する形式（例えば、ＨＴＭＬ，ＸＭＬ）で送信されるように、例えば、リクエストの送信時に定義可能であるものとする。
【００１６】
この実施の形態１では、クライアント端末１がフレームワークシステム３又は外部システム４，５，６のいずれかに搭載されている処理プログラムを実行させるリクエストを送信するものについて示したが、フレームワークシステム３又は外部システム４，５，６のいずれにおいても搭載されていない処理プログラムを実行させる必要がある場合、その処理プログラムの実行に先立って、フレームワークシステム３又は外部システム４，５，６のいずれかに当該処理プログラムを組み込む必要がある。あるいは、その処理プログラムを搭載している新たな外部システムを追加する必要がある。
【００１７】
例えば、当該処理プログラムを外部システム６に組み込む場合、管理者が外部システム６のメモリに当該処理プログラムを記憶させるとともに、一覧表更新部１８を操作して、フレームワークシステム３の一覧表格納メモリ１２に当該処理プログラムの搭載先（外部システム６）と当該処理プログラムに対応するリクエスト（例えば、住所録を修正するリクエスト）の関係を記憶させるようにする。
また、当該処理プログラムをフレームワークシステム３に組み込む場合、管理者がフレームワークシステム３のプログラム格納メモリ１４に当該処理プログラムを記憶させるとともに、一覧表更新部１８を操作して、フレームワークシステム３の一覧表格納メモリ１２に当該処理プログラムの搭載先（フレームワークシステム３のプログラム格納メモリ１４）と当該処理プログラムに対応するリクエスト（例えば、住所録を修正するリクエスト）の関係を記憶させるようにする。
また、当該処理プログラムを搭載している新たな外部システムを追加する場合、管理者が一覧表更新部１８を操作して、フレームワークシステム３の一覧表格納メモリ１２に当該処理プログラムの搭載先（新たな外部システム）と当該処理プログラムに対応するリクエスト（例えば、住所録を修正するリクエスト）の関係を記憶させるようにする。
これにより、以後、当該処理プログラムの実行が可能になる。
【００１８】
以上で明らかなように、この実施の形態１によれば、搭載先確認部１３により確認された搭載先がプログラム格納メモリ１４であれば、そのプログラム格納メモリ１４に格納されている処理プログラムを実行し、その搭載先が外部システムであれば、その処理プログラムを外部システムに実行させるクライアント要求実行部１５を設けるように構成したので、その処理プログラムがフレームワークシステム３に搭載されていない場合でも、その処理プログラムを実行させることができるようになり、その結果、システムの規模の拡大やシステムの利用方法の変化に柔軟に対処することができる効果を奏する。
また、この実施の形態１によれば、処理プログラムを搭載している外部システムを新たに追加する場合、あるいは、既存の内部システム又は外部システムに処理プログラムを追加する場合、一覧表を更新する一覧表更新部１８を設けるように構成したので、実施可能な処理プログラムを簡単に追加することができる効果を奏する。
【００１９】
実施の形態２．
図４はこの発明の実施の形態２によるフレームワークシステムを示す構成図であり、図において、図１と同一符号は同一または相当部分を示すので説明を省略する。
定義内容格納メモリ２１は各種の実行要求に対応する処理プログラムの搭載先が記述されている定義内容を格納している。搭載先確認部２２は定義内容格納メモリ２１に格納されている定義内容を参照して、実行要求受信部１１により受信された実行要求を実現する処理プログラムの搭載先を確認する。なお、定義内容格納メモリ２１と搭載先確認部２２から確認手段が構成されている。
定義内容更新部２３はキーボードやマウスなどから構成され、処理プログラムを搭載している外部システムを新たに追加する場合、あるいは、既存の内部システム又は外部システム４，５，６に処理プログラムを追加する場合、定義内容格納メモリ２１に格納されている定義内容を更新する更新手段を構成している。
【００２０】
上記実施の形態１では、搭載先確認部１３が一覧表格納メモリ１２に格納されている一覧表を参照して、実行要求受信部１１により受信された実行要求を実現する処理プログラムの搭載先を確認するものについて示したが、搭載先確認部２２が定義内容格納メモリ２１に格納されている定義内容を参照して、実行要求受信部１１により受信された実行要求を実現する処理プログラムの搭載先を確認するようにしてもよい。
即ち、定義内容格納メモリ２１に格納されている定義内容は、図５及び図６に示すように、各種の実行要求に対応する処理プログラムや、その処理プログラムの搭載先などが記述されているので、その定義内容を参照して、実行要求受信部１１により受信されたリクエストに対応する処理プログラム（例えば、住所録の登録を行う処理プログラム）を認識し、その処理プログラムの搭載先を確認する。
【００２１】
図５及び図６において、
＜Ｅｖｅｎｔ・・・＞・・・＜Ｅｖｅｎｔ＞で囲まれている部分のうち、
＜Ｅｖｅｎｔ  ｎａｍｅ＝“ＵｓｅｒＭａｎａｇｅｍｅｎｔＰｒｏｃＥｖｅｎｔ”
とある部分がイベントの名前に相当し、
ｕｒｌ＝“／ＵｓｅｒＭａｎａｇｅｍｅｎｔＰｒｏｃ．ｄｏ”
とある部分が実際の呼び出し形式であって、例えば、Ｗｅｂブラウザに与えるｕｒｌの一部に相当する。
また、ｅｖｅｎｔ＝“ｊｐ．ｃｏ．ｍｅｌｃｏ．ｘｘｘ．ＵｓｅｒＭａｎａｇｅｍｅｎｔＰｒｏｃＥｖｅｎｔ”が、ＲＰＳｅｖｅｎｔとして生成されるオブジェクト（プログラム）、
Ｐａｓｅｒ＝“ｊｐ．ｃｏ．ｍｅｌｃｏ．ｘｘｘ．ＵｓｅｒＭａｎａｇｅｍｅｎｔＰｒｏｃＥｖｅｎｔＰａｒｓｅｒ”が、ＥｖｅｎｔＰａｒｓｅｒとして生成されるオブジェクト（プログラム）、
ｐｅｒｆｏｒｍ＝“ｊｐ．ｃｏ．ｍｅｌｃｏ．ｘｘｘ．ＵｓｅｒＭａｎａｇｅｍｅｎｔＰｒｏｃＥｖｅｎｔＰｅｒｆｏｒｍ”がＥｖｅｎｔＰｅｒｆｏｒｍとして生成されるオブジェクト（プログラム）である。
【００２２】
この実施の形態２では、搭載先確認部２２が定義内容格納メモリ２１に格納されている定義内容を参照して、実行要求受信部１１により受信された実行要求を実現する処理プログラムの搭載先を確認するものについて示したが、フレームワークシステム３又は外部システム４，５，６のいずれかに新たな処理プログラムを組み込む必要がある場合、あるいは、新たな処理プログラムを搭載している外部システムを新たに追加する場合は、次のようにする。
【００２３】
例えば、新たな処理プログラムを外部システム６に組み込む場合、管理者が外部システム６のメモリに当該処理プログラムを記憶させるとともに、定義内容更新部２３を操作して、フレームワークシステム３の定義内容格納メモリ２１に格納されている定義内容に、当該処理プログラムの搭載先（外部システム６）と当該処理プログラムに対応するリクエスト（例えば、住所録を修正するリクエスト）を示す内容を追加するようにする。
また、当該処理プログラムをフレームワークシステム３に組み込む場合、管理者がフレームワークシステム３のプログラム格納メモリ１４に当該処理プログラムを記憶させるとともに、定義内容更新部２３を操作して、フレームワークシステム３の定義内容格納メモリ２１に格納されている定義内容に、当該処理プログラムの搭載先（フレームワークシステム３のプログラム格納メモリ１４）と当該処理プログラムに対応するリクエスト（例えば、住所録を修正するリクエスト）を示す内容を追加するようにする。
また、当該処理プログラムを搭載している新たな外部システムを追加する場合、管理者が定義内容更新部２３を操作して、フレームワークシステム３の定義内容格納メモリ２１に格納されている定義内容に、当該処理プログラムの搭載先（新たな外部システム）と当該処理プログラムに対応するリクエスト（例えば、住所録を修正するリクエスト）を示す内容を追加するようにする。
【００２４】
ここでは、新たな処理プログラムを外部システム６に組み込む場合等について示したが、定義内容を追加するに際して、例えば、図７に示すように、“ＢＭＳＢｅａｎ”という拡張ソフトウェアを実行することにより、定義内容を追加するようにしてもよい。なお、図８は定義内容の追加例を示している。
これにより、以後、当該処理プログラムの実行が可能になる。
【００２５】
以上で明らかなように、この実施の形態２によれば、搭載先確認部２２が定義内容格納メモリ２１に格納されている定義内容を参照して、実行要求受信部１１により受信された実行要求を実現する処理プログラムの搭載先を確認するように構成したので、上記実施の形態１と同様に、処理プログラムがフレームワークシステム３に搭載されていない場合でも、その処理プログラムを実行させることができる効果を奏する。
また、この実施の形態２によれば、処理プログラムを搭載している外部システムを新たに追加する場合、あるいは、既存の内部システム又は外部システムに処理プログラムを追加する場合、定義内容格納メモリ２１に格納されている定義内容を更新する定義内容更新部２３を設けるように構成したので、実施可能な処理プログラムを簡単に追加することができる効果を奏する。
【００２６】
実施の形態３．
上記実施の形態２では、定義内容更新部２３を操作して、定義内容格納メモリ２１に格納されている定義内容を更新するものについて示したが、図９に示すように、更新後の定義内容を検証する検証部（検証手段）２４を設け、その検証部２４が当該定義内容に不備があれば、更新後の定義内容の参照を禁止するようにしてもよい。
具体的には、検証部２４が、例えば更新後の定義内容の記述形式（文法）が所定のフォーマットと合致しているか否かを検証する。あるいは、新たな処理プログラムの搭載先が正確に記述されているか否かなどを検証する。
検証部２４は、更新後の定義内容を検証した結果、その定義内容に不備があれば、エラーメッセージを図示せぬディスプレイに表示し、更新後の定義内容の修正を指示する。
なお、検証部２４は、更新後の定義内容が適切に修正されない限り、更新後の定義内容の参照を不許可とする制御信号を搭載先確認部２２に出力する。
因みに、検証部２４の検証タイミングであるが、例えば、定義内容が更新された時点でもよいし、クライアント端末１からリクエストを受信して処理を開始する時点でもよい。
【００２７】
実施の形態４．
上記実施の形態１〜３では、例えば、外部システムが住所録を登録する処理プログラムを実行するものについて示したが、図１０に示すように、外部システム４，５，６がワークフローを実現する処理プログラムを搭載するようにしてもよい。
例えば、外部システム４に対して、ユーザＡ→ユーザＢ→ユーザＣ→ユーザＤ→ユーザＥの間で、文書を回覧するワークフローが定義されているとき、クライアント端末１が実行要求として文書の回覧リクエストをフレームワークシステム３に送信すると、外部システム４がフレームワークシステム３の指示の下、ワークフローを実現する処理プログラムを実行する。
即ち、外部システム４は、文書の作成指令をユーザＡの端末に出力し、ユーザＡの端末から作成された文書を受信すると、その文書をユーザＢ→ユーザＣ→ユーザＤ→ユーザＥの順に回覧する。
この実施の形態４によれば、クライアント端末１がワークフローの実施を要求することができる効果を奏する。
【図面の簡単な説明】
【００２８】
【図１】この発明の実施の形態１によるフレームワークシステムを示す構成図である。
【図２】この発明の実施の形態１によるフレームワークシステムの処理内容を示すフローチャートである。
【図３】一覧表を示す説明図である。
【図４】この発明の実施の形態２によるフレームワークシステムを示す構成図である。
【図５】定義内容の前半部分を示す説明図である。
【図６】定義内容の後半部分を示す説明図である。
【図７】拡張ソフトウェア例を示す説明図である。
【図８】定義内容を示す説明図である。
【図９】この発明の実施の形態３によるフレームワークシステムを示す構成図である。
【図１０】この発明の実施の形態４によるフレームワークシステムを示す構成図である。
【符号の説明】
【００２９】
１  クライアント端末、２  ネットワーク、３  フレームワークシステム、４，５，６  外部システム、１１  実行要求受信部（実行要求受信手段）、１２  一覧表格納メモリ（確認手段）、１３  搭載先確認部（確認手段）、１４  プログラム格納メモリ、１５  クライアント要求実行部（実行手段）、１６  外部入出力部、１７  応答部（応答手段）、１８  一覧表更新部（更新手段）、１９  データベース、２１  定義内容格納メモリ（確認手段）、２２  搭載先確認部（確認手段）、２３  定義内容更新部（更新手段）、２４  検証部（検証手段）。
【図１】
2005092345.tif 000003
【図２】
2005092345.tif 000004
【図３】
2005092345.tif 000005
【図４】
2005092345.tif 000006
【図５】
2005092345.tif 000007
【図６】
2005092345.tif 000008
【図７】
2005092345.tif 000009
【図８】
2005092345.tif 000010
【図９】
2005092345.tif 000011
【図１０】
2005092345.tif 000012