(58)【調査した分野】(Int.Cl.,DB名)
複数の子画面を管理する画面管理アプリケーションと、該画面管理アプリケーションで管理された子画面を表示する子画面アプリケーションとを有する情報処理装置であって、
第1の子画面アプリケーションは、
前記第1の子画面アプリケーションへの入力指示を受け付ける入力指示受付手段と、
前記入力指示受付手段により受け付けられる入力指示から特定される入力情報と入力イベント情報とにより、前記第1の子画面アプリケーションの処理を実行する処理実行手段と、
前記処理実行手段で処理された結果出力される出力情報と共に前記入力イベント情報を前記画面管理アプリケーションへ受け渡す第1の受渡手段とを有し、
前記画面管理アプリケーションは、
前記第1の受渡手段で受け渡された出力情報および前記入力イベント情報とを、前記画面管理アプリケーションが管理する前記第1の子画面アプリケーションとは異なる第2の子画面アプリケーションに受け渡す第2の受渡手段とを有し、
前記第2の子画面アプリケーションは、
前記第2の受渡手段により受け渡された前記入力イベント情報と、前記出力情報から該第2の子画面アプリケーション毎にデータを抽出して入力情報とし、該第2の子画面アプリケーション毎の処理結果を出力する出力手段と、
を有することを特徴とする情報処理装置。
複数の子画面を管理する画面管理アプリケーションと、該画面管理アプリケーションで管理された子画面を表示する子画面アプリケーションとを有する情報処理装置によって行われる情報処理方法であって、
第1の子画面アプリケーションは、
前記第1の子画面アプリケーションへの入力指示を受け付ける入力指示受付工程と、
前記入力指示受付工程により受け付けられる入力指示から特定される入力情報と入力イベント情報とにより、前記第1の子画面アプリケーションの処理を実行する処理実行工程と、
前記処理実行工程で処理された結果出力される出力情報と共に前記入力イベント情報を前記画面管理アプリケーションへ受け渡す第1の受渡工程とを有し、
前記画面管理アプリケーションは、
前記第1の受渡工程で受け渡された出力情報および前記入力イベント情報とを、前記画面管理アプリケーションが管理する前記第1の子画面アプリケーションとは異なる第2の子画面アプリケーションに受け渡す第2の受渡工程とを有し、
前記第2の子画面アプリケーションは、
前記第2の受渡工程により受け渡された前記入力イベント情報と、前記出力情報から該第2の子画面アプリケーション毎にデータを抽出して入力情報とし、該第2の子画面アプリケーション毎の処理結果を出力する出力工程と、
を有することを特徴とする情報処理方法。
【発明を実施するための形態】
【0011】
[第1の実施形態]
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【0012】
図1は、本発明に係る情報処理システムの構成を示すシステム構成図である。
【0013】
図1において、情報処理システムは、少なくとも1つのクライアント101とサーバ102がネットワークを介して接続されている。
【0014】
ユーザは、例えばウェブブラウザやクライアントソフトウェアなどを利用して、クライアント101から、サーバ102に対して、サーバアプリケーションへのデータの送受信などを行う。
【0015】
サーバ102は、要求に応じた処理、管理をおこない、必要があればクライアント101に対して結果などを送信する。
【0016】
サーバ102とクライアント101の間の通信は、通常のHTTPのリクエストでもよいし、SOAPなどを利用したウェブサービスのリクエストでもよい。また、サーバ102からネットワークを介してDBサーバ103へ接続されており、DBサーバ103には、例えば、販売実績情報331や顧客データ、地図情報330などを保持している。
【0017】
次に、
図2を参照して
図1に示す本発明の情報処理装置として適用可能なコンピュータのハードウェア構成の一例について説明する。
【0018】
図中、CPU201は、システムバス204に接続される後述の各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、プロキシサーバに後述する各種の処理を実行させるために必要な各種プログラムやデータ等が記憶されている。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。
【0019】
CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで後述する各種処理を実現するものである。また、入力コントローラ(入力C)205は、キーボードやポインティングデバイス等で構成される入力装置209からの入力を制御する。出力コントローラ206は、ディスプレイ装置(出力部)210等の表示装置への表示を制御する。ディスプレイ装置210は、例えばCRTディスプレイや液晶ディスプレイ等で構成される。
【0020】
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピー(登録商標)ディスク或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0021】
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0022】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。以上が、
図1の情報処理装置に適用可能なコンピュータのハードウェア構成の説明であるが、後述する各種の処理を実行可能であれば、必ずしも
図2に記載のハードウェア構成を有していなくとも構わないことは言うまでもない。
【0023】
図3は、本発明の実施形態のソフトウェア構成を示すブロック図である。
【0024】
本実施形態では、クライアント101のユーザがクライアント101から、サーバ102のサーバアプリケーション320を操作し、出力結果をクライアント101の出力部210に表示する処理について説明する。
【0025】
クライアント101では画面管理アプリケーション302とその画面管理アプリケーション302で管理された子画面アプリケーション301が動作する。
【0026】
各子画面アプリケーション301はサーバリスト316に記憶されたサーバアプリケーション320と対応付けられており、それぞれ子画面アプリケーション毎に画面管理アプリケーション内で子画面を表示している。
【0027】
クライアント101の入力部310は、子画面アプリケーション301の子画面に表示された入力欄から、ユーザによる入力を入力データとして受け付ける。
【0028】
ユーザにより入力された入力データを、送信手段313により子画面に対応するサーバアプリケーション320に送信する。
【0029】
サーバ102はクライアント101から送信された情報を入力データとしてサーバアプリケーション320がDBサーバ103からデータを検索し、加工する等の処理を実行し、結果をクライアント101へ送信する。
【0030】
サーバ102より送信されたサーバアプリケーション320の処理結果をクライアント101の子画面アプリケーション301の受信手段312が受信し、受信した処理結果を表示手段311により表示する。
【0031】
表示手段311に処理結果を表示すると、子画面アプリケーション301は、第1のデータ受渡手段により、画面管理アプリケーションにサーバアプリケーションの処理結果(出力情報)及び制御情報を受け渡す。
【0032】
処理結果を引き渡された画面管理アプリケーション302は、第2のデータ受渡手段により前記子画面アプリケーション301以外の子画面アプリケーション301に対し、サーバアプリケーションの処理結果(出力情報)及び制御情報を受け渡す。また、前記子画面アプリケーションから引き渡されたデータを子画面データ管理手段317で管理する。
【0033】
複数ある子画面アプリケーションの内、前記子画面アプリケーション301以外の子画面アプリケーション301は、第2のデータ受渡手段により受け渡されたサーバアプリケーションの処理結果を入力データ(入力情報)として受け付け、送信手段313により対応するサーバアプリケーション320に送信する。
【0034】
前記対応するサーバ102において、クライアント101から送信された情報を入力データ(入力情報)として対応するサーバアプリケーション320が処理し、結果をクライアント101へ送信する。
【0035】
サーバ102より送信されたサーバアプリケーション320の処理結果をクライアント101の対応する子画面アプリケーション301の受信手段312が受信し、受信した処理結果を表示手段311によって対応する子画面へ表示して処理を終了する。
以下、
図4〜
図11を参照して本発明の第1の実施形態を説明する。
【0036】
図4は、本発明の情報処理システムにおける第1の制御処理手段の一例を示すフローチャートであり、
図1に示したクライアント101のCPU201(以下、クライアント101のCPU)及びサーバ102のCPU201(以下、サーバ102のCPU)によって行われる情報処理の詳細の一例である。なお、図中のS401〜S417は各ステップを示す。
【0037】
図5を参照して、
図4のフローチャートで動作する環境の例について説明する。
【0038】
図5は、本発明のクライアントにおける画面の一例を示す模式図であり、
図5の500や506のような画面イメージがクライアント101のディスプレイ210上に表示され、クライアントのユーザがクライアント101のキーボードやマウス209などからデータを入力する。
【0039】
図5において、500は本発明の画面管理アプリケーションの例であり、この画面上に501〜505の子画面が配置されている(506)。501〜505の子画面には夫々のサーバアプリケーションが対応付いている。例えば、501には販売実績情報一覧が表示されており、データベースサーバ103の販売実績情報データベース331を利用して501に販売実績情報一覧を表示する。502には、顧客別販売実績グラフを表示する。また、503には顧客情報を表示する。顧客情報の具体例として、顧客会社の基本情報(社名や社長名など)や会社の所在地情報などを表示する。所在地情報はデータベース103の地図情報データベース330を利用して503へ表示している。504は納入先別販売実績一覧を表示しており、505は商品情報について表示している。夫々のデータは描画しないデータベースに保存されており、夫々の子画面が夫々の図示しないサーバアプリケーションから情報を受信し、506の画面管理アプリケーションの画面上に表示する。
【0040】
なお、各子画面と子画面に対応するサーバアプリケーションのURLは
図6にあるサーバアプリケーションリストから取得する。
【0041】
図6は、本発明のクライアントにおける子画面とサーバアプリケーションの対応付けを記憶したデータの一例である。
【0042】
図6において、601の販売実績情報に該当する子画面は左上座標が0×0、右下座標が1280×720の画面位置に“salesperform.com”サーバのアプリケーションからデータを受信して表示する。602から605も同様に夫々のサーバのアプリケーションからデータを受信して、夫々の画面位置に表示する。
図4のフローチャートの説明に戻る。
【0043】
まず、クライアント101の子画面アプリケーション301の子画面の入力欄にユーザが入力すると、クライアント101のCPUは、ステップS401を開始する。
【0044】
クライアント101のCPUは、ステップS401において、子画面アプリケーション301の入力欄に入力された値、もしくは選択された項目を受け付ける。以下、
図7を参照してS401のユーザによる項目の選択の例について説明する。
【0045】
図7は、本発明のクライアントにおける画面の一例を示す模式図であり、
図7の画面イメージがクライアント101のディスプレイ210上に表示される。クライアントのユーザはクライアント101のマウス209などからデータを選択する。なお、
図7では説明を分かりやすくするため、501の販売実績一覧以外の子画面は表示していない。
【0046】
図7において、ユーザが販売実績一覧501上にマウスカーソル701を移動させ、図上の地点で、クリックする。
図7のマウスカーソル位置でクリックされると、例えば行702が選択される。
図4のフローチャートの説明に戻る。
【0047】
次に、
図4のステップS402において、クライアント101のCPUは、子画面アプリケーション301でユーザにより入力もしくは選択された項目を抽出し、サーバアプリケーションに入力データとして送信する。
図8を参照して、
図7のマウスカーソルによる選択行で実行されるソースコードの例を説明する。
【0048】
図8は、本発明のクライアントにおける子画面アプリケーションのソースコードの一例である。
【0049】
図7でマウスカーソル701により、ある行が選択されると、
図8の801の“doChange”メソッドが実行され、行選択イベント“CsfvSelectDataEvent”のインスタンスが生成される(802)。その後、803の右辺で該当するサーバにデータ“dgSalesPerform.selectedIndex”を送信し、左辺のデータを取得している。
図7の場合は行702である2行目が選択されているので、“dgSalesPerform.selectedIndex”には例えば“2”が入力される。
【0050】
なお、802において、行選択イベントのインスタンスが生成された後、サーバにデータを送信し、返ってくるデータを行選択イベントのインスタンスに入力する場合と、後述する803のようにクライアント101の子画面アプリケーションが有するオブジェクトデータ“cxForm.response.vo.dtos.dtos”からデータを取得している場合とがある。
図4のフローチャートの説明に戻る。
【0051】
図4のステップS403において、サーバアプリケーション1のサーバ102のCPUはクライアント101から送信されたデータを入力データとして受信し、SQL文などを生成しデータベースサーバ103のデータベースからデータを検索するなどのデータ処理を実施する(S404)。なお、サーバでのデータ処理は本発明の主要部ではないので、説明を省略する。サーバ102のCPUは、ステップS405においてデータ処理された出力データをクライアント101に送信し、ステップS406に移行する。
【0052】
ステップS406において、クライアント101のCPUは、サーバ102から出力された出力データを子画面アプリケーション301で受信し、出力結果を該当する子画面に表示する(S407)。
【0053】
図7の例では、マウスカーソル701により指定された行702を表示色を変えて表示している。なお、ステップS407の子画面への表示処理は必須の処理ではなく、場合によってはステップS407を実施しなくても良い。
【0054】
次に、ステップS408において、クライアント101のCPUは、子画面アプリケーション301で保持している出力データを画面管理アプリケーション302に引き渡す。
【0055】
以下、
図7、
図8を参照して、画面管理アプリケーション302に出力データを引き渡す工程を説明する。
【0056】
図7において、子画面501で選択された行702のデータが画面管理アプリケーション(親画面)に引き渡される(図中の1.のイメージ)。
図8の例では、804が画面管理アプリケーションへのデータの引き渡しに該当し、子画面アプリケーションで生成したデータ“ev”オブジェクトを画面管理アプリケーション“parentApplication.dispatchEvent”に引き渡している。
図4のフローチャートの説明に戻る。
【0057】
図4のステップS409において、クライアント101のCPUは、画面管理アプリケーションに引き渡されたデータを子画面データ管理手段317に記憶し、「受け渡された子画面アプリケーション以外の子画面アプリケーション」に引き渡す(ステップS410)。以下、
図9、
図10を参照して、画面管理アプリケーションから子画面アプリケーションへデータを引き渡す例について説明する。
【0058】
図9は、本発明のクライアントにおける画面の一例を示す模式図であり、
図9の画面イメージがクライアント101のディスプレイ210上に表示される。なお、
図9では説明を分かりやすくするため、501の販売実績一覧の子画面を表示していない。
【0059】
図4のステップS410の画面管理アプリケーションから「データを受け渡された子画面アプリケーション以外の子画面アプリケーション」にデータと制御を引き渡す工程は、
図9における、画面管理アプリケーション500から子画面アプリケーション502〜505へデータを引き渡し、制御を引き渡す動作を示す(図中の2.のイメージ)。
図10を参照して、
図9の画面管理アプリケーションから子画面アプリケーションにデータを送信するソースコードの例を説明する。
【0060】
図10は、本発明のクライアントにおける画面管理アプリケーションのソースコードの一例である。
【0061】
図4のステップS410の画面管理アプリケーションにおいて、「データを受け渡された子画面アプリケーション以外の子画面アプリケーション」にデータと制御を受け渡す(ディスパッチ)ソースコードが、
図10の1000である。
図10の1001において、画面管理アプリケーションは、子画面から受け渡されたデータと制御「行選択イベント」“CsfvSelectDataEvent”を受け取ると、“doSelectData”メソッドがハンドリングして、1002にある「再検索イベント」“CsfvDataChangeEvent”のインスタンスを生成する。「再検索イベント」1002のインスタンスは「データを受け渡された子画面アプリケーション以外の子画面アプリケーション」に対して生成され、「データを受け渡された子画面アプリケーション以外の子画面アプリケーション」夫々のディスパッチイベント1004〜1007に対して生成される。生成された「再検索イベント」インスタンス1002に対し、1000で受け渡された「行選択イベント」インスタンスの情報を代入し(1003)、「データを受け渡された子画面アプリケーション以外の子画面アプリケーション」夫々にデータと制御を受け渡す(ディスパッチ)。1004では、顧客情報画面へ再検索イベントをディスパッチし、1005では商品情報画面へ、1006では納入先販売実績画面へ、1007では顧客別販売実績グラフ画面へ、夫々再検索イベントをディスパッチしている。
【0062】
上記のように、「行選択イベント」などに対応して1008のようなスクリプトを生成するだけで、容易に画面連携したアプリケーションを生成可能となる。
図4のフローチャートの説明に戻る。
【0063】
図4のステップS410において、画面管理アプリケーションからデータと制御を受け渡された「データを受け渡した子画面アプリケーション以外の子画面アプリケーション」は、ステップS411において、画面管理アプリケーションからデータと制御を受け取り、ステップS412において、クライアント101のCPUは、受け取ったデータを「データを受け渡した子画面アプリケーション以外の子画面アプリケーション」からサーバアプリケーションに入力データとして送信する。
図11を参照して、受け取ったデータを「データを受け渡した子画面アプリケーション以外の子画面アプリケーション」からサーバアプリケーションに入力データとして送信する例を説明する。
【0064】
図11は、本発明のクライアントにおける子画面アプリケーションのソースコードの一例であり、顧客情報画面を表示する子画面アプリケーションのソースコードに対応する。
【0065】
図4のステップS412の「データを受け渡した子画面アプリケーション以外の子画面アプリケーション」において、画面管理アプリケーションから受け渡されたデータと制御をサーバアプリケーションへ送信するソースコードが、
図11の1100である。
図11の1101において、子画面アプリケーションは、画面管理アプリケーションから受け渡されたデータと制御「再検索イベント」“CsfvDataChangeEvent”を受け取ると、“doDataChange”メソッドがハンドリングする。続いて、1102において、現在表示している顧客情報“tiCdcorp.text”と受け取った顧客情報“e.cd_corp”が一致していれば何もせずに(すなわち、表示されている情報を変更せずに)“doDataChange”メソッドを終了する。一方、現在表示している顧客情報“tiCdcorp.text”と受け取った顧客情報“e.cd_corp”が一致していなければ、受け取った顧客情報を“cxForm.request”オブジェクトに入力し(1103)、サーバアプリケーションに送信する(1104)。
図4のフローチャートの説明に戻る
【0066】
図4のステップS413において、サーバアプリケーション2のサーバ102のCPU201(以下、サーバアプリ2のサーバ102のCPU)は、クライアント101からデータを受け取り、ステップS414において、サーバアプリケーション2の処理を実行してステップS415に処理を移行する。なお、サーバアプリケーション2の処理は本発明の主要部ではないので、説明を省略する。
【0067】
ステップS415において、サーバアプリ2のサーバ102のCPUは、処理した結果をクライアント101のデータをサーバアプリ2のサーバに送信してきた子画面アプリケーションに出力する。
【0068】
続いて、ステップS416において、クライアント101のCPUは、ステップS412でデータを送信した子画面アプリケーションが、サーバアプリ2のサーバからの出力データを受信して、ステップS417に移行する。
【0069】
ステップS417において、クライアント101のCPUは、ステップS411で受け取った子画面アプリケーションに対応するサーバアプリ2の出力結果を子画面に表示して、フローチャートを終了する。
【0070】
本発明では以上のような構成をとることで、複数の画面(ウィンドウ)で表示されたアプリケーション間において、1つのウィンドウへの入力されたデータを画面管理アプリケーションを介して複数のウィンドウにデータを送信することを容易に実現が可能となる。複数のウィンドウ表示されるデータは、夫々の対応するサーバアプリケーションから情報を受信可能であり、1つのウィンドウへの入力と同時に複数の画面で表示されるアプリケーションが一斉に表示内容を変更可能となる。
【0071】
また、
図10のような画面管理アプリケーションのスクリプト部分(1000の各段落)を生成するだけで、
図8や
図12のような子画面アプリケーションと容易に画面連携アプリケーションを作成することが出来る効果を有する。
[第2の実施形態]
【0072】
第1の実施形態では、クライアント101における子画面アプリケーションがサーバからデータを受信する場合について記載したが、ステップS402において、子画面アプリケーション1がサーバからデータを受信する場合と、子画面アプリケーションから自身にあるデータを使用する場合とがある。後者の例を、
図13を参照しながら説明する。
【0073】
図13は、本発明の情報処理システムにおける第2の制御処理手段の一例を示すフローチャートであり、
図1に示したクライアント101のCPU及びサーバ102のCPUによって行われる情報処理の詳細の一例である。なお、図中のS401〜S417、S1301、S1302は各ステップを示し、ステップS401〜S417は
図4と同様なので説明を省略する。
【0074】
図13のステップS1301では、クライアント101のCPUは、子画面アプリケーション1のソースコードにより、ステップS401で入力された値や押下されたボタンに対応する値を、子画面アプリケーションが有するデータを使用するのか、サーバからデータを受信するのかを判断する。
図8は、803のようにクライアント101の子画面アプリケーションが有するオブジェクトデータ“cxForm.response.vo.dtos.dtos”からデータを取得している例である。
【0075】
図13のステップS1301において、子画面アプリケーションが有するデータを使用すると判断された場合、クライアント101のCPUは、ステップS1302へと移行し、子画面アプリケーションでデータ検索やデータ抽出などの処理を実施し(803)、ステップS407へと進める。一方サーバからデータを受信すると判断された場合は、サーバアプリケーションへ入力された値や押下されたボタンに対応する値をサーバに送信する。サーバ102のCPUはデータを受信後、SQL文などを生成しデータベースサーバ103のデータベースからデータを検索するなど、
図4のステップS403と同様の処理を行う。
【0076】
以上、第2の実施形態により、クライアント101の中にあるデータを利用して、複数のウィンドウ間でのデータの移行を容易に実現可能なプログラムを生成する。
[第3の実施形態]
【0077】
第1、第2の実施形態では、クライアント101における子画面アプリケーションが既に起動されている場合の処理を記載したが、子画面アプリケーションが最初から起動されていない場合もある。その際の処理を、
図13〜
図17を参照しながら説明する。
【0078】
図14は、本発明の情報処理システムにおける第3の制御処理手段の一例を示すフローチャートであり、
図1に示したクライアント101のCPU及びサーバ102のCPUによって行われる情報処理の詳細の一例である。なお、図中のS1401〜S1415は各ステップを示す。
【0079】
また、
図15〜
図17は本発明のクライアントにおける画面の一例を示す模式図であり、
図15〜
図17の画面イメージがクライアント101のディスプレイ210上に表示され、クライアントのユーザがクライアント101のキーボードやマウス209などからデータを入力する。
図15を参照して、本発明の処理を説明する。
【0080】
図15において、1505は本発明の画面管理アプリケーションの例であり、この画面上に1500〜1503の子画面が配置されている。1500〜1503の子画面には夫々のサーバアプリケーションが対応付いている。例えば、1500には販売実績情報一覧が表示されており、データベースサーバ103の販売実績情報データベース331を利用して1500に販売実績情報一覧を表示する。1501には、顧客別販売実績グラフを表示する。また、1502は納入先別販売実績一覧を表示しており、1503は商品情報について表示している。夫々のデータは描画しないデータベースに保存されており、夫々の子画面が夫々の図示しないサーバアプリケーションから情報を受信し、1505の画面管理アプリケーションの画面上に表示する。
【0081】
なお、各子画面と子画面に対応するサーバアプリケーションのURLは
図6にあるサーバアプリケーションリストから取得する。
【0082】
まず、クライアント101の子画面アプリケーション1500の入力欄にユーザが入力することにより、クライアント101のCPUは、
図13のステップS401を開始する。
【0083】
クライアント101のCPUは、
図13のステップS401において、ユーザから入力された値や押下されたボタンに対応する値をクライアントのRAM202に記憶する。例えば、
図15のマウスポインタ1504で販売実績一覧1500の2行目をユーザが選択することにより、ユーザから入力された値や押下されたボタンに対応する値を記憶する。
【0084】
次にクライアント101のCPUは、RAM202に記憶された値を入力値(この場合は2行目という値)としてステップS1301でサーバに送信するか、子画面アプリケーションからデータを取得するかを判断する。
【0085】
子画面アプリケーションのスクリプトが子画面アプリケーションからデータを取得するスクリプトである場合、クライアント101のCPUは、ステップS1302に移行し、子画面アプリケーションでデータ処理を行う。具体的には、クライアント101のRAM202に記憶された2行目という値より、2行目の受注日、受注No.、顧客コード(00000001)、会社名、会社電話番号、商品コード(4025C)、商品名、定価などを子画面アプリケーションで読み出し、記憶する(ステップS1302)。
【0086】
次にステップS407へ移行し、クライアント101のCPUは、子画面アプリケーションの結果を表示する。子画面アプリケーションの表示結果を、
図16を参照して説明する。
【0087】
図16において、1605のグレー表示で選択されている2行目の部分が、ステップS407における結果の表示に該当する。
図13のフローチャートの説明に戻る。
【0088】
次にステップS408において、クライアント101のCPUは、子画面アプリケーションから、画面管理アプリケーションにデータと制御を受け渡す。
【0089】
クライアント101のCPUは、画面管理アプリケーションにおいて、データと制御を受け取り(ステップS409)、子画面データ管理手段317で受け取ったデータを管理し、「受け渡された子画面アプリケーション以外の子画面アプリケーション」にデータと制御を引き渡す(ステップS410)。
【0090】
次にクライアント101のCPUは、「受け渡された子画面アプリケーション以外の子画面アプリケーション」において、データと夫々の制御を受け取り(ステップS411)、夫々のサーバアプリケーションにデータを送信する(ステップS412)。夫々のサーバが送信する送信先サーバは、
図6のサーバアプリリストに記憶されたURLを利用して特定する。
【0091】
次にクライアント101のCPUは、各サーバで処理されたデータを受信し(ステップS416)、子画面アプリケーションの画面上に処理結果を表示する(ステップS417)。
【0092】
ステップS407から、ステップS417までの画面表示イメージを表示した図が
図16である。
【0093】
図16の1605で選択された2行目を選択行として表示した子画面アプリケーション1600は、選択された1605行の値を取得後、子画面アプリケーション1601、1602、1603にデータと制御を渡す。データと制御を受け取った子画面アプリケーション1601、1602、1603は子画面アプリケーション1600から受信したデータの内、各アプリケーションで必要なデータ(子画面アプリケーション1601や1602の場合は顧客コード1611,1612、子画面アプリケーション1603の場合は商品コード1613等)を抽出し、各子画面アプリケーションに対応するサーバアプリケーションへとデータを送信し、返信されたデータから、
図16の1601や1602、1603を表示する。
【0094】
一方、
図16のように、
図9の503で表示していた顧客情報表示画面がまだ起動されていない状態の実施例である場合に、顧客情報表示画面を表示したい場合がある。画面下部の「顧客情報表示起動ボタン」が顧客情報表示を起動するボタンに該当する。顧客情報表示画面の際の地図情報などの別のアプリケーションを起動する場合は、デフォルトでの起動時の画面を指定、もしくは前回終了時の表示画面を保持するしかなかった。
【0095】
本発明の第3の実施形態では、画面管理アプリケーション上で機能する子画面アプリケーションが起動される際に、他の子画面アプリケーションと関係がある子画面アプリケーションが起動される場合には、起動時から他の子画面アプリケーションと関係している結果を表示することを可能とする。子画面アプリケーションの起動時から他の子画面アプリケーションと関係する値を取得し、子画面アプリケーションの結果表示を行う処理を
図14を参照して説明する。
【0096】
図14は、本発明の情報処理システムにおける第3の制御処理手段の一例を示すフローチャートであり、
図1に示したクライアント101のCPU及びサーバ102のCPUによって行われる情報処理の詳細の一例である。なお、図中のS1401〜S1408、S412〜S417は各ステップを示し、ステップS412〜S417は
図4と同様なので説明を省略する。
【0097】
まず、ステップS1401において、クライアント101のCPUは、まだ起動されていない子画面アプリケーションを起動するボタンもしくはコマンドをユーザより受け付ける。ユーザにより子画面アプリケーションが起動される処理を
図16、
図17を参照して説明する。
【0098】
図16では前述したように、顧客情報を表示する子画面アプリケーションは起動されていない。
図16の最下部にある顧客情報表示起動ボタンを1604のようなマウスポインタなどで指定(クリック)して顧客情報を表示する子画面を起動する。
図14のフローチャートの説明に戻る。
【0099】
次にクライアント101のCPUは、ステップS1402において、画面管理アプリケーションから起動した子画面に関するデータを取得するために、データを要求する。
【0100】
次にクライアント101のCPUは、ステップS1403において、起動した子画面アプリケーションからの要求により、起動した子画面アプリケーションに渡す情報を生成する。起動した子画面アプリケーションに渡す情報は、
図3の317のように子画面データ管理手段により管理されているデータを用いても良いし、画面管理アプリケーションにデータ取得の要求があった時に、他の子画面アプリケーションから現在の表示結果を取得しても良い。
【0101】
次にステップS1404において、クライアント101のCPUは、起動した子画面アプリケーションに送信するデータが生成できたかを確認する。起動した子画面アプリケーションに送信するデータが生成できた場合は、生成できたデータを起動した子画面アプリケーションに送信する(ステップS1405)。
【0102】
一方、起動した子画面アプリケーションに送信するデータが生成できない場合は、起動した子画面アプリケーションが画面管理アプリケーションの属する最初に起動された子画面アプリケーションであるか、他の子画面アプリケーションにまだ、データが入力されていない場合である。その場合は画面管理アプリケーションからはデータを送信せず、ステップS1406において、子画面アプリケーションのデフォルトの値を設定し、ステップS412へと移行する。
【0103】
画面管理アプリケーションから起動した子画面アプリケーションにデータが送信された場合は、クライアント101のCPUは、子画面アプリケーションにおいて、送信されたデータを受信する(ステップS1407)。
【0104】
次にクライアント101のCPUは、ステップS1408において、画面管理アプリケーションから受信したデータの中に、起動した子画面アプリケーションに関連する項目があるかどうかを判断する。起動した子画面アプリケーションに関連する項目があると判断した場合は、その関連する項目のデータを利用して、サーバにデータを送信し(ステップS412)、起動した子画面アプリケーションに関連する項目がないと判断した場合は、ステップS1406に移行し、起動した子画面アプリケーションのデフォルトの値を設定する。具体的に
図17を参照して説明する。
【0105】
図17は、
図16の画面イメージから、マウスポインタ1604により、顧客情報表示起動ボタンを選択(クリック)した後の画面イメージである。
【0106】
図17の1701が前述した他の子画面アプリケーションの現在の表示結果であり、1701で選択された行には受注日、受注No.、顧客コード(=00000001)、会社名、会社電話番号、商品コード、商品名、定価が指定されている。これらの項目のうち、起動した子画面アプリケーション(この場合、顧客情報表示の子画面アプリケーション)に関連する項目として顧客コード(=00000001)が存在するので、顧客コード(=00000001)をサーバに送信する(ステップS412)。クライアント101がサーバに顧客コードを送信後、サーバ102は顧客コードを受け付け(ステップS413)、サーバ102は顧客コードに対応する会社名や住所などをデータベース103から検索し、地図情報330から顧客の地図情報などを表示する(
図17の1702)。
【0107】
図17において、仮に1701が選択されていなくても、左下の顧客別販売実績グラフなどに記載のある顧客コード1703等のデータにより、同様に1702が表示可能である。
【0108】
以上、第3の実施形態により、新たに起動した子画面アプリケーションの起動時の表示結果を最初から他の子画面と関連付いた値で表示することが出来るという効果を有する。
[第4の実施形態]
【0109】
第1〜第3の実施形態では、複数の子画面アプリケーションをほぼ同時に更新する構成について記載したが、子画面の中でも最小化している画面も同時に更新していると、クライアントの動作が見た目遅くなったように感じてしまう。第4の実施形態では、最小化された子画面アプリケーションについては、通常画面の処理よりも優先度を落として表示させることにより、クライアントの動作が見た目で遅くなったように感じさせないことを目的とする。
図18のフローチャートを参照して説明する。
【0110】
図18は、本発明の情報処理システムにおける第4の制御処理手段の一例を示すフローチャートであり、
図1に示したクライアント101のCPU及びサーバ102のCPUによって行われる情報処理の詳細の一例である。なお、図中のS409〜S417、S1801〜S1804は各ステップを示し、ステップS409〜S417は
図4と同様なので説明を省略する。
【0111】
このフローチャートは、子画面アプリケーションが画面管理アプリケーションへデータと制御を受け渡した後で開始される。
【0112】
クライアント101のCPUは、画面管理アプリケーションにおいて、データと制御を受け取った後(ステップS409)、各子画面アプリケーションのディスプレイ210上での表示状態を
図3のサーバリストにより確認する(ステップS1801)。子画面アプリケーションの表示状態を説明するために、
図19を参照して説明する。
【0113】
図19は、本発明のクライアントにおける子画面とサーバアプリケーションの対応付けを記憶したデータの一例であり、
図3のサーバリスト316に該当する。
【0114】
図19の顧客情報の子画面は、1902のように「Minimum」と登録されており、顧客情報を表示する子画面が最小化されていることを示している。
図19の状況がクライアント101のディスプレイ210上に表示されるイメージを
図20を参照して説明する。
【0115】
図20は、本発明のクライアントにおける画面の一例を示す模式図であり、
図20の画面イメージがクライアント101のディスプレイ210上に表示され、クライアントのユーザがクライアント101のキーボードやマウス209などからデータを入力する。
【0116】
図20において、最下部にある顧客情報表示最小化アイコンは、
図16とは異なり、一旦顧客情報を表示する子画面アプリケーションを起動した後、最小化してアイコン化している状態である。
図18のフローチャートの説明に戻る。
【0117】
図18のステップS1801において、クライアント101のCPUは、各子画面アプリケーションの表示状況をサーバリスト316から取得し、ステップS1802に移行する。
【0118】
次にステップS1802において、クライアント101のCPUは、サーバリスト316で取得した子画面アプリケーションの中で最小化された子画面アプリケーションを抽出し、子画面アプリケーションの処理優先度を付与する。子画面アプリケーションの処理優先度を、
図19を参照して説明する。
【0119】
図19のサーバリストにおいて、顧客情報の画面欄(表内の1行目)の子画面アプリケーションは、1902のように最小化されており、1901に該当する他の子画面アプリケーションは、最小化されていない子画面アプリケーションである。従って、最小化されていない子画面の処理優先度を「1」として処理優先順位を上げ、最小化されている子画面アプリケーションは処理優先度を「2」として処理優先順位を下げる(1903)。
図18のフローチャートの説明に戻る。
【0120】
図18のステップS1803において、クライアント101のCPUは、通常画面の子画面アプリケーション(
図19の1903で処理優先度が「1」の子画面アプリケーション)へデータと制御を受け渡す。
【0121】
次にステップS411において、クライアント101のCPUは、通常画面の子画面アプリケーションにおいてデータと制御を受け取り、夫々のサーバアプリケーションへデータを送信する(ステップS412)。
【0122】
一方、全ての処理優先度が「1」の子画面アプリケーションへのデータと制御の受け渡しが終了したら、クライアント101のCPUは、画面管理アプリケーションにおいて、処理優先度が「2」の子画面アプリケーション(即ち、最小化されている子画面アプリケーション)へ、データと制御を受け渡す。
【0123】
以上、第4の実施形態により、最小化された子画面アプリケーションは、通常画面の処理よりも優先度を落として表示させることにより、クライアントの動作が遅くなったように感じさせない等の効果を有する。
【0124】
また、他の実施形態として、最小化された子画面アプリケーションのデータと制御の受け渡しは、通常画面の子画面アプリケーションへのデータと制御の受け渡し処理後に、一定時間だけ時間を空けて実施するようにしても良い。
【0125】
また、他の実施形態として、最小化された子画面アプリケーションのデータと制御の受け渡しは、最小化された子画面が通常画面へ戻される際(即ち、顧客情報表示最小化アイコンをマウスポインタ2004が押下され、通常画面サイズへの表示指示の入力を受け付けた場合)に、データと制御の受け渡しを実施するようにしても良い。
【0126】
これらの構成により、通常画面の子画面アプリケーションを優先的に実施するので、最小化された子画面アプリケーションの処理を待つことなく、通常画面の子画面アプリケーションを確認でき、ユーザビリティを上げることが出来る。 以下、
図12に示すメモリマップを参照して本発明に係るワークフローサーバで読み取り可能なデータ処理プログラムの構成について説明する。
【0127】
図12は、本発明に係るワークフローサーバで読み取り(読み出し)可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【0128】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0129】
さらに、各種プログラムに従属するデータも上記記録媒体に管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0130】
本実施形態における
図4、
図13、
図14、
図18に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0131】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0132】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0133】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0134】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0135】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0136】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0137】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。