(57)【要約】【課題】クライアントが複数のウィンドウを立ち上げて処理要求を発するクライアントサーバーシステムにおいて、処理結果を正しいウィンドウに表示させることができる情報処理システムを提供する。【解決手段】アプリケーションプログラムを実行する少なくとも一つのクライアントと業務処理ロジックを実行する少なくとも一つのバックエンドシステムの間に介在し、クライアントからウィンドウＩＤとアプリケーションＩＤを付したアプリケーション画面データを受信し、業務処理ロジックに変換し、所定のバックエンドシステムに実行させ、実行結果を要求を発したアプリケーションの所定の画面に加入して要求元のクライアントに送信するフロントエンドサーバーを備えた。【選択図】図１
2007102794.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムを実行する少なくとも一つのクライアントと業務処理ロジックを実行する少なくとも一つのバックエンドシステムの間に介在し、クライアントから所定の処理要求を含むアプリケーション画面を受信し、前記処理要求を業務処理ロジックに変換し、所定のバックエンドシステムに実行させ、実行結果を要求を発したアプリケーションの所定の画面に加入して要求元のクライアントに送信するフロントエンドサーバーを有し、
前記フロントエンドサーバーは、
前記クライアントから送信された画面データがクライアント側で新たに開いたウィンドウか否かを画面データに付されたウィンドウＩＤとアプリケーションＩＤとフロントエンドサーバーに備えられたウィンドウＩＤ管理テーブルとを比較して判断し、新たに開いたウィンドウと判断した場合は新たにウィンドウＩＤを付与するとともに処理中オブジェクトを生成し、ウィンドウＩＤとアプリケーションＩＤと処理要求ＩＤの識別情報の組を処理要求に付して所定のバックエンドシステムに実行させ、処理結果を前記処理要求ＩＤによって特定されるアプリケーションの所定の画面に加入して前記ウィンドウＩＤとアプリケーションＩＤの識別情報の組を付して要求元のクライアントに送信するサーバー側ウィンドウＩＤ管理手段を有していることを特徴とするフロントエンド処理機能を有する情報処理システム。
【請求項２】
前記ウィンドウＩＤ管理テーブルは、各処理中オブジェクトへのアクセス時間を記録し、
前記サーバー側ウィンドウＩＤ管理手段は、前記ウィンドウＩＤ管理テーブルを所定のタイミングで参照し、クライアントから所定の時間以上アクセスがなかった処理中オブジェクトの処理を中止するための処理を行うことを特徴とする請求項１に記載のフロントエンド処理機能を有する情報処理システム。
【請求項３】
前記フロントエンドサーバーは、
前記クライアントに表示させる画面の画面データを記憶する画面データ記憶手段と、
前記クライアントから受信した画面から処理要求ＩＤと必要な入力データを抽出し、あるいは前記クライアントに画面を表示させるために必要な処理結果を加入した画面データを生成して出力する画面制御手段と、
処理要求とその処理結果に対応する画面遷移の定義を記憶した画面遷移定義記憶手段と、を有する画面制御部を有していることを特徴とする請求項１または２に記載のフロントエンド処理機能を有する情報処理システム。
【請求項４】
前記フロントエンドサーバーは、
前記クライアントから受信した画面の処理要求ＩＤと必要な入力データを前記画面制御手段から取得し、前記処理要求ＩＤに対応するトランザクション処理の要求電文のテンプレートに前記入力データを組み込んで処理要求電文を生成し、所定のバックエンドシステムに前記処理要求電文を送信し、前記バックエンドシステムから処理結果電文を受信し、前記処理結果電文から処理結果を抽出して前記画面制御部に出力する処理中継部を有していることを特徴とする請求項３に記載のフロントエンド処理機能を有する情報処理システム。
【請求項５】
前記フロントエンドサーバーは、
前記クライアントから受信した画面の処理要求ＩＤを前記画面制御手段から取得し、処理要求ＩＤとトランザクション処理を対応させて記憶したトランザクション定義記憶手段を参照して前記処理要求ＩＤに対応するトランザクション処理を特定するトランザクション変換手段と、
前記クライアントから受信した画面の入力データ、または、前記バックエンドシステムによる処理結果を記憶保持するデータストアと、
前記トランザクション変換手段から特定されたトランザクション処理の情報を入力し、トランザクション処理とそれに必要な処理要求電文を対応させて記憶した電文変換定義記憶手段と、各処理要求電文または処理結果電文の定義を記憶した電文定義記憶手段とを参照して必要な入力データを組み込んで処理要求電文を生成し、あるいは、前記バックエンドシステムから処理結果電文を受信し、前記処理結果電文から処理結果を抽出して前記データストアに出力する電文変換手段と、
前記電文変換手段から処理要求電文を入力し、所定のバックエンドシステムと接続して処理要求電文を送信し、前記バックエンドシステムから処理結果電文を受信して前記電文変換手段に出力するコネクタと、を有していることを特徴とする請求項３に記載のフロントエンド処理機能を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は大規模で、多様な処理を行うアプリケーションプログラムと、所定の定型的な情報処理の実行を得手とするホストコンピュータとデータベースなどのバックエンドシステムとの間に、アプリケーションプログラムからの処理要求を単純化して中継しバックエンドシステムに処理させ、バックエンドシステムからその処理結果を受信してアプリケーションプログラムがほしい形に変換して返すフロントエンド処理機能を有する情報処理システムに関する。
【０００２】
特に本発明は、アプリケーションプログラムが一つのブラウザで複数のウィンドウを立ち上げた場合などに、バックエンドシステムからの処理結果を正確にその処理結果を反映すべきウィンドウに表示させることができる、フロントエンド処理機能を有する情報処理システムに関する。
【背景技術】
【０００３】
ユーザーから直接操作を受け付けて、さまざまな処理を行うコンピュータシステムは、ユーザーインターフェースに関する部分と、具体的な業務処理に関する業務処理ロジックとに分けることができる。
【０００４】
ユーザーインターフェースの設計基準は、ユーザーに与える印象、操作性等さまざまな要素がある。そのため、ユーザーインターフェースの設計には高い自由度が求められる。また、ユーザーインターフェースは、さまざまな理由から頻繁に変更されるものである。
【０００５】
これに対して業務処理ロジックは、定型的な処理が多く、単純化できれば高性能なコンピューターによって高速に処理することができる。この業務処理ロジックは、ユーザーインターフェースの変更に伴って変更する必要はなく、むしろ、ユーザーインターフェースを変更する度に、業務処理ロジックまで変更しなければならないとすれば、不便である。
【特許文献１】特開２００２−９４５７１号公報
【特許文献２】国際公開第００／６８８２３号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記問題に対し、本願出願人は、大規模で多様なアプリケーションプログラムを実行するクライアントと、所定の定型的な情報処理を得手とするホストコンピュータなどのバックエンドシステムとの間に、クライアントとバックシステムの間の処理要求や処理結果を中継するフロントエンドサーバーを介在させる情報処理システムを提案した。前記フロントエンドサーバーは、アプリケーションプログラムからの処理要求を受信してバックエンドシステムが処理可能な処理要求電文に変換し、バックエンドシステムの処理結果を受信してアプリケーションプログラムの所定の画面に処理結果を組み入れてクライアントに送信するものであった。このフロントエンドサーバーの作用により、バックエンドシステムの業務処理ロジックとアプリケーションプログラムの画面等が分離され、バックエンドシステムから独立してアプリケーションプログラムのユーザーインターフェースを変更し得るものになった。
【０００７】
上記本願出願人が提案した情報処理システムは、アプリケーションプログラムのユーザーインターフェースが要求する複雑さと多様さと柔軟性と、バックエンドシステムが要求する単純性、不変性の双方を同時に満たすものであった。
【０００８】
しかし、上記本願出願人が先に提案した情報処理システムは、一つの処理要求について画面遷移が一義的に定まる処理を対象とするものであった。
【０００９】
ところが、アプリケーションプログラムの処理内容の高度化と大規模化により、現在では同一のブラウザによって複数のウィンドウを立ち上げ、それぞれのウィンドウからほぼ同時に処理要求を発することが多くなった。あるいは、一つのフレーム内に複数の画面を配置し、それぞれの画面から処理要求を発することもしばしばある。
【００１０】
クライアントが処理要求を順次発し、バックエンドシステムが順次処理を行って処理結果を変える場合は、一つの処理要求に対して一つの画面遷移のみが定義されていても問題は生じない。
【００１１】
しかし、複数のウィンドウが同時に立ち上げられ、複数のウィンドウから同時に処理要求が発せられる場合は、一つの処理要求に対して一つの画面遷移のみが定義されていると、バックエンドシステムからの処理結果がクライアントに返されるが、クライアント側では複数同時に存在するウィンドウのいずれに処理結果を表示していいのか判断できないという問題が生じる。たとえば複数のウィンドウを立ち上げて、各ウィンドウから銀行口座Ａ，Ｂ，Ｃの残高照会をする場合に、銀行口座Ａ，Ｂ，Ｃの残高が異なるウィンドウに表示されることがある。
【００１２】
そこで、本発明が解決しようとする課題は、複数のウィンドウが同時に立ち上げられ、複数の処理要求がほぼ同時に発せられた場合でも、処理結果を正しいウィンドウに表示させることができるフロントエンド処理機能を有する情報処理システムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明によるフロントエンド処理機能を有する情報処理システムは、アプリケーションプログラムを実行する少なくとも一つのクライアントと業務処理ロジックを実行する少なくとも一つのバックエンドシステムの間に介在し、クライアントから所定の処理要求を含むアプリケーション画面を受信し、前記処理要求を業務処理ロジックに変換し、所定のバックエンドシステムに実行させ、実行結果を要求を発したアプリケーションの所定の画面に加入して要求元のクライアントに送信するフロントエンドサーバーを有し、
前記フロントエンドサーバーは、
前記クライアントから送信された画面データがクライアント側で新たに開いたウィンドウか否かを画面データに付されたウィンドウＩＤとアプリケーションＩＤとフロントエンドサーバーに備えられたウィンドウＩＤ管理テーブルとを比較して判断し、新たに開いたウィンドウと判断した場合は新たにウィンドウＩＤを付与するとともに処理中オブジェクトを生成し、ウィンドウＩＤとアプリケーションＩＤと処理要求ＩＤの識別情報の組を処理要求に付して所定のバックエンドシステムに実行させ、処理結果を前記ウィンドウＩＤとアプリケーションＩＤと処理要求ＩＤの識別情報の組によって特定されるアプリケーションの所定の画面に加入して前記ウィンドウＩＤとアプリケーションＩＤと処理要求ＩＤの識別情報の組を付して要求元のクライアントに送信するサーバー側ウィンドウＩＤ管理手段を有していることを特徴とするものである。
【００１４】
本発明によるフロントエンド処理機能を有する情報処理システムは、
アプリケーションプログラムを実行する少なくとも一つのクライアントと業務処理ロジックを実行する少なくとも一つのバックエンドシステムの間に、前記クライアントから所定の処理要求を含むアプリケーション画面を受信し、前記処理要求を業務処理ロジックに変換し、所定のバックエンドシステムに実行させ、実行結果を要求を発したアプリケーションの所定の画面に加入して要求元のクライアントに送信するフロントエンドサーバーを介在させたフロントエンド処理機能を有する情報処理システムにおいて、
前記アプリケーションプログラムは、同一画面内で複数のアプリケーション処理を実行可能である場合は、前記画面のウィンドウＩＤに対して前記アプリケーション処理ごとにアプリケーションＩＤを予め定めており、
前記クライアントは、
ブラウザが所定のアプリケーション画面を開く時に、そのアプリケーション画面がウィンドウＩＤおよびアプリケーションＩＤが更新されたことを示す前記フロントエンドサーバーからのリセット信号を有している時は、そのアプリケーション画面に付されているウィンドウＩＤとアプリケーションＩＤとをそのアプリケーション画面の識別情報として採用するとともに、処理登録済み信号をオンにし、そのアプリケーション画面が前記リセット信号を有していない時は、そのアプリケーション画面に付されているウィンドウＩＤをヌル信号に変換し、処理登録済み情報をオンにする、クライアント側ウィンドウＩＤ管理手段を有していることを特徴とするものである。
【発明の効果】
【００１５】
本発明によれば、フロントエンドサーバーが、クライアントから送信された画面データがクライアント側で新たに開いたウィンドウか否かを画面データに付されたウィンドウＩＤとアプリケーションＩＤとフロントエンドサーバーに備えられたウィンドウＩＤ管理テーブルとを比較して判断し、新たに開いたウィンドウと判断した場合は新たにウィンドウＩＤを付与するとともに処理中オブジェクトを生成し、ウィンドウＩＤとアプリケーションＩＤと処理要求ＩＤの識別情報の組を処理要求に付して所定のバックエンドシステムに実行させ、処理結果を前記ウィンドウＩＤとアプリケーションＩＤと処理要求ＩＤの識別情報の組によって特定されるアプリケーションの所定の画面に加入して前記ウィンドウＩＤとアプリケーションＩＤと処理要求ＩＤの識別情報の組を付して要求元のクライアントに送信する。
【００１６】
一方、クライアントは、ブラウザが所定のアプリケーション画面を開く時に、そのアプリケーション画面がウィンドウＩＤおよびアプリケーションＩＤが更新されたことを示す前記フロントエンドサーバーからのリセット信号を有している時は、そのアプリケーション画面に付されているウィンドウＩＤとアプリケーションＩＤとをそのアプリケーション画面の識別情報として採用するとともに、処理登録済み信号をオンにし、そのアプリケーション画面が前記リセット信号を有していない時は、そのアプリケーション画面に付されているウィンドウＩＤをヌル信号に変換し、処理登録済み情報をオンにする。
【００１７】
これにより、クライアントで新規にウィンドウを開いた時も、画面のコピーによって新規にウィンドウを開いた時も、フロントエンドサーバーによって新規のウィンドウであると認識され、新たなウィンドウＩＤを付与される。
【００１８】
バックエンドシステムの処理結果は処理要求のウィンドウＩＤ／アプリケーションＩＤの情報を付されてクライアントに送信されるので、クライアント側では処理結果を正しいウィンドウに表示させることができる。
【発明を実施するための最良の形態】
【００１９】
次に、本発明によるフロントエンド処理機能を有する情報処理システムの実施の形態について以下に説明する。
【００２０】
図１は、本発明による一実施形態によるフロントエンド処理機能を有する情報処理システムの全体の構成を示したものである。
【００２１】
図１に示すように、本実施形態による情報処理システム１は、複数のクライアント２と、たとえばリレーショナルデータベース（ＲＤＢ）、ホストコンピュータ、オンライントランザクション処理装置等のバックエンドシステム３と、前記クライアント２とバックエンドシステム３の間に設けられたフロントエンドサーバー４とを有している。
【００２２】
クライアント２は種々のアプリケーションプログラムを実行するコンピューター、端末である。
【００２３】
バックエンドシステム３は、複数のシステムからなり、それぞれのシステムは特定の定型処理を行うように特化されている。たとえば、ＲＤＢはデータ検索等を行い、ホストコンピュータは業務処理を行い、オンライントランザクション処理装置は所定のオンライントランザクション処理を行うように特化され、大量の処理を高性能なコンピューターによって高速に処理するように構成されている。
【００２４】
フロントエンドサーバー４は、クライアント２（実際にはクライアント２上で作動するアプリケーションプログラム）からの処理要求をバックエンドシステム３への処理要求電文に変換し、その処理要求電文をバックエンドシステム３に送信し、その処理結果電文をバックエンドシステム３から受信し、処理結果をアプリケーションプログラムが認識できる形に変換してクライアント２に送信する。
【００２５】
クライアント２からの処理要求が実際には複数のバックエンドシステム３を稼働させる必要がある時は、フロントエンドサーバー４は、一つの処理要求に対して複数の処理要求電文を生成し、これらの処理要求電文を複数のバックエンドシステム３に送信し、それらのバックエンドシステム３から処理要求電文を受信し、処理結果を組み立ててクライアント２に返す。
【００２６】
クライアント２からの処理要求はＷｅｂページによるのが好ましい。ユーザーは、クライアント２上でＷｅｂページを表示させ、当該Ｗｅｂページに必要なデータを入力し、その入力データを含んだＷｅｂページをフロントエンドサーバー４に送信する。フロントエンドサーバー４は、前記入力データを含んだＷｅｂページから必要な情報（入力データと処理要求の種類）を抽出し、バックエンドシステム３に送信し、バックエンドシステム３から処理結果を受信してＷｅｂページに組み入れてクライアント２に返信する。
【００２７】
本発明の情報処理システム１は、クライアント２が一つのブラウザによって複数のウィンドウを立ち上げて複数の処理要求を発する場合、あるいは、一つのフレーム内に複数の画面が含まれて複数の処理要求を発することができる場合に対し、フロントエンドサーバー４からの処理結果を組み入れた画面を正しいウィンドウに表示させることができる。
【００２８】
フロントエンドサーバー４からの処理結果を正しいウィンドウに表示させるために、情報処理システム１は以下の構成を有している。
【００２９】
クライアント２は、クライアント側ウィンドウＩＤ管理手段５を有している。
【００３０】
また、フロントエンドサーバー４は、処理中オブジェクトの管理モジュール６と処理モジュール７とを有している。
【００３１】
クライアント側ウィンドウＩＤ管理手段５は、クライアント２側でブラウザが立ち上げたウィンドウに識別情報を付して管理する手段である。また、クライアント側ウィンドウＩＤ管理手段５は、ブラウザが開いたウィンドウがバックエンドシステム３から送信されたウィンドウか、すでに開かれている画面をコピーしたウィンドウかを識別し、それによって識別情報を操作する機能を有している手段である。
【００３２】
クライアント側ウィンドウＩＤ管理手段５の具体的な処理については後述する。
【００３３】
処理中オブジェクトの管理モジュール６は、フロントエンドサーバー４が処理している途中の処理要求を管理する手段である。処理中オブジェクトの管理モジュール６は、各処理中の処理要求をオブジェクト（処理中オブジェクト）として管理し、クライアント２の各ウィンドウからの処理要求に対して一対一対応の処理中オブジェクトを生成し、終了した処理中オブジェクトを削除等する。ここで、処理中オブジェクトは、進行中の処理プロセスを表すものであって、問い合わせに対して処理状況や処理要求の種別等を返すオブジェクトである。
【００３４】
処理中オブジェクトの管理モジュール６の具体的な処理については後述する。
【００３５】
処理モジュール７は、処理中オブジェクトの管理モジュール６から、処理要求を受け取り、バックエンドシステム３に対して処理を要求し、その処理結果を受信してクライアント２へのＷｅｂページに組み入れて処理中オブジェクトの管理モジュール６に返す処理部である。
【００３６】
処理モジュール７の具体的な処理については後述する。
【００３７】
図２に、処理中オブジェクトの管理モジュール６の構成を示す。
【００３８】
処理中オブジェクトの管理モジュール６は、サーバー側ウィンドウＩＤ管理手段８と、処理要求定義記憶手段９と、ウィンドウＩＤ管理テーブル１０と、処理中オブジェクト記憶手段１１とを有している。
【００３９】
サーバー側ウィンドウＩＤ管理手段８は、クライアント２から受信した画面データがクライアント２で新たに開かれたウィンドウか否かを判定し、新たに開かれたウィンドウであれば、ウィンドウＩＤを付与して管理し、そのウィンドウに対応する処理中オブジェクトを生成する手段である。新たに開かれたウィンドウか否の情報は既に開かれているウィンドウのウィンドウＩＤを記憶したウィンドウＩＤ管理テーブル１０を参照して判断する。
【００４０】
処理中オブジェクトは、サーバー側ウィンドウＩＤ管理手段８によって生成、削除され、処理中オブジェクト記憶手段１１によって記憶管理される。
【００４１】
処理要求ＩＤ定義記憶手段９は、ウィンドウＩＤまたはアプリケーションＩＤに対応する処理要求ＩＤの定義を記憶管理する手段である。
【００４２】
ここで、ウィンドウＩＤは各ウィンドウに付される識別情報であり、アプリケーションＩＤはウィンドウ中の処理に付される識別情報である。ウィンドウが単一の処理のみを行う画面である場合には、アプリケーションＩＤを省略することができる。その場合は、ウィンドウＩＤと処理要求ＩＤとが直接対応して定義される。
【００４３】
図３は処理モジュール７の構成を示している。
【００４４】
処理モジュール７は、画面制御部１２と処理中継部１３とを有している。
【００４５】
画面制御部１２は、クライアント２から受信した画面から必要な情報を抽出し、あるいはクライアント２に送信する画面を選択し、必要な情報を組み入れる処理部である。
【００４６】
処理中継部１３は、クライアント２から受信した画面データが要求する処理要求を適当なバックエンドシステム３に行わせ、バックエンドシステム３から処理結果を受信して画面制御部１２に出力する処理部である。
【００４７】
画面制御部１２は、画面制御手段１４と画面データ記憶手段１５と画面遷移定義記憶手段１６とを有している。
【００４８】
画面制御手段１４は、クライアント２から受信した画面から処理要求ＩＤと必要な入力データを抽出し、あるいはクライアント２に画面を表示させるために必要な処理結果を加入した画面データを生成して出力する手段である。
【００４９】
画面データ記憶手段１５は、クライアントに表示させる画面の画面データを記憶する手段である。画面データは、例えばＨＴＭＬ（ＨｙｐｅｒＴｅｘｔＭａｒｋｕｐＬａｎｇｕａｇｅ）形式等であらかじめ作成されている。各画面データに基づいて表示された画面は、ユーザーからの入力操作を受け付け、画面制御手段１４がその操作内容に応じたフロントトランザクション処理をコールする。
【００５０】
画面遷移定義記憶手段１６は、処理要求とその処理結果に対応する画面遷移の定義を記憶する手段である。
【００５１】
上記構成により、画面制御部１２は、クライアント２から受信した画面データの処理要求ＩＤを特定し、あるいは入力されているデータ（入力データ）等を抽出し、あるいは、クライアント２に送信する画面データのファイルを特定し、バックエンドシステム３の処理結果を組み入れて画面データを生成する。
【００５２】
処理中継部１３は、データストア１７と、トランザクション変換手段１８と、電文変換手段１９と、コネクタ２０と、データストア定義記憶手段２１と、電文変換定義記憶手段２２と、電文定義記憶手段２３と、トランザクション定義記憶手段２４とを有している。
【００５３】
データストア１７は、クライアント２から受信した画面データから抽出した入力データを記憶する手段である。このデータストア１７は、サーバー側ウィンドウＩＤ管理手段８によってウィンドウＩＤ単位に複製される。そして該当するウィンドウに対応するウィンドウＩＤに関連づけられたデータストア１７の一つが処理モジュール７上で選択され、使用される。
【００５４】
トランザクション変換手段１８は、クライアント２から受信した画面の処理要求ＩＤを画面制御手段１４から取得し、処理要求ＩＤとトランザクション処理を対応させて記憶したトランザクション定義記憶手段２４を参照して前記処理要求ＩＤに対応するトランザクション処理を特定する手段である。
【００５５】
電文変換手段１９は、トランザクション変換手段１８からトランザクション処理の情報を入力し、トランザクション処理とそれに必要な処理要求電文を対応させて記憶した電文変換定義記憶手段２２と、各処理要求電文または処理結果電文の定義を記憶した電文定義記憶手段２３とを参照して必要な入力データを組み込んで処理要求電文を生成し、あるいは、バックエンドシステム３から処理結果電文を受信し、処理結果電文から処理結果を抽出してデータストア１７に出力する手段である。
【００５６】
データストア定義記憶手段２１は、画面データに含まれるデータの入出力項目、データ型、使用画面等の定義を記憶する手段である。
【００５７】
上記構成により、処理中継部１３は、クライアント２から受信した画面の処理要求ＩＤと必要な入力データを画面制御手段１４から取得し、前記処理要求ＩＤに対応するトランザクション処理の要求電文のテンプレートに入力データを組み込んで処理要求電文を生成し、所定のバックエンドシステム３に前記処理要求電文を送信し、バックエンドシステム３から処理結果電文を受信し、その処理結果電文から処理結果を抽出してデータストア１７を介して画面制御手段１４に出力する。
【００５８】
以下に情報処理システム１の処理の流れを説明する。
【００５９】
図４は、クライアント側ウィンドウＩＤ管理手段５と、フロントエンドサーバーの処理中オブジェクトの管理モジュール６の間の処理の流れを示している。図４中、「ＷＩＤ」はウィンドウＩＤ、「ＡＰＩＤ」はアプリケーションＩＤを示す。
【００６０】
図４において、クライアント２が所定の画面を新規に開いて処理中オブジェクトの管理モジュール６に送信するときは、その画面データにウィンドウＩＤがヌル（入力されていない状態；ＷＩＤ＝””）とアプリケーションＩＤがたとえばＰ１（ＡＰＩＤ＝”Ｐ１”）の情報を付して送信する（ステップＳ１００）。なお、ＡＰＩＤはアプリケーションプログラムによってウィンドウ（画面）に対応して予め定められている。
【００６１】
上記画面データを受信した処理中オブジェクトの管理モジュール６では、ＷＩＤ＝””であるので、ウィンドウＩＤ管理テーブル１０に新規のウィンドウＩＤ（図４の例ではＷ１）を登録し、ＷＩＤ＝”Ｗ１”，ＡＰＩＤ＝”Ｐ１”にし、処理登録済み信号をオフ（ＯｎＬｏａｄＣｔｒ＝０）にするとともに、ＷＩＤ＝”Ｗ１”／ＡＰＩＤ＝”Ｐ１”に対応する処理中オブジェクト（ＤＳＢ）を生成する（ステップＳ１１０）。上記処理はサーバー側ウィンドウＩＤ管理手段８によって行われる。
【００６２】
処理中オブジェクトの管理モジュール６は、要求された画面にＯｎＬｏａｄＣｔｒ＝０，ＷＩＤ＝”Ｗ１”，ＡＰＩＤ＝”Ｐ１”の情報を付してクライアント２に送信する（ステップＳ１２０）。
【００６３】
クライアント２のクライアント側ウィンドウＩＤ管理手段５は、画面が開かれた時に、画面データがリセット信号を有しているか否かを判断し、以下のような処理を行う。なお、リセット信号は、ＷＩＤ，ＡＰＩＤ等がフロントエンドサーバー４によって更新されたことを示す信号であって、処理登録済み信号をオフにすることでリセット信号に代えてもよい。図４の例はこの方法によりリセットの有無を判断している。
【００６４】
すなわち、クライアント側ウィンドウＩＤ管理手段５は、アプリケーション画面がウィンドウＩＤが更新されたことを示すリセット信号を有している時は、そのアプリケーション画面の画面データに付されているウィンドウＩＤとアプリケーションＩＤをそのアプリケーション画面の識別情報として採用するとともに、処理登録済み信号をオンにし、一方、そのアプリケーション画面が前記リセット信号を有していない時は、そのアプリケーション画面に付されているウィンドウＩＤをヌル信号に変換し、処理登録済み情報をオンにする。
【００６５】
この場合、ＯｎＬｏａｄＣｔｒ＝０（リセット信号を有している）ので、クライアント側ウィンドウＩＤ管理手段５は、その画面データに付されているウィンドウＩＤとアプリケーションＩＤをそのアプリケーション画面の識別情報として採用するとともに（ＷＩＤ＝”Ｗ１”，ＡＰＩＤ＝”Ｐ１”）、処理登録済み信号をオンにし（ＯｎＬｏａｄＣｔｒ＝１）にする（ステップＳ１３０）。
【００６６】
次に、クライアント２でステップＳ１３０の画面から次の処理要求の画面データをフロントエンドサーバー４に送る時は、その画面に付されている情報ＷＩＤ＝”Ｗ１”，ＡＰＩＤ＝”Ｐ１”を画面データに付して送信する（ステップＳ１４０）。
【００６７】
上記画面データを受信した処理中オブジェクトの管理モジュール６は、ＷＩＤ＝”Ｗ１”，ＡＰＩＤ＝”Ｐ１”という処理要求が既に処理中であるか否かをウィンドウＩＤ管理テーブル１０を参照して判断する。この場合、既にＷＩＤ＝”Ｗ１”，ＡＰＩＤ＝”Ｐ１”がウィンドウＩＤ管理テーブル１０に登録されているので（ステップＳ１１０）、処理中オブジェクトの管理モジュール６はＷＩＤ＝”Ｗ１”／ＡＰＩＤ＝”Ｐ１”に対応する処理中オブジェクト（ＤＳＢ）の処理要求ＩＤを処理モジュール７に出力し（ステップＳ１５０）、処理モジュール７が出力した画面データに情報ＯｎＬｏａｄＣｔｒ＝０，ＷＩＤ＝”Ｗ１”，ＡＰＩＤ＝”Ｐ２”の情報を付してクライアント２に送信する（ステップ１６０）。
【００６８】
上記処理結果を組み込んだ画面データを受信したクライアント２ではクライアント側ウィンドウＩＤ管理手段５が、ＯｎＬｏａｄＣｔｒ＝０（リセット信号を有している）であるので、その画面データに付されているウィンドウＩＤとアプリケーションＩＤをそのアプリケーション画面の識別情報として採用するとともに（ＷＩＤ＝”Ｗ１”，ＡＰＩＤ＝”Ｐ２”）、処理登録済み信号をオンにし（ＯｎＬｏａｄＣｔｒ＝１）にする（ステップＳ１７０）。
【００６９】
次に、クライアント２がステップＳ１７０の画面から次の処理要求の画面データをフロントエンドサーバー４に送る時は、その画面に付されている情報ＷＩＤ＝”Ｗ１”，ＡＰＩＤ＝”Ｐ２”を画面データに付して送信する（ステップＳ１８０）。
【００７０】
上記画面データを受信したフロントエンドサーバー４では、処理中オブジェクトの管理モジュール６がウィンドウＩＤ管理テーブル１０を参照し、同一ウィンドウ（ＷＩＤ＝”Ｗ１”）の次の処理（Ｐ２）であることを認識し、ＷＩＤ＝”Ｗ１”／ＡＰＩＤ＝”Ｐ２”に対応する処理中オブジェクト（ＤＳＢ）を生成し、ステップ１５０と同様の処理を行う（ステップＳ１９０）。
【００７１】
以上のように、一つのウィンドウを開いて、通常の処理の手順に従って処理を行い画面が遷移するときは、同一のウィンドウＩＤＷＩＤ＝”Ｗ１”が保持され、処理がＰ１、Ｐ２へと変遷する。
【００７２】
この場合には、バックエンドシステム３の処理結果を組み込んだ画面のデータは、ウィンドウＩＤと処理要求ＩＤの識別情報の組（ＷＩＤ＝”Ｗ１”／ＡＰＩＤ＝”Ｐ１”、ＷＩＤ＝”Ｗ１”／ＡＰＩＤ＝”Ｐ２”等）を識別情報として有しているので、クライアント２側ではクライアント側ウィンドウＩＤ管理手段５が上記画面データを正しいウィンドウに表示させることができる。
【００７３】
また、クライアント２のブラウザが複数のウィンドウを立ち上げた場合には、各ウィンドウが上記ステップＳ１００〜Ｓ１９０のように処理され、各ウィンドウが異なるウィンドウＩＤを有しているので、クライアント２はフロントエンドサーバー４から受信した処理結果の画面データをいずれのウィンドウに表示させるべきかを判断でき、正しいウィンドウに処理結果を表示させることができる。
【００７４】
一方、クライアント２でブラウザの画面をコピーして新たにウィンドウを開くことがある。この場合は、新しいウィンドウの画面データはフロントエンドサーバー４から送られない。
【００７５】
クライアント２では、開かれている画面はいずれも処理登録済み信号（ＯｎＬｏａｄＣｔｒ）、ウィンドウＩＤ（ＷＩＤ）、アプリケーションＩＤ（ＡＰＩＤ）の情報を有しており、これらの情報はコピーによって新しく開かれたウィンドウの画面にも付される。
【００７６】
クライアント側ウィンドウＩＤ管理手段５は、コピーによってか否かに関わらず新規にウィンドウが開かれると、そのウィンドウに付されている処理登録済み信号（ＯｎＬｏａｄＣｔｒ）、ウィンドウＩＤ（ＷＩＤ）、アプリケーションＩＤ（ＡＰＩＤ）を判断する。この場合、元のウィンドウのＯｎＬｏａｄＣｔｒ＝１の情報がそのままコピーされているので、クライアント側ウィンドウＩＤ管理手段５は、そのウィンドウに付されているウィンドウＩＤをヌル信号に変換し（ＷＩＤ＝””）、処理登録済み情報をオン（ＯｎＬｏａｄＣｔｒ＝１）にする（ステップＳ２１０）。なお、アプリケーションＩＤはそのまま採用する（ＡＰＩＤ＝”Ｐ１”）。
【００７７】
次に、このコピーによって生成されたウィンドウ上からフロントエンドサーバー４に対して処理要求を送信する場合には、上記ウィンドウＩＤとアプリケーションＩＤ（ＷＩＤ＝””，ＡＰＩＤ＝”Ｐ１”）が送信される（ステップＳ２２０）。
【００７８】
上記画面データを受信したフロントエンドサーバー４では、画面データに付されたウィンドウＩＤがヌルになっているので（ＷＩＤ＝””）、処理中オブジェクトの管理モジュール６が新たにウィンドウが開かれたことを検知し、元の画面のウィンドウＩＤ（ＷＩＤ＝”Ｗ１”）と異なるウィンドウＩＤ（ＷＩＤ＝”Ｗ２”）を付与する（ステップＳ２３０）。
【００７９】
この処理要求に対する返信の画面データには、リセット信号、ウィンドウＩＤ、アプリケーションＩＤが付される（ステップＳ２４０）。
【００８０】
以上のように、クライアント２において、コピーによって新たにウィンドウを開く場合は、コピーされた時にウィンドウＩＤがヌルに変更されるので、その画面データを送信する時には、コピー元のウィンドウと混同しないように新たなウィンドウＩＤが付与される。
【００８１】
これにより、コピーによって複数のウィンドウを生成した場合であっても、各ウィンドウが異なるウィンドウＩＤを有することになり、所定のウィンドウからの処理要求がフロントエンドサーバー４に送られた場合には、その処理結果が正しいウィンドウに表示されるのである。
【００８２】
以上から明らかなように、本発明によれば、ブラウザがフロントエンドサーバー４にアクセスして新たにウィンドウを開く場合でも、コピーによって複数のウィンドウを開く場合でも、各ウィンドウごとに識別情報が付されることになり、これにより、バックエンドシステム３の処理結果が正しいウィンドウに表示される。
【００８３】
図５は、処理中オブジェクトの管理モジュール６のオブジェクト管理の処理の流れを示している。
【００８４】
図５に示すように、サーバー側ウィンドウＩＤ管理手段８は、クライアント２から画面データを受信すると、画面データに付されたウィンドウＩＤとウィンドウＩＤ管理テーブル１０とを比較参照する。前記ウィンドウＩＤがウィンドウＩＤ管理テーブル１０に登録されていなければ、サーバー側ウィンドウＩＤ管理手段８は、新しいウィンドウＩＤを設定し、管理を開始する（ステップＳ３００）。図５の例では、クライアント２に二つのウィンドウが開かれ、ウィンドウＩＤとしてＷ１，Ｗ２がウィンドウＩＤ管理テーブル１０に登録される。
【００８５】
同時に、サーバー側ウィンドウＩＤ管理手段８は、ウィンドウＩＤ管理テーブル１０において各ウィンドウへのアクセスタイムの管理も開始する。
【００８６】
さらに、サーバー側ウィンドウＩＤ管理手段８は、ウィンドウＩＤ／アプリケーションＩＤ／処理要求のオブジェクト２５（処理中オブジェクト２５）を生成する。
【００８７】
次に、クライアント２からウィンドウＷ１の処理要求を受信すると、サーバー側ウィンドウＩＤ管理手段８は、ウィンドウＷ１からのアクセス時刻と前回のアクセス時刻とを比較し、所定の時間幅以内のアクセスであれば、処理要求を許容し、処理要求に応じて処理結果をクライアント２のウィンドウＷ１に返信する（ステップＳ３１０）。
【００８８】
上記ウィンドウＷ１のアクセス時刻をチェックするタイミングで、サーバー側ウィンドウＩＤ管理手段８はウィンドウＷ２のアクセスをもチェックする。
【００８９】
ウィンドウＷ２が一定時間以上アクセスしていなければ、サーバー側ウィンドウＩＤ管理手段８はウィンドウＩＤ管理テーブル１０上のウィンドウＷ２についてタイムアウトの信号を書き込み、コネクタ２０に通知し、さらに、ウィンドウＷ２の処理中オブジェクト２５も削除する（ステップＳ３１０）。
【００９０】
クライアント２から新たな画面データを受信した時も、サーバー側ウィンドウＩＤ管理手段８はウィンドウＩＤ管理テーブル１０にアクセスし、このタイミングで各ウィンドウのアクセスタイムをチェックする（ステップＳ３２０）。
【００９１】
また、図５に示すように、既にタイムアウトの状態になっているウィンドウＷ２からアクセスがあった時は、サーバー側ウィンドウＩＤ管理手段８は、ウィンドウＩＤ管理テーブル１０を参照して当該ウィンドウが既にタイムアウトの状態になっていることを検知し、タイムアウト画面をクライアント２に送信する（ステップＳ３３０）。
【００９２】
次に、処理モジュール７の処理について概略説明する。
【００９３】
なお、以下の説明は図３を参照することにより明らかに理解できる。
【００９４】
処理モジュール７は、処理中オブジェクトの管理モジュール６からクライアント２からの処理要求を受け付け、バックエンドシステム３に処理をさせ、バックエンドシステム３から処理結果を受け取り、処理中オブジェクトの管理モジュール６に返却する。
【００９５】
画面制御手段１４は、処理中オブジェクトの管理モジュール６から所定の処理を要求する画面のデータを取得する。画面制御手段１４は、その画面データの処理要求を特定し、処理要求ＩＤという形でトランザクション変換手段１８に出力する。また、画面制御手段１４は、たとえば検索処理を要求する画面に検索すべき対象の情報が入力される時のように、ユーザーによってデータが入力されている場合は、その入力データを抽出してデータストア１７に出力する。
【００９６】
トランザクション変換手段１８は、画面制御手段１４から処理要求を処理要求ＩＤという形で受け取り、その処理要求に対応するために必要なトランザクション処理をトランザクション定義記憶手段２４を参照して取得する。一つの処理要求に対して複数のトランザクション処理が必要な場合は複数のトランザクション処理を取得する。
【００９７】
トランザクション変換手段１８は、必要なトランザクション処理の情報を電文変換手段１９に出力する。
【００９８】
電文変換手段１９は、電文変換定義記憶手段２２と電文定義記憶手段２３を参照して、バックエンドシステム３に上記トランザクション処理を処理させるための処理要求電文を生成する。なお、電文変換定義記憶手段２２には、どのトランザクション処理がどの処理要求電文に対応するかの情報が記憶され、電文定義記憶手段２３には、前記電文変換定義記憶手段２２によって特定された処理要求電文のテンプレート、すなわち、処理を要求する電文のベース部分と、前記データ（たとえば検索を要求する対象のデータ）を組み入れるべき電文の構造が記憶されている。
【００９９】
電文変換手段１９は、前記処理要求電文のテンプレートを取得し、データストア１７から入力データを取得し、これらを組み合わせて完全な処理要求電文を生成し、コネクタ２０に出力する。
【０１００】
コネクタ２０は、上記処理要求電文をそれを処理すべきバックエンドシステム３に送信し、当該バックエンドシステム３とコネクションを維持する。バックエンドシステム３から処理結果電文を受信すると、コネクタ２０はその処理結果電文を電文変換手段１９に出力する。
【０１０１】
電文変換手段１９は、電文変換定義記憶手段２２と電文定義記憶手段２３とを参照し、その処理結果電文の構造を取得することにより、その処理結果電文から処理結果のデータを抽出してデータストア１７に出力する。
【０１０２】
画面制御手段１４は、前記データストア１７からバックエンドシステム３の処理結果のデータを取得し、画面遷移定義記憶手段１６を参照することにより、処理結果を組み込むべき画面（遷移画面）の情報を取得する。
【０１０３】
画面制御手段１４は画面遷移定義記憶手段１６から取得した遷移画面の情報に基づいて画面データ記憶手段１５から当該画面のデータを取得する。前記画面データを取得した画面制御手段１４は、データストア１７から処理結果のデータを取得し、画面データ記憶手段１５から取得した画面データに処理結果データを組み込んでクライアント２に表示させる画面データを生成する。
【０１０４】
画面制御手段１４は、前記生成した画面データを処理中オブジェクトの管理モジュール６に出力する。
【０１０５】
以上の処理モジュール７によって取り扱われる処理要求は、ウィンドウＩＤとアプリケーションＩＤと処理要求ＩＤの識別情報の組、アプリケーションＩＤが必要ない場合はウィンドウＩＤと処理要求ＩＤの識別情報の組を付され、この識別情報の組によって識別される。
【０１０６】
画面データを入力した処理中オブジェクトの管理モジュール６は、処理モジュール７から処理結果を組み込んだ画面データを受け取り、識別情報の組によって既に説明したようにして表示させるべきウィンドウの情報、すなわちウィンドウＩＤ／アプリケーションＩＤを画面データに付してクライアント２に送信する。
【０１０７】
これにより、クライアント２側ではクライアント側ウィンドウＩＤ管理手段５によってウィンドウＩＤが管理されているので、処理結果の画面データが正しいウィンドウに表示される。
【０１０８】
以上の説明から明らかなように、本発明のフロントエンド処理機能を有する情報処理システムによれば、バックエンドシステムの業務処理ロジックとアプリケーションプログラムの画面等が分離され、バックエンドシステムから独立してアプリケーションプログラムのユーザーインターフェースを変更し得る利点を有するとともに、クライアントのブラウザが複数の画面を同時に立ち上げて複数の処理を同時にフロントエンドサーバーに要求した場合でも、バックエンドシステムの処理結果をクライアント側で正しいウィンドウに表示させることができる。
【図面の簡単な説明】
【０１０９】
【図１】本発明の一実施形態によるフロントエンド処理機能を有する情報処理システムの全体構成を示すブロック図。
【図２】処理中オブジェクトの管理モジュールの構成例を示すブロック図。
【図３】処理モジュールの構成例を示すブロック図。
【図４】クライアント側ウィンドウＩＤ管理手段によるクライアント側のウィンドウＩＤ管理の流れを示した図。
【図５】サーバー側ウィンドウＩＤ管理手段によるサーバー側のウィンドウＩＤ管理の流れを示した図。
【符号の説明】
【０１１０】
１  情報処理システム
２  クライアント
３  バックエンドシステム
４  フロントエンドサーバー
５  クライアント側ウィンドウＩＤ管理手段
６  処理中オブジェクトの管理モジュール
７  処理モジュール
８  サーバー側ウィンドウＩＤ管理手段
９  処理要求ＩＤ定義記憶手段
１０  ウィンドウＩＤ管理テーブル
１１  処理中オブジェクト記憶手段
１２  画面制御部
１３  処理中継部
１４  画面制御手段
１５  画面データ記憶手段
１６  画面遷移定義記憶手段
１７  データストア
１８  トランザクション変換手段
１９  電文変換手段
２０  コネクタ
２１  データストア定義記憶手段
２２  電文変換定義記憶手段
２３  電文定義記憶手段
２４  トランザクション定義記憶手段
２５  処理中オブジェクト
【図１】
2007102794.tif 000003
【図２】
2007102794.tif 000004
【図３】
2007102794.tif 000005
【図４】
2007102794.tif 000006
【図５】
2007102794.tif 000007