サービス支援プログラムおよびサービス支援方法
【課題】サービス利用開始時の遅延を抑止する。
【解決手段】部品受信手段1bは、部品要求送信手段1aが送信した部品要求に応じてサーバ2から、サーバ2が提供するサービスA,B,C,Dそれぞれの処理に用いるプログラム部品M1,M2,M3,M4を受信する。また、部品受信手段1bは、サービスA,B,C,Dとプログラム部品M1,M2,M3,M4との対応付けを定義した環境情報を受信し、プログラム部品M1,M2,M3,M4と共に部品記憶手段1cに格納する。実行制御手段1eは、サービス要求取得手段1dを介してサービスAの利用を要求するサービス要求を受け付けると、サービスAの識別情報を含む実行指示を出力する。実行手段1fは、この実行指示と部品記憶手段1cに記憶された環境情報とに基づいて、部品記憶手段1cに記憶されたプログラム部品M1,M2,M3,M4のうちサービスAに対応するプログラム部品M1を実行する。
【解決手段】部品受信手段1bは、部品要求送信手段1aが送信した部品要求に応じてサーバ2から、サーバ2が提供するサービスA,B,C,Dそれぞれの処理に用いるプログラム部品M1,M2,M3,M4を受信する。また、部品受信手段1bは、サービスA,B,C,Dとプログラム部品M1,M2,M3,M4との対応付けを定義した環境情報を受信し、プログラム部品M1,M2,M3,M4と共に部品記憶手段1cに格納する。実行制御手段1eは、サービス要求取得手段1dを介してサービスAの利用を要求するサービス要求を受け付けると、サービスAの識別情報を含む実行指示を出力する。実行手段1fは、この実行指示と部品記憶手段1cに記憶された環境情報とに基づいて、部品記憶手段1cに記憶されたプログラム部品M1,M2,M3,M4のうちサービスAに対応するプログラム部品M1を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サービス支援プログラムおよびサービス支援方法に関し、特に、サーバが提供するサービスの利用を支援するサービス支援プログラムおよびサービス支援方法に関する。
【背景技術】
【0002】
従来、ウェブ(Web)サーバが提供するサービスをクライアントのコンピュータで利用するウェブシステムが普及している。ウェブシステムでは、ウェブサーバとコンピュータとがインターネットやイントラネットのネットワークで接続される。
【0003】
コンピュータは、ウェブサーバのサービスを利用するためのウェブブラウザを有している。ウェブブラウザは、ウェブサーバからサービスの利用に必要なHTML(Hyper Text Markup Language)文書や画像コンテンツ等のコンポーネントを取得する。そして、取得したコンポーネントに基づいて、サービスのインタフェースをユーザに提供する。ブラウザは、このインタフェースに基づいてユーザが入力するサービスへの要求を取得し、その内容をウェブサーバに送信する(例えば、特許文献1参照)。
【0004】
ここで、サービスのコンポーネントとして利用可能なものには、アプレット(Applet)と呼ばれるウェブブラウザ上で実行可能なアプリケーションプログラムがある。
アプレットは、サービスの利用要求に応じて、その都度ウェブサーバからコンピュータにダウンロードされて実行される。アプレットを利用すると、コンピュータ側にサービスの処理を実行させることができる。例えば、アプレットによりウェブサーバとコンピュータとの間に確立するセッションの管理を支援する方法がある(例えば、特許文献2参照)。また、データベースサーバで稼動するデータベースの一部をコンピュータのキャッシュに格納し、アプレットによりキャッシュ上のデータベースにローカル接続して、更新内容をウェブサーバを介してデータベースサーバ側に同期させる方法がある(例えば、特許文献3参照)。
【特許文献1】特開2003−271483号公報
【特許文献2】特開2001−184306号公報
【特許文献3】特開2007−226508号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、コンピュータは、ウェブサーバからダウンロードしたアプレットを実行するためにウェブブラウザとは別個にアプレット実行用の実行環境を起動する必要がある。
このため、アプレットを利用するサービスの場合、利用開始時にアプレットをダウンロードするステップと実行環境を起動するステップとが必要となり、遅延が発生するという問題がある。また、アプレットのダウンロードは、該当のサービスに対する要求の都度発生するため、これにより遅延が頻発する可能性があるという問題がある。
【0006】
本発明はこのような点に鑑みてなされたものであり、サービス利用開始時の遅延を抑止するサービス支援プログラムおよびサービス支援方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、サーバが提供するサービスの利用を支援するサービス支援プログラムが提供される。このサービス支援プログラムを実行するコンピュータは、部品要求送信手段、部品記憶手段、部品受信手段、実行制御手段および実行手段を有する。部品要求送信手段は、サーバが提供する複数のサービスの処理に用いる複数のプログラム部品を要求する部品要求をサーバに送信する。部品記憶手段は、複数のプログラム部品と複数のサービスの識別情報との対応付けを定義した環境情報を前記複数のプログラム部品と共に記憶する。部品受信手段は、部品要求送信手段が送信した部品要求に応じてサーバから複数のプログラム部品と環境情報とを受信し、受信した複数のプログラム部品と環境情報とを部品記憶手段に格納する。実行制御手段は、複数のサービスのうちの少なくとも1つのサービスの利用を要求するサービス要求を受け付けると、要求対象のサービスの識別情報を含む実行指示を出力する。実行手段は、実行制御手段が出力した実行指示と部品記憶手段に記憶された環境情報とに基づいて、部品記憶手段に記憶された複数のプログラム部品のうち、実行指示に含まれる識別情報に対応するプログラム部品を実行する。
【0008】
このようなサービス支援プログラムを実行するコンピュータによれば、部品要求送信手段により、サーバが提供する複数のサービスの処理に用いる複数のプログラム部品を要求する部品要求がサーバに送信される。そして、部品受信手段により、部品要求送信手段が送信した部品要求に応じてサーバから複数のプログラム部品と、複数のプログラム部品と複数のサービスの識別情報との対応付けを定義した環境情報と、が受信され、受信された複数のプログラム部品と環境情報とが部品記憶手段に格納される。また、実行制御手段により、複数のサービスのうちの少なくとも1つのサービスの利用を要求するサービス要求が受け付けられると、要求対象のサービスの識別情報を含む実行指示が出力される。そして、実行手段により、実行制御手段が出力した実行指示と部品記憶手段に記憶された環境情報とに基づいて、部品記憶手段に記憶された複数のプログラム部品のうち、実行指示に含まれる識別情報に対応するプログラム部品が実行される。
【0009】
また、上記サービス支援プログラムにより実現される処理と同様の処理を行うサービス支援方法が提供される。
【発明の効果】
【0010】
上記サービス支援プログラムおよびサービス支援方法によれば、サービス利用開始時の遅延を抑止することができる。
【発明を実施するための最良の形態】
【0011】
以下、本実施の形態を図面を参照して詳細に説明する。
図1は、本実施の形態の概要を示す図である。コンピュータ1は、サーバ2が提供するサービスの利用を支援する。コンピュータ1は、サーバ2と有線または無線のネットワークによって接続されている。サーバ2は、コンピュータ1にアプレットにより所定のサービスを提供する情報処理装置である。
【0012】
コンピュータ1は、部品要求送信手段1a、部品受信手段1b、部品記憶手段1c、サービス要求取得手段1d、実行制御手段1eおよび実行手段1fを有する。
部品要求送信手段1aは、サーバ2が提供するサービスA,B,C,Dの処理に用いるアプレットのコンポーネントであるプログラム部品M1,M2,M3,M4を要求する部品要求をサーバ2に送信する。
【0013】
部品受信手段1bは、部品要求送信手段1aが送信した部品要求に応じてサーバ2からプログラム部品M1,M2,M3,M4およびプログラム部品M1,M2,M3,M4とサービスA,B,C,Dの識別情報との対応付けを定義した環境情報を受信する。部品受信手段1bは、受信したプログラム部品M1,M2,M3,M4と環境情報とを部品記憶手段1cに格納する。なお、環境情報は、サービスA,B,C,Dそれぞれに対して複数のファイルとして用意されていてもよいし、サービスA,B,C,D全部に対して1つのファイルとして用意されていてもよい。プログラム部品M1,M2,M3,M4および環境情報は、サーバ2の所定の記憶部に予め格納される。
【0014】
部品記憶手段1cは、プログラム部品M1,M2,M3,M4と環境情報とを記憶する。
サービス要求取得手段1dは、サービスA,B,C,Dのうちの少なくとも1つのサービスの利用を要求するサービス要求を取得し、取得したサービス要求を実行制御手段1eに出力する。ここで、サービス要求は、例えば、コンピュータ1を利用するユーザが該当のサービスを利用しようとする際に所定の操作を行うことでコンピュータ1に入力される。
【0015】
実行制御手段1eは、サービス要求取得手段1dから取得したサービス要求に含まれる識別情報を抽出し、この識別情報を含むサービスの実行指示を実行手段1fに出力する。
実行手段1fは、実行制御手段1eから取得した実行指示に含まれる識別情報を抽出する。そして、実行手段1fは、部品記憶手段1cに記憶された環境情報に基づいて、部品記憶手段1cに記憶されたプログラム部品M1,M2,M3,M4のうち、抽出した識別情報に対応するプログラム部品を取得して、取得したプログラム部品を実行する。
【0016】
このようなコンピュータ1によれば、サーバ2からサーバ2が提供する複数のサービスの処理を実行するための複数のプログラム部品が予め取得される。そして、コンピュータ1がサービス要求を受け付けると、該当のサービスに対応するプログラム部品がコンピュータ1の部品記憶手段1cから読み出され、読み出されたプログラム部品が実行される。
【0017】
これにより、アプレットを用いたサービスの利用開始時にプログラム部品をサービス要求の入力を受け付けた都度ダウンロードする必要がなくなる。また、サービス要求取得手段1dがサービス要求を受け付ける毎に、プログラム部品の実行環境である実行手段1fは、コンピュータ1上に予め実現されるため、実行手段1fを起動する必要がなくなる。このため、ダウンロード処理や実行環境の起動処理により生じるサービス利用開始時の遅延を抑止することができる。
【0018】
ところで、コンピュータ1は、Java(登録商標)アプレットを用いたサービスの実行を支援する場合に適している。以下では、このJavaアプレットを利用する場合を例に挙げて、更に詳細に説明する。
【0019】
図2は、ウェブシステムのシステム構成を示す図である。このウェブシステムは、コンピュータ100およびウェブサーバ200を有する。コンピュータ100は、ウェブサーバ200と有線または無線のネットワーク10によって接続されている。ネットワーク10は、例えば、インターネットやイントラネット等のIP(Internet Protocol)通信網である。なお、コンピュータ100とウェブサーバ200とを1対1の構成で示しているが、コンピュータ100と同様の機能を備えた複数のコンピュータがウェブサーバ200と接続されていても構わない。
【0020】
コンピュータ100は、ウェブサーバ200が提供する業務サービスを利用するクライアントである。コンピュータ100は、コンピュータ100で実行されるブラウザを介して、ウェブサーバ200が提供するHTMLファイルを取得し、HTMLファイルで定義された業務サービスのインタフェースであるウェブページを出力する。
【0021】
ウェブサーバ200は、コンピュータ100に業務サービスを提供する。ウェブサーバ200は、コンピュータ100からの要求に基づいて、要求対象のサービスのインタフェースとなるHTMLファイルや対象のサービスの処理を実行するためのJavaアプレットのプログラム部品をコンピュータ100に送信する。プログラム部品には、業務サービスの処理を実行するためのクラスファイルやアーカイブファイルが含まれる。
【0022】
ここで、ウェブサーバ200がコンピュータ100に提供する業務サービスのインタフェースの具体例を簡単に説明する。
コンピュータ100のブラウザは、業務サービス利用開始の際に、業務サービスを利用するための認証入力を行うログインウィンドウ50を出力する。この出力は、例えば、コンピュータ100に接続された表示装置の画面上に表示される。ユーザは、表示装置に表示されたインタフェースに従って必要な情報を入力することができる。
【0023】
ログイン処理が完了すると、コンピュータ100のブラウザは、業務ポータルウィンドウ60を出力する。業務ポータルウィンドウ60には、利用可能なサービスが、例えば、アンカー形式で出力される。アンカーには、予め対象の業務サービスへのリンクが定義づけられている。ユーザは、利用したいサービスのアンカーを選択することで、対象のサービスの利用要求をコンピュータ100に入力することができる。この入力の結果に応じて、業務ウィンドウ70,80が出力される。
【0024】
業務ウィンドウ70は、業務ポータルウィンドウ60において、Javaアプレットを含む業務サービスの要求を受け付けた場合に出力される。
業務ウィンドウ80は、業務ポータルウィンドウ60において、Javaアプレットを含まない業務サービスの要求を受け付けた場合に出力される。業務ウィンドウ80は、例えば、ウェブサーバ200上で実行されるサーブレットやJSP(Java Sever Pages)により生成されたHTMLファイルやその他のコンポーネントに基づくものである。
【0025】
ここで、コンピュータ100は、業務ウィンドウ70の出力の際にJavaアプレットをその都度ウェブサーバ200からダウンロードするのではなく、予め一括してダウンロードする。また、コンピュータ100は、Javaアプレットの実行環境であるJava仮想マシン(JVM:Java Virtual Machine)をサービスの利用要求を受け付ける前に予め起動する。以下では、このようなコンピュータ100の構成を詳細に説明する。
【0026】
図3は、コンピュータのハードウェア構成を示すブロック図である。コンピュータ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、HDD103、グラフィック処理装置104、入力インタフェース105および通信インタフェース106が接続されている。
【0027】
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
【0028】
HDD103には、コンピュータ100上のOSやアプリケーションが扱うデータが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
【0029】
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータやウェブサーバ200との間でデータの送受信を行う。
【0030】
なお、ウェブサーバ200もコンピュータ100と同様のハードウェア構成により実現することができる。
図4は、コンピュータの機能構成を示すブロック図である。コンピュータ100は、アプレットコントローラ部品記憶部110、業務アプレット部品記憶部120、ブラウザ130およびJava仮想マシン140を有する。なお、Java仮想マシン140は、ウェブサーバ200から取得するプログラム部品によりアプレットコントローラ150が実現される。
【0031】
アプレットコントローラ部品記憶部110は、ブラウザ130がウェブサーバ200よりダウンロードしたアプレットコントローラ部品を記憶する。アプレットコントローラ部品は、アプレットコントローラ150を実現するためのプログラム部品とアプレットコントローラの動作環境を定義した動作環境ファイルとを含む。
【0032】
業務アプレット部品記憶部120は、アプレットコントローラ150がウェブサーバ200からダウンロードした業務アプレット部品を記憶する。業務アプレット部品は、ウェブサーバ200が提供する業務サービスの処理を実行するためのプログラム部品と各業務サービスを利用する際の各種設定を定義した設定ファイルとを含む。また、業務サービスのインタフェースとなるウィンドウを生成する際に利用する画像等のコンテンツを含んでいてもよい。
【0033】
ブラウザ130は、ウェブサーバ200が提供する業務サービスのインタフェースをモニタ11に表示する。ブラウザ130は、そのインタフェースに従ってユーザが入力した情報をHTTP(Hyper Text Transfer Protocol)リクエストとしてウェブサーバ200に送信する。そして、ブラウザ130は、送信したリクエストに応じてウェブサーバ200から取得するHTMLファイルやその他のコンポーネントに基づいたウェブページを出力し、ウェブサーバ200の応答をユーザに通知する。
【0034】
ブラウザ130は、ポータル生成部131およびコントローラ起動部132を有する。なお、ブラウザ130のこれらの機能は、ウェブサーバ200から取得するHTMLやJavaスクリプト(Java Script)等の内容に基づいて実現される。
【0035】
ポータル生成部131は、ポータルへのログインを受け付けると、ウェブサーバ200から取得するHTMLファイルに基づいて利用可能な業務サービスの一覧を示す業務ポータルウィンドウ60を生成する。
【0036】
コントローラ起動部132は、ポータル生成部131が業務ポータルウィンドウ60を生成する際にJava仮想マシン140においてアプレットコントローラ150が起動されているか否かを判定する。
【0037】
コントローラ起動部132は、アプレットコントローラ150が起動されていない場合、ウェブサーバ200にアプレットコントローラ部品の送信を要求するリクエストを送信する。コントローラ起動部132は、送信したリクエストに応じてウェブサーバ200から取得したアプレットコントローラ部品をアプレットコントローラ部品記憶部110に格納する。更に、コントローラ起動部132は、Java仮想マシン140にアプレットコントローラ150を起動するよう指示する。
【0038】
コントローラ起動部132は、アプレットコントローラ150が既に起動済みである場合には、処理を行わない。
また、コントローラ起動部132は、コンピュータ100上でJava仮想マシン140が起動していない場合には、Java仮想マシン140の起動を行う。
【0039】
コントローラ起動部132の機能は、例えば、ブラウザ130がウェブサーバ200から取得したポータルの画面を記述したHTMLファイル内のJavaスクリプトによって定義された処理を実行することで実現される。
【0040】
Java仮想マシン140は、アプレットコントローラ部品記憶部110および業務アプレット部品記憶部120に記憶された各プログラム部品を実行するための実行環境である。Java仮想マシン140は、コントローラ起動部132によって起動され、更に、コントローラ起動部132の指示に基づいてアプレットコントローラ部品記憶部110に記憶されたアプレットコントローラ部品を取得し、アプレットコントローラ150を実行する。
【0041】
アプレットコントローラ150は、Javaアプレットを用いた業務サービスの実行を管理するアプレットである。アプレットコントローラ150は、部品要求送信部151、部品受信部152、配置部153、サービス要求取得部154、アプレット実行制御部155およびアプレット実行部156を有する。
【0042】
部品要求送信部151は、業務アプレット部品を要求する部品要求をウェブサーバ200に送信する。部品要求送信部151は、例えば、部品要求をブラウザ130を介してウェブサーバ200に送信することができる。
【0043】
部品受信部152は、部品要求送信部151が送信した部品要求に応じてウェブサーバ200から送信される業務アプレット部品を受信する。部品受信部152は、ブラウザ130を介して、ウェブサーバ200からの業務アプレット部品を受信することができる。部品受信部152は、受信した各業務アプレット部品を業務アプレット部品記憶部120に格納する。
【0044】
配置部153は、業務アプレット部品記憶部120に記憶された各業務アプレット部品に含まれるクラスファイルやアーカイブファイルを所定のメモリ領域上に実行可能に配置する。
【0045】
サービス要求取得部154は、ブラウザ130を介してJavaアプレットを用いた業務サービスの利用要求(サービス要求)を受け付ける。サービス要求取得部154は、取得したサービス要求をアプレット実行制御部155に出力する。なお、サービス要求には、要求対象の業務サービスの識別情報として、業務サービス名が含まれる。
【0046】
アプレット実行制御部155は、サービス要求取得部154から取得したサービス要求から要求対象の業務サービス名を抽出する。アプレット実行制御部155は、抽出した業務サービス名を含むJavaアプレットの実行指示をアプレット実行部156に出力する。
【0047】
アプレット実行部156は、アプレット実行制御部155から取得するJavaアプレットの実行指示に含まれる業務サービス名に対応する設定ファイルを業務アプレット部品記憶部120から読み出す。そして、アプレット実行部156は、読み出した設定ファイルに基づいて、配置部153が配置した要求対象の業務サービスに用いるクラスファイルを実行して、業務サービスのインタフェースとなるウィンドウを生成する。また、アプレット実行部156は、設定ファイルに基づいて、既存のウィンドウに対する制御を行う。
【0048】
なお、ブラウザ130における入力をアプレットコントローラ150に出力する等、HTMLとJava仮想マシン140のJavaアプレットとの間の通信は、JavaスクリプトとJavaアプレットとの間の双方向の通信を可能とする所定のアプリケーションプログラミングインタフェース(API:Application Programming Interface)を用いて行うことができる。このようなAPIとして、例えば、LiveConnectがある。
【0049】
ウェブサーバ200は、アプレットコントローラ部品記憶部210、業務アプレット部品記憶部220およびウェブコンテナ230を有する。
アプレットコントローラ部品記憶部210は、アプレットコントローラ150を実現するためのプログラム部品が予め格納される。
【0050】
業務アプレット部品記憶部220は、ウェブサーバ200が提供する業務サービスのアプレット部品を記憶する。アプレット部品は、例えば、各業務サービスの導入時にアプレットコントローラ部品記憶部210に予め格納される。
【0051】
ウェブコンテナ230は、ブラウザ130とHTTP通信を行う。ウェブコンテナ230は、ブラウザ130からのHTTPリクエストに応じてサーブレットやJSPにより、HTMLファイル等を生成し、ブラウザ130に応答する。また、ウェブコンテナ230は、ブラウザ130からアプレットコントローラ部品の要求を取得すると、アプレットコントローラ部品記憶部210に記憶されたアプレットコントローラ部品をブラウザ130に送信する。同様に、業務アプレット部品の部品要求を取得すると、業務アプレット部品記憶部220に記憶された業務アプレット部品をブラウザ130に送信する。
【0052】
図5は、アプレットコントローラ部品記憶部に格納されるデータの例を示す図である。アプレットコントローラ部品記憶部110には、コントローラ起動部132がウェブサーバ200から受信したアプレットコントローラ部品111が格納される。
【0053】
アプレットコントローラ部品111は、アプレットコントローラ150の機能を実現するためのプログラム部品およびアプレットコントローラ150の動作環境を定義した動作環境ファイルである。アプレットコントローラ部品111には、クラスファイル、アーカイブファイルおよび動作環境ファイルが含まれる。
【0054】
クラスファイルは、アプレットコントローラ150を実行するためのメインのクラスであり、そのファイル名は、例えば“アプレットコントローラ.class”である。
アーカイブファイルは、アプレットコントローラ150を実行するための上記クラスファイル以外のクラスファイルをまとめたJAR(Java ARchive)ファイルであり、そのファイル名は、例えば“アプレットコントローラ.jar”である。
【0055】
動作環境ファイルは、アプレットコントローラの動作環境を定義したプロパティファイルであり、そのファイル名は、例えば“アプレットコントローラ.properties”である。
アプレットコントローラ部品111は、アプレットコントローラ150の起動時にJava仮想マシン140によってアプレットコントローラ部品記憶部110から読み込まれて実行される。これにより、アプレットコントローラ150の機能、すなわち、部品要求送信部151、部品受信部152、配置部153、サービス要求取得部154、アプレット実行制御部155およびアプレット実行部156がJava仮想マシン140上で実現される。
【0056】
図6は、動作環境ファイルの例を示す図である。図6では、上記の“アプレットコントローラ.properties”の例を示している。
“アプレットコントローラ.properties”には、ウェブサーバ200からのダウンロードの対象となる業務アプレット部品(JARファイルやクラスファイル)や各種設定ファイルの所在が、例えば、ウェブサーバ200のURL(Uniform Resource Locator)によって設定される。
【0057】
また、“アプレットコントローラ.properties”には、アプレット実行部156による業務サービスのウィンドウ生成時の各種制御を設定することができる。
制御の内容として、例えば、業務アプレット部品をダウンロードするタイミングを設定することができる。設定するタイミングとしては、アプレットコントローラ150の起動時に一括してダウンロードする、対象の業務サービスの利用要求を受け付けた都度ダウンロードする等が考えられる。以下では、業務アプレット部品のダウンロードは、アプレットコントローラ150の起動時に一括して行われる設定となっているものとする。
【0058】
また、例えば、新規でウィンドウを表示する場合に既存ウィンドウに対するデフォルトの制御を設定することができる。すなわち、新規にウィンドウを表示する際に、他の業務で利用していた既存のウィンドウを非アクティブ化(フォーカスが外れ、操作対象から外れた状態)する、最小化(操作画面上にアイコンで表示された状態)する、または、既存のウィンドウを閉じる等の制御である。
【0059】
また、例えば、新規に表示したウィンドウにおいてウィンドウサイズの変更を受け付け可能とするか否かを設定することができる。
このように、動作環境を予め設定しておくことにより、アプレットコントローラ150は、アプレット実行部156が新規に業務サービスのインタフェースとなるウィンドウを生成し、各ウィンドウの制御を独自に設定可能とする(図16,17で詳述する)。
【0060】
図7は、業務アプレット部品記憶部に格納されるデータの例を示す図である。業務アプレット部品記憶部120には、部品受信部152がウェブサーバ200から受信した業務アプレット部品群121および共通アプレット部品群122が格納される。
【0061】
業務アプレット部品群121は、ウェブサーバ200が提供する各業務サービスの処理を実行するための業務アプレット部品の集合である。各業務アプレット部品には、各業務サービスの処理を実行するためのプログラム部品および各業務サービスのインタフェースとなるウィンドウを生成するための設定ファイルが含まれる。
【0062】
共通アプレット部品群122は、各業務サービスで共通的に利用可能な処理を実行するための共通アプレット部品の集合である。各業務サービスで共通的に利用可能な処理とは、例えば、住所検索等の汎用性の高い処理である。各共通アプレット部品には、業務アプレット部品と同様に、各共通処理を実行するためのプログラム部品および各共通処理のインタフェースとなるウィンドウを生成するための設定ファイルが含まれる。
【0063】
図8は、業務アプレット部品群の構成例を示す図である。業務アプレット部品群121には、業務アプレット部品121a,121b,121cが含まれる。なお、以下では、業務アプレット部品121aに関して説明するが業務アプレット部品121b,121cについても同様である。なお、業務アプレット部品121aは、例えば、入金業務サービスの処理を実行するために用いられる。
【0064】
業務アプレット部品121aには、クラスファイル、アーカイブファイルおよびウィンドウ設定ファイルが含まれる。
クラスファイルは、入金業務サービスのインタフェースとなるウィンドウを生成するためのメインのクラスであり、そのファイル名は、例えば“入金業務.class”である。
【0065】
アーカイブファイル名は、入金業務サービスを実行するための上記クラスファイル以外のクラスファイルをまとめたJARファイルであり、そのファイル名は、例えば“入金業務.jar”である。
【0066】
ウィンドウ設定ファイルは、入金業務サービスのウィンドウの設定を定義したプロパティファイルであり、そのファイル名は、例えば“入金業務.properties”である。
図9は、ウィンドウ設定ファイルの例を示す図である。図9では、入金業務用のウィンドウ設定ファイル(入金業務.properties)の例を示している。
【0067】
“入金業務.properties”には、例えば、ウィンドウの名称やウィンドウ生成時に実行するクラスファイル名“入金業務.class”を指定する情報が設定される。また、ウィンドウ生成時のウィンドウのサイズや、初期表示時の表示状態(ウィンドウ表示、アイコン化および全画面化等)を指定する情報が設定される。更に、動作環境ファイル“アプレットコントローラ.properties”でデフォルトの設定として定義された既存ウィンドウに対する制御や、新規に生成したウィンドウに対するサイズ変更の操作受け付けを可とするか否か等を業務サービス個別で設定することも可能である。
【0068】
なお、以降に示す例では、“入金業務.properties”において、新規ウィンドウの初期表示状態に“ウィンドウ表示”、新規ウィンドウ表示時の既存ウィンドウに対する制御に“非アクティブ化”、新規ウィンドウに対するウィンドウサイズ変更の操作受付モードに“サイズ変更可”が設定されているものとする。これらの設定は、動作環境ファイル“アプレットコントローラ.properties”でデフォルトの設定よりも優先される。
【0069】
図10は、共通アプレット部品群の構成例を示す図である。共通アプレット部品群122には、共通アプレット部品122a,122b,122cが含まれる。なお、以下では、共通アプレット部品122aに関して説明するが共通アプレット部品122b,122cについても同様である。なお、共通アプレット部品122aは、例えば、住所検索サービスの処理を実行するために用いられる。
【0070】
共通アプレット部品122aには、クラスファイル、アーカイブファイルおよびウィンドウ設定ファイルが含まれる。
クラスファイルは、住所検索サービスのインタフェースとなるウィンドウを生成するためのメインのクラスであり、そのファイル名は、例えば“住所検索.class”である。
【0071】
アーカイブファイル名は、住所検索サービスを実行するための上記クラスファイル以外のクラスファイルをまとめたJARファイルであり、そのファイル名は、例えば“住所検索.jar”である。
【0072】
ウィンドウ設定ファイルは、住所検索サービスのウィンドウの設定を定義したプロパティファイルであり、そのファイル名は、例えば“住所検索.properties”である。
なお、ウィンドウ設定ファイルの設定内容に関しては、図9で示した“入金業務.properties”の内容と同様のためその説明を省略する。
【0073】
次に、以上のような構成を備えるコンピュータ100において実行される処理の詳細を説明する。
図11は、アプレットコントローラの起動処理の手順を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
【0074】
[ステップS11]ポータル生成部131は、業務サービスのポータルへのログインを受け付ける。
[ステップS12]ポータル生成部131は、ウェブサーバ200より業務サービスのポータルページのHTMLファイルをダウンロードする。なお、ポータル生成部131がダウンロードしたHTMLファイルには、コントローラ起動部132の機能を実現するためのJavaスクリプトが含まれる。ブラウザ130は、このJavaスクリプトを実行することで、コントローラ起動部132を実現する。
【0075】
[ステップS13]コントローラ起動部132は、アプレットコントローラ150が未起動であるか否かを判定する。未起動である場合、処理がステップS14に移される。起動済みである場合、処理が完了する。
【0076】
[ステップS14]コントローラ起動部132は、ウェブサーバ200からアプレットコントローラ150の起動を記述したHTMLファイルをダウンロードする。このHTMLファイルには、アプレットコントローラ150の起動に必要となるアプレットコントローラ部品の所在等が予め設定されている。
【0077】
[ステップS15]コントローラ起動部132は、上記ステップS14でダウンロードしたHTMLファイルに基づいて、ウェブサーバ200からアプレットコントローラ部品をダウンロードする。コントローラ起動部132は、ダウンロードしたアプレットコントローラ部品をアプレットコントローラ部品記憶部110に格納する。
【0078】
[ステップS16]コントローラ起動部132は、Java仮想マシン140が未起動であるか否かを判定する。未起動である場合、処理がステップS17に移される。起動済みである場合、処理がステップS18に移される。
【0079】
[ステップS17]コントローラ起動部132は、Java仮想マシン140を起動をする。
[ステップS18]コントローラ起動部132は、Java仮想マシン140にアプレットコントローラ150の起動を指示する。Java仮想マシン140は、コントローラ起動部132からの指示を取得すると、アプレットコントローラ部品記憶部110に記憶されたアプレットコントローラ部品を用いてアプレットコントローラ150を起動する。
【0080】
[ステップS19]部品要求送信部151は、“アプレットコントローラ.properties”に設定された業務アプレット部品群および共通アプレット部品群のダウンロード要求をウェブサーバ200に送信する。そして、部品受信部152は、部品要求送信部151が送信した要求に応じてウェブサーバ200から業務アプレット部品群および共通アプレット部品群を受信する。部品受信部152は、受信した業務アプレット部品群および共通アプレット部品群を業務アプレット部品記憶部120に格納する。
【0081】
[ステップS20]配置部153は、業務アプレット部品記憶部120に記憶された業務アプレット部品群および共通アプレット部品群に含まれるクラスファイルやJARファイルを所定のメモリ領域に配置し、処理が完了する。
【0082】
このように、コンピュータ100は、Java仮想マシン140およびアプレットコントローラ150を予め起動しておき、業務サービスの処理で用いる業務アプレット部品や共通アプレット部品を予め一括して取得する。
【0083】
これにより、Javaアプレットを用いる業務サービスの処理を実行する際に、業務アプレット部品等をその都度ダウンロードする必要がなくなる。また、Java仮想マシン140は予め起動されるので、Java仮想マシン140を新たに起動する必要がなくなる。
【0084】
なお、アプレットコントローラ150の起動処理は、ブラウザ130の処理と非同期で行うことができる。すなわち、ブラウザ130上では、例えば、サーブレットやJSP等によるウェブページの表示を行いつつ、業務アプレット部品のダウンロードを行うことができる。これにより、ユーザは、待機時間がなく効率良く業務を行うことができる。
【0085】
次に、上記の処理の後に、業務サービスを実行するための処理に関して詳しく説明する。
図12は、業務サービス実行処理の手順を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。なお、以下では、サービスの利用要求の例として、入金業務サービスの利用要求を受け付ける場合とする。
【0086】
[ステップS21]ブラウザ130は、Javaアプレットを用いた入金業務サービスの利用要求であるサービス要求を取得する。なお、このサービス要求には、要求対象となる業務サービスの識別情報として、業務サービス名が含まれる。
【0087】
[ステップS22]ブラウザ130は、アプレットコントローラ150が起動済みであるか否かを判定する。起動済みである場合、処理がステップS24に移される。未起動である場合、処理がステップS23に移される。
【0088】
[ステップS23]ブラウザ130は、アプレットコントローラ150が未起動である旨を通知するエラーを出力し、処理が完了する。
[ステップS24]ブラウザ130は、アプレットコントローラ150にサービス要求を出力する。
【0089】
[ステップS25]アプレットコントローラ150は、入金業務サービスのウィンドウの起動処理を実行する。そして、アプレットコントローラ150は、入金業務サービスのウィンドウを生成し、モニタ11に出力する。
【0090】
[ステップS26]アプレットコントローラ150は、上記ステップS25で出力したウィンドウに基づいて必要な情報の入力等を受け付け、入金業務の処理を実行する。
[ステップS27]アプレットコントローラ150は、ブラウザ130を介して入金業務の実行結果をウェブサーバ200に送信する。
【0091】
このようにして、ブラウザ130は、Javaアプレットを利用する業務サービスに関しては、アプレットコントローラ150にそのサービス要求を出力する。そして、上記ステップS25で示したように、アプレットコントローラ150では、ブラウザ130から取得するサービス要求の対象となる業務サービスを実行する。
【0092】
以下では、上記ステップS25の処理を更に詳細に説明する。
図13は、業務サービス起動処理の手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。なお、図13に示す処理は、図12におけるステップS25における処理を更に詳細に示したものである。
【0093】
[ステップS31]サービス要求取得部154は、ブラウザ130から取得する入金業務サービスに対するサービス要求をアプレット実行制御部155に出力する。
[ステップS32]アプレット実行制御部155は、サービス要求に含まれる要求対象の業務サービスのサービス名“入金業務”を取得する。そして、アプレット実行制御部155は、この“入金業務”の実行指示をアプレット実行部156に出力する。
【0094】
[ステップS33]アプレット実行部156は、アプレット実行制御部155から取得する実行指示から対象のサービス名“入金業務”を抽出する。そして、アプレット実行部156は、このサービス名に基づいて、業務アプレット部品記憶部120に記憶されたウィンドウ設定ファイル“入金業務.properties”を取得する。
【0095】
[ステップS34]アプレット実行部156は、動作環境ファイル“アプレットコントローラ.properties”に設定された各種デフォルトの設定やウィンドウ設定ファイル“入金業務.properties”に設定された各業務サービスの設定に基づいて、生成するウィンドウの設定を取得する。また、アプレット実行部156は、“入金業務.properties”に設定されたクラスファイル“入金業務.class”を取得する。
【0096】
[ステップS35]アプレット実行部156は、取得した“入金業務.class”により入金業務サービス用の新しいウィンドウを生成する。なお、この段階では、未だ生成されたウィンドウは、モニタ11上には表示されない。
【0097】
[ステップS36]アプレット実行部156は、“入金業務.properties”の設定に基づいて生成したウィンドウの名称、サイズおよび初期表示状態等を設定する。
[ステップS37]アプレット実行部156は、既存のウィンドウが存在するか否かを判定する。存在する場合、処理がステップS38に移される。存在しない場合、処理がステップS39に移される。
【0098】
[ステップS38]アプレット実行部156は、“入金業務.properties”の設定に基づいて既存ウィンドウに対する制御を行う。ここでは、既存ウィンドウを非アクティブ化する。
【0099】
[ステップS39]アプレット実行部156は、新規に生成した入金業務サービス用のウィンドウをモニタ11上に可視化して、処理が完了する。
このようにして、業務サービスの業務アプレット部品が実行される。
【0100】
なお、アプレット実行制御部155およびアプレット実行部156は、業務サービスの識別情報としてサービス名を用いることとしたが、他の識別情報(例えば、識別番号)により対象のサービスの識別およびウィンドウ設定ファイルの特定を行うようにしてもよい。
【0101】
また、上記ステップS38では、既存ウィンドウに対する制御として非アクティブ化を行う例を示したが、他の制御を行うこともできる。この場合、“入金業務.properties”において、その制御内容(例えば、最小化やクローズ等)を予め指定する。
【0102】
更に、共通アプレット部品により実現するサービスを各業務サービスのウィンドウから実行可能である。共通アプレット部品の実行の際にも、図13に示す処理と同様の処理により共通処理のウィンドウが新規に生成される。
【0103】
次に、図12,13で示した処理におけるコンピュータ100とウェブサーバ200との間の具体的な通信の流れを示す。
図14は、業務サービス実行処理の流れの具体例を示すシーケンス図である。以下、図14に示す処理をステップ番号に沿って説明する。
【0104】
[ステップS41]コンピュータ100は、入金業務サービスの利用要求の入力を受け付ける。
[ステップS42]コンピュータ100は、入金業務サービスの業務アプレット部品を実行し、入金業務のウィンドウをモニタ11に表示する。なお、コンピュータ100は、入金業務のウィンドウに対する操作に応じて共通アプレット部品を実行し、共通サービスのウィンドウをモニタ11に表示する。
【0105】
[ステップS43]コンピュータ100は、入金業務のウィンドウに従って入力された情報に基づいて、業務処理を実行する。
[ステップS44]コンピュータ100は、入金業務処理の実行結果をウェブサーバ200に送信する。
【0106】
[ステップS45]コンピュータ100は、出金業務サービスの利用要求の入力を受け付ける。
[ステップS46]コンピュータ100は、出金業務サービスの業務アプレット部品を実行し、出金業務のウィンドウをモニタ11に表示する。なお、コンピュータ100は、出金業務のウィンドウに対する操作に応じて共通アプレット部品を実行し、共通サービスのウィンドウをモニタ11に表示する。
【0107】
[ステップS47]コンピュータ100は、出金業務のウィンドウに従って入力された情報に基づいて、業務処理を実行する。
[ステップS48]コンピュータ100は、出金業務処理の実行結果をウェブサーバ200に送信する。
【0108】
このように、コンピュータ100は、業務サービスの利用要求を受け付けると業務アプレット部品記憶部120に記憶された業務アプレット部品を実行して各業務サービスのウィンドウを起動することができる。
【0109】
次に、比較のため、アプレットコントローラ150を用いない場合の業務サービスの実行処理の流れに関して説明する。
図15は、アプレットコントローラを利用しない場合の業務サービス実行処理の流れの具体例を示すシーケンス図である。以下、図15に示す処理をステップ番号に沿って説明する。
【0110】
[ステップS101]コンピュータ100aは、入金業務サービスの利用要求の入力を受け付ける。
[ステップS102]コンピュータ100aは、入金業務サービスの業務アプレット部品を要求する部品要求をウェブサーバ200aに送信する。
【0111】
[ステップS103]ウェブサーバ200aは、コンピュータ100aから受信する部品要求に応じて、入金業務サービスの処理に用いる業務アプレット部品および共通アプレット部品をコンピュータ100aに送信する。
【0112】
[ステップS104]コンピュータ100aは、業務アプレット部品の実行環境であるJava仮想マシンを起動する。
[ステップS105]コンピュータ100aは、ウェブサーバ200aから受信した入金業務サービスの業務アプレット部品を実行し、入金業務のウィンドウをコンピュータ100aに接続されたモニタに表示する。なお、コンピュータ100aは、入金業務のウィンドウに対する操作に応じて共通アプレット部品を実行し、共通サービスのウィンドウをモニタに表示する。
【0113】
[ステップS106]コンピュータ100aは、入金業務のウィンドウに従って入力された情報に基づいて、業務処理を実行する。
[ステップS107]コンピュータ100aは、入金業務処理の実行結果をウェブサーバ200aに送信する。
【0114】
[ステップS108]コンピュータ100aは、出金業務サービスの利用要求の入力を受け付ける。
[ステップS109]コンピュータ100aは、出金業務サービスの業務アプレット部品を要求する部品要求をウェブサーバ200aに送信する。
【0115】
[ステップS110]ウェブサーバ200aは、コンピュータ100aから受信する部品要求に応じて、出金業務サービスの処理に用いる業務アプレット部品および共通アプレット部品をコンピュータ100aに送信する。
【0116】
[ステップS111]コンピュータ100aは、ウェブサーバ200aから受信した出金業務サービスの業務アプレット部品を実行し、出金業務のウィンドウをモニタに表示する。なお、コンピュータ100aは、出金業務のウィンドウに対する操作に応じて共通アプレット部品を実行し、共通サービスのウィンドウをモニタに表示する。
【0117】
[ステップS112]コンピュータ100aは、出金業務のウィンドウに従って入力された情報に基づいて、業務処理を実行する。
[ステップS113]コンピュータ100aは、出金業務処理の実行結果をウェブサーバ200aに送信する。
【0118】
このように、アプレットコントローラ150を予め起動して業務アプレット部品や共通アプレット部品をダウンロードしていない場合には、業務サービスの利用開始時に上記ステップS102,S103,S109,S110に示す業務アプレット部品のダウンロード処理が必要となる。また、Java仮想マシンが未起動である場合には、上記ステップS104に示す起動処理が必要となる。
【0119】
これに対し、コンピュータ100は、Java仮想マシン140およびアプレットコントローラ150を予め起動する。そして、アプレットコントローラ150により業務アプレット部品や共通アプレット部品を予め一括してダウンロードする。このため、図14に示したように、業務サービスの利用開始時にJava仮想マシンの起動処理および業務アプレット部品等のダウンロード処理が発生しなくなる。これにより、サービス利用開始時の遅延を抑止することができる。
【0120】
図16は、アプレットコントローラが生成するウィンドウの第1の具体例を示す図である。ブラウザ130は、業務ポータルウィンドウ60およびアプレットコントローラウィンドウ500を生成する。これらのウィンドウは、ブラウザ130によりモニタ11に表示される。
【0121】
業務ポータルウィンドウ60は、入金業務サービスや出金業務サービス等の業務サービスの利用要求を受け付けるポータルページを表示する。コンピュータ100は、ユーザにより所定の操作入力を受け付けるとブラウザ130を起動して、業務ポータルウィンドウ60のためのHTMLファイルをウェブサーバ200から取得する。ブラウザ130は、このHTMLファイルに基づいて、業務ポータルウィンドウ60を生成する。
【0122】
アプレットコントローラウィンドウ500は、アプレットコントローラ150を実行するために起動されるウィンドウである。ブラウザ130は、業務ポータルウィンドウ60を生成した後、アプレットコントローラウィンドウ500を起動するためのHTMLファイルをウェブサーバ200から取得する。ブラウザ130は、このHTMLファイルの基づき、必要に応じてJava仮想マシン140を起動して、アプレットコントローラウィンドウ500を生成する。
【0123】
なお、アプレットコントローラウィンドウ500は、ユーザからの操作入力を直接受け付けないため、例えば、ユーザからは不可視状態にする。アプレットコントローラウィンドウ500の起動と共に、アプレットコントローラ150が起動され、業務サービスに必要なアプレット部品がウェブサーバ200から一括でダウンロードされることとなる。
【0124】
そして、ブラウザ130は、業務ポータルウィンドウ60に対するユーザによる所定の操作入力により要求された業務サービスをアプレットコントローラ150に通知する。アプレットコントローラ150は、通知された業務サービスのウィンドウを業務アプレット部品を用いて生成する。アプレットコントローラ150が生成するウィンドウは、例えば、入金業務ウィンドウ510、出金業務ウィンドウ520および共通業務ウィンドウ530である。
【0125】
入金業務ウィンドウ510は、業務ポータルウィンドウ60において入金業務サービスの利用がユーザにより選択された際に生成される。
出金業務ウィンドウ520は、業務ポータルウィンドウ60において出金業務サービスの利用がユーザにより選択された際に生成される。
【0126】
共通業務ウィンドウ530は、入金業務や出金業務で共通的に利用可能なサービスのためのウィンドウである。ここでは、共通業務ウィンドウ530は、出金業務ウィンドウ520から呼び出された場合を示している。
【0127】
アプレットコントローラ150は、共通業務ウィンドウ530が生成される際に、呼び出し元となった既存のウィンドウである出金業務ウィンドウ520に対する制御(非アクティブ化や最小化等)を行う。
【0128】
このように、アプレットコントローラ150は、ブラウザ130とは別個のウィンドウを生成する。
一方、従来Javaアプレットはブラウザ上で実行されており、Javaアプレット側の利便性の都合で自由にウィンドウに対する操作を行うことができなかった。すなわち、HTMLファイルのコードから呼び出されて実行されるJavaアプレットは、HTMLファイル内に記述されたブラウザ用のウィンドウ設定の範囲内で利用しなければならなかった。
【0129】
しかし、アプレットコントローラ150は、ブラウザ130のウィンドウとは別個のウィンドウを生成する。このため、アプレットコントローラ150は、自身が生成したウィンドウに対する制御が可能となる。これにより、各業務サービスの利便性の都合で、新規ウィンドウの生成に際しての既存ウィンドウの制御を行うことを可能とする。
【0130】
また、Javaアプレットを利用する業務サービスのウィンドウをブラウザのウィンドウとは切り離して生成するため、ユーザが業務サービスのウィンドウに対するサイズ変更等の操作を行うこともできる。
【0131】
以下では、アプレットコントローラ150により、このような操作を受け付け可能に生成されたウィンドウの具体例を説明する。
図17は、アプレットコントローラが生成するウィンドウの第2の具体例を示す図である。出金業務ウィンドウ520は、業務処理の最初の内容として、例えば、口座情報を入力するための構成となっている。出金業務ウィンドウ520は、ボタン521,522,523,524を有する。
【0132】
ボタン521は、出金業務ウィンドウ520をアイコン化するための操作入力を受け付けるボタンである。
ボタン522は、出金業務ウィンドウ520を全画面表示するための操作入力を受け付けるボタンである。
【0133】
ボタン523は、出金業務ウィンドウ520をクローズするための操作入力を受け付けるボタンである。
ボタン521,522,523を利用可能とするか否かは、動作環境ファイル(“アプレットコントローラ.properties”)や出金業務サービス用のウィンドウ設定ファイルに基づいて制御することができる。
【0134】
ボタン524は、共通業務ウィンドウ530を起動するための操作入力を受け付けるボタンである。出金業務ウィンドウ520は、ポインティングデバイスを用いてボタン524が押下されたことを検出すると、アプレットコントローラ150にその旨を通知する。アプレットコントローラ150は、この通知に基づいて、共通業務ウィンドウ530(例えば、住所検索のウィンドウ)を起動する。アプレットコントローラ150は、共通業務ウィンドウ530に対しても、出金業務ウィンドウ520のボタン521,522,523と同様にウィンドウを操作するための各種ボタンを利用可能とすることができる。
【0135】
このように、アプレットコントローラ150は、業務サービス用のウィンドウを生成する際に、ウィンドウ操作用のボタン521,522,523を生成したウィンドウに付加する。そして、ボタン521,522,523に対する操作入力を受け付けて各種ウィンドウ操作を行えるようにすることができる。
【0136】
上述したようにコンピュータ100を用いることで、ウェブサーバ200からウェブサーバ200が提供する複数のサービスの処理を実行するための業務アプレット部品や共通アプレット部品がJava仮想マシン140上のアプレットコントローラ150により予め一括して取得される。そして、コンピュータ100がサービスの利用要求であるサービス要求を受け付けると、アプレットコントローラ150により該当のサービスに対応する業務アプレット部品が読み出されて実行される。
【0137】
これにより、Javaアプレットを用いた業務サービスの利用開始時に業務アプレット部品や共通アプレット部品をサービス要求の入力を受け付けた都度ダウンロードする必要がなくなる。また、Javaアプレットの実行環境であるJava仮想マシン140は、コンピュータ100で予め実行されるので、サービス要求受け付け時にJava仮想マシン140を起動する必要がなくなる。このため、Javaアプレットのダウンロード処理やJava仮想マシン140の起動処理により生じるサービス利用開始時の遅延を抑止することができる。
【0138】
なお、上記の例では、ウェブサーバ200が提供する全ての業務サービスについてのJavaアプレットを全てダウンロードするものとしたが、例えば、利用頻度の高いJavaアプレットのみを予めダウンロードするようにしてもよい。
【0139】
また、アプレットコントローラ150の起動のタイミングを業務ポータルウィンドウ60の起動後としたが、例えば、コンピュータ100の起動が完了した直後に起動するようにしてもよい。この場合、コンピュータ100の起動後、バックグラウンドでJavaアプレットのダウンロードが実行されるので、更に、迅速に業務サービスを利用開始することができる。
【0140】
以上、本発明のサービス支援プログラムおよびサービス支援方法を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置き換えることができる。また、他の任意の構成物や工程が付加されてもよい。また、本発明は前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【0141】
なお、上記のサービス支援プログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc - Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto - Optical disk)などがある。
【0142】
上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、上述したようにプログラムをサーバに格納しておき、ネットワークを介して、サーバから他のコンピュータにそのプログラムを転送することもできる。
【0143】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【0144】
【図1】本実施の形態の概要を示す図である。
【図2】ウェブシステムのシステム構成を示す図である。
【図3】コンピュータのハードウェア構成を示すブロック図である。
【図4】コンピュータの機能構成を示すブロック図である。
【図5】アプレットコントローラ部品記憶部に格納されるデータの例を示す図である。
【図6】動作環境ファイルの例を示す図である。
【図7】業務アプレット部品記憶部に格納されるデータの例を示す図である。
【図8】業務アプレット部品群の構成例を示す図である。
【図9】ウィンドウ設定ファイルの例を示す図である。
【図10】共通アプレット部品群の構成例を示す図である。
【図11】アプレットコントローラの起動処理の手順を示すフローチャートである。
【図12】業務サービス実行処理の手順を示すフローチャートである。
【図13】業務サービス起動処理の手順を示すフローチャートである。
【図14】業務サービス実行処理の流れの具体例を示すシーケンス図である。
【図15】アプレットコントローラを利用しない場合の業務サービス実行処理の流れの具体例を示すシーケンス図である。
【図16】アプレットコントローラが生成するウィンドウの第1の具体例を示す図である。
【図17】アプレットコントローラが生成するウィンドウの第2の具体例を示す図である。
【符号の説明】
【0145】
1 コンピュータ
1a 部品要求送信手段
1b 部品受信手段
1c 部品記憶手段
1d サービス要求取得手段
1e 実行制御手段
1f 実行手段
M1 サービスA用部品
M2 サービスB用部品
M3 サービスC用部品
M4 サービスD用部品
【技術分野】
【0001】
本発明は、サービス支援プログラムおよびサービス支援方法に関し、特に、サーバが提供するサービスの利用を支援するサービス支援プログラムおよびサービス支援方法に関する。
【背景技術】
【0002】
従来、ウェブ(Web)サーバが提供するサービスをクライアントのコンピュータで利用するウェブシステムが普及している。ウェブシステムでは、ウェブサーバとコンピュータとがインターネットやイントラネットのネットワークで接続される。
【0003】
コンピュータは、ウェブサーバのサービスを利用するためのウェブブラウザを有している。ウェブブラウザは、ウェブサーバからサービスの利用に必要なHTML(Hyper Text Markup Language)文書や画像コンテンツ等のコンポーネントを取得する。そして、取得したコンポーネントに基づいて、サービスのインタフェースをユーザに提供する。ブラウザは、このインタフェースに基づいてユーザが入力するサービスへの要求を取得し、その内容をウェブサーバに送信する(例えば、特許文献1参照)。
【0004】
ここで、サービスのコンポーネントとして利用可能なものには、アプレット(Applet)と呼ばれるウェブブラウザ上で実行可能なアプリケーションプログラムがある。
アプレットは、サービスの利用要求に応じて、その都度ウェブサーバからコンピュータにダウンロードされて実行される。アプレットを利用すると、コンピュータ側にサービスの処理を実行させることができる。例えば、アプレットによりウェブサーバとコンピュータとの間に確立するセッションの管理を支援する方法がある(例えば、特許文献2参照)。また、データベースサーバで稼動するデータベースの一部をコンピュータのキャッシュに格納し、アプレットによりキャッシュ上のデータベースにローカル接続して、更新内容をウェブサーバを介してデータベースサーバ側に同期させる方法がある(例えば、特許文献3参照)。
【特許文献1】特開2003−271483号公報
【特許文献2】特開2001−184306号公報
【特許文献3】特開2007−226508号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、コンピュータは、ウェブサーバからダウンロードしたアプレットを実行するためにウェブブラウザとは別個にアプレット実行用の実行環境を起動する必要がある。
このため、アプレットを利用するサービスの場合、利用開始時にアプレットをダウンロードするステップと実行環境を起動するステップとが必要となり、遅延が発生するという問題がある。また、アプレットのダウンロードは、該当のサービスに対する要求の都度発生するため、これにより遅延が頻発する可能性があるという問題がある。
【0006】
本発明はこのような点に鑑みてなされたものであり、サービス利用開始時の遅延を抑止するサービス支援プログラムおよびサービス支援方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、サーバが提供するサービスの利用を支援するサービス支援プログラムが提供される。このサービス支援プログラムを実行するコンピュータは、部品要求送信手段、部品記憶手段、部品受信手段、実行制御手段および実行手段を有する。部品要求送信手段は、サーバが提供する複数のサービスの処理に用いる複数のプログラム部品を要求する部品要求をサーバに送信する。部品記憶手段は、複数のプログラム部品と複数のサービスの識別情報との対応付けを定義した環境情報を前記複数のプログラム部品と共に記憶する。部品受信手段は、部品要求送信手段が送信した部品要求に応じてサーバから複数のプログラム部品と環境情報とを受信し、受信した複数のプログラム部品と環境情報とを部品記憶手段に格納する。実行制御手段は、複数のサービスのうちの少なくとも1つのサービスの利用を要求するサービス要求を受け付けると、要求対象のサービスの識別情報を含む実行指示を出力する。実行手段は、実行制御手段が出力した実行指示と部品記憶手段に記憶された環境情報とに基づいて、部品記憶手段に記憶された複数のプログラム部品のうち、実行指示に含まれる識別情報に対応するプログラム部品を実行する。
【0008】
このようなサービス支援プログラムを実行するコンピュータによれば、部品要求送信手段により、サーバが提供する複数のサービスの処理に用いる複数のプログラム部品を要求する部品要求がサーバに送信される。そして、部品受信手段により、部品要求送信手段が送信した部品要求に応じてサーバから複数のプログラム部品と、複数のプログラム部品と複数のサービスの識別情報との対応付けを定義した環境情報と、が受信され、受信された複数のプログラム部品と環境情報とが部品記憶手段に格納される。また、実行制御手段により、複数のサービスのうちの少なくとも1つのサービスの利用を要求するサービス要求が受け付けられると、要求対象のサービスの識別情報を含む実行指示が出力される。そして、実行手段により、実行制御手段が出力した実行指示と部品記憶手段に記憶された環境情報とに基づいて、部品記憶手段に記憶された複数のプログラム部品のうち、実行指示に含まれる識別情報に対応するプログラム部品が実行される。
【0009】
また、上記サービス支援プログラムにより実現される処理と同様の処理を行うサービス支援方法が提供される。
【発明の効果】
【0010】
上記サービス支援プログラムおよびサービス支援方法によれば、サービス利用開始時の遅延を抑止することができる。
【発明を実施するための最良の形態】
【0011】
以下、本実施の形態を図面を参照して詳細に説明する。
図1は、本実施の形態の概要を示す図である。コンピュータ1は、サーバ2が提供するサービスの利用を支援する。コンピュータ1は、サーバ2と有線または無線のネットワークによって接続されている。サーバ2は、コンピュータ1にアプレットにより所定のサービスを提供する情報処理装置である。
【0012】
コンピュータ1は、部品要求送信手段1a、部品受信手段1b、部品記憶手段1c、サービス要求取得手段1d、実行制御手段1eおよび実行手段1fを有する。
部品要求送信手段1aは、サーバ2が提供するサービスA,B,C,Dの処理に用いるアプレットのコンポーネントであるプログラム部品M1,M2,M3,M4を要求する部品要求をサーバ2に送信する。
【0013】
部品受信手段1bは、部品要求送信手段1aが送信した部品要求に応じてサーバ2からプログラム部品M1,M2,M3,M4およびプログラム部品M1,M2,M3,M4とサービスA,B,C,Dの識別情報との対応付けを定義した環境情報を受信する。部品受信手段1bは、受信したプログラム部品M1,M2,M3,M4と環境情報とを部品記憶手段1cに格納する。なお、環境情報は、サービスA,B,C,Dそれぞれに対して複数のファイルとして用意されていてもよいし、サービスA,B,C,D全部に対して1つのファイルとして用意されていてもよい。プログラム部品M1,M2,M3,M4および環境情報は、サーバ2の所定の記憶部に予め格納される。
【0014】
部品記憶手段1cは、プログラム部品M1,M2,M3,M4と環境情報とを記憶する。
サービス要求取得手段1dは、サービスA,B,C,Dのうちの少なくとも1つのサービスの利用を要求するサービス要求を取得し、取得したサービス要求を実行制御手段1eに出力する。ここで、サービス要求は、例えば、コンピュータ1を利用するユーザが該当のサービスを利用しようとする際に所定の操作を行うことでコンピュータ1に入力される。
【0015】
実行制御手段1eは、サービス要求取得手段1dから取得したサービス要求に含まれる識別情報を抽出し、この識別情報を含むサービスの実行指示を実行手段1fに出力する。
実行手段1fは、実行制御手段1eから取得した実行指示に含まれる識別情報を抽出する。そして、実行手段1fは、部品記憶手段1cに記憶された環境情報に基づいて、部品記憶手段1cに記憶されたプログラム部品M1,M2,M3,M4のうち、抽出した識別情報に対応するプログラム部品を取得して、取得したプログラム部品を実行する。
【0016】
このようなコンピュータ1によれば、サーバ2からサーバ2が提供する複数のサービスの処理を実行するための複数のプログラム部品が予め取得される。そして、コンピュータ1がサービス要求を受け付けると、該当のサービスに対応するプログラム部品がコンピュータ1の部品記憶手段1cから読み出され、読み出されたプログラム部品が実行される。
【0017】
これにより、アプレットを用いたサービスの利用開始時にプログラム部品をサービス要求の入力を受け付けた都度ダウンロードする必要がなくなる。また、サービス要求取得手段1dがサービス要求を受け付ける毎に、プログラム部品の実行環境である実行手段1fは、コンピュータ1上に予め実現されるため、実行手段1fを起動する必要がなくなる。このため、ダウンロード処理や実行環境の起動処理により生じるサービス利用開始時の遅延を抑止することができる。
【0018】
ところで、コンピュータ1は、Java(登録商標)アプレットを用いたサービスの実行を支援する場合に適している。以下では、このJavaアプレットを利用する場合を例に挙げて、更に詳細に説明する。
【0019】
図2は、ウェブシステムのシステム構成を示す図である。このウェブシステムは、コンピュータ100およびウェブサーバ200を有する。コンピュータ100は、ウェブサーバ200と有線または無線のネットワーク10によって接続されている。ネットワーク10は、例えば、インターネットやイントラネット等のIP(Internet Protocol)通信網である。なお、コンピュータ100とウェブサーバ200とを1対1の構成で示しているが、コンピュータ100と同様の機能を備えた複数のコンピュータがウェブサーバ200と接続されていても構わない。
【0020】
コンピュータ100は、ウェブサーバ200が提供する業務サービスを利用するクライアントである。コンピュータ100は、コンピュータ100で実行されるブラウザを介して、ウェブサーバ200が提供するHTMLファイルを取得し、HTMLファイルで定義された業務サービスのインタフェースであるウェブページを出力する。
【0021】
ウェブサーバ200は、コンピュータ100に業務サービスを提供する。ウェブサーバ200は、コンピュータ100からの要求に基づいて、要求対象のサービスのインタフェースとなるHTMLファイルや対象のサービスの処理を実行するためのJavaアプレットのプログラム部品をコンピュータ100に送信する。プログラム部品には、業務サービスの処理を実行するためのクラスファイルやアーカイブファイルが含まれる。
【0022】
ここで、ウェブサーバ200がコンピュータ100に提供する業務サービスのインタフェースの具体例を簡単に説明する。
コンピュータ100のブラウザは、業務サービス利用開始の際に、業務サービスを利用するための認証入力を行うログインウィンドウ50を出力する。この出力は、例えば、コンピュータ100に接続された表示装置の画面上に表示される。ユーザは、表示装置に表示されたインタフェースに従って必要な情報を入力することができる。
【0023】
ログイン処理が完了すると、コンピュータ100のブラウザは、業務ポータルウィンドウ60を出力する。業務ポータルウィンドウ60には、利用可能なサービスが、例えば、アンカー形式で出力される。アンカーには、予め対象の業務サービスへのリンクが定義づけられている。ユーザは、利用したいサービスのアンカーを選択することで、対象のサービスの利用要求をコンピュータ100に入力することができる。この入力の結果に応じて、業務ウィンドウ70,80が出力される。
【0024】
業務ウィンドウ70は、業務ポータルウィンドウ60において、Javaアプレットを含む業務サービスの要求を受け付けた場合に出力される。
業務ウィンドウ80は、業務ポータルウィンドウ60において、Javaアプレットを含まない業務サービスの要求を受け付けた場合に出力される。業務ウィンドウ80は、例えば、ウェブサーバ200上で実行されるサーブレットやJSP(Java Sever Pages)により生成されたHTMLファイルやその他のコンポーネントに基づくものである。
【0025】
ここで、コンピュータ100は、業務ウィンドウ70の出力の際にJavaアプレットをその都度ウェブサーバ200からダウンロードするのではなく、予め一括してダウンロードする。また、コンピュータ100は、Javaアプレットの実行環境であるJava仮想マシン(JVM:Java Virtual Machine)をサービスの利用要求を受け付ける前に予め起動する。以下では、このようなコンピュータ100の構成を詳細に説明する。
【0026】
図3は、コンピュータのハードウェア構成を示すブロック図である。コンピュータ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、HDD103、グラフィック処理装置104、入力インタフェース105および通信インタフェース106が接続されている。
【0027】
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
【0028】
HDD103には、コンピュータ100上のOSやアプリケーションが扱うデータが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
【0029】
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータやウェブサーバ200との間でデータの送受信を行う。
【0030】
なお、ウェブサーバ200もコンピュータ100と同様のハードウェア構成により実現することができる。
図4は、コンピュータの機能構成を示すブロック図である。コンピュータ100は、アプレットコントローラ部品記憶部110、業務アプレット部品記憶部120、ブラウザ130およびJava仮想マシン140を有する。なお、Java仮想マシン140は、ウェブサーバ200から取得するプログラム部品によりアプレットコントローラ150が実現される。
【0031】
アプレットコントローラ部品記憶部110は、ブラウザ130がウェブサーバ200よりダウンロードしたアプレットコントローラ部品を記憶する。アプレットコントローラ部品は、アプレットコントローラ150を実現するためのプログラム部品とアプレットコントローラの動作環境を定義した動作環境ファイルとを含む。
【0032】
業務アプレット部品記憶部120は、アプレットコントローラ150がウェブサーバ200からダウンロードした業務アプレット部品を記憶する。業務アプレット部品は、ウェブサーバ200が提供する業務サービスの処理を実行するためのプログラム部品と各業務サービスを利用する際の各種設定を定義した設定ファイルとを含む。また、業務サービスのインタフェースとなるウィンドウを生成する際に利用する画像等のコンテンツを含んでいてもよい。
【0033】
ブラウザ130は、ウェブサーバ200が提供する業務サービスのインタフェースをモニタ11に表示する。ブラウザ130は、そのインタフェースに従ってユーザが入力した情報をHTTP(Hyper Text Transfer Protocol)リクエストとしてウェブサーバ200に送信する。そして、ブラウザ130は、送信したリクエストに応じてウェブサーバ200から取得するHTMLファイルやその他のコンポーネントに基づいたウェブページを出力し、ウェブサーバ200の応答をユーザに通知する。
【0034】
ブラウザ130は、ポータル生成部131およびコントローラ起動部132を有する。なお、ブラウザ130のこれらの機能は、ウェブサーバ200から取得するHTMLやJavaスクリプト(Java Script)等の内容に基づいて実現される。
【0035】
ポータル生成部131は、ポータルへのログインを受け付けると、ウェブサーバ200から取得するHTMLファイルに基づいて利用可能な業務サービスの一覧を示す業務ポータルウィンドウ60を生成する。
【0036】
コントローラ起動部132は、ポータル生成部131が業務ポータルウィンドウ60を生成する際にJava仮想マシン140においてアプレットコントローラ150が起動されているか否かを判定する。
【0037】
コントローラ起動部132は、アプレットコントローラ150が起動されていない場合、ウェブサーバ200にアプレットコントローラ部品の送信を要求するリクエストを送信する。コントローラ起動部132は、送信したリクエストに応じてウェブサーバ200から取得したアプレットコントローラ部品をアプレットコントローラ部品記憶部110に格納する。更に、コントローラ起動部132は、Java仮想マシン140にアプレットコントローラ150を起動するよう指示する。
【0038】
コントローラ起動部132は、アプレットコントローラ150が既に起動済みである場合には、処理を行わない。
また、コントローラ起動部132は、コンピュータ100上でJava仮想マシン140が起動していない場合には、Java仮想マシン140の起動を行う。
【0039】
コントローラ起動部132の機能は、例えば、ブラウザ130がウェブサーバ200から取得したポータルの画面を記述したHTMLファイル内のJavaスクリプトによって定義された処理を実行することで実現される。
【0040】
Java仮想マシン140は、アプレットコントローラ部品記憶部110および業務アプレット部品記憶部120に記憶された各プログラム部品を実行するための実行環境である。Java仮想マシン140は、コントローラ起動部132によって起動され、更に、コントローラ起動部132の指示に基づいてアプレットコントローラ部品記憶部110に記憶されたアプレットコントローラ部品を取得し、アプレットコントローラ150を実行する。
【0041】
アプレットコントローラ150は、Javaアプレットを用いた業務サービスの実行を管理するアプレットである。アプレットコントローラ150は、部品要求送信部151、部品受信部152、配置部153、サービス要求取得部154、アプレット実行制御部155およびアプレット実行部156を有する。
【0042】
部品要求送信部151は、業務アプレット部品を要求する部品要求をウェブサーバ200に送信する。部品要求送信部151は、例えば、部品要求をブラウザ130を介してウェブサーバ200に送信することができる。
【0043】
部品受信部152は、部品要求送信部151が送信した部品要求に応じてウェブサーバ200から送信される業務アプレット部品を受信する。部品受信部152は、ブラウザ130を介して、ウェブサーバ200からの業務アプレット部品を受信することができる。部品受信部152は、受信した各業務アプレット部品を業務アプレット部品記憶部120に格納する。
【0044】
配置部153は、業務アプレット部品記憶部120に記憶された各業務アプレット部品に含まれるクラスファイルやアーカイブファイルを所定のメモリ領域上に実行可能に配置する。
【0045】
サービス要求取得部154は、ブラウザ130を介してJavaアプレットを用いた業務サービスの利用要求(サービス要求)を受け付ける。サービス要求取得部154は、取得したサービス要求をアプレット実行制御部155に出力する。なお、サービス要求には、要求対象の業務サービスの識別情報として、業務サービス名が含まれる。
【0046】
アプレット実行制御部155は、サービス要求取得部154から取得したサービス要求から要求対象の業務サービス名を抽出する。アプレット実行制御部155は、抽出した業務サービス名を含むJavaアプレットの実行指示をアプレット実行部156に出力する。
【0047】
アプレット実行部156は、アプレット実行制御部155から取得するJavaアプレットの実行指示に含まれる業務サービス名に対応する設定ファイルを業務アプレット部品記憶部120から読み出す。そして、アプレット実行部156は、読み出した設定ファイルに基づいて、配置部153が配置した要求対象の業務サービスに用いるクラスファイルを実行して、業務サービスのインタフェースとなるウィンドウを生成する。また、アプレット実行部156は、設定ファイルに基づいて、既存のウィンドウに対する制御を行う。
【0048】
なお、ブラウザ130における入力をアプレットコントローラ150に出力する等、HTMLとJava仮想マシン140のJavaアプレットとの間の通信は、JavaスクリプトとJavaアプレットとの間の双方向の通信を可能とする所定のアプリケーションプログラミングインタフェース(API:Application Programming Interface)を用いて行うことができる。このようなAPIとして、例えば、LiveConnectがある。
【0049】
ウェブサーバ200は、アプレットコントローラ部品記憶部210、業務アプレット部品記憶部220およびウェブコンテナ230を有する。
アプレットコントローラ部品記憶部210は、アプレットコントローラ150を実現するためのプログラム部品が予め格納される。
【0050】
業務アプレット部品記憶部220は、ウェブサーバ200が提供する業務サービスのアプレット部品を記憶する。アプレット部品は、例えば、各業務サービスの導入時にアプレットコントローラ部品記憶部210に予め格納される。
【0051】
ウェブコンテナ230は、ブラウザ130とHTTP通信を行う。ウェブコンテナ230は、ブラウザ130からのHTTPリクエストに応じてサーブレットやJSPにより、HTMLファイル等を生成し、ブラウザ130に応答する。また、ウェブコンテナ230は、ブラウザ130からアプレットコントローラ部品の要求を取得すると、アプレットコントローラ部品記憶部210に記憶されたアプレットコントローラ部品をブラウザ130に送信する。同様に、業務アプレット部品の部品要求を取得すると、業務アプレット部品記憶部220に記憶された業務アプレット部品をブラウザ130に送信する。
【0052】
図5は、アプレットコントローラ部品記憶部に格納されるデータの例を示す図である。アプレットコントローラ部品記憶部110には、コントローラ起動部132がウェブサーバ200から受信したアプレットコントローラ部品111が格納される。
【0053】
アプレットコントローラ部品111は、アプレットコントローラ150の機能を実現するためのプログラム部品およびアプレットコントローラ150の動作環境を定義した動作環境ファイルである。アプレットコントローラ部品111には、クラスファイル、アーカイブファイルおよび動作環境ファイルが含まれる。
【0054】
クラスファイルは、アプレットコントローラ150を実行するためのメインのクラスであり、そのファイル名は、例えば“アプレットコントローラ.class”である。
アーカイブファイルは、アプレットコントローラ150を実行するための上記クラスファイル以外のクラスファイルをまとめたJAR(Java ARchive)ファイルであり、そのファイル名は、例えば“アプレットコントローラ.jar”である。
【0055】
動作環境ファイルは、アプレットコントローラの動作環境を定義したプロパティファイルであり、そのファイル名は、例えば“アプレットコントローラ.properties”である。
アプレットコントローラ部品111は、アプレットコントローラ150の起動時にJava仮想マシン140によってアプレットコントローラ部品記憶部110から読み込まれて実行される。これにより、アプレットコントローラ150の機能、すなわち、部品要求送信部151、部品受信部152、配置部153、サービス要求取得部154、アプレット実行制御部155およびアプレット実行部156がJava仮想マシン140上で実現される。
【0056】
図6は、動作環境ファイルの例を示す図である。図6では、上記の“アプレットコントローラ.properties”の例を示している。
“アプレットコントローラ.properties”には、ウェブサーバ200からのダウンロードの対象となる業務アプレット部品(JARファイルやクラスファイル)や各種設定ファイルの所在が、例えば、ウェブサーバ200のURL(Uniform Resource Locator)によって設定される。
【0057】
また、“アプレットコントローラ.properties”には、アプレット実行部156による業務サービスのウィンドウ生成時の各種制御を設定することができる。
制御の内容として、例えば、業務アプレット部品をダウンロードするタイミングを設定することができる。設定するタイミングとしては、アプレットコントローラ150の起動時に一括してダウンロードする、対象の業務サービスの利用要求を受け付けた都度ダウンロードする等が考えられる。以下では、業務アプレット部品のダウンロードは、アプレットコントローラ150の起動時に一括して行われる設定となっているものとする。
【0058】
また、例えば、新規でウィンドウを表示する場合に既存ウィンドウに対するデフォルトの制御を設定することができる。すなわち、新規にウィンドウを表示する際に、他の業務で利用していた既存のウィンドウを非アクティブ化(フォーカスが外れ、操作対象から外れた状態)する、最小化(操作画面上にアイコンで表示された状態)する、または、既存のウィンドウを閉じる等の制御である。
【0059】
また、例えば、新規に表示したウィンドウにおいてウィンドウサイズの変更を受け付け可能とするか否かを設定することができる。
このように、動作環境を予め設定しておくことにより、アプレットコントローラ150は、アプレット実行部156が新規に業務サービスのインタフェースとなるウィンドウを生成し、各ウィンドウの制御を独自に設定可能とする(図16,17で詳述する)。
【0060】
図7は、業務アプレット部品記憶部に格納されるデータの例を示す図である。業務アプレット部品記憶部120には、部品受信部152がウェブサーバ200から受信した業務アプレット部品群121および共通アプレット部品群122が格納される。
【0061】
業務アプレット部品群121は、ウェブサーバ200が提供する各業務サービスの処理を実行するための業務アプレット部品の集合である。各業務アプレット部品には、各業務サービスの処理を実行するためのプログラム部品および各業務サービスのインタフェースとなるウィンドウを生成するための設定ファイルが含まれる。
【0062】
共通アプレット部品群122は、各業務サービスで共通的に利用可能な処理を実行するための共通アプレット部品の集合である。各業務サービスで共通的に利用可能な処理とは、例えば、住所検索等の汎用性の高い処理である。各共通アプレット部品には、業務アプレット部品と同様に、各共通処理を実行するためのプログラム部品および各共通処理のインタフェースとなるウィンドウを生成するための設定ファイルが含まれる。
【0063】
図8は、業務アプレット部品群の構成例を示す図である。業務アプレット部品群121には、業務アプレット部品121a,121b,121cが含まれる。なお、以下では、業務アプレット部品121aに関して説明するが業務アプレット部品121b,121cについても同様である。なお、業務アプレット部品121aは、例えば、入金業務サービスの処理を実行するために用いられる。
【0064】
業務アプレット部品121aには、クラスファイル、アーカイブファイルおよびウィンドウ設定ファイルが含まれる。
クラスファイルは、入金業務サービスのインタフェースとなるウィンドウを生成するためのメインのクラスであり、そのファイル名は、例えば“入金業務.class”である。
【0065】
アーカイブファイル名は、入金業務サービスを実行するための上記クラスファイル以外のクラスファイルをまとめたJARファイルであり、そのファイル名は、例えば“入金業務.jar”である。
【0066】
ウィンドウ設定ファイルは、入金業務サービスのウィンドウの設定を定義したプロパティファイルであり、そのファイル名は、例えば“入金業務.properties”である。
図9は、ウィンドウ設定ファイルの例を示す図である。図9では、入金業務用のウィンドウ設定ファイル(入金業務.properties)の例を示している。
【0067】
“入金業務.properties”には、例えば、ウィンドウの名称やウィンドウ生成時に実行するクラスファイル名“入金業務.class”を指定する情報が設定される。また、ウィンドウ生成時のウィンドウのサイズや、初期表示時の表示状態(ウィンドウ表示、アイコン化および全画面化等)を指定する情報が設定される。更に、動作環境ファイル“アプレットコントローラ.properties”でデフォルトの設定として定義された既存ウィンドウに対する制御や、新規に生成したウィンドウに対するサイズ変更の操作受け付けを可とするか否か等を業務サービス個別で設定することも可能である。
【0068】
なお、以降に示す例では、“入金業務.properties”において、新規ウィンドウの初期表示状態に“ウィンドウ表示”、新規ウィンドウ表示時の既存ウィンドウに対する制御に“非アクティブ化”、新規ウィンドウに対するウィンドウサイズ変更の操作受付モードに“サイズ変更可”が設定されているものとする。これらの設定は、動作環境ファイル“アプレットコントローラ.properties”でデフォルトの設定よりも優先される。
【0069】
図10は、共通アプレット部品群の構成例を示す図である。共通アプレット部品群122には、共通アプレット部品122a,122b,122cが含まれる。なお、以下では、共通アプレット部品122aに関して説明するが共通アプレット部品122b,122cについても同様である。なお、共通アプレット部品122aは、例えば、住所検索サービスの処理を実行するために用いられる。
【0070】
共通アプレット部品122aには、クラスファイル、アーカイブファイルおよびウィンドウ設定ファイルが含まれる。
クラスファイルは、住所検索サービスのインタフェースとなるウィンドウを生成するためのメインのクラスであり、そのファイル名は、例えば“住所検索.class”である。
【0071】
アーカイブファイル名は、住所検索サービスを実行するための上記クラスファイル以外のクラスファイルをまとめたJARファイルであり、そのファイル名は、例えば“住所検索.jar”である。
【0072】
ウィンドウ設定ファイルは、住所検索サービスのウィンドウの設定を定義したプロパティファイルであり、そのファイル名は、例えば“住所検索.properties”である。
なお、ウィンドウ設定ファイルの設定内容に関しては、図9で示した“入金業務.properties”の内容と同様のためその説明を省略する。
【0073】
次に、以上のような構成を備えるコンピュータ100において実行される処理の詳細を説明する。
図11は、アプレットコントローラの起動処理の手順を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
【0074】
[ステップS11]ポータル生成部131は、業務サービスのポータルへのログインを受け付ける。
[ステップS12]ポータル生成部131は、ウェブサーバ200より業務サービスのポータルページのHTMLファイルをダウンロードする。なお、ポータル生成部131がダウンロードしたHTMLファイルには、コントローラ起動部132の機能を実現するためのJavaスクリプトが含まれる。ブラウザ130は、このJavaスクリプトを実行することで、コントローラ起動部132を実現する。
【0075】
[ステップS13]コントローラ起動部132は、アプレットコントローラ150が未起動であるか否かを判定する。未起動である場合、処理がステップS14に移される。起動済みである場合、処理が完了する。
【0076】
[ステップS14]コントローラ起動部132は、ウェブサーバ200からアプレットコントローラ150の起動を記述したHTMLファイルをダウンロードする。このHTMLファイルには、アプレットコントローラ150の起動に必要となるアプレットコントローラ部品の所在等が予め設定されている。
【0077】
[ステップS15]コントローラ起動部132は、上記ステップS14でダウンロードしたHTMLファイルに基づいて、ウェブサーバ200からアプレットコントローラ部品をダウンロードする。コントローラ起動部132は、ダウンロードしたアプレットコントローラ部品をアプレットコントローラ部品記憶部110に格納する。
【0078】
[ステップS16]コントローラ起動部132は、Java仮想マシン140が未起動であるか否かを判定する。未起動である場合、処理がステップS17に移される。起動済みである場合、処理がステップS18に移される。
【0079】
[ステップS17]コントローラ起動部132は、Java仮想マシン140を起動をする。
[ステップS18]コントローラ起動部132は、Java仮想マシン140にアプレットコントローラ150の起動を指示する。Java仮想マシン140は、コントローラ起動部132からの指示を取得すると、アプレットコントローラ部品記憶部110に記憶されたアプレットコントローラ部品を用いてアプレットコントローラ150を起動する。
【0080】
[ステップS19]部品要求送信部151は、“アプレットコントローラ.properties”に設定された業務アプレット部品群および共通アプレット部品群のダウンロード要求をウェブサーバ200に送信する。そして、部品受信部152は、部品要求送信部151が送信した要求に応じてウェブサーバ200から業務アプレット部品群および共通アプレット部品群を受信する。部品受信部152は、受信した業務アプレット部品群および共通アプレット部品群を業務アプレット部品記憶部120に格納する。
【0081】
[ステップS20]配置部153は、業務アプレット部品記憶部120に記憶された業務アプレット部品群および共通アプレット部品群に含まれるクラスファイルやJARファイルを所定のメモリ領域に配置し、処理が完了する。
【0082】
このように、コンピュータ100は、Java仮想マシン140およびアプレットコントローラ150を予め起動しておき、業務サービスの処理で用いる業務アプレット部品や共通アプレット部品を予め一括して取得する。
【0083】
これにより、Javaアプレットを用いる業務サービスの処理を実行する際に、業務アプレット部品等をその都度ダウンロードする必要がなくなる。また、Java仮想マシン140は予め起動されるので、Java仮想マシン140を新たに起動する必要がなくなる。
【0084】
なお、アプレットコントローラ150の起動処理は、ブラウザ130の処理と非同期で行うことができる。すなわち、ブラウザ130上では、例えば、サーブレットやJSP等によるウェブページの表示を行いつつ、業務アプレット部品のダウンロードを行うことができる。これにより、ユーザは、待機時間がなく効率良く業務を行うことができる。
【0085】
次に、上記の処理の後に、業務サービスを実行するための処理に関して詳しく説明する。
図12は、業務サービス実行処理の手順を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。なお、以下では、サービスの利用要求の例として、入金業務サービスの利用要求を受け付ける場合とする。
【0086】
[ステップS21]ブラウザ130は、Javaアプレットを用いた入金業務サービスの利用要求であるサービス要求を取得する。なお、このサービス要求には、要求対象となる業務サービスの識別情報として、業務サービス名が含まれる。
【0087】
[ステップS22]ブラウザ130は、アプレットコントローラ150が起動済みであるか否かを判定する。起動済みである場合、処理がステップS24に移される。未起動である場合、処理がステップS23に移される。
【0088】
[ステップS23]ブラウザ130は、アプレットコントローラ150が未起動である旨を通知するエラーを出力し、処理が完了する。
[ステップS24]ブラウザ130は、アプレットコントローラ150にサービス要求を出力する。
【0089】
[ステップS25]アプレットコントローラ150は、入金業務サービスのウィンドウの起動処理を実行する。そして、アプレットコントローラ150は、入金業務サービスのウィンドウを生成し、モニタ11に出力する。
【0090】
[ステップS26]アプレットコントローラ150は、上記ステップS25で出力したウィンドウに基づいて必要な情報の入力等を受け付け、入金業務の処理を実行する。
[ステップS27]アプレットコントローラ150は、ブラウザ130を介して入金業務の実行結果をウェブサーバ200に送信する。
【0091】
このようにして、ブラウザ130は、Javaアプレットを利用する業務サービスに関しては、アプレットコントローラ150にそのサービス要求を出力する。そして、上記ステップS25で示したように、アプレットコントローラ150では、ブラウザ130から取得するサービス要求の対象となる業務サービスを実行する。
【0092】
以下では、上記ステップS25の処理を更に詳細に説明する。
図13は、業務サービス起動処理の手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。なお、図13に示す処理は、図12におけるステップS25における処理を更に詳細に示したものである。
【0093】
[ステップS31]サービス要求取得部154は、ブラウザ130から取得する入金業務サービスに対するサービス要求をアプレット実行制御部155に出力する。
[ステップS32]アプレット実行制御部155は、サービス要求に含まれる要求対象の業務サービスのサービス名“入金業務”を取得する。そして、アプレット実行制御部155は、この“入金業務”の実行指示をアプレット実行部156に出力する。
【0094】
[ステップS33]アプレット実行部156は、アプレット実行制御部155から取得する実行指示から対象のサービス名“入金業務”を抽出する。そして、アプレット実行部156は、このサービス名に基づいて、業務アプレット部品記憶部120に記憶されたウィンドウ設定ファイル“入金業務.properties”を取得する。
【0095】
[ステップS34]アプレット実行部156は、動作環境ファイル“アプレットコントローラ.properties”に設定された各種デフォルトの設定やウィンドウ設定ファイル“入金業務.properties”に設定された各業務サービスの設定に基づいて、生成するウィンドウの設定を取得する。また、アプレット実行部156は、“入金業務.properties”に設定されたクラスファイル“入金業務.class”を取得する。
【0096】
[ステップS35]アプレット実行部156は、取得した“入金業務.class”により入金業務サービス用の新しいウィンドウを生成する。なお、この段階では、未だ生成されたウィンドウは、モニタ11上には表示されない。
【0097】
[ステップS36]アプレット実行部156は、“入金業務.properties”の設定に基づいて生成したウィンドウの名称、サイズおよび初期表示状態等を設定する。
[ステップS37]アプレット実行部156は、既存のウィンドウが存在するか否かを判定する。存在する場合、処理がステップS38に移される。存在しない場合、処理がステップS39に移される。
【0098】
[ステップS38]アプレット実行部156は、“入金業務.properties”の設定に基づいて既存ウィンドウに対する制御を行う。ここでは、既存ウィンドウを非アクティブ化する。
【0099】
[ステップS39]アプレット実行部156は、新規に生成した入金業務サービス用のウィンドウをモニタ11上に可視化して、処理が完了する。
このようにして、業務サービスの業務アプレット部品が実行される。
【0100】
なお、アプレット実行制御部155およびアプレット実行部156は、業務サービスの識別情報としてサービス名を用いることとしたが、他の識別情報(例えば、識別番号)により対象のサービスの識別およびウィンドウ設定ファイルの特定を行うようにしてもよい。
【0101】
また、上記ステップS38では、既存ウィンドウに対する制御として非アクティブ化を行う例を示したが、他の制御を行うこともできる。この場合、“入金業務.properties”において、その制御内容(例えば、最小化やクローズ等)を予め指定する。
【0102】
更に、共通アプレット部品により実現するサービスを各業務サービスのウィンドウから実行可能である。共通アプレット部品の実行の際にも、図13に示す処理と同様の処理により共通処理のウィンドウが新規に生成される。
【0103】
次に、図12,13で示した処理におけるコンピュータ100とウェブサーバ200との間の具体的な通信の流れを示す。
図14は、業務サービス実行処理の流れの具体例を示すシーケンス図である。以下、図14に示す処理をステップ番号に沿って説明する。
【0104】
[ステップS41]コンピュータ100は、入金業務サービスの利用要求の入力を受け付ける。
[ステップS42]コンピュータ100は、入金業務サービスの業務アプレット部品を実行し、入金業務のウィンドウをモニタ11に表示する。なお、コンピュータ100は、入金業務のウィンドウに対する操作に応じて共通アプレット部品を実行し、共通サービスのウィンドウをモニタ11に表示する。
【0105】
[ステップS43]コンピュータ100は、入金業務のウィンドウに従って入力された情報に基づいて、業務処理を実行する。
[ステップS44]コンピュータ100は、入金業務処理の実行結果をウェブサーバ200に送信する。
【0106】
[ステップS45]コンピュータ100は、出金業務サービスの利用要求の入力を受け付ける。
[ステップS46]コンピュータ100は、出金業務サービスの業務アプレット部品を実行し、出金業務のウィンドウをモニタ11に表示する。なお、コンピュータ100は、出金業務のウィンドウに対する操作に応じて共通アプレット部品を実行し、共通サービスのウィンドウをモニタ11に表示する。
【0107】
[ステップS47]コンピュータ100は、出金業務のウィンドウに従って入力された情報に基づいて、業務処理を実行する。
[ステップS48]コンピュータ100は、出金業務処理の実行結果をウェブサーバ200に送信する。
【0108】
このように、コンピュータ100は、業務サービスの利用要求を受け付けると業務アプレット部品記憶部120に記憶された業務アプレット部品を実行して各業務サービスのウィンドウを起動することができる。
【0109】
次に、比較のため、アプレットコントローラ150を用いない場合の業務サービスの実行処理の流れに関して説明する。
図15は、アプレットコントローラを利用しない場合の業務サービス実行処理の流れの具体例を示すシーケンス図である。以下、図15に示す処理をステップ番号に沿って説明する。
【0110】
[ステップS101]コンピュータ100aは、入金業務サービスの利用要求の入力を受け付ける。
[ステップS102]コンピュータ100aは、入金業務サービスの業務アプレット部品を要求する部品要求をウェブサーバ200aに送信する。
【0111】
[ステップS103]ウェブサーバ200aは、コンピュータ100aから受信する部品要求に応じて、入金業務サービスの処理に用いる業務アプレット部品および共通アプレット部品をコンピュータ100aに送信する。
【0112】
[ステップS104]コンピュータ100aは、業務アプレット部品の実行環境であるJava仮想マシンを起動する。
[ステップS105]コンピュータ100aは、ウェブサーバ200aから受信した入金業務サービスの業務アプレット部品を実行し、入金業務のウィンドウをコンピュータ100aに接続されたモニタに表示する。なお、コンピュータ100aは、入金業務のウィンドウに対する操作に応じて共通アプレット部品を実行し、共通サービスのウィンドウをモニタに表示する。
【0113】
[ステップS106]コンピュータ100aは、入金業務のウィンドウに従って入力された情報に基づいて、業務処理を実行する。
[ステップS107]コンピュータ100aは、入金業務処理の実行結果をウェブサーバ200aに送信する。
【0114】
[ステップS108]コンピュータ100aは、出金業務サービスの利用要求の入力を受け付ける。
[ステップS109]コンピュータ100aは、出金業務サービスの業務アプレット部品を要求する部品要求をウェブサーバ200aに送信する。
【0115】
[ステップS110]ウェブサーバ200aは、コンピュータ100aから受信する部品要求に応じて、出金業務サービスの処理に用いる業務アプレット部品および共通アプレット部品をコンピュータ100aに送信する。
【0116】
[ステップS111]コンピュータ100aは、ウェブサーバ200aから受信した出金業務サービスの業務アプレット部品を実行し、出金業務のウィンドウをモニタに表示する。なお、コンピュータ100aは、出金業務のウィンドウに対する操作に応じて共通アプレット部品を実行し、共通サービスのウィンドウをモニタに表示する。
【0117】
[ステップS112]コンピュータ100aは、出金業務のウィンドウに従って入力された情報に基づいて、業務処理を実行する。
[ステップS113]コンピュータ100aは、出金業務処理の実行結果をウェブサーバ200aに送信する。
【0118】
このように、アプレットコントローラ150を予め起動して業務アプレット部品や共通アプレット部品をダウンロードしていない場合には、業務サービスの利用開始時に上記ステップS102,S103,S109,S110に示す業務アプレット部品のダウンロード処理が必要となる。また、Java仮想マシンが未起動である場合には、上記ステップS104に示す起動処理が必要となる。
【0119】
これに対し、コンピュータ100は、Java仮想マシン140およびアプレットコントローラ150を予め起動する。そして、アプレットコントローラ150により業務アプレット部品や共通アプレット部品を予め一括してダウンロードする。このため、図14に示したように、業務サービスの利用開始時にJava仮想マシンの起動処理および業務アプレット部品等のダウンロード処理が発生しなくなる。これにより、サービス利用開始時の遅延を抑止することができる。
【0120】
図16は、アプレットコントローラが生成するウィンドウの第1の具体例を示す図である。ブラウザ130は、業務ポータルウィンドウ60およびアプレットコントローラウィンドウ500を生成する。これらのウィンドウは、ブラウザ130によりモニタ11に表示される。
【0121】
業務ポータルウィンドウ60は、入金業務サービスや出金業務サービス等の業務サービスの利用要求を受け付けるポータルページを表示する。コンピュータ100は、ユーザにより所定の操作入力を受け付けるとブラウザ130を起動して、業務ポータルウィンドウ60のためのHTMLファイルをウェブサーバ200から取得する。ブラウザ130は、このHTMLファイルに基づいて、業務ポータルウィンドウ60を生成する。
【0122】
アプレットコントローラウィンドウ500は、アプレットコントローラ150を実行するために起動されるウィンドウである。ブラウザ130は、業務ポータルウィンドウ60を生成した後、アプレットコントローラウィンドウ500を起動するためのHTMLファイルをウェブサーバ200から取得する。ブラウザ130は、このHTMLファイルの基づき、必要に応じてJava仮想マシン140を起動して、アプレットコントローラウィンドウ500を生成する。
【0123】
なお、アプレットコントローラウィンドウ500は、ユーザからの操作入力を直接受け付けないため、例えば、ユーザからは不可視状態にする。アプレットコントローラウィンドウ500の起動と共に、アプレットコントローラ150が起動され、業務サービスに必要なアプレット部品がウェブサーバ200から一括でダウンロードされることとなる。
【0124】
そして、ブラウザ130は、業務ポータルウィンドウ60に対するユーザによる所定の操作入力により要求された業務サービスをアプレットコントローラ150に通知する。アプレットコントローラ150は、通知された業務サービスのウィンドウを業務アプレット部品を用いて生成する。アプレットコントローラ150が生成するウィンドウは、例えば、入金業務ウィンドウ510、出金業務ウィンドウ520および共通業務ウィンドウ530である。
【0125】
入金業務ウィンドウ510は、業務ポータルウィンドウ60において入金業務サービスの利用がユーザにより選択された際に生成される。
出金業務ウィンドウ520は、業務ポータルウィンドウ60において出金業務サービスの利用がユーザにより選択された際に生成される。
【0126】
共通業務ウィンドウ530は、入金業務や出金業務で共通的に利用可能なサービスのためのウィンドウである。ここでは、共通業務ウィンドウ530は、出金業務ウィンドウ520から呼び出された場合を示している。
【0127】
アプレットコントローラ150は、共通業務ウィンドウ530が生成される際に、呼び出し元となった既存のウィンドウである出金業務ウィンドウ520に対する制御(非アクティブ化や最小化等)を行う。
【0128】
このように、アプレットコントローラ150は、ブラウザ130とは別個のウィンドウを生成する。
一方、従来Javaアプレットはブラウザ上で実行されており、Javaアプレット側の利便性の都合で自由にウィンドウに対する操作を行うことができなかった。すなわち、HTMLファイルのコードから呼び出されて実行されるJavaアプレットは、HTMLファイル内に記述されたブラウザ用のウィンドウ設定の範囲内で利用しなければならなかった。
【0129】
しかし、アプレットコントローラ150は、ブラウザ130のウィンドウとは別個のウィンドウを生成する。このため、アプレットコントローラ150は、自身が生成したウィンドウに対する制御が可能となる。これにより、各業務サービスの利便性の都合で、新規ウィンドウの生成に際しての既存ウィンドウの制御を行うことを可能とする。
【0130】
また、Javaアプレットを利用する業務サービスのウィンドウをブラウザのウィンドウとは切り離して生成するため、ユーザが業務サービスのウィンドウに対するサイズ変更等の操作を行うこともできる。
【0131】
以下では、アプレットコントローラ150により、このような操作を受け付け可能に生成されたウィンドウの具体例を説明する。
図17は、アプレットコントローラが生成するウィンドウの第2の具体例を示す図である。出金業務ウィンドウ520は、業務処理の最初の内容として、例えば、口座情報を入力するための構成となっている。出金業務ウィンドウ520は、ボタン521,522,523,524を有する。
【0132】
ボタン521は、出金業務ウィンドウ520をアイコン化するための操作入力を受け付けるボタンである。
ボタン522は、出金業務ウィンドウ520を全画面表示するための操作入力を受け付けるボタンである。
【0133】
ボタン523は、出金業務ウィンドウ520をクローズするための操作入力を受け付けるボタンである。
ボタン521,522,523を利用可能とするか否かは、動作環境ファイル(“アプレットコントローラ.properties”)や出金業務サービス用のウィンドウ設定ファイルに基づいて制御することができる。
【0134】
ボタン524は、共通業務ウィンドウ530を起動するための操作入力を受け付けるボタンである。出金業務ウィンドウ520は、ポインティングデバイスを用いてボタン524が押下されたことを検出すると、アプレットコントローラ150にその旨を通知する。アプレットコントローラ150は、この通知に基づいて、共通業務ウィンドウ530(例えば、住所検索のウィンドウ)を起動する。アプレットコントローラ150は、共通業務ウィンドウ530に対しても、出金業務ウィンドウ520のボタン521,522,523と同様にウィンドウを操作するための各種ボタンを利用可能とすることができる。
【0135】
このように、アプレットコントローラ150は、業務サービス用のウィンドウを生成する際に、ウィンドウ操作用のボタン521,522,523を生成したウィンドウに付加する。そして、ボタン521,522,523に対する操作入力を受け付けて各種ウィンドウ操作を行えるようにすることができる。
【0136】
上述したようにコンピュータ100を用いることで、ウェブサーバ200からウェブサーバ200が提供する複数のサービスの処理を実行するための業務アプレット部品や共通アプレット部品がJava仮想マシン140上のアプレットコントローラ150により予め一括して取得される。そして、コンピュータ100がサービスの利用要求であるサービス要求を受け付けると、アプレットコントローラ150により該当のサービスに対応する業務アプレット部品が読み出されて実行される。
【0137】
これにより、Javaアプレットを用いた業務サービスの利用開始時に業務アプレット部品や共通アプレット部品をサービス要求の入力を受け付けた都度ダウンロードする必要がなくなる。また、Javaアプレットの実行環境であるJava仮想マシン140は、コンピュータ100で予め実行されるので、サービス要求受け付け時にJava仮想マシン140を起動する必要がなくなる。このため、Javaアプレットのダウンロード処理やJava仮想マシン140の起動処理により生じるサービス利用開始時の遅延を抑止することができる。
【0138】
なお、上記の例では、ウェブサーバ200が提供する全ての業務サービスについてのJavaアプレットを全てダウンロードするものとしたが、例えば、利用頻度の高いJavaアプレットのみを予めダウンロードするようにしてもよい。
【0139】
また、アプレットコントローラ150の起動のタイミングを業務ポータルウィンドウ60の起動後としたが、例えば、コンピュータ100の起動が完了した直後に起動するようにしてもよい。この場合、コンピュータ100の起動後、バックグラウンドでJavaアプレットのダウンロードが実行されるので、更に、迅速に業務サービスを利用開始することができる。
【0140】
以上、本発明のサービス支援プログラムおよびサービス支援方法を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置き換えることができる。また、他の任意の構成物や工程が付加されてもよい。また、本発明は前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【0141】
なお、上記のサービス支援プログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc - Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto - Optical disk)などがある。
【0142】
上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、上述したようにプログラムをサーバに格納しておき、ネットワークを介して、サーバから他のコンピュータにそのプログラムを転送することもできる。
【0143】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム若しくはサーバから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【0144】
【図1】本実施の形態の概要を示す図である。
【図2】ウェブシステムのシステム構成を示す図である。
【図3】コンピュータのハードウェア構成を示すブロック図である。
【図4】コンピュータの機能構成を示すブロック図である。
【図5】アプレットコントローラ部品記憶部に格納されるデータの例を示す図である。
【図6】動作環境ファイルの例を示す図である。
【図7】業務アプレット部品記憶部に格納されるデータの例を示す図である。
【図8】業務アプレット部品群の構成例を示す図である。
【図9】ウィンドウ設定ファイルの例を示す図である。
【図10】共通アプレット部品群の構成例を示す図である。
【図11】アプレットコントローラの起動処理の手順を示すフローチャートである。
【図12】業務サービス実行処理の手順を示すフローチャートである。
【図13】業務サービス起動処理の手順を示すフローチャートである。
【図14】業務サービス実行処理の流れの具体例を示すシーケンス図である。
【図15】アプレットコントローラを利用しない場合の業務サービス実行処理の流れの具体例を示すシーケンス図である。
【図16】アプレットコントローラが生成するウィンドウの第1の具体例を示す図である。
【図17】アプレットコントローラが生成するウィンドウの第2の具体例を示す図である。
【符号の説明】
【0145】
1 コンピュータ
1a 部品要求送信手段
1b 部品受信手段
1c 部品記憶手段
1d サービス要求取得手段
1e 実行制御手段
1f 実行手段
M1 サービスA用部品
M2 サービスB用部品
M3 サービスC用部品
M4 サービスD用部品
【特許請求の範囲】
【請求項1】
コンピュータを、
サーバが提供する複数のサービスの処理に用いる複数のプログラム部品を要求する部品要求を前記サーバに送信する部品要求送信手段、
前記複数のプログラム部品と前記複数のサービスの識別情報との対応付けを定義した環境情報を前記複数のプログラム部品と共に記憶する部品記憶手段、
前記部品要求送信手段が送信した前記部品要求に応じて前記サーバから前記複数のプログラム部品と前記環境情報とを受信し、受信した前記複数のプログラム部品と前記環境情報とを前記部品記憶手段に格納する部品受信手段、
前記複数のサービスのうちの少なくとも1つのサービスの利用を要求するサービス要求を受け付けると、要求対象の前記サービスの前記識別情報を含む実行指示を出力する実行制御手段、
前記実行制御手段が出力した前記実行指示と前記部品記憶手段に記憶された前記環境情報とに基づいて、前記部品記憶手段に記憶された複数のプログラム部品のうち、前記実行指示に含まれる前記識別情報に対応するプログラム部品を実行する実行手段、
として機能させることを特徴とするサービス支援プログラム。
【請求項2】
前記コンピュータを、更に、前記サービス要求を受け付けるためのユーザの操作入力を受け付けるインタフェースを生成するブラウザ手段として機能させ、
前記部品要求送信手段は、前記ブラウザ手段が前記インタフェースを生成した後に、前記部品要求を前記サーバに送信する、
ことを特徴とする請求項1記載のサービス支援プログラム。
【請求項3】
前記部品要求送信手段は、前記コンピュータの起動が完了した後に、前記部品要求を前記サーバに送信することを特徴とする請求項1記載のサービス支援プログラム。
【請求項4】
前記環境情報は、前記複数のサービスそれぞれのインタフェースとなるウィンドウの生成を制御するためのウィンドウ制御情報を含んでおり、
前記実行手段は、前記部品記憶手段に記憶された前記環境情報に含まれる前記ウィンドウ制御情報に基づいて前記サービス要求対象の前記プログラム部品を実行し、前記サービスの前記ウィンドウを生成する、
ことを特徴とする請求項1乃至3記載のサービス支援プログラム。
【請求項5】
前記ウィンドウ制御情報は、前記ウィンドウを生成する際に、既存のウィンドウの形態を制御可能とするための設定情報を含んでおり、
前記実行手段は、前記部品記憶手段に記憶された前記環境情報に含まれる前記ウィンドウ制御情報に基づいて、前記ウィンドウを生成する際に前記既存のウィンドウの形態を制御する、
ことを特徴とする請求項4記載のサービス支援プログラム。
【請求項6】
前記ウィンドウ制御情報は、前記ウィンドウのサイズの変更操作を受け付け可能とするための設定情報を含んでおり、
前記実行手段は、前記部品記憶手段に記憶された前記環境情報に含まれる前記ウィンドウ制御情報に基づいて、前記ウィンドウを前記サイズの変更操作を受け付け可能に生成する、
ことを特徴とする請求項4または5記載のサービス支援プログラム。
【請求項7】
前記複数のプログラム部品は、前記複数のサービスの処理を実現する複数のアプレットを実行するためのコンポーネントであることを特徴とする請求項1乃至6記載のサービス支援プログラム。
【請求項8】
サーバが提供する複数のサービスの利用を支援するコンピュータのサービス支援方法であって、
部品要求送信手段が、所定の部品取得指示を受け付けると、前記複数のサービスの実行に用いる複数のプログラム部品を要求する部品要求を前記サーバに送信し、
部品受信手段が、前記部品要求送信手段が送信した前記部品要求に応じて前記サーバから前記複数のプログラム部品を受信し、受信した前記複数のプログラム部品を前記複数のサービスそれぞれの識別情報に対応付けて部品記憶手段に格納し、
実行制御手段が、前記複数のサービスのうちの少なくとも1つのサービスの利用を要求するサービス要求を受け付けると、要求対象の前記サービスの前記識別情報を含む実行指示を出力し、
実行手段が、前記実行制御手段が出力した前記実行指示と前記部品記憶手段に記憶された前記環境情報とに基づいて、前記部品記憶手段に記憶された複数のプログラム部品のうち、前記実行指示に含まれる前記識別情報に対応するプログラム部品を実行する、
ことを特徴とするサービス支援方法。
【請求項1】
コンピュータを、
サーバが提供する複数のサービスの処理に用いる複数のプログラム部品を要求する部品要求を前記サーバに送信する部品要求送信手段、
前記複数のプログラム部品と前記複数のサービスの識別情報との対応付けを定義した環境情報を前記複数のプログラム部品と共に記憶する部品記憶手段、
前記部品要求送信手段が送信した前記部品要求に応じて前記サーバから前記複数のプログラム部品と前記環境情報とを受信し、受信した前記複数のプログラム部品と前記環境情報とを前記部品記憶手段に格納する部品受信手段、
前記複数のサービスのうちの少なくとも1つのサービスの利用を要求するサービス要求を受け付けると、要求対象の前記サービスの前記識別情報を含む実行指示を出力する実行制御手段、
前記実行制御手段が出力した前記実行指示と前記部品記憶手段に記憶された前記環境情報とに基づいて、前記部品記憶手段に記憶された複数のプログラム部品のうち、前記実行指示に含まれる前記識別情報に対応するプログラム部品を実行する実行手段、
として機能させることを特徴とするサービス支援プログラム。
【請求項2】
前記コンピュータを、更に、前記サービス要求を受け付けるためのユーザの操作入力を受け付けるインタフェースを生成するブラウザ手段として機能させ、
前記部品要求送信手段は、前記ブラウザ手段が前記インタフェースを生成した後に、前記部品要求を前記サーバに送信する、
ことを特徴とする請求項1記載のサービス支援プログラム。
【請求項3】
前記部品要求送信手段は、前記コンピュータの起動が完了した後に、前記部品要求を前記サーバに送信することを特徴とする請求項1記載のサービス支援プログラム。
【請求項4】
前記環境情報は、前記複数のサービスそれぞれのインタフェースとなるウィンドウの生成を制御するためのウィンドウ制御情報を含んでおり、
前記実行手段は、前記部品記憶手段に記憶された前記環境情報に含まれる前記ウィンドウ制御情報に基づいて前記サービス要求対象の前記プログラム部品を実行し、前記サービスの前記ウィンドウを生成する、
ことを特徴とする請求項1乃至3記載のサービス支援プログラム。
【請求項5】
前記ウィンドウ制御情報は、前記ウィンドウを生成する際に、既存のウィンドウの形態を制御可能とするための設定情報を含んでおり、
前記実行手段は、前記部品記憶手段に記憶された前記環境情報に含まれる前記ウィンドウ制御情報に基づいて、前記ウィンドウを生成する際に前記既存のウィンドウの形態を制御する、
ことを特徴とする請求項4記載のサービス支援プログラム。
【請求項6】
前記ウィンドウ制御情報は、前記ウィンドウのサイズの変更操作を受け付け可能とするための設定情報を含んでおり、
前記実行手段は、前記部品記憶手段に記憶された前記環境情報に含まれる前記ウィンドウ制御情報に基づいて、前記ウィンドウを前記サイズの変更操作を受け付け可能に生成する、
ことを特徴とする請求項4または5記載のサービス支援プログラム。
【請求項7】
前記複数のプログラム部品は、前記複数のサービスの処理を実現する複数のアプレットを実行するためのコンポーネントであることを特徴とする請求項1乃至6記載のサービス支援プログラム。
【請求項8】
サーバが提供する複数のサービスの利用を支援するコンピュータのサービス支援方法であって、
部品要求送信手段が、所定の部品取得指示を受け付けると、前記複数のサービスの実行に用いる複数のプログラム部品を要求する部品要求を前記サーバに送信し、
部品受信手段が、前記部品要求送信手段が送信した前記部品要求に応じて前記サーバから前記複数のプログラム部品を受信し、受信した前記複数のプログラム部品を前記複数のサービスそれぞれの識別情報に対応付けて部品記憶手段に格納し、
実行制御手段が、前記複数のサービスのうちの少なくとも1つのサービスの利用を要求するサービス要求を受け付けると、要求対象の前記サービスの前記識別情報を含む実行指示を出力し、
実行手段が、前記実行制御手段が出力した前記実行指示と前記部品記憶手段に記憶された前記環境情報とに基づいて、前記部品記憶手段に記憶された複数のプログラム部品のうち、前記実行指示に含まれる前記識別情報に対応するプログラム部品を実行する、
ことを特徴とするサービス支援方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2010−97543(P2010−97543A)
【公開日】平成22年4月30日(2010.4.30)
【国際特許分類】
【出願番号】特願2008−269670(P2008−269670)
【出願日】平成20年10月20日(2008.10.20)
【出願人】(000237639)富士通フロンテック株式会社 (667)
【Fターム(参考)】
【公開日】平成22年4月30日(2010.4.30)
【国際特許分類】
【出願日】平成20年10月20日(2008.10.20)
【出願人】(000237639)富士通フロンテック株式会社 (667)
【Fターム(参考)】
[ Back to top ]