説明

処理自動化コンピュータ・プログラム

【課題】クライアント端末を操作するユーザがWebブラウザを通じて行っていた繁雑な作業を自動化し、ユーザの負担軽減を図る。
【解決手段】サーバ部1と、処理部2と、クライアント部3a,3bとをゲストOS上に構築する。処理部2は、サーバ部1を介してWebブラウザより取得した処理実行要求に応じて、少なくとも一部の処理の実行をクライアント部3bを介して処理代行サーバ30に依頼する。処理部2は、処理代行サーバ30から取得したのデータに応じて、クライアント部3aを介して送信先サーバ20に処理済データをアップロードする。処理部2は、処理実行要求に対する結果をサーバ部1を介してWebブラウザに送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、Webブラウザと連係して動作する処理自動化コンピュータ・プログラムに関する。
【背景技術】
【0002】
例えば、特許文献1には、ユーザ・ステーションにエミュレータ機能を実装し、これを用いてターゲット・ホストにアクセスするアクセス方法が開示されている。具体的には、ユーザ・ステーションは、ホスト・サーバ上に常駐する機能にアクセスし、自己のエミュレータ機能をインスタンス化するように要求する。つぎに、このステーションは、インスタンス化された機能を実行することによって、ホスト・サーバ上のエミュレーション・サーバにアクセスし、ターゲット・ホストとユーザ・ステーションとの間でセッションを確立する。ホストとクライアントとの間の対話は、プラットフォーム固有のサーバ機能を使用せず、スクリーンに対するホスト情報データストリーム操作を使用して直接実施される。この引用文献1には、エミュレータ機能を用いた外部システムと間のデータ送受信については開示されているが、Webブラウザとアプリケーションとの連係処理については何ら開示されていない。
【0003】
【特許文献1】特開平11−15784号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
本発明の目的は、Webブラウザと連係した処理をコンピュータに実行させる新規なコンピュータ・プログラムを提供することである。
【0005】
また、本発明の別の目的は、クライアント端末を操作するユーザがWebブラウザを通じて行っていた繁雑な作業を自動化し、ユーザの負担軽減を図ることである。
【0006】
また、本発明の別の目的は、このような自動処理をクライアント端末に実行させるコンピュータ・プログラムに関して、プラットフォーム依存性の低減を図ることである。
【0007】
さらに、本発明の別の目的は、送信先サーバからみたクライアント端末の同一性を確保することである。
【課題を解決するための手段】
【0008】
かかる課題を解決するために、第1の発明は、ネイティブのホストOS上で動作するWebブラウザと連係して、クライアント端末となるコンピュータを動作させる処理自動化コンピュータ・プログラムを提供する。このプログラムは、ホストOS上で動作するハードウェア・エミュレータによってエミュレートされたゲストOS上に、サーバ部と、第1のクライアント部と、第2のクライアント部と、処理部とを構築する各ステップを有する。サーバ部は、ネイティブのホストOS上で動作するWebブラウザとの間のデータ転送をTCP/IPにて行う機能と、Webブラウザより入力されたURLによって特定されるメニュー画面をWebブラウザに送信する機能と、このメニュー画面に応じてWebブラウザから送信されたユーザの処理実行要求を受信する機能とを有する。第1のクライアント部は、コンピュータに通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をTCP/IPにて行う機能を有する。第2のクライアント部は、コンピュータに通信ネットワークを介して外部接続された処理代行サーバとの間のデータ転送をTCP/IPにて行う機能を有する。処理部は、サーバ部を介して取得した処理実行要求に応じて、少なくとも一部の処理の実行を第2のクライアント部を介して処理代行サーバに依頼する機能と、第2のクライアント部を介して取得した処理代行サーバからのデータに応じて、第1のクライアント部を介して送信先サーバに処理済データをアップロードする機能と、処理実行要求に対する結果をサーバ部を介してWebブラウザに送信する機能とを有する。
【0009】
第2の発明は、一のOS上で動作するWebブラウザと連係して、クライアント端末を動作させる処理自動化コンピュータ・プログラムを提供する。このプログラムは、Webブラウザと同じOS上に、サーバ部と、第1のクライアント部と、第2のクライアント部と、処理部とを構築する各ステップを有する。サーバ部は、Webブラウザとの間のデータ転送をTCP/IPにて行う機能と、Webブラウザより入力されたURLによって特定されるメニュー画面をWebブラウザに送信する機能と、メニュー画面に応じてWebブラウザから送信された処理実行要求を受信する機能とを有する。第1のクライアント部は、クライアント端末に通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をTCP/IPにて行う機能を有する。第2のクライアント部は、クライアント端末に通信ネットワークを介して外部接続された処理代行サーバとの間のデータ転送をTCP/IPにて行う機能を有する。処理部は、サーバ部を介して取得した処理実行要求に応じて、少なくとも一部の処理の実行を第2のクライアント部を介して処理代行サーバに依頼する機能と、第2のクライアント部を介して取得した処理代行サーバからのデータに応じて、第1のクライアント部を介して送信先サーバに処理済データをアップロードする機能と、処理実行要求に対する結果をサーバ部を介してWebブラウザに送信する機能とを有する。
【0010】
ここで、第1または第2の発明において、処理部は、処理代行サーバへの依頼に先立ち、第1のクライアント部を介して送信先サーバから元データをダウンロードする機能をさらに有していてもよい。この場合、処理代行サーバへの依頼は、ダウンロードされた元データの付加を伴う。
【0011】
第3の発明は、ネイティブのホストOS上で動作するWebブラウザと連係して、クライアント端末となるコンピュータを動作させる処理自動化コンピュータ・プログラムを提供する。このプログラムは、ホストOS上で動作するハードウェア・エミュレータによってエミュレートされたゲストOS上に、サーバ部と、第1のクライアント部と、処理部とを構築する各ステップを有する。サーバ部および第1のクライアント部の構成は、第1の発明のそれらと同様である。処理部は、サーバ部を介して取得した処理実行要求に応じた所定の処理をバックグラウンドで実行する機能と、所定の処理によって生成された処理済データを第1のクライアント部を介して送信先サーバにアップロードする機能と、処理実行要求に対する結果をサーバ部を介してWebブラウザに送信する機能とを有する。
【0012】
第4の発明は、一のOS上で動作するWebブラウザと連係して、クライアント端末を動作させる処理自動化コンピュータ・プログラムを提供する。このプログラムは、Webブラウザと同じOS上に、サーバ部と、第1のクライアント部と、処理部とを構築する各ステップを有する。サーバ部は、Webブラウザとの間のデータ転送をTCP/IPにて行う機能と、Webブラウザより入力されたURLによって特定されるメニュー画面をWebブラウザに送信する機能と、メニュー画面に応じてWebブラウザから送信された処理実行要求を受信する機能とを有する。第1のクライアント部は、クライアント端末に通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をTCP/IPにて行う機能を有する。処理部は、サーバ部を介して取得した処理実行要求に応じた所定の処理をバックグラウンドで実行する機能と、所定の処理によって生成された処理済データを第1のクライアント部を介して送信先サーバにアップロードする機能と、処理実行要求に対する結果をサーバ部を介してWebブラウザに送信する機能とを有する。
【0013】
ここで、第3または第4の発明において、処理部は、所定の処理の実行に先立ち、第1のクライアント部を介して送信先サーバから元データをダウンロードする機能をさらに有し、所定の処理は、ダウンロードされた元データを入力として実行されることが好ましい。
【0014】
また、第1から第4の発明のいずれかにおいて、処理部がアクセス可能な記憶領域には、送信先サーバのネットワーク上の初期アドレスの指定と、この指定された初期アドレスを起点とした外部システムから送信先サーバへのアクセス手順の記述とを含むアクセスポリシーが送信先サーバ毎に記憶されており、処理部は、送信先サーバ毎に個別に設定されたアクセスポリシーに基づいて、複数の送信先サーバに対する処理済データの送信を一括で行うことが好ましい。
【0015】
さらに、第1から第4の発明のいずれかにおいて、処理部は、第1のクライアント部を介した送信先サーバとの間のデータ転送において、Webブラウザと同様の転送シーケンスで、クッキー情報の転送を行う機能と、クッキー情報を自己がアクセス可能な記憶領域に随時記憶する機能とをさらに有することが好ましい。この場合、処理部は、第1のクライアント部を介した送信先サーバとの間のデータ転送において、Webブラウザと同様の転送シーケンスで、リファラー情報の転送を行う機能と、リファラー情報を自己がアクセス可能な記憶領域に随時記憶する機能とをさらに有することが好ましい。また、処理部は、第1のクライアント部を介した送信先サーバとの間のデータ転送において、ユーザエージェント情報の転送を行う機能と、ユーザエージェント情報を自己がアクセス可能な記憶領域に記憶する機能とをさらに有していてもよい。
【発明の効果】
【0016】
第1または第3の発明によれば、クライアント端末を操作するユーザがWebブラウザを通じて行っていた繁雑な作業を、ゲストOS上でコンピュータ・プログラムを動作させることによって、プラットフォーム依存性を低減させつつ自動化できる。第2または第4の発明によれば、クライアント端末を操作するユーザがWebブラウザを通じて行っていた繁雑な作業を、コンピュータ・プログラムの動作によって自動化できる。また、第1から第4の発明において、クッキー情報、リファラー情報またはユーザエージェント情報を含むブラウザ情報に関するデータ転送をWebブラウザと同様の転送シーケンスで行えば、送信先サーバからみたクライアント端末の同一性を確保することができる。
【発明を実施するための最良の形態】
【0017】
(第1の実施形態)
図1は、第1の実施形態に係るネットワークシステムの構成図である。一般的な通信ネットワークであるインターネットには、クライアント端末10と、複数の送信先サーバ20と、処理代行サーバ30とが接続されている。クライアント端末10と送信先サーバ20との間のデータ転送、およびクライアント端末10と処理代行サーバ30との間のデータ転送はTCP/IP(Transmission Control Protocol/Internet Protocol)にて行われる。クライアント端末10は、送信先サーバ20に必要な手続を行おうとするユーザが操作可能な端末である。送信先サーバ20は、クライアント端末10からの要求に応じて、これに元データ(ユーザが必要事項を入力すべきデータ)を送信する。それとともに、送信先サーバ20は、クライアント端末10から送信された処理済データ(元データに必要事項が入力されたデータ)に基づいて、所定の処理(例えば、データの登録処理)を実行する。処理代行サーバ30は、クライアント端末10側において本来行われるべき処理の少なくとも一部を、クライアント端末10からの依頼に応じて代行する。
【0018】
クライアント端末10となるコンピュータ上には、ホストOS(OSは「オペレーティング・システム」の略)をプラットフォームとした仮想マシン環境が構築されている。この仮想マシン環境では、異なる複数のOSが同一のコンピュータ(クライアント端末10)上に併存している。クライアント端末10を動作させるネイティブのホストOSとしては、例えば、エンドユーザにとって最もポピュラーなWindows(登録商標)を用いることができる。インターネット・エクスプローラ(IE)等に代表されるWebブラウザは、このホストOS上で動作する。Linux等のゲストOSは、ハードウェア・エミュレータによってホストOS上にエミュレートされている。ハードウェア・エミュレータとしては、例えば、Qemu、VMware、バーチャルPCといった周知のエミュレータを用いることができる。ハードウェア・エミュレータが仮想的に生成するコンピュータは、一般的なパソコンとほぼ同様に動作し、PC/AT互換機で動作するほとんどのOSを動作させることができる。このため、ホストOSとなるWindows(登録商標)上のハードウェア・エミュレータでゲストOSとなるLinux(登録商標)を動作させる、逆にLinux(ホストOS)上のハードウェア・エミュレータでゲストOSとなるWindows(登録商標)を動作させるといったことが可能になる。また、ハードウェア・エミュレータ上にインストールされたゲストOS上で、アプリケーション・プログラムを動作させることも可能である。このアプリケーション・プログラムは、ホストOS上で動作するWebブラウザと連係して、クライアント端末10を動作させる。これによって、サーバ部1と、処理部2と、クライアント部3と、データベース4とが、エミュレートされたゲストOS上に構築される。
【0019】
サーバ部1は、Webブラウザ(Webクライアント)との間のデータ転送を仲介し、Webブラウザからの命令・指示を受け付ける役割を担っている。このサーバ部1は、ネイティブのホストOS上で動作するWebブラウザとの間のデータ転送をTCP/IP、より具体的にはHTTP(HyperText Transfer Protocol)またはFTP(File Transfer Protocol)にて行う。また、サーバ部1は、Webブラウザより入力されたURL(Uniform Resource Locator)によって特定されるメニュー画面をWebブラウザに送信し、これによって、クライアント端末10の表示部(図示せず)にこの画面が表示させる。それとともに、サーバ部1は、この表示に応じて、Webブラウザから送信されたユーザの処理実行要求(メニュー画面の選択肢の中からユーザによって選択されたもの)を受信する。サーバ部1は、例えばApache(アパッチ)を用いて構成可能である。Apacheは、NCSA httpd 1.3をベースにとしたWebサーバであり、UNIX(登録商標)系OSやWindows(登録商標)で動作するフリーソフトウェアとして知られている。現在のApacheは、単独で動作するWebサーバとなっており、最もポピュラーかつ著名なWebサーバである。
【0020】
クライアント部3は、クライアント端末10に通信ネットワークを介して接続された外部サーバとの間で、データ転送を仲介する役割を担っている。クライアント部3は、第1のクライアント部3aと、第2のクライアント部3bとで構成されている。なお、図1は、クライアント部3と外部システムとの接続関係を概念的に示したものであり、実際のデータの送受信は、ゲストOSとハードウェア・エミュレータとを経由して、ホストOS側より行われる。
【0021】
第1のクライアント部3aは、送信先サーバ20へのアクセスをWebブラウザに代わって行う仮想代行ブラウザとしての役割を有する。このクライアント部3aは、クライアント端末10に通信ネットワークを介して外部接続された送信先サーバ20との間のデータ転送をTCP/IP、より具体的にはHTTPにて行う。このクライアント部3aは、例えばCurl(カール)やLWP(Livwww−perl)等を用いて構成可能である。Curlは、クライアントサイドの通信ライブラリで、Libcurlと呼ばれることもある。この周知な通信ライブラリは、FTP、FTPS、HTTP、HTTPS、GOPHER、TELNET、DICT、FILEやLDAPに対応している他、HTTPS認証、HTTP POST、HTTP PUT、FTPアップロード、kerberos、HTTP formによるアップロード、プロキシ、クッキー、ユーザとパスワードに基づく認証、ファイル転送時のレジューム、HTTPプロキシのトンネリング等にも対応している。また、このライブラリは、移植が容易で、多数のプラットフォームで全く同じようにコンパイルでき、かつ動作する。一方、LWPは、WWW上のデータ(主としてホームページ等)の取得や処理を行うためのライブラリである。
【0022】
第2のクライアント部3bは、処理代行サーバ30のクライアントとしての役割を有し、クライアント端末10に通信ネットワークを介して外部接続された処理代行サーバ30との間のデータ転送をTCP/IP、より具体的には、HTTP+XML、SOAP、XML−RPC、ATOM−APIまたはソケット通信等の通信手段を用いた暗号化通信にて行う。なお、ソケット通信では、処理代行サーバ30からクライアント端末10をキックできるが、これ以外の通信手段ではリクエスト−レスポンスの手法が採られる。第2のクライアント部3bは、上述したCurl等を用いて構成可能である。
【0023】
処理部2は、処理代行サーバ30への処理の振り分けを含めて、送信先サーバ20に対して送信すべきデータの生成に必要な処理を実行する。具体的には、処理部2は、サーバ部1を介して取得した処理実行要求に応じて、少なくとも一部の処理の実行を第2のクライアント部3bを介して処理代行サーバ30に依頼する。また、処理部2は、第2のクライアント部3bを介して取得した処理代行サーバからのデータに応じて、第1のクライアント部3aを介して送信先サーバ20に処理済データをアップロードする。さらに処理部2は、処理実行要求に対する結果をサーバ部1を介してWebブラウザに送信する。処理部2は、PHP(Hypertext Preprocessor)、Perl(Practical Extraction and Report Language)またはJAVA(登録商標)等を用いて構成可能である。PHPは、動的にWebページを生成するWebサーバの拡張機能の一つであり、また、そこで使われるスクリプト言語である。これを用いることにより、レイアウトの「雛形」となるHTMLファイル内に処理内容を記述したスクリプトを埋め込み、処理結果に応じて動的に文書を生成・送出することが可能になる。PHPは、動的に生成されるページの作成に適している。Perlは、テキストの検索や抽出、レポート作成に向いたプログラム言語である。Perlは、インタプリタ型であるため、プログラムを作成したら、コンパイルなどの処理を行なうことなく、すぐに実行することが可能で、豊富な機能を有しているが故にCGIの開発によく使われる。
【0024】
データベース4は、処理部2が上記処理を実行する上で必要となる各種情報が記憶されている。ここに記憶されるべき情報は、各送信先サーバ20へのアクセス用ID、パスワードを含む個人情報、或いは、処理代行サーバ30にて管理するのが好ましくない情報等を含むが、本実施形態との関係では、特に、アクセスポリシーとブラウザ情報とが重要になる。「アクセスポリシー」は、送信先サーバ20のネットワーク上の初期アドレス(初期URL)の指定と、この指定された初期アドレスを起点とした外部システムから送信先サーバ20へのアクセス手順の記述とを含む。アクセスポリシーは、送信先サーバ20毎に独自に設定されているので、送信先サーバ20毎に記述されている。また、同一の送信先サーバ20でも依頼内容によってアクセスポリシーが異なるので、それぞれの依頼内容毎に記述されている。
【0025】
ここで、アクセスポリシーの具体例を以下に示す。
(例1)
(1)初期URLへのアクセス
(2)ID,PWの入力
(3)クッキーの取得、これに続くフォーム送信用のURLの取得
(4)取得したURLへのフォーム(処理済データ)の送信(完了)
(例2)
(1)初期URLへのアクセス
(2)ID,PWの入力
(3)取得したURLへの個別フォーム(処理済データ)の送信、これに続くクッキーの取得
(4)取得したクッキーを確認用URLに送信(完了)
【0026】
一方、ブラウザ情報は、送信先サーバ20が外部システムからのアクセスを受諾するか否かを判断するために用いられる情報である。ブラウザ情報には、クッキー情報、リファラー情報、ユーザエージェント情報と、IPアドレスの4種類がある。本実施形態では、この内の前三者がデータベース4に随時記憶され、送信先サーバ20との間のデータ転送において付加される。
【0027】
ここで、「クッキー情報(Cookie)」は、クッキーWebサイトの提供者がWebブラウザを通じて訪問者のコンピュータに一時的に書き込み・保存するるデータである。周知のように、クッキー情報には、ユーザに関する情報や最後にサイトを訪れた日時、そのサイトの訪問回数などが含まれるが、この情報は、ユーザの識別、または、認証システムやWWWサービスをユーザ毎にカスタマイズするパーソナライズシステムの要素技術として利用される。処理部2は、第1のクライアント部3aを介した送信先サーバ20との間のデータ転送において、Webブラウザと同様の転送シーケンスで、クッキー情報の転送(送受信)を行う。また、処理部2は、クッキー情報を自己がアクセス可能な記憶領域(データベース4またはハードウェア・エミュレータ上のRAM)に随時記憶する。クッキー情報は、Webブラウザと同じ動作をすることによって、正規のものが取得される。
【0028】
「リファラー情報」は、送信先サーバ20との間の一連のやり取りにおいて、クライアント端末10が直前にアクセスしたコンテンツのURLである。処理部2は、第1のクライアント部3aを介した送信先サーバ20との間のデータ転送において、Webブラウザと同様の転送シーケンスで、リファラー情報の転送(送信)を行うとともに、リファラー情報を記憶領域に随時記憶する。リファラー情報は、Webブラウザが本来辿るのと同一の経路を辿ることによって、正規のものが取得される。
【0029】
また、「ユーザエージェント情報」は、Webブラウザ(IE、ネットスケープナビゲータ、オペラ等)の種類を示す情報であり、サーバ部1を介してWebブラウザから承継される。処理部2は、Webブラウザとの間でデータ転送するサーバ部1を介して、Webブラウザから送信されたユーザエージェント情報を取得し、これを記憶領域に記憶する。また、処理部2は、第1のクライアント部3aを介した送信先サーバ20との間のデータ転送において、Webブラウザと同様の転送シーケンスで、ユーザエージェント情報の転送(送信)を行う。
【0030】
なお、「IPアドレス」については、ハードウェア・エミュレータ上で第1のクライアント部3aが動作するので、当然ながらWebブラウザと同一になる。すなわち、ハードウェア・エミュレータ自体の機能によって、Webブラウザと同一のIPアドレスが付与される。したがって、アプリケーション・プログラムでIPアドレスを管理する必要はない。また、アプリケーション・プログラムによって管理される3種類のブラウザ情報に関しては、これらのすべてを管理する必要は必ずしもなく、送信先サーバ20におけるアクセス受諾の判断に用いる情報のみを管理すれば足りる。一般的には、クッキー情報が最も重要度が高く、次いでリファラー情報、そして最も重要度が低いのがユーザエージェント情報となるであろう。
【0031】
処理部2は、ブラウザ情報の転送シーケンスに関して、Webブラウザの動作をエミュレートしている。一つの具体例として、ログイン認証時におけるブラウザ情報の転送シーケンスについて説明する。まず最初に、処理部2は、Webブラウザより取得したユーザエージェント情報をセットした上で、ログイン画面の取得依頼を送信先サーバ20に送信する。つぎに、処理部2は、依頼に係るログイン画面を受信する。その際、ログイン画面の受信時のみセットされるクッキー情報も併せて受信され、これが記憶領域に記憶される。処理部2は、ログイン情報(ID、パスワード)、先に受信したクッキー情報、および、リファラー情報(ログイン画面のURL)を送信先サーバ20に送信する。送信先サーバ20においてログインが確認された場合、処理部2は、ログイン受領画面を受信するとともに、ログイン完了時のみ発行されるクッキー情報を受信・記憶する。それ以降、処理部2からの送信データには、ログイン完了時のクッキー情報が常に付与され、ログイン完了済であることを送信先サーバ20に認証させつつ、処理が遂行される。以上の説明からわかるように、処理部2の動作によって、ログイン認証時におけるブラウザ情報の転送シーケンスは本来のWebブラウザのそれと同様になる。
【0032】
ログイン認証以外のケースにおいてもブラウザ情報の転送シーケンスはWebブラウザのそれと同様になるが、その具体的な転送シーケンスについては当業者にとって自明である(上記具体例から明白である)。なお、上記ブラウザ情報の詳細およびその転送シーケンスについては、インターネットに関する技術標準を規定する団体(IETF)が正式に発行する下記RFC(Request For Comment)に詳述されているので、必要ならば参照されたい。

(1)RFC 2616 HTTP/1.1仕様(リファラー、ユーザーエージェントに関する記述)
http://www.studyinghttp.net/cgi-bin/rfc.cgi?2616
(2)RFC 2965(クッキーの仕様)
http://www.studyinghttp.net/cgi-bin/rfc.cgi?2965
【0033】
つぎに、本実施形態に係るネットワークシステムにおけるデータ処理の流れについて説明する。まず、クライアント端末10を操作するユーザは、Webブラウザに特定のURLを入力し、このURLによって特定されるメニュー画面の取得をサーバ部1に依頼する。この依頼を受信したサーバ部1は、取得依頼に係るメニュー画面をWebブラウザに送信し、これによって、メニュー画面がクライアント端末10の表示部に表示される。ユーザは、メニュー画面に表示された選択肢の中から所望のものを選択する。これによって、Webブラウザからサーバ部1に対して、選択された処理実行要求が送信される。サーバ部1は、受信した処理実行要求を処理部2に転送する。
【0034】
これを受けた処理部2は、第1のクライアント部3aを介して、記憶領域に記憶されたアクセスポリシー(送信先サーバ20のURLを含む)にしたがって、複数の送信先サーバ20に元データ(例えばブランクの入力画面)の取得を個別に依頼する。それぞれの送信先サーバ20は、依頼に係る元データを第1のクライアント部3aに送信する。第1のクライアント部3aは、個別にダウンロードした元データを処理部2に転送する。これらの元データは、本来、Webブラウザを通じてユーザが入力・編集すべきものであるが、本実施形態ではユーザの手を煩わせることなく、アプリケーション・プログラムの動作によって、バックグラウンドで自動的に処理される。
【0035】
元データを取得した処理部2は、少なくとも一部の処理の実行を処理代行サーバ30に代行させるべく、URLを指定して、第2のクライアント部3bを介して処理代行サーバ30に処理依頼を送信する。当然ながら、処理代行サーバ30への依頼に際しては、送信先サーバ20から個別にダウンロードした元データが付加され、これらがセットで送信されることになる。処理依頼を受信した処理代行サーバ30は、例えば、元データのHTML解析を行った上で必要な情報を入力するといった如く、所定の処理を実行し、処理済のデータを第2のクライアント部3bに送信する。第2のクライアント部3bは、処理代行サーバ30より受信したデータを処理部2に転送する。
【0036】
このデータを取得した処理部2は、これをそのまま、または、これに所定の処理を施す。そして、処理部2は、記憶領域に記憶されたアクセスポリシーにしたがって、各送信先サーバ20に対して、処理済データ(例えば、必要事項が記入された画面)をアップロードする。このアップロードに際しては、第1のクライアント部3aと送信先サーバ20との間のデータ転送が複数回繰り返されることもある(このシーケンスはアクセスポリシーに依存する)。また、処理部2は、処理実行要求に対する結果をサーバ部1を介してWebブラウザに送信する。具体的には、同期処理の場合には、送信先サーバ20から返信された処理結果がWebブラウザに転送される。また、非同期処理の場合には、送信先サーバ20が処理を受諾した旨の通知が転送される。この場合、処理結果は、送信先サーバ20での処理が完了した際、送信先サーバ20からクライアント端末10にメール等で別途送信されることになる。
【0037】
このように、本実施形態によれば、Webブラウザとの連係したアプリケーション・プログラムの動作によって、クライアント端末10のユーザがWebブラウザを通じて行っていた作業を自動化できる。したがって、ユーザの入力・送信作業の省力化でき、ユーザの負担軽減を図ることができる。特に、複数の送信先サーバ20から元データを個別にダウンロードし、処理済データを個別にアップロードする手続を繰り返す場合、自動化によるメリットは大きい。それとともに、ユーザにとって馴染みの深いWebブラウザをそのまま使用できるので、ユーザインターフェースとしての利便性を損なうことなく、機能の拡張を図ることができる。また、外部の処理代行サーバ30に処理を代行させているので、クライアント端末10にインストールされるアプリケーション・プログラム自体を小型化でき、かつ、処理内容の変更に関しても、柔軟に対応することが可能になる。
【0038】
また、本実施形態によれば、このような自動処理をクライアント端末10に実行させるアプリケーション・プログラムに関して、プラットフォーム依存性の低減を図ることができる。ここで、比較例として、Webブラウザと連係するアプリケーションをネイティブのOS上で動作させる場合(Webブラウザにアドオンする場合も含む)について考える。この場合、サポートコストが多大となり、アプリケーション開発者の負担が増大するという問題が生じる。なぜなら、多様なプラットフォーム(ネイティブのOS上)において動作保証をしなければならないからである。プラットフォームには、Windows(登録商標)、UNIX(登録商標)、Linux等があり、Windows(登録商標)一つとっても、多くのバージョンが存在する。そのため、これらすべてのプラットフォームへの対応を図るためには、開発費を含めて、多大なサポートコストを見込まなければならない。これに対して、本実施形態では、Webブラウザと連係するアプリケーションを、ネイティブのOS上ではなく、エミュレートされたOS上で動作させている。この場合、プラットフォームの多様性は、ハードウェア・エミュレータによって吸収されているため、極少数のプラットフォーム(ゲストOS)上でアプリケーションが動作することのみ保証すれば足りる。したがって、比較例と比べて、プラットフォーム依存性が低いので、それに要するサポートコストを効果的に抑制することが可能になる。
【0039】
また、本実施形態によれば、送信先サーバ20からみた場合、処理の自動化をWebブラウザと同様の転送シーケンスを実現できる。なぜなら、第1に、送信先サーバ20へのアクセスは、処理代行サーバ30が直接行うことなく、Webブラウザと同様、クライアント端末10が行っているからである。また、第2に、ブラウザ情報に関して、アプリケーション・プログラムの動作によって、Webブラウザとの同様の転送シーケンスが実現されているからである。送信先サーバ20の中には、外部からのアクセスを受諾するか否かを、クッキー情報に代表されるブラウザ情報を用いて判断し、その判断結果によって外部からのアクセスを拒否するものが少なからず存在する。本実施形態では、処理部2がアクセス可能な記憶領域にブラウザ情報を随時格納しておき、Webブラウザと同様の転送シーケンスで、送信先サーバ20との間でブラウザ情報のやり取りが行われる。これによって、送信先サーバ20は、通常のWebブラウザと、アプリケーション・プログラムとを動作上区別することなく、外部からのアクセスを受諾する。このように、Webブラウザと同様の転送シーケンスを採ることで、動作主体となるクライアント部10の同一性が確保される。
【0040】
さらに、本実施形態では、クライアント端末10がすべての処理を行うのではなく、少なくとも一部の処理については処理代行サーバ30にて行われる。それとともに、処理代行サーバ30がすべての処理を行うのではなく、送信先サーバ20へのデータ送信といった処理についてはクライアント端末10にて行われる。したがって、クライアント端末10のみならず、ASPを提供する処理代行サーバ30のシステム構築に要する負担の軽減を図ることができる。
【0041】
(第2の実施形態)
図2は、第2の実施形態に係るネットワークシステムの構成図である。上述した第1の実施形態は、いわゆるASP(Application Service Provider)型サービスであったのに対して、本実施形態は、外部システムに処理を代行させることなく、クライアント端末10内で完結した処理を行うものである。すなわち、処理部2は、Webブラウザからの処理実行要求に応じた所定の処理をバックグラウンドで実行する。
【0042】
クライアント端末10の構成を概略的に述べると以下のようになる。サーバ部1は、ネイティブのホストOS上で動作するWebブラウザとの間のデータ転送をTCP/IPにて行う。サーバ部1は、Webブラウザより入力されたURLによって特定されるメニュー画面をWebブラウザに送信するとともに、メニュー画面に応じてWebブラウザから送信された処理実行要求を受信する。第1のクライアント部3aは、クライアント端末10に通信ネットワークを介して外部接続された送信先サーバ20との間のデータ転送をTCP/IPにて行う。処理部2は、サーバ部1を介して取得した処理実行要求に応じた所定の処理をバックグラウンドで実行する。処理部2は、この所定の処理によって生成された処理済データを第1のクライアント部3aを介して送信先サーバ20にアップロードする。また、処理部2は、処理実行要求に対する結果をサーバ部1を介してWebブラウザに送信する。なお、本実施形態の特徴以外の構成については、第1の実施形態と同様なので、図1に示した符号と同一の符号を付して、ここでの説明を省略する。
【0043】
本実施形態によれば、アプリケーション・プログラムの小型化および処理内容の変更に対する柔軟性を除けば、第1の実施形態と同様の効果を有する。
【0044】
なお、本実施形態では、送信先サーバ20への処理済データのアップロードに先立ち、最新のアクセスポリシーを外部のサーバからダウンロードしておく必要がある。すなわち、本実施形態は、送信先サーバ20から送信される元データの変更、或いは、送信先サーバ20に対するアクセス手順の変更等に対処する最新版がクライアント端末10にインストールされていることが動作条件となる。また、本実施形態のようなクライアント端末完結型の処理は、次に述べる第3の実施形態においても同様に適用可能である。
【0045】
(第3の実施形態)
図3は、第3の実施形態に係るネットワークシステムの構成図である。上述した第1の実施形態との相違点は、仮想マシン環境ではなく、Webブラウザと同じOS(単一プラットフォーム)上に、サーバ部1、処理部2、クライアント部3およびデータベース4が構築される。
【0046】
クライアント端末10の構成を概略的に述べると以下のようになる。サーバ部1は、一のOS上で動作するWebブラウザとの間のデータ転送をTCP/IPにて行う。サーバ部1は、Webブラウザより入力されたURLによって特定されるメニュー画面をWebブラウザに送信するとともに、メニュー画面に応じてWebブラウザから送信された処理実行要求を受信する。第1のクライアント部3aは、クライアント端末10に通信ネットワークを介して外部接続された送信先サーバ20との間のデータ転送をTCP/IPにて行う。第2のクライアント部3bは、クライアント端末10に通信ネットワークを介して外部接続された処理代行サーバ30との間のデータ転送をTCP/IPにて行う。処理部2は、サーバ部1を介して取得した処理実行要求に応じて、少なくとも一部の処理の実行を第2のクライアント部3bを介して処理代行サーバ30に依頼する。処理部2は、第2のクライアント部3bを介して取得した処理代行サーバ30からのデータに応じて、第1のクライアント部3aを介して送信先サーバ20に処理済データをアップロードする。また、処理部2は、処理実行要求に対する結果をサーバ部1を介してWebブラウザに送信する。なお、本実施形態の特徴以外の構成については、第1の実施形態と同様なので、図1に示した符号と同一の符号を付して、ここでの説明を省略する。
【0047】
本実施形態によれば、プラットフォーム依存性の問題は残るものの、Webブラウザとの連係したアプリケーション・プログラムの動作によって、クライアント端末10のユーザがWebブラウザを通じて行っていた作業を自動化できる。
【0048】
なお、上述した各実施形態の機能を実現するコンピュータ・プログラムを記録した記録媒体を、クライアント端末10となるコンピュータに供給してもよい。この場合、このコンピュータにおいて、記録媒体に格納されたコンピュータ・プログラムを読み取り実行することによって、本発明の目的を達成することができる。したがって、記録媒体から読み取られたコンピュータ・プログラム自体が本発明の新規な機能を実現するため、そのプログラムを記録した記録媒体も本発明を構成する。コンピュータ・プログラムを記録した記録媒体としては、例えば、CD−ROM、フレキシブルディスク、ハードディスク、メモリカード、光ディスク、DVD−ROM、DVD−RAM、DVD−R、DVD−RW等が挙げられる。また、上述した各実施形態に係る一連の処理をコンピュータに実行させるコンピュータ・プログラム自体も新規な機能を有している。
【図面の簡単な説明】
【0049】
【図1】第1の実施形態に係るネットワークシステムの構成図
【図2】第2の実施形態に係るネットワークシステムの構成図
【図3】第3の実施形態に係るネットワークシステムの構成図
【符号の説明】
【0050】
1 サーバ部
2 処理部
3 クライアント部
3a 第1のクライアント部
3b 第2のクライアント部
4 データベース
10 クライアント端末
20 送信先サーバ
30 処理代行サーバ

【特許請求の範囲】
【請求項1】
ネイティブのホストOS上で動作するWebブラウザと連係して、クライアント端末を動作させる処理自動化コンピュータ・プログラムにおいて、
ネイティブのホストOS上で動作するWebブラウザとの間のデータ転送をTCP/IPにて行う機能と、前記Webブラウザより入力されたURLによって特定されるメニュー画面を前記Webブラウザに送信する機能と、前記メニュー画面に応じて前記Webブラウザから送信された処理実行要求を受信する機能とを有するサーバ部を、前記ホストOS上で動作するハードウェア・エミュレータによってエミュレートされたゲストOS上に構築するステップと、
前記クライアント端末に通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をTCP/IPにて行う機能を有する第1のクライアント部を、前記ゲストOS上に構築するステップと、
前記クライアント端末に通信ネットワークを介して外部接続された処理代行サーバとの間のデータ転送をTCP/IPにて行う機能を有する第2のクライアント部を、前記ゲストOS上に構築するステップと、
前記サーバ部を介して取得した処理実行要求に応じて、少なくとも一部の処理の実行を前記第2のクライアント部を介して前記処理代行サーバに依頼する機能と、前記第2のクライアント部を介して取得した前記処理代行サーバからのデータに応じて、前記第1のクライアント部を介して前記送信先サーバに処理済データをアップロードする機能と、前記処理実行要求に対する結果を前記サーバ部を介して前記Webブラウザに送信する機能とを有する処理部を、前記ゲストOS上に構築するステップと
を有する一連の処理をクライアント端末に実行させることを特徴とする処理自動化コンピュータ・プログラム。
【請求項2】
Webブラウザと連係して、クライアント端末を動作させる処理自動化コンピュータ・プログラムにおいて、
一のOS上で動作するWebブラウザとの間のデータ転送をTCP/IPにて行う機能と、前記Webブラウザより入力されたURLによって特定されるメニュー画面を前記Webブラウザに送信する機能と、前記メニュー画面に応じて前記Webブラウザから送信された処理実行要求を受信する機能とを有するサーバ部を、前記Webブラウザと同じOS上に構築するステップと、
前記クライアント端末に通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をTCP/IPにて行う機能を有する第1のクライアント部を前記OS上に構築するステップと、
前記クライアント端末に通信ネットワークを介して外部接続された処理代行サーバとの間のデータ転送をTCP/IPにて行う機能を有する第2のクライアント部を前記OS上に構築するステップと、
前記サーバ部を介して取得した処理実行要求に応じて、少なくとも一部の処理の実行を前記第2のクライアント部を介して前記処理代行サーバに依頼する機能と、前記第2のクライアント部を介して取得した前記処理代行サーバからのデータに応じて、前記第1のクライアント部を介して前記送信先サーバに処理済データをアップロードする機能と、前記処理実行要求に対する結果を前記サーバ部を介して前記Webブラウザに送信する機能とを有する処理部を前記OS上に構築するステップと
を有する一連の処理をクライアント端末に実行させることを特徴とする処理自動化コンピュータ・プログラム。
【請求項3】
前記処理部は、前記処理代行サーバへの依頼に先立ち、前記第1のクライアント部を介して前記送信先サーバから元データをダウンロードする機能をさらに有し、前記処理代行サーバへの依頼は、前記ダウンロードされた元データの付加を伴うことを特徴とする請求項1または2に記載された処理自動化コンピュータ・プログラム。
【請求項4】
ネイティブのホストOS上で動作するWebブラウザと連係して、クライアント端末を動作させる処理自動化コンピュータ・プログラムにおいて、
ネイティブのホストOS上で動作するWebブラウザとの間のデータ転送をTCP/IPにて行う機能と、前記Webブラウザより入力されたURLによって特定されるメニュー画面を前記Webブラウザに送信する機能と、前記メニュー画面に応じて前記Webブラウザから送信された処理実行要求を受信する機能とを有するサーバ部を、前記ホストOS上で動作するハードウェア・エミュレータによってエミュレートされたゲストOS上に構築するステップと、
前記クライアント端末に通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をTCP/IPにて行う機能を有する第1のクライアント部を、前記ゲストOS上に構築するステップと、
前記サーバ部を介して取得した処理実行要求に応じた所定の処理をバックグラウンドで実行する機能と、前記所定の処理によって生成された処理済データを前記第1のクライアント部を介して前記送信先サーバにアップロードする機能と、前記処理実行要求に対する結果を前記サーバ部を介して前記Webブラウザに送信する機能とを有する処理部を、前記ゲストOS上に構築するステップと
を有する一連の処理をコンピュータに実行させることを特徴とする処理自動化コンピュータ・プログラム。
【請求項5】
Webブラウザと連係して、クライアント端末を動作させる処理自動化コンピュータ・プログラムにおいて、
一のOS上で動作するWebブラウザとの間のデータ転送をTCP/IPにて行う機能と、前記Webブラウザより入力されたURLによって特定されるメニュー画面を前記Webブラウザに送信する機能と、前記メニュー画面に応じて前記Webブラウザから送信された処理実行要求を受信する機能とを有するサーバ部を前記Webブラウザと同じOS上に構築するステップと、
前記クライアント端末に通信ネットワークを介して外部接続された送信先サーバとの間のデータ転送をTCP/IPにて行う機能を有する第1のクライアント部を前記OS上に構築するステップと、
前記サーバ部を介して取得した処理実行要求に応じた所定の処理をバックグラウンドで実行する機能と、前記所定の処理によって生成された処理済データを前記第1のクライアント部を介して前記送信先サーバにアップロードする機能と、前記処理実行要求に対する結果を前記サーバ部を介して前記Webブラウザに送信する機能とを有する処理部を前記OS上に構築するステップと
を有する一連の処理をコンピュータに実行させることを特徴とする処理自動化コンピュータ・プログラム。
【請求項6】
前記処理部は、前記所定の処理の実行に先立ち、前記第1のクライアント部を介して前記送信先サーバから元データをダウンロードする機能をさらに有し、前記所定の処理は、前記ダウンロードされた元データを入力として実行されることを特徴とする請求項4または5に記載された処理自動化コンピュータ・プログラム。
【請求項7】
前記処理部がアクセス可能な記憶領域には、送信先サーバのネットワーク上の初期アドレスの指定と、当該指定された初期アドレスを起点とした外部システムから送信先サーバへのアクセス手順の記述とを含むアクセスポリシーが送信先サーバ毎に記憶されており、
前記処理部は、送信先サーバ毎に個別に設定された前記アクセスポリシーに基づいて、複数の送信先サーバに対する処理済データの送信を一括で行うことを特徴とする請求項1から6のいずれかに記載された処理自動化コンピュータ・プログラム。
【請求項8】
前記処理部は、前記第1のクライアント部を介した前記送信先サーバとの間のデータ転送において、前記Webブラウザと同様の転送シーケンスで、クッキー情報の転送を行う機能と、前記クッキー情報を自己がアクセス可能な記憶領域に随時記憶する機能とをさらに有することを特徴とする請求項1から6のいずれかに記載された処理自動化コンピュータ・プログラム。
【請求項9】
前記処理部は、前記第1のクライアント部を介した前記送信先サーバとの間のデータ転送において、前記Webブラウザと同様の転送シーケンスで、リファラー情報の転送を行う機能と、前記リファラー情報を自己がアクセス可能な記憶領域に随時記憶する機能とをさらに有することを特徴とする請求項8に記載された処理自動化コンピュータ・プログラム。
【請求項10】
前記処理部は、前記第1のクライアント部を介した前記送信先サーバとの間のデータ転送において、ユーザエージェント情報の転送を行う機能と、前記ユーザエージェント情報を自己がアクセス可能な記憶領域に記憶する機能とをさらに有することを特徴とする請求項9に記載された処理自動化コンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2006−285410(P2006−285410A)
【公開日】平成18年10月19日(2006.10.19)
【国際特許分類】
【出願番号】特願2005−101760(P2005−101760)
【出願日】平成17年3月31日(2005.3.31)
【出願人】(505095280)アートグラム株式会社 (2)
【Fターム(参考)】