JP2004192563A - File processing system and control program - Google Patents

File processing system and control program Download PDF

Info

Publication number
JP2004192563A
JP2004192563A JP2002362868A JP2002362868A JP2004192563A JP 2004192563 A JP2004192563 A JP 2004192563A JP 2002362868 A JP2002362868 A JP 2002362868A JP 2002362868 A JP2002362868 A JP 2002362868A JP 2004192563 A JP2004192563 A JP 2004192563A
Authority
JP
Japan
Prior art keywords
session
web browser
file
file processing
applet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002362868A
Other languages
Japanese (ja)
Other versions
JP4163940B2 (en
Inventor
Hiromi Suzuki
浩巳 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Precision Inc
Original Assignee
Seiko Precision Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Precision Inc filed Critical Seiko Precision Inc
Priority to JP2002362868A priority Critical patent/JP4163940B2/en
Publication of JP2004192563A publication Critical patent/JP2004192563A/en
Application granted granted Critical
Publication of JP4163940B2 publication Critical patent/JP4163940B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a file processing system and a control program for facilitating development of an application program which cooperates with a Web browser and promoting efficient use of system resources. <P>SOLUTION: An application 31 having an autopilot function starts the Web browser 11 via an agent 13, accesses a Web server 21 and executes file processing. The agent 13 unitarily manages a session of a plurality of file processings, mitigates a session control functions of the application 31, facilitates its development and promotes the efficient use of the system resources. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、ファイル処理システム及び制御プログラムに関し、特にWebブラウザを介してファイル処理を行うファイル処理システム及び制御プログラムに関するものである。
【0002】
【従来の技術】
現在、アプリケーションサービスプロバイダ(ASP)と称され、インターネットを介してASP事業者のサーバに置かれた各種の業務用アプリケーションをユーザのクライアント端末のマイクロソフト社のInternet Explorer等のWebブラウザの画面上から利用可能に提供し、各種の業務データのアップロード、ダウンロード等をさせるサービスがある。この種のサービスの利用は、ユーザが独自に業務用アプリケーションを導入、運用する場合に比べて手間や経費を削減できることから、普及してきている。この種のASP事業者の運用システムとしては、例えば、特許文献1に開示されるものがある。これは、インターネットを介して業務用アプリケーションをユーザの支店のクライアント端末のWebブラウザの画面上に提供し、当該画面上に入力されたデータをASP事業者のサーバに受付して汎用データファイル化し、汎用データファイルをユーザの本社のコンピュータシステムにダウンロードするシステムである。
【0003】
また、例えば、特許文献2に開示されるものがある。これは、インターネットを介してファイル処理用アプリケーションをクライアント端末のWebブラウザの画面上に提供し、ファイルの加工、アップロードやダウンロードを可能とするシステムである。
【0004】
【特許文献1】
特開2001−357341号公報
【特許文献2】
特開平11−120137号公報
【0005】
【発明が解決しようとする課題】
しかしながら、上述の従来のシステムでは、ユーザが手動でWebブラウザを起動して、ASP事業者のサーバにアクセスして作業する必要があった。このため、売上データやファイル等の日々の業務データ入力やファイルのアップロード等の作業は煩雑なものであった。
【0006】
この手間を省くべく、データ入力やファイルのアップロード等を自動実行させるオートパイロットプログラムを提供することも考えられるが、ユーザのニーズ毎に異なるオートパイロットプログラムを別途開発することは、ASP事業者の負担となる。また、オートパイロットプログラムのようなWebブラウザと連携する他のアプリケーションプログラムの複数を導入するのでは、クライアント端末を含めシステム資源に負荷が掛かる。
【0007】
そこで、本発明は、Webブラウザと連携するアプリケーションプログラムの開発を容易とするとともに、システム資源の効率的利用を進めるファイル処理システム及び制御プログラムを提供すること、Webブラウザを自動および/または遠隔制御機能を備えたファイル処理システムを簡易に提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明のファイル処理システムは、アプリケーションプログラムからファイルの伝送やファイルの加工等のファイル処理の要求を受けて、Webブラウザを起動して当該Webブラウザを介して上記ファイル処理を実行するセッションを制御するものであり、上記要求元の認識番号、上記ファイル処理のセッションの管理番号、起動された上記Webブラウザの認識番号等の上記ファイル処理のセッション毎の管理情報を管理テーブルに格納し、上記管理情報に基づいて上記セッションを制御するエージェントプログラムを備えたWebクライアント端末と、上記Webクライアント端末の上記Webブラウザからのアクセスを受けて、ファイル処理を実行する上記Webサーバ端末とを備えたことを特徴とする。
【0009】
これにより、エージェントプログラムによりファイル処理のセッションを管理するため、Webブラウザを自動および/または遠隔制御するアプリケーションプログラムのファイル処理のセッション管理に関わる機能を削減でき、アプリケーションプログラムの開発が容易にできるとともに、アプリケーションプログラムの規模を縮小できる。また、エージェントプログラムにより複数のアプリケーションプログラムのセッションの一元管理が可能で、アプリケーションプログラムの規模を縮小できることとあわせて、システム資源の効率的な利用を進めることが可能となる。
【0010】
また、上記アプリケーションプログラムの少なくとも1つは所定の日時に上記ファイル処理を実行させるものであり、上記所定日時に所定のファイル処理を指定するスケジュールテーブルと、上記スケジュールテーブルに基づいて上記エージェントを介してファイル処理を実行するステップとを備えたオートパイロットプログラムであり、当該オートパイロットプログラムを備える上記Webクライアントまたは他のクライアント端末を備えることが好ましい。
【0011】
これにより、オートパイロット機能を備えたファイル処理システムを簡易に提供することが可能となる。
【0012】
上記エージェントプログラムは、上記ファイル処理のセッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Webブラウザを動作させるオペレーティングシステムが上記Webブラウザを起動したときに当該Webブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Webサーバ端末との通信に使用するポート番号とを対応付けて1つの管理情報の組として格納する上記管理テーブルと、上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、上記Webブラウザを起動し、当該起動によって得られた上記プロセス認識番号と、上記ポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、上記管理テーブルに基づき、上記セッション毎に上記Webブラウザを介して上記Webサーバと上記アプリケーションプログラムとの通信を確立するステップと、上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Webブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップとを備えることが好ましい。ここで、エージェントプログラムは、上記アプリケーションプログラムからの要求に応じた上記ポート番号を取得するように上記Webブラウザを起動することが好ましい。
【0013】
また、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを介して上記Webサーバ端末に上記ファイル処理を要求するアプリケーションインターフェースプログラムを備えることが好ましい。
【0014】
また、上記エージェントプログラムは、上記ファイル処理のセッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Webブラウザを動作させるオペレーティングシステムが上記Webブラウザを起動したときに当該Webブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Webサーバ端末との通信に使用するポート番号とを対応付けて1つの管理情報の組として格納する上記管理テーブルを備え、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを介して上記Webサーバ端末に上記ファイル処理を要求するアプリケーションインターフェースプログラムを備え、上記アプリケーションインターフェースプログラムは、上記エージェントプログラムから取得した当該管理情報に基づき、上記ポート番号に空きがあれば、上記エージェントプログラムに当該空きポート番号を取得するように上記Webブラウザの起動を要求することが好ましい。
【0015】
また、上記Webサーバ端末は、上記Webブラウザからのアクセスに応答してアプレットを上記Webブラウザにダウンロードするとともに、上記アプレットからの要求に応じてファイル処理を実行するサーブレットを備えるものであり、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを仮想マシンとして実行される上記アプレットと通信し、上記アプレットは上記アプリケーションプログラムから、ファイル処理の要求を受け付けして、上記サーブレットにファイル処理を要求することが好ましい。
【0016】
また、上記Webサーバ端末は、上記Webブラウザからのアクセスに応答してアプレットを上記Webブラウザにダウンロードするとともに、上記アプレットからの要求に応じてファイル処理を実行するサーブレットを備えるものであり、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを仮想マシンとして実行される上記アプレットと通信し、上記アプレットは、上記アプリケーションプログラムから、ファイル処理の対象ファイルの認識番号、当該対象ファイルのユーザの認識番号及び当該ユーザのパスワードを受け付けし、当該受付した情報に基づき、上記サーブレットにファイル処理及び認証を要求し、上記サーブレットは上記認証により上記ファイル処理の要求が正当なものであれば、上記ファイル処理を実行することが好ましい。
【0017】
また、上記Webサーバ端末は、上記Webブラウザからのアクセスに応答してアプレットを上記Webブラウザにダウンロードするとともに、上記アプレットからの要求に応じてファイル処理を実行するサーブレットを備えるものであり、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを仮想マシンとして実行される上記アプレットと通信し、上記アプレットは、上記アプリケーションプログラムから、ファイル伝送の対象ファイルの認識番号、当該対象ファイルのユーザの認識番号及び当該ユーザのパスワードを受け付けし、当該受付した情報に基づき、上記サーブレットにファイル伝送及び認証を要求し、上記サーブレットは上記認証により上記ファイル伝送の要求が正当なものであれば、上記ファイル伝送を実行し、上記アプレットと上記サーブレットとの間の上記ファイル伝送は、上記対象ファイルを所定のデータ長に分割されてなる複数のテキストを順次伝送し、当該順次の伝送の都度、伝送状態を上記アプレットと上記サーブレットとの間で確認することが好ましい。
【0018】
また、本発明のファイル処理制御プログラムは、アプリケーションプログラムからファイルの伝送やファイルの加工等のファイル処理の要求を受け、Webブラウザを起動して当該Webブラウザを介してWebサーバに上記ファイル処理を実行させるセッションを制御するステップと、上記要求元の認識番号、上記ファイル処理のセッションの管理番号、起動された上記Webブラウザの認識番号等の上記ファイル処理のセッション毎の管理情報を管理テーブルに格納し、上記管理情報に基づいて上記セッションを制御するステップとを備えことを特徴とする。
【0019】
また、上記セッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Webブラウザを動作させるオペレーティングシステムが上記Webブラウザを起動したときに当該Webブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Webサーバ端末との通信に使用するポート番号とを対応付けて1つの管理情報の組として格納する上記管理テーブルと、上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、上記Webブラウザを起動し、当該起動によって得られた上記プロセス認識番号と、上記ポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、上記管理テーブルに基づき、上記セッション毎に上記Webブラウザを介して上記Webサーバと上記アプリケーションプログラムとの通信を確立するステップと、上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Webブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップとを備えることが好ましい。
【0020】
【発明の実施の形態】
以下、図面を参照して本発明を実施の形態について詳細に説明する。
図1に、本発明の第1の実施例によるファイル伝送システム及びプログラムの構成を示す。本例は、Webクライアント端末1のマイクロソフト社のInternet Explorer等のWebブラウザ11から、インターネットあるいはイントラネット上にWebを提供するWebサーバ端末2にアクセスし、Webサーバ端末2からWebクライアント端末1にダウンロードされたアプレット12とWebサーバ端末2のサーブレット22との間でファイル伝送を行うシステムである。なお、アプレットとは、サンマイクロシステムズ社のJava言語で記述され、WebサーバからWebブラウザにダウンロードされ、Webブラウザを仮想マシンとして実行されるプログラムの総称であり、サーブレットとは、Java言語で記述され、Webサーバプログラムを仮想マシンとして実行されるプログラムの総称である。本例のシステムは、ローカルシステム3のアプリケーションプログラム(以下、アプリケーションと言う)31の自動および/または遠隔制御により、Webブラウザ11にファイル伝送をさせるものであり、特にアプリケーション31の制御機能を軽減し、その開発を容易にするとともに、システム資源の効率的な利用を進めるものである。このため、Webクライアント端末1のWebブラウザ11及びアプレット12とアプリケーション31との調整をするため、エージェントプログラム(以下、エージェントと言う)13をWebクライアント端末1に常駐し、アプリケーション31内にエージェント13に対応するアプリケーションインターフェースプログラム(以下、APIと言う)32を設けたものである。
【0021】
本例の動作概要について図2を参照しながら述べる。アプリケーション31は、API32を介してファイル伝送を指示する各種コマンドをクライアント端末1に送る。エージェント13は、コマンドを受けてWebブラウザ11を起動し、アプリケーション31の指定するWebサーバ端末2にアクセスさせ、Webサーバ端末2からアプレット12をWebブラウザ11にダウンロードさせ、ファイル伝送のためのセッションを確立し、このセッション管理のための管理情報を後述するセッション管理テーブルに格納して以降のAPI32とアプレット12との通信及びWebブラウザ11の制御に利用し、サーブレット22とアプレット12との間でファイル伝送を実行させる。エージェント13は、同時に複数、例えば、4つのセッションをセッション管理テーブルで管理し、複数のファイル伝送を制御する。エージェント13により、複数のWebブラウザ11、アプレット12及びAPI32のファイル伝送等のファイル処理のセッションを一元管理するので、個々のアプリケーション31のWebブラウザを利用したファイル伝送等のファイル処理の自動および/または遠隔制御機能は軽減され、複数のアプリケーション31に対しても共通のAPI32を用意すれば良く、アプリケーション31の開発が容易になる。また、複数のアプリケーション31に対し、1つのエージェント13をWebクライアント端末1に設ければ良く、システム資源の効率的な利用が可能となる。
【0022】
次に図1に戻り、本例の構成の詳細について述べる。Webクライアント端末1は、マイクロソフト社のInternet Explorer等のアプレットの仮想マシン機能を備えたWebブラウザ11を備える。Webブラウザ11は、Webサーバ端末2からダウンロードされるアプレット12を実行し、Webサーバ端末2上のサーブレット22との間でファイル伝送を行うものである。Webクライアント端末1は、Webブラウザ11及びアプレット12をアプリケーション31から制御するためのエージェント13を備える。エージェント13はアプリケーション31から送られる後述する各種コマンドに応じてファイル伝送のセッション毎にWebブラウザ11及びアプレット12を制御するためにセッション管理テーブル130を備える。さらに、Webクライアント端末1は、目的のファイルを格納する格納領域14を備える。これら、Webブラウザ11、エージェント13、Webクライアント端末1のオペレーティングシステム15上で実行され、ペレーティングシステム15上で格納領域14は実現されるものとする。なお、オペレーティングシステム15としては、例えば、マイクロソフト社のWindows95/98/NT/2000等を利用すれば良い。
【0023】
Webサーバ端末2は、ファイル伝送のためのWebを提供するWebサーバプログラム(以下、Webサーバと言う)21を備えたものである。Webサーバ21は、サーブレット22を実行させるとともに、Webブラウザ11のアクセスを受け、アプレット12をクライアント端末1にダウンロードさせるものである。また、Webサーバ端末2は、伝送すべき目的のファイルへのアクセスを管理する情報(後述のファイルID、グループID、ユーザID、パスワード等)を格納するデータベース23、目的のファイルを格納する格納領域230を備える。また、Webサーバ端末2のオペレーティングシステムとしてはマイクロソフト社のWindows2000 Server SP1、IBM社のAIX4.3.3.10、レッドハット社のRedhat 7.1等を利用すれば良い。また、Webサーバ21を構築するWebサーバプログラム、言い換えれば、HTTP(Hyper Text Transfer Protocol)サーバプログラムとしては、アパッチソフトウェアファンデーションのApache 1.3.2X等が利用できる。また、サーブレット22を実行するJavaサーブレットコンテナとしてはアパッチソフトウェアファンデーションのTomcat 3.2.3等が利用できる。データベース23は、例えば、米国カリフォルニア大学本校及びPostgreSQL国際開発チームのPostgreSQL等を利用して構築できるし、その他のデータベースアプリケーションを利用しても良い。
【0024】
また、データベース23では、ファイル毎にファイルの認証番号(以下、ファイルIDと言う)、ファイルを使用するグループの認証番号(以下、グループIDと言う)、ファイルを使用する使用者の認証番号(以下、ユーザIDと言う)及びパスワードを対応付けて格納してあり、サーブレット22はこれに基づいてファイルのアクセス管理を行う。また、データベース23及び格納領域14、230は説明の便宜上Webクライアント端末1やWebサーバ端末2に置くこととしたかが、これらの端末とは別の端末に置き、ファイル伝送処理の際にWebクライアント端末1、Webサーバ端末2からアクセスするようなものであっても良い。
【0025】
ローカルシステム3は、アプリケーション31を備えた端末であり、便宜上Webクライアント端末1と異なる端末としてあるが、同一端末であっても良い。アプリケーション31は、アプレット12、エージェント13に対する各種コマンドを備えたAPI32を備える。アプリケーション31は、例えば、オートパイロットプログラムであり、所定の日時に所定のファイル伝送を行うためのスケジュールテーブル33と、これに基づいてAPI32を介してファイル伝送を実行するメインプログラム34を備える。
【0026】
次にエージェント13のセッション管理テーブル130の詳細を説明する。セッション管理テーブル130は、例えば、図3に示すように、Session−No131、TCP(Transmission Control Protocol)−Port132、URL(Uniform Resource Locator)133、Lock−Flag134、Socket−Discripter135、Start−Time136、Process−ID137を同図の行毎に対応付けて管理するものであり、説明の便宜上4組迄管理するものとする。Session−No131の内容は、ファイル伝送の各セッションを管理する管理番号を示し、予め1番から4番まで設けられている。これに限らず、適宜に必要なセッション数に応じて管理番号を増やしても良い。Session−No131の番号は、言い換えれば、セッション毎のWebブラウザ11の管理番号である。TCP−Port132の内容は、アプレット12がダウンロードされた際にアプリケーション31とTCP/IP通信する際のTCPポート番号を示す。URL133の内容は、Webサーバ端末2のURLを示す。Lock−Flag134の内容は、対応するSession−No131の管理番号が既にWebブラウザ11で占有されていること、すなわち、既に他のファイル伝送のセッションに占有されていることを示すものであり、当該管理番号にてWebブラウザ11が起動される際に占有を示す“1”が格納され、Webブラウザ11が終了されて占有状態を開放する場合には非占有を示す“0”が格納される。Socket−Discripter135の内容は、エージェント13とアプリケーション31との通信の際に使用されるソケットの認識番号を示す。Start−Time136の内容は、Webブラウザ11を起動した時刻を示す。エージェント13は、この時刻を起点に定期的にAPI32にファイル伝送の実行中を示すステータスを送り、アプリケーション31はこれによりファイル伝送の中断等の異常状態を監視できる。Process−ID137の内容は、起動したWebブラウザ11毎にオペレーティングシステム15が生成し、当該システム内で使用するWebブラウザ11のプロセス番号を示す。これにより、エージェント13は、プロセス番号を指定してオペレーティングシステム15にWebブラウザ11の終了をさせることが可能となっている。
【0027】
次にエージェント13及びアプレット12とAPI32との間で使用されるコマンドの詳細について説明する。コマンドの概要は図4に示す通りであり、コマンドI(管理情報の取得)は、セッションの管理情報を取得するためのものであり、エージェント13よりセッション管理テーブル130を参照するコマンドである。コマンドL(セッションロック)は、指定したセッションの管理番号、すなわち、Session−No131を占有するコマンドである。コマンドO(ブラウザオープン)は、指定したSession−No131でWebブラウザ11を起動させるコマンドである。コマンドT(ファイル伝送指示)は、ファイル伝送を指示するコマンドであり、目的のファイルID、グループID、ユーザID及びパスワードを添えてファイルのダウンロードまたはアップロードの指示をするものである。コマンドC(ブラウザクローズ)は、Session−No131で指定したWebブラウザを終了させるコマンドである。コマンドU(セッションアンロック)は、指定したSession−No131の開放を指示するコマンドである。コマンドS(状態照会)は、エージェント13及びアプレット12の動作状態を照会するコマンドである。
【0028】
次に本例のファイル伝送動作の詳細について説明する。図5はアプリケーション31の動作を示すフローチャートであり、まず、同図を参照しながらアプリケーション31の動作を説明する。アプリケーション31のメインプログラム34は、スケジュールテーブル33に基づいてファイル処理の日時を監視しており(ステップ5a)、所定の日時となると(ステップ5b)、スケジュールテーブル33からWebサーバ21のURL、伝送すべきファイルのファイルID、グループID、ユーザID、パスワード、アップロードかダウンロードかを示す伝送種別を読み出し、所定のファイルの伝送をAPI32に指示する(ステップ5c)。後述するAPI32によるファイル伝送を監視し(ステップ5d)、API32によるファイル伝送が終了すると(ステップ5e)、図示しない外部よりアプリケーション31の終了指示がなければ、一連の所定ファイルの伝送処理を終了し、ステップ5aの日時監視動作に戻る。
【0029】
次にAPI32のファイル伝送動作について図6のフローチャートを参照しながら述べる。アプリケーション31のメインプログラム34からの指示を受けたAPI32は、エージェント13にコマンドIを送り、セッション管理テーブル130の全管理情報を要求する(ステップ6a)。エージェント13から管理情報を受け取る(ステップ6b)と、Lock−Flag134に既に占有を示す“1”が立ってないSession−No131を特定して、これを占有するためコマンドLをエージェント13に送る(ステップ6c)。このとき、Lock−Flag134に既に占有を示す“1”が立ってないSession−No131が複数あった場合には、若い番号から占有する。また、コマンドLには、引数として、指定するSession−No131の番号と、アプレット12とのTCP/IP通信に使用するTCPポート番号とを添える。ここで、API32は、管理情報を参照し、既に使用中のTCPポート番号と重複しないようにTCPポート番号を選択する。
【0030】
API32は、エージェント13からコマンドLに対する応答を受け取ると(ステップ6d)、エージェント13にコマンドOを送り、Webブラウザ11の起動を指示する(ステップ6e)。ここで、API32は、Webサーバ21のURLをコマンドOの引数として添える。API32は、エージェント13からコマンドOに対する応答を受け取ると(ステップ6f)、エージェント13にコマンドIを送り、セッション管理テーブル130の全管理情報を要求し(ステップ6g)、エージェント13から全管理情報を受け取る(ステップ6h)。この時点では、Webブラウザ11か起動され、Webサーバ21からアプレット12がダウンロードされてあり、取得した全管理情報については、セッション管理テーブル130の先に占有したSession−No131の行において、TCP−Port132には先に指定したTCPポート番号が格納され、URL133には、以降のアクセス先となるWebサーバ21のサーブレット22のURLが格納され、Lock−Flag134が格納され、Socket−Discripter135にはエージェント13との通信のソケットの認識番号が格納され、Start−Time136にはWebブラウザ11の起動された時刻が格納され、Process−ID137にはこのセッションにおいてオペレーティングシステム15により生成されたWebブラウザ11のプロセス番号が格納された状態となっている。
【0031】
API32は、所得した管理情報を確認してWebサーバ21とのセッションが確立されたとし、TCPポート番号を使用してファイル伝送のコマンドTをアプレット12に送る(ステップ6i)。API32は、伝送すべきファイルIDユーザID、グループID、パスワード及び伝送種別をコマンドTの引数として添える。API32は、アプレット12からのコマンドTに対する応答を監視する。この間エージェント13からは所定期間毎にステータスが出されこれによりエージェント13及びアプレット12の動作状態を監視することとするが、必要があればAPI32からコマンドSを発し、エージェント13及びアプレット12の動作状態を照会するようにしても良い。API32は、アプレット12からファイル伝送の終了回答を受け取ると(ステップ6j)、当該ファイル伝送のセッションの管理番号を引数としてコマンドCをエージェント13に送り(ステップ6k)、Webブラウザ11の終了を指示する。API32は、エージェント13からコマンドCに対する応答を受け取ると(ステップ6l)、エージェント13にコマンドUを送り、指定したSession−No131の開放を指示する(ステップ6m)。API32は、エージェント13からコマンドUに対する応答を受け取ると(ステップ6n)、ファイル伝送動作を終了する。
【0032】
次にエージェント13のファイル伝送動作について図7のフローチャートを参照しながら述べる。エージェント13は、API32からコマンドIを受けると(ステップ7a)、セッション管理テーブル130の全管理情報をAPI32に送る(ステップ7b)。エージェント13は、API32からコマンドLを受けると(ステップ7c)、API32により指定されるセッション管理テーブル130のSession−No131の行において、Lock−Flag134に占有を示す“1”を格納し、Socket−Discripter135にソケットの認識番号を格納してAPI32に応答する(ステップ7d)。エージェント13は、API32からコマンドOを受けると(ステップ7e)、API32により指定されるURLに対応するWebサーバ21にアクセスすべく、Webブラウザ11を起動する(ステップ7f)。このとき、Webブラウザ11が開くURLに引数としてAPI32より指定されるTCPポート番号を添えて、Webサーバ21が指定のTCPポート番号を待受けポートとして使用するように要求する。例えば、TCPポート番号が1番と指定するとすれば、「HTTP://URL ?pno=01」等と通常のURLの記述に続けて所定の書式でTCPポート番号を添える。これにより、セッションの異なるアプリケーション13間でTCPポート番号が重複してTCPポート番号の付け替え処理の必要が生じることがないので、複数のセッションを同時に処理する場合であっても、処理時間を抑えることが可能となっている。
【0033】
また、Webブラウザ11の起動の際に、エージェント13は、API32により指定されるセッション管理テーブル130のSession−No131の行において、Webブラウザ11の起動の際にオペレーティングシステム15が生成したWebブラウザ11のプロセス番号をProcess−ID137に格納し、Start−Time136に起動時刻を格納する(ステップ7g)。
エージェント13は、Webサーバ21からWebブラウザ11にダウンロードされたアプレット12から、指定のTCPポート番号、Webサーバ21が実際に受付ポートとしたTCPポート番号及び以降にアクセスするサーブレット22のURLを示すコマンドPを受けると(ステップ7h)、API32により指定されるセッション管理テーブル130のSession−No131の行において、TCP−Port132にWebサーバ21が実際に受付ポートとしたTCPポート番号を格納し、アプレット12にコマンドPに対する応答を行う(ステップ7i)。
【0034】
エージェント13は、API32によりコマンドIを受けると(ステップ7j)、セッション管理テーブル130の全管理情報をAPI32に送る(ステップ7k)。これにより、以降、API32とアプレット12とはファイル伝送のためのコマンドを直接送信、受信することが可能となる。
【0035】
エージェント13は、API32からコマンドCを受けると(ステップ7l)、セッション管理テーブル130から、指定されたSession−No131のセッションの管理番号に対応するProcess−ID137のプロセス番号を読み取り、オペレーティングシステム15に当該プロセス番号に対応するWebブラウザ11の終了を指示し、API32にコマンドCに対する応答を送る(ステップ7m)。
【0036】
エージェント13は、API32からコマンドUを受けると(ステップ7n)、セッション管理テーブル130の指定されたSession−No131のセッションの管理番号に対応するLock−Flag134に“0”を格納して、当該セッションの管理番号を開放し、API32にコマンドCに対する応答を送る(ステップ7o)。
【0037】
次にWebサーバ21の動作、特に、Webブラウザ11からのクセスに対する応答動作について図8のフローチャートを参照しながら述べる。Webサーバ21は、Webブラウザ11からURLにTCPポート番号を付加したアクセス要求を受けると(ステップ8a)、以降のWebブラウザ11との間で行われるファイル伝送のセッションのため、Webブラウザ11に指定されたTCPポート番号を待受けポート番号としてサーブレット22を起動する(ステップ8b)。なお、指定されたTCPポート番号が何らかの理由で使用できない場合には、空いているTCPポート番号を使用する。これとともに、Webブラウザ11に指定されたTCPポート番号、実際に待受けポートとしたTCPポート番号及びサーブレット22のURLに関する情報を含んだアプレット12をWebブラウザ11にダウンロードする(ステップ8c)。これにより、以降のファイル伝送はアプレット12とサーブレット22との間で実行可能となる。
【0038】
次にアプレット12の動作、特にエージェント13及びAPI32との通信動作について図9のフローチャートを参照しながら述べる。アプレット12は、Webブラウザ11にダウンロードされると、コマンドPをエージェント13に送り、Webブラウザ11に指定されたTCPポート番号、実際に待受けポートとしたTCPポート番号及びサーブレット22のURLに関する情報を通知する(ステップ9a)。アプレット12は、エージェント13からコマンドPに対する応答を受けると(ステップ9b)、コマンドPの正常終了を確認する。アプレット12は、API32からコマンドTを受けると(ステップ9c)、コマンドTから、伝送すべきファイルID、グループID、ユーザID、パスワード、伝送処理がアップロードかダウンロードかを示す伝送種別を取得し、サーブレット22との間でファイル伝送を実行する(ステップ9d)。ここで、ファイル伝送に関わるサーブレット22からの応答は必要に応じてAPI32に送っても良い。また、アプレット12は、API32からコマンドSを受けると(ステップ9e)、初期状態、伝送中、伝送完了等の稼動状況を示す情報を添えて応答する(ステップ9f)。
【0039】
以上の説明では、API32、エージェント13及びアプレット12のそれぞれの動作を個々に述べたが、それぞれの動作連携を纏めると図10のシーケンス図の通りになる。同図において、APIはAPI32の送受するコマンドのシーケンスを示し、Agentはエージェント13の送受するコマンド及び処理のシーケンスを示し、Appletはアプレット12の送受するコマンドのシーケンスを示す。I()はコマンドIを示し、()の中は引数を示すというように、各アルファベットとそれに続く()は上述の各コマンドと引数を示す。また、PortConTblはセッション管理テーブル130を示し、FileID、GroupID、UserID、PasswordはファイルID、グループID、ユーザID、パスワードを示す。図10に添ってAPI32、エージェント13及びアプレット12の連携動作を述べると次のようになる。
【0040】
まず、API32からコマンドIがエージェント13に送られ(ステップ10a)、エージェント13はこれに応答してセッション管理テーブル130の全管理情報をAPI32に応答する(ステップ10b)。次にコマンドAPI32は管理情報から占有されていないセッションの管理番号を特定し、引数としてTCPポート番号の指定を添え、特定したセッション管理番号の行を占有するコマンドLがエージェント13に送られ(ステップ10c)、エージェント13は対応するセッション管理番号の行を占有する、すなわち、ロックし、API32に応答する(ステップ10d)。
【0041】
次にAPI32から引数とてWebサーバ21のURLを添えてコマンドOがエージェント13に送られ(ステップ10e)、エージェント13はこれに従ってTCPポート番号の指定を添えてWebブラウザ11を起動し、Webサーバ21にアクセスし、API32に応答する(ステップ10f)。これによりWebサーバ21からWebブラウザ11にアプレット12がダウンロードされる。アプレット12はWebブラウザ11で実行され、コマンドPをエージェント13に送る(ステップ10g)。 エージェント13はセッション管理テーブル130の当該セッションの行の管理情報にTCPポート番号を追加、すなわち、TCP−Port132に格納し、アプレット12に応答する(ステップ10h)。API32はコマンドOへの応答を受けた後、コマンドIをエージェント13送る(ステップ10i)。エージェント13はこれに応答してセッション管理テーブル130の全管理情報をAPI32に応答する(ステップ10j)。これにより、API32はサーブレット22のTCPポート番号、URLを確認し、アプレット12に直接コマンドTを送る(ステップ10k)。アプレット12はこれに応じてサーブレット22との間でファイル伝送を実行し、アプレット12はAPI32に対して応答する(ステップ10l)。
【0042】
ファイル伝送が完了するとAPI32はWebブラウザ11の終了を指示するコマンドCを送る(ステップ10m)。これに従ってエージェント13はWebブラウザ11を終了し、API32に対して応答する(ステップ10n)。これを受けたAPI32は当該セッションにおいて占用したセッション管理番号の行を開放するコマンドUをエージェント13に送り(ステップ10o)、エージェント13はこれに従って行をアンロック、すなわち、開放し、API32に対して応答する(ステップ10p)。以上により、1つのセッションの一連の動作が終了する。
【0043】
以上のように本例のシステムでは、エージェント13はセッション管理テーブル130に管理情報を格納しつつ、複数のセッションを同様に確立し、維持し、開放し、各セッションに関わるAPI32及びアプレット12はセッション管理テーブル130の管理情報に基づいてコマンドの送受信を行ってそれぞれにファイル伝送を実現する。このため、個々のアプリケーション31のファイル伝送に関わる負担は軽減され、複数のアプリケーション31に対しても共通のAPI32を用意すれば良く、アプリケーション31の開発が容易になる。また、複数のアプリケーション31に対し、1つのエージェント13をWebクライアント端末1に設ければ良く、システム資源の効率的な利用が可能となる。これにより、アプリケーション31として上述のようなオートパイロットプログラムの開発及び導入が容易なものとなり、従来、手動操作で行なわれていた、売上データやファイル等の業務ファイルのアップロード等の煩雑な日々の作業の自動化を進めることができる。
【0044】
なお、以上の説明では、アプレット12とサーブレット22との間で実行されるファイル伝送の詳細について述べていないが、その詳細は次のようなものであり、ファイル伝送手順の概要を図11の表に示す。ファイル伝送手順はHTTP手順の上位に構築してあるが、HTTP手順が平衡プロトコルではないので(非対称プロトコルなので)、この手順もダウンロードとアップロードで夫々異なったものとしてある。具体的には、後述のように「認証」と「伝送」という大きく2つのフェーズを設定し、伝送フェーズは、さらに「ファイル開始」、「テキスト伝送部」及び「ファイル終了」という3つのサブフェーズから構成してある。
【0045】
認証フェーズでは、アプレット12からサーブレット22にユーザID、パスワードを送り、サーブレット22はデータベース23に予め登録されたユーザID、パスワードと照会し、正当なユーザからの要求か否かの認証を行い、正当性が確認できれば、そのユーザIDによりログオンさせる。
【0046】
伝送フェーズの最初のサブフェーズ、ファイル開始フェーズでは、アプレット12からサーブレット22にファイルID、グループIDを送り、サーブレット22はデータベース23を参照して目的のファイルを特定し、当該ファイルがログオンしたユーザの管理下にあることや、伝送可能なステータスとなっていることを確認する。
【0047】
伝送フェーズの中間のサブフェーズ、テキスト伝送フェーズでは、伝送されるファイルを構成するバイナリデータを所定のデータ長で分割してなる複数のテキストとして扱い、各テキスト毎にデータ長と、書き込み位置とを確認しながら伝送する。
【0048】
伝送フェーズの最終のサブフェーズ、ファイル終了フェーズでは、テキスト伝送後に、テキストから生成されたファイルのサイズをアプレット12、サーブレット22で互いに確認し、ファイル伝送が正常に終了していれば、処理を終了する。
【0049】
次に、ファイル伝送動作のダウンロード動作の詳細について、図12のシーケンス図を参照しながら述べる。同図は、伝送バッファサイズが500KBであり、テキストは500KB単位で伝送されるものとする。先ず、認証フェーズ(ステップ12a)において、アプレット12は、サーブレット22にグループID、ユーザID、パスワード等の認証情報を送る(ステップ12a−▲1▼)。サーブレット22は、サーブレット22はデータベース23に予め登録されたグループID、ユーザID、パスワードと照会し、認証結果をアプレット12に送る(ステップ12a−▲2▼)。ここで、ユーザのログオンが認められれば、伝送フェーズ(ステップ12b)に進む。
【0050】
伝送フェーズ(ステップ12b)では、先ずファイル開始フェーズの手順として、アプレット12は目的のファイルのファイルID、グループIDを含む伝送開始要求をサーブレット22に送る(ステップ12b−▲1▼)。アプレット12からのファイルID、グループIDを受けたサーブレット22は、データベース23を参照して目的のファイルを特定し、ログオンしたユーザに対して当該ファイルのダウンロードが許可されていることが確認できれば、伝送開始回答をアプレット12に送る(ステップ12b−▲2▼)。
【0051】
次にテキスト伝送フェーズに移り、アプレット12は1番目の伝送要求をサーブレット22に送る(ステップ12b−▲3▼)。サーブレット22はこれに応答して先に特定したファイルを構成する1番目のテキストを、伝送要求の番号(同図のSeq=1、“1”が伝送要求の番号を示す、以下のテキストの応答についても同様とする)、テキストのデータ長(同図のText−Len=500、“500”がデータ長を示す、以下のテキストの応答についても同様とする)、書き込み位置(同図のPointer=0、“0”が書き込み位置を示す、以下のテキストの応答についても同様とする)を添えてアプレット12に送る(ステップ12b−▲4▼)。アプレット12は、テキストのデータ長、書き込み位置を確認して異常がなければ、テキストを伝送要求の番号、データ長、書き込み位置に関連付けて図示しない所定の記憶領域に書き込み、次の伝送要求、ここでは、2番目の伝送要求をサーブレット22に送る(ステップ12b−▲5▼)。同様にしてアプレット12、サーブレット22は、ステップ12b−▲6▼乃至▲8▼までの動作を行う。なお、テキストのデータ長、書き込み位置に異常がある場合、伝送要求から所定期間経ってもテキストが受信できない場合には、該当番号の伝送要求を再度サーブレット22に送る。サーブレット22からの応答にテキストがファイルの終端を含むことを示す情報(同図のステップ12b−▲8▼では“EOF”で示す)が添えられていれば、アプレット12はファイル終了フェーズの処理を開始する。終了フェーズでは、アプレット12は、受信したテキストからファイルを生成し、ファイルのサイズを特定し、当該サイズを含む終了要求をサーブレット22に送る(ステップ12b−▲9▼)。サーブレット22は、終了要求に添えられたファイルのサイズを元のものと比較し、ファイル伝送が正常に終了したか否か確認し、終了回答をアプレット12に送る(ステップ12b−囲み数字10)。以上により、ファイルのダウンロード動作は終了する。
【0052】
次に、ファイル伝送動作のアップロード動作の詳細について、図13のシーケンス図を参照しながら述べる。同図においても、伝送バッファサイズが500KBであり、テキストは500KB単位で伝送されるものとする。アップロード動作においても先ず、ダウンロード動作と同様の認証フェーズ(ステップ13a)が行われ、アプレット12から認証情報を送り(ステップ13a−▲1▼)、これを受けたサーブレット22は認証結果を返す(ステップ13a−▲2▼)。ここで、ユーザのログオンが認められれば、伝送フェーズ(ステップ13b)に進む。
【0053】
伝送フェーズ(ステップ13b)では、先ずファイル開始フェーズの手順として、アプレット12は目的のファイルのファイルID、グループIDを含む伝送開始要求をサーブレット22に送る(ステップ13b−▲1▼)。アプレット12からのファイルID、グループIDを受けたサーブレット22は、データベース23を参照して目的のファイル格納領域または既存のファイルを特定し、ログオンしたユーザに対して当該アップロードが許可され得ることが確認できれば、伝送開始回答をアプレット12に送る(ステップ13b−▲2▼)。
【0054】
アプレット12は、アップロードを許可する伝送開始回答が得られると、テキスト伝送フェーズの手順に移り、ファイルを構成する1番目のテキストをサーブレット22に送る(ステップ13b−▲3▼)。このとき、伝送番号(同図のSeq=1、“1”が伝送番号を示す、以下のテキストの送信についても同様とする)、テキストのデータ長(同図のText−Len=500、“500”がデータ長を示す、以下のテキストの送信についても同様とする)、書き込み位置(同図のPointer=0、“0”が書き込み位置を示す、以下のテキストの送信についても同様とする)を添える。サーブレット22は、受信したテキストのデータ長、書き込み位置を確認して異常がなければ、テキストを伝送番号、データ長、書き込み位置に関連付けて図示しない所定の記憶領域に書き込み、テキストの受信を示す受信応答(同図のACK(Seq=1)、“1”が伝送番号を示す、以下の受信応答についても同様とする)をアプレット12に送る(ステップ13b−▲4▼)。受信応答を受けたアプレット12は、次のテキスト、ここでは、2番目のテキストをサーブレット22に送る(ステップ13b−▲5▼)。同様にしてアプレット12、サーブレット22は、ステップ13b−▲6▼乃至▲8▼までの動作を行う。なお、アプレット12は、サーブレット22から受信応答にテキストの異常、すなわち、エラーを示す情報が添えられた場合、テキスト送信から所定期間経っても受信応答がない場合は、該当する伝送番号のテキストを再送信する。
【0055】
アプレット12は、最終的な伝送番号に対する受信応答を受けると(ステップ13b−▲8▼)、ファイル終了フェーズの処理を開始する。アプレット12は、アップロードされたファイルのサイズを含む終了要求をサーブレット22に送る(ステップ13b−▲9▼)。サーブレット22は、受信したテキストからファイルを生成し、ファイルのサイズを特定し、終了要求に添えられたアップロードされたファイルのサイズと比較し、ファイル伝送が正常に終了したか否か確認し、終了回答をアプレット12に送る(ステップ13b−囲み数字10)。以上により、ファイルのダウンロード動作は終了する。
【0056】
以上のように本例のアプレット12とサーブレット22との間のファイル伝送手順は、ファイルを扱うユーザの認証、ファイルを構成するテキスト単位で伝送状態を確認しながら行うものであるから、信頼性の高いファイル伝送が可能となっている。これは、アプリケーション31との通信制御、Webブラウザ11の起動等をエージェント13、API32により仲介させる分だけ、アプレット12及びサーブレット22への負担が軽減され、その分これらの機能をファイル伝送の信頼性を向上させる処理に充てることが可能となっている。また、テキスト単位で伝送状態を確認するため、上述したAPI32によるコマンドSの実行が可能となっている。アプレット12はコマンドSを受けると、監視している伝送状態をAPI32に送ることができる。
【0057】
上述の第1の実施例では、単にファイル伝送を行うファイル伝送システムについて述べたが、本発明はこれに限るものではない。例えば、サーブレット22としては単にファイル伝送を行うだけではなく、ファイル伝送の際にファイルに所定の処理を施すシステムに応用しても良い。第2の実施例はそのようなファイル処理システムについて述べる。図14にその構成を示してある。同図において図1と同様の構成要素は、図1のものと同様の符号で示してある。本例のWebサーバ24は、前処理サーブレット241、中間処理サーブレット242、後処理サーブレット243を備え、また、これらに対応する前処理アプレット161、中間処理アプレット162、後処理アプレット163を備える。これらアプレットは、それぞれ要求に応じてWebブラウザ11にダウンロードされる。ここで言う前処理、中間処理、後処理については以下の通りのものとする。ここで、所定のファイル、例えば、日々更新される売上げ報告書ファイルを、表計算アプリケーションを使用して所定の書式で作成する業務を前提として述べる。売上げ報告書は日々の売上げ情報が追加されて更新すべきものであり、所定期間以前の古い売上げ情報は必要に応じて削除する必要がり、また、新たな売上げ報告書としては必要な情報(例えば、ユーザの担当業務に関連する売上げ情報)のみを含んでいれば良く、あるいは、新たな報告書の作成の際には売上げ内容等を除いたブランクな入力項目のみの報告書フォームさえあれば良い。前処理とは入力用のフォームのファイル、例えば、ブランクな入力項目を有する報告書のファイルを伝送する処理であり、中間処理とは、例えば、元となる売上げ報告書ファイルから必要な情報(例えば、ユーザの担当業務に関連する所定の期間の売上げ情報)のみを含む報告書ファイルを伝送する処理であり、後処理とは、新たな報告書ファイルの内容にて元となる売上げ報告書ファイルを更新する処理である。前処理サーブレット241は、Webブラウザ11から要求に応じて元となる売上げ報告書ファイルから必要な情報を除いてブランクな入力項目のみの報告書ファイルを生成し、Webブラウザ11にダウンロードするものとする。中間処理サーブレット242は、Webブラウザ11から要求に応じて元となる売上げ報告書ファイルから必要な情報のみを含む報告書ファイルを生成してWebブラウザ11にダウンロードするものとする。後処理サーブレット243は、Webブラウザ11から新たな報告書ファイルのアップロードを受け、新たな売上げ情報を元となる売上げ報告書ファイルに追加するものであり、必要ならば、最古の売上げ情報を削除するものとする。
【0058】
本例のローカルシステム3では、アプリケーション35は、上述の第1実施例のアプリケーション31の機能に加えて、所定日時に所定のファイルに前処理、中間処理、後処理を施す機能を実行するものである。アプリケーション35は、メインプログラム36と、スケジュールテーブル37と、API38と、アクセス管理テーブル39を備える。メインプログラム36は、上述の第1実施例のメインプログラム34の機能に加えて、スケジュールテーブル37を参照して所定日時に所定のファイルに前処理、中間処理、後処理を施す機能を実行するものである。スケジュールテーブル37には、スケジュールテーブル33の内容に加え、前処理、中間処理、後処理を施すための情報として、ファイルID、グループID、ユーザID、パスワードを前処理、中間処理、後処理及びそれを実行する日時と対応付けて可能している。API38は、API32のコマンド機能を備えるものであり、必要があれば前処理、中間処理、後処理のそれぞれのアプレット毎にコマンドを追加しても良い。アクセス管理テーブル39は、前処理、中間処理、後処理に対応したWebサーバ24のアクセス先、すなわち、前処理、中間処理、後処理のそれぞれのアプレットをダウンロードするためのURLを格納する。
【0059】
本例のシステムの動作の概要を述べると以下のようになる。アプリケーション35のメインプログラム36は、スケジュールテーブル37に基づいて前処理、中間処理、後処理の実行日時を監視しており、例えば、前処理を実行する日時となるとアクセス管理テーブル39から、前処理実行の際にアクセスするWebサーバ24のURLを読み出し、スケジュールテーブル37から目的のファイルのファイルID、グループID、ユーザID、パスワードを読み出し、前処理実行をAPI38に指示する。API38は、これに基づいてWebクライアント端末1のエージェント13にWebブラウザ11を起動してWebサーバ24にアクセスさせる。これは、上述の第1実施例のファイル伝送動作と同様の手順であり、Webブラウザ11には前処理アプレット161がダウンロードされ、API38と前処理アプレット161とは通信可能となる。API38は、前処理アプレット161を制御し、前処理サーブレット241から前処理を施したファイルのダウンロードをさせる。API38は、API32と同様にファイル伝送のコマンドTを前処理アプレット161に送り、前処理アプレット161はアプレット12と同様の手順でダウンロードを実行する。但し、本例では、前処理サーブレット241は、要求されたファイルに前処理を施して生成したファイルをサーブレット22と同様の手順で前処理アプレット161に送信する。API38は、ファイル伝送処理が終了すると、API38はエージェント13にWebブラウザ11を終了させ、メインプログラム36にファイル伝送処理の終了を通知する。詳しく述べないが、メインプログラム36は中間処理、後処理についても同様にAPI38を介して実行させる。
【0060】
以上のように本例のシステムは、上述の第1の実施例と同様の作用及び効果を奏し、さらに、Webサーバ24にファイルに対する前処理、中間処理、後処理それぞれのサーブレット及びアプレットを用意することにより、アプリケーション35を簡易な構成にしつつ、ファイルに対する前処理、中間処理、後処理を自動化することが可能となる。
【0061】
【発明の効果】
本発明のファイル処理システムは、他のアプリケーションプログラムからファイルの伝送やファイルの加工等のファイル処理の要求を受け、Webブラウザを起動して当該Webブラウザを介してファイル処理のセッションを制御するエージェントプログラムを設け、要求元の認識番号、セッションの管理番号、起動されたWebブラウザの認識番号等のセッション毎の管理情報を管理テーブルに格納し、管理情報に基づいてセッションを管理する。このため、アプリケーションプログラムのセッション管理に関わる機能を削減でき、Webブラウザの自動および/または遠隔制御によるファイル処理用のアプリケーションプログラムの開発が容易にできるとともに、アプリケーションプログラムの規模を縮小できる。また、エージェントプログラムにより複数のアプリケーションプログラムのセッションの一元管理が可能となり、アプリケーションプログラムの規模を縮小できることとあわせて、システム資源の効率的な利用を進めることが可能となる。また、オートパイロット機能を備えたファイル処理システムを簡易に提供することが可能となる。
【0062】
また、アプリケーションプログラムに、エージェントプログラムの管理情報に基づいてWebブラウザを介したファイル処理を要求するアプリケーションインターフェースプログラム(API)を設けることによれば、APIにセッション制御機能を集約でき、様々なアプリケーションプログラムにおいて、APIを汎用的に使用でき、アプリケーションプログラムの開発がさらに容易なものとなる。
【0063】
また、エージェントプログラムによるセッションの一元管理は、ファイル処理を実行するアプレット及びサーブレットのセッション管理機能の負担も軽減でき、軽減分を、ファイル処理の信頼性を高める機能に充てることができ、システムの信頼性を向上することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例のファイル伝送システムの構成図。
【図2】図1のファイル伝送システムの各プログラムの連携動作を示す概要図。
【図3】図1のエージェントプログラムのセッション管理テーブルの詳細を説明する構成図。
【図4】図1のAPIのコマンドの概要を示す説明図。
【図5】図1のアプリケーションプログラムの動作を示すフローチャート。
【図6】図1のAPIの動作を示すフローチャート。
【図7】図1のエージェントプログラムの動作を示すフローチャート。
【図8】図1のWebサーバの動作を示すフローチャート。
【図9】図1のアプレットの動作を示すフローチャート。
【図10】図1のAPI、エージェント及びアプレットの連携動作を示すシーケンス図。
【図11】図1のアプレット及びサーブレットのファイル伝送手順の概要を示す説明図。
【図12】図1のアプレット及びサーブレットのファイルのダウンロード動作を示すシーケンス図。
【図13】図1のアプレット及びサーブレットのファイルのアップロード動作を示すシーケンス図。
【図14】本発明の第1の実施例のファイル処理システムの構成図。
【符号の説明】
1 Webクライアント端末
11 Webブラウザ
12 アプレット
161 アプレット(前処理アプレット)
162 アプレット(中間処理アプレット)
163 アプレット(後処理アプレット)
13 エージェントプログラム(ファイル処理制御プログラム)
130 管理テーブル(セッション管理テーブル)
2 Webサーバ端末
21、24 Webサーバ
22 サーブレット
241 サーブレット(前処理サーブレット)
242 サーブレット(中間処理サーブレット)
243 サーブレット(後処理サーブレット)
31、35 アプリケーションプログラム
32、38 アプリケーションインターフェースプログラム
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a file processing system and a control program, and more particularly to a file processing system and a control program for performing file processing via a Web browser.
[0002]
[Prior art]
Currently, it is called an application service provider (ASP), and uses various business applications placed on the server of the ASP operator via the Internet from the screen of a Web browser such as Microsoft Internet Explorer of a user's client terminal. There is a service that provides as much as possible and uploads and downloads various business data. The use of this type of service has become widespread because the user can reduce the labor and cost compared to the case where a user independently introduces and operates a business application. As an operation system of this kind of ASP company, for example, there is one disclosed in Patent Document 1. In this method, a business application is provided on a Web browser screen of a client terminal of a user's branch via the Internet, and data input on the screen is received by an ASP operator's server and converted into a general-purpose data file. This is a system for downloading general-purpose data files to a computer system at a user's head office.
[0003]
Further, for example, there is one disclosed in Patent Document 2. This is a system that provides a file processing application on a Web browser screen of a client terminal via the Internet, and enables processing, uploading, and downloading of a file.
[0004]
[Patent Document 1]
JP 2001-357341 A
[Patent Document 2]
JP-A-11-120137
[0005]
[Problems to be solved by the invention]
However, in the above-described conventional system, it is necessary for the user to manually start the Web browser and access the ASP provider's server to perform work. For this reason, tasks such as daily input of business data such as sales data and files and uploading of files have been complicated.
[0006]
In order to eliminate this trouble, it is conceivable to provide an auto-pilot program that automatically executes data input, file upload, etc. However, developing a different auto-pilot program separately for each user's needs is a burden on ASP operators. It becomes. Introducing a plurality of other application programs that cooperate with a Web browser, such as an auto pilot program, imposes a load on system resources including client terminals.
[0007]
Accordingly, the present invention provides a file processing system and a control program for facilitating the efficient use of system resources while facilitating the development of an application program that cooperates with a Web browser. The present invention provides an automatic and / or remote control function for a Web browser. It is an object of the present invention to provide a file processing system provided with a simple.
[0008]
[Means for Solving the Problems]
The file processing system of the present invention receives a request for file processing such as file transmission and file processing from an application program, starts a Web browser, and controls a session for executing the file processing via the Web browser. The management information for each file processing session, such as the identification number of the request source, the management number of the session of the file processing, and the identification number of the activated Web browser, is stored in a management table. A Web client terminal having an agent program for controlling the session based on the Web client terminal, and receiving the Web client terminal from the Web browser and executing the file processing. I do.
[0009]
As a result, since the file processing session is managed by the agent program, the function related to the file processing session management of the application program for automatically and / or remotely controlling the Web browser can be reduced, and the application program can be easily developed. The size of the application program can be reduced. In addition, the agent program can centrally manage sessions of a plurality of application programs, and can reduce the scale of the application programs, as well as promote efficient use of system resources.
[0010]
Further, at least one of the application programs causes the file processing to be executed at a predetermined date and time, and a schedule table for designating the predetermined file processing at the predetermined date and time, and via the agent based on the schedule table. Executing a file process, and preferably includes the Web client or another client terminal having the autopilot program.
[0011]
This makes it possible to easily provide a file processing system having an autopilot function.
[0012]
The agent program includes, for each session of the file processing, a management number for each session, an identification number for communication with a requester of the session, and a flag indicating whether the management number is occupied or non-occupied. The identification number generated in correspondence with the Web browser when the operating system that operates the Web browser activates the Web browser corresponds to the port number used for communication with the Web server terminal in the session. The management table, which is stored as a set of management information, and the management information set, which stores the flag indicating that the management table is not occupied in response to the file processing request from the application program, Generate a new session by storing the flag indicating the occupancy Activating the Web browser, storing the process identification number and the port number obtained by the activation in the set of management information of the new session in the management table, Establishing communication between the Web server and the application program via the Web browser for each session, and responding to a request to end file processing from the application program, based on the management table, Identifying the session corresponding to the termination request source, terminating the Web browser of the specific session, and storing a flag indicating the non-occupancy in a set of management information of the specific session in the management table. Preferably, it is provided. Here, it is preferable that the agent program activates the Web browser so as to acquire the port number in response to a request from the application program.
[0013]
Further, the application program is an application interface program for requesting the file processing to the Web server terminal via the Web browser based on management information on the session of the application program in the management information obtained from the agent program. It is preferable to provide
[0014]
Also, the agent program indicates, for each session of the file processing, a management number for each session, a recognition number for communication with a requester of the session, and whether the management number is occupied or not occupied. A flag, the identification number generated in correspondence with the Web browser when the operating system that operates the Web browser starts the Web browser, and a port number used for communication with the Web server terminal in the session. The management program stores the management table as a set of management information in association with each other, and the application program is configured to execute the Web browser based on management information on the application program session of the management information acquired from the agent program. Through W b. An application interface program for requesting the file processing to the server terminal. The application interface program, based on the management information obtained from the agent program, if the port number has an available port, the agent program has the available port. It is preferable to request activation of the Web browser so as to obtain a number.
[0015]
The Web server terminal includes a servlet that downloads an applet to the Web browser in response to access from the Web browser, and executes a file process in response to a request from the applet. The program communicates with the applet that is executed by using the Web browser as a virtual machine based on management information related to the application program session of the management information obtained from the agent program. It is preferable to receive a request for file processing and request the servlet for file processing.
[0016]
The Web server terminal includes a servlet that downloads an applet to the Web browser in response to access from the Web browser, and executes a file process in response to a request from the applet. The program communicates with the applet that is executed by using the Web browser as a virtual machine based on the management information related to the session of the application program in the management information obtained from the agent program. Receiving the identification number of the target file for file processing, the identification number of the user of the target file, and the password of the user, and based on the received information, the servlet performs file processing and authentication. Requests, the servlet as long as the legitimate requests of the file processing by the authentication, it is preferable to perform the file processing.
[0017]
The Web server terminal includes a servlet that downloads an applet to the Web browser in response to access from the Web browser, and executes a file process in response to a request from the applet. The program communicates with the applet that is executed by using the Web browser as a virtual machine based on the management information related to the session of the application program in the management information obtained from the agent program. Receiving the identification number of the target file for file transmission, the identification number of the user of the target file, and the password of the user, and transmitting and authenticating the file to the servlet based on the received information. If the request for the file transmission is valid by the authentication, the servlet executes the file transmission, and the file transmission between the applet and the servlet transmits the target file to a predetermined file. Preferably, a plurality of texts divided into data lengths are sequentially transmitted, and each time the transmission is sequentially performed, the transmission state is confirmed between the applet and the servlet.
[0018]
Further, the file processing control program of the present invention receives a request for file processing such as file transmission and file processing from an application program, activates a Web browser, and executes the file processing on a Web server via the Web browser. A step of controlling a session to be executed, and storing management information for each session of the file processing such as an identification number of the request source, a management number of the file processing session, and an identification number of the activated Web browser in a management table. Controlling the session based on the management information.
[0019]
For each session, a management number for each session, an identification number for communication with a requester of the session, a flag indicating whether the management number is occupied or non-occupied, and operating the Web browser When the operating system to be activated activates the Web browser, the identification number generated corresponding to the Web browser is associated with a port number used for communication with the Web server terminal in the session, and one piece of management information The management table stored as a set and the management information set storing the flag indicating non-occupation of the management table in response to the file processing request from the application program include the flag indicating the occupancy. Generating a new session by storing the Web browser, and starting the Web browser. Storing the process identification number and the port number obtained by the activation in the set of management information of the new session in the management table; and, based on the management table, the Web for each session. Establishing communication between the Web server and the application program via a browser, responding to a request for ending the file processing from the application program, and executing the session corresponding to the end request source based on the management table. And terminating the Web browser of the specific session, and storing the flag indicating the non-occupation in the set of management information of the specific session in the management table.
[0020]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 shows a configuration of a file transmission system and a program according to a first embodiment of the present invention. In this example, a Web browser 11 such as Microsoft Internet Explorer of the Web client terminal 1 accesses a Web server terminal 2 that provides a Web on the Internet or an intranet, and is downloaded from the Web server terminal 2 to the Web client terminal 1. This is a system for transmitting files between the applet 12 and the servlet 22 of the Web server terminal 2. Note that an applet is a generic name of a program described in the Java language of Sun Microsystems, downloaded from a Web server to a Web browser, and executed using the Web browser as a virtual machine. A servlet is described in the Java language. , Is a generic term for programs executed by using Web server programs as virtual machines. The system according to the present embodiment causes the Web browser 11 to transmit a file by automatic and / or remote control of an application program (hereinafter, referred to as an application) 31 of the local system 3. In particular, the control function of the application 31 is reduced. In addition to facilitating the development, the efficient use of system resources is promoted. For this reason, in order to coordinate between the Web browser 11 and the applet 12 of the Web client terminal 1 and the application 31, an agent program (hereinafter referred to as an agent) 13 is resident on the Web client terminal 1, and the agent 13 A corresponding application interface program (hereinafter, referred to as an API) 32 is provided.
[0021]
An outline of the operation of this example will be described with reference to FIG. The application 31 sends various commands for instructing file transmission via the API 32 to the client terminal 1. The agent 13 starts the Web browser 11 in response to the command, makes the Web server terminal 2 specified by the application 31 access, downloads the applet 12 from the Web server terminal 2 to the Web browser 11, and sets a session for file transmission. Established, the management information for the session management is stored in a session management table, which will be described later, and is used for the subsequent communication between the API 32 and the applet 12 and the control of the Web browser 11, so that the file is transmitted between the servlet 22 and the applet 12. Execute transmission. The agent 13 simultaneously manages a plurality of, for example, four sessions in a session management table, and controls a plurality of file transmissions. Since the agent 13 centrally manages file processing sessions such as file transmission of the plurality of Web browsers 11, applets 12, and APIs 32, automatic and / or file processing such as file transmission using the Web browser of each application 31 is performed. The remote control function is reduced, and a common API 32 may be prepared for a plurality of applications 31, thereby facilitating the development of the application 31. In addition, one agent 13 may be provided in the Web client terminal 1 for a plurality of applications 31, and system resources can be efficiently used.
[0022]
Next, returning to FIG. 1, the details of the configuration of this example will be described. The Web client terminal 1 includes a Web browser 11 having a virtual machine function of an applet such as Microsoft Internet Explorer. The Web browser 11 executes the applet 12 downloaded from the Web server terminal 2 and performs file transmission with the servlet 22 on the Web server terminal 2. The Web client terminal 1 includes an agent 13 for controlling the Web browser 11 and the applet 12 from the application 31. The agent 13 includes a session management table 130 for controlling the Web browser 11 and the applet 12 for each file transmission session in accordance with various commands described below sent from the application 31. Further, the Web client terminal 1 includes a storage area 14 for storing a target file. These are executed on the operating system 15 of the Web browser 11, the agent 13, and the Web client terminal 1, and the storage area 14 is realized on the operating system 15. As the operating system 15, for example, Microsoft Windows 95/98 / NT / 2000 may be used.
[0023]
The Web server terminal 2 includes a Web server program (hereinafter, referred to as a Web server) 21 that provides a Web for file transmission. The Web server 21 executes the servlet 22, receives the access of the Web browser 11, and downloads the applet 12 to the client terminal 1. The Web server terminal 2 has a database 23 for storing information (file ID, group ID, user ID, password, etc., described later) for managing access to a target file to be transmitted, and a storage area for storing the target file. 230 is provided. The operating system of the Web server terminal 2 may be Microsoft Windows 2000 Server SP1, IBM's AIX 4.3.3.10, Red Hat's Redhat 7.1, or the like. As a Web server program for constructing the Web server 21, in other words, an HTTP (Hyper Text Transfer Protocol) server program, Apache 1.3.2X of Apache Software Foundation or the like can be used. As a Java servlet container for executing the servlet 22, Tomcat 3.2.3 of Apache Software Foundation or the like can be used. The database 23 can be constructed using, for example, PostgreSQL of the University of California, USA and PostgreSQL International Development Team, or other database applications may be used.
[0024]
In the database 23, an authentication number of a file (hereinafter, referred to as a file ID), an authentication number of a group using the file (hereinafter, referred to as a group ID), and an authentication number of a user using the file (hereinafter, referred to as a file ID) are provided for each file. , A user ID) and a password are stored in association with each other, and the servlet 22 performs file access management based on this. Although the database 23 and the storage areas 14 and 230 are placed on the Web client terminal 1 and the Web server terminal 2 for convenience of explanation, they are placed on a terminal different from these terminals, and the Web client terminal is used for file transmission processing. Access from the terminal 1 and the Web server terminal 2 may be used.
[0025]
The local system 3 is a terminal provided with the application 31 and is different from the Web client terminal 1 for convenience, but may be the same terminal. The application 31 includes an API 32 including various commands for the applet 12 and the agent 13. The application 31 is, for example, an auto-pilot program, and includes a schedule table 33 for performing predetermined file transmission at a predetermined date and time, and a main program 34 for executing file transmission via the API 32 based on the schedule table.
[0026]
Next, details of the session management table 130 of the agent 13 will be described. As shown in FIG. 3, for example, the session management table 130 includes Session-No 131, Transmission Control Protocol (TCP) -Port 132, Uniform Resource Locator (URL) 133, Lock-Flag 134, Socket-Distributor-Tipper 135, and Socket-Distributor 135. The IDs 137 are managed in association with each row in the figure, and up to four sets are managed for convenience of explanation. The content of Session-No 131 indicates a management number for managing each session of file transmission, and is provided in advance from No. 1 to No. 4. The present invention is not limited to this, and the management number may be appropriately increased according to the required number of sessions. The number of Session-No 131 is, in other words, a management number of the Web browser 11 for each session. The contents of the TCP-Port 132 indicate a TCP port number for performing TCP / IP communication with the application 31 when the applet 12 is downloaded. The content of the URL 133 indicates the URL of the Web server terminal 2. The content of the Lock-Flag 134 indicates that the management number of the corresponding Session-No 131 is already occupied by the Web browser 11, that is, that the management number is already occupied by another file transmission session. When the Web browser 11 is activated by the number, “1” indicating occupancy is stored. When the Web browser 11 is terminated and the occupation state is released, “0” indicating non-occupation is stored. The content of the Socket-Descriptor 135 indicates the identification number of the socket used for communication between the agent 13 and the application 31. The content of the Start-Time 136 indicates the time when the Web browser 11 was started. The agent 13 periodically sends a status indicating that the file transmission is being executed to the API 32 starting from this time, and the application 31 can monitor an abnormal state such as interruption of the file transmission. The content of the Process-ID 137 is generated by the operating system 15 for each activated Web browser 11 and indicates the process number of the Web browser 11 used in the system. Thus, the agent 13 can specify the process number and cause the operating system 15 to terminate the Web browser 11.
[0027]
Next, details of commands used between the API 13 and the agent 13 and the applet 12 will be described. The outline of the command is as shown in FIG. 4, and the command I (acquisition of management information) is for acquiring the management information of the session, and is a command for referring to the session management table 130 from the agent 13. The command L (session lock) is a command occupying the management number of the specified session, that is, Session-No 131. The command O (browser open) is a command for starting the web browser 11 at the designated Session-No 131. The command T (file transmission instruction) is a command for instructing file transmission, and instructs file download or upload with a target file ID, group ID, user ID, and password. Command C (browser close) is a command for terminating the Web browser specified in Session-No 131. The command U (session unlock) is a command for instructing release of the specified Session-No 131. The command S (status inquiry) is a command for inquiring the operating status of the agent 13 and the applet 12.
[0028]
Next, details of the file transmission operation of this example will be described. FIG. 5 is a flowchart showing the operation of the application 31. First, the operation of the application 31 will be described with reference to FIG. The main program 34 of the application 31 monitors the date and time of the file processing based on the schedule table 33 (step 5a), and when a predetermined date and time comes (step 5b), the URL of the Web server 21 is transmitted from the schedule table 33 and transmitted. The file ID, group ID, user ID, password, and transmission type indicating upload or download of the file to be read are read, and the API 32 is instructed to transmit a predetermined file (step 5c). The file transmission by the API 32, which will be described later, is monitored (step 5d). When the file transmission by the API 32 is completed (step 5e), if there is no instruction to terminate the application 31 from the outside (not shown), a series of predetermined file transmission processing is terminated. The process returns to the date and time monitoring operation of step 5a.
[0029]
Next, the file transmission operation of the API 32 will be described with reference to the flowchart of FIG. The API 32 that has received the instruction from the main program 34 of the application 31 sends a command I to the agent 13 and requests all the management information of the session management table 130 (Step 6a). When the management information is received from the agent 13 (step 6b), a Session-No 131 in which the Lock-Flag 134 does not already have “1” indicating occupancy is specified, and a command L for occupying this is sent to the agent 13 (step 6b). 6c). At this time, if there are a plurality of Session-Nos 131 in which “1” indicating the occupation has not already been set in the Lock-Flag 134, the occupation starts from the youngest number. In addition, the command L is accompanied by the number of the designated Session-No 131 and the TCP port number used for TCP / IP communication with the applet 12 as arguments. Here, the API 32 refers to the management information and selects a TCP port number so as not to overlap with a TCP port number already in use.
[0030]
When receiving a response to the command L from the agent 13 (step 6d), the API 32 sends a command O to the agent 13 to instruct the web browser 11 to start (step 6e). Here, the API 32 adds the URL of the Web server 21 as an argument of the command O. Upon receiving a response to the command O from the agent 13 (step 6f), the API 32 sends a command I to the agent 13, requests all management information of the session management table 130 (step 6g), and receives all management information from the agent 13. (Step 6h). At this point, the Web browser 11 has been activated, the applet 12 has been downloaded from the Web server 21, and the acquired management information is described in the row of the Session-No 131 occupied earlier in the session management table 130 in the TCP-Port 132. Stores the TCP port number specified earlier, the URL 133 stores the URL of the servlet 22 of the Web server 21 to be accessed later, stores the Lock-Flag 134, and stores the agent 13 in the Socket-Descriptor 135. , The start time of the Web browser 11 is stored in the Start-Time 136, and the Process-ID 137 is stored in the Process-ID 137 in this session. The process number of the Web browser 11 that is generated is in the state stored by.
[0031]
The API 32 confirms the acquired management information, determines that the session with the Web server 21 has been established, and sends a file transmission command T to the applet 12 using the TCP port number (step 6i). The API 32 attaches a file ID to be transmitted, a user ID, a group ID, a password, and a transmission type as arguments of the command T. The API 32 monitors a response to the command T from the applet 12. During this time, the status is output from the agent 13 at predetermined intervals, and the operating state of the agent 13 and the applet 12 is monitored. If necessary, a command S is issued from the API 32 to operate the agent 13 and the applet 12. May be inquired. When the API 32 receives the end response of the file transmission from the applet 12 (Step 6j), the API 32 sends a command C to the agent 13 with the management number of the file transmission session as an argument (Step 6k), and instructs the Web browser 11 to end. . Upon receiving a response to the command C from the agent 13 (step 61), the API 32 sends a command U to the agent 13 and instructs release of the designated Session-No 131 (step 6m). Upon receiving a response to the command U from the agent 13 (step 6n), the API 32 ends the file transmission operation.
[0032]
Next, the file transmission operation of the agent 13 will be described with reference to the flowchart of FIG. Upon receiving the command I from the API 32 (Step 7a), the agent 13 sends all the management information of the session management table 130 to the API 32 (Step 7b). Upon receiving the command L from the API 32 (Step 7c), the agent 13 stores “1” indicating the occupation in the Lock-Flag 134 in the row of the Session-No 131 of the session management table 130 specified by the API 32, and the Socket-Discoverer 135. And the response number to the API 32 (step 7d). Upon receiving the command O from the API 32 (Step 7e), the agent 13 activates the Web browser 11 to access the Web server 21 corresponding to the URL specified by the API 32 (Step 7f). At this time, the TCP port number specified by the API 32 is added to the URL opened by the Web browser 11 as an argument, and the Web server 21 is requested to use the specified TCP port number as a standby port. For example, assuming that the TCP port number is designated as 1, the TCP port number is added in a predetermined format following the description of the normal URL such as "HTTP: // URL? Pno = 01". As a result, the TCP port numbers do not overlap between the applications 13 having different sessions, and the necessity of the TCP port number reassignment process does not occur. Therefore, even when a plurality of sessions are simultaneously processed, the processing time can be reduced. Is possible.
[0033]
Also, when the Web browser 11 is activated, the agent 13 determines the Web browser 11 generated by the operating system 15 when the Web browser 11 is activated in the line of the Session-No 131 of the session management table 130 specified by the API 32. The process number is stored in Process-ID 137, and the start time is stored in Start-Time 136 (step 7g).
From the applet 12 downloaded from the web server 21 to the web browser 11, the agent 13 sends a command indicating a designated TCP port number, a TCP port number that the web server 21 has actually set as a reception port, and a URL of the servlet 22 to be accessed thereafter. When receiving the P (step 7h), in the row of Session-No 131 of the session management table 130 specified by the API 32, the TCP port 132 stores the TCP port number that the Web server 21 has actually set as the reception port, and stores it in the applet 12. A response to the command P is made (step 7i).
[0034]
Upon receiving the command I through the API 32 (Step 7j), the agent 13 sends all the management information of the session management table 130 to the API 32 (Step 7k). Thus, thereafter, the API 32 and the applet 12 can directly transmit and receive a command for file transmission.
[0035]
Upon receiving the command C from the API 32 (step 71), the agent 13 reads the process number of the Process-ID 137 corresponding to the session management number of the specified Session-No 131 from the session management table 130, and sends the process number to the operating system 15. It instructs the termination of the Web browser 11 corresponding to the process number, and sends a response to the command C to the API 32 (step 7m).
[0036]
Upon receiving the command U from the API 32 (Step 7n), the agent 13 stores “0” in the Lock-Flag 134 corresponding to the session management number of the specified Session-No 131 in the session management table 130, and The management number is released, and a response to the command C is sent to the API 32 (step 7o).
[0037]
Next, an operation of the Web server 21, particularly, an operation of responding to an access from the Web browser 11, will be described with reference to a flowchart of FIG. When the Web server 21 receives an access request in which a TCP port number is added to a URL from the Web browser 11 (step 8a), the Web server 21 designates the Web server 11 for a subsequent file transmission session with the Web browser 11. The servlet 22 is started with the TCP port number set as the standby port number (step 8b). If the designated TCP port number cannot be used for some reason, a free TCP port number is used. At the same time, the applet 12 including the TCP port number designated by the Web browser 11, the TCP port number actually set as the standby port, and the URL of the servlet 22 is downloaded to the Web browser 11 (step 8c). As a result, the subsequent file transmission can be executed between the applet 12 and the servlet 22.
[0038]
Next, the operation of the applet 12, particularly the communication operation with the agent 13 and the API 32, will be described with reference to the flowchart of FIG. When the applet 12 is downloaded to the web browser 11, the applet 12 sends a command P to the agent 13, and notifies the TCP port number designated to the web browser 11, the TCP port number actually set as the standby port, and information on the URL of the servlet 22. (Step 9a). When receiving a response to the command P from the agent 13 (step 9b), the applet 12 confirms the normal end of the command P. When the applet 12 receives the command T from the API 32 (step 9c), the applet 12 acquires a file ID to be transmitted, a group ID, a user ID, a password, a transmission type indicating whether the transmission process is upload or download, from the command T, and Then, a file transmission is performed with the file 22 (step 9d). Here, a response from the servlet 22 relating to file transmission may be sent to the API 32 as needed. When the applet 12 receives the command S from the API 32 (step 9e), it responds with information indicating the operating status such as the initial state, during transmission, and transmission completion (step 9f).
[0039]
In the above description, each operation of the API 32, the agent 13, and the applet 12 has been described individually. However, the operation cooperation is summarized as shown in the sequence diagram of FIG. In the figure, API indicates a sequence of commands transmitted and received by the API 32, Agent indicates a sequence of commands transmitted and received by the agent 13 and a processing sequence, and Applet indicates a sequence of commands transmitted and received by the applet 12. I () indicates the command I, and () indicates an argument, for example, each alphabetical letter and the following () indicate each of the above-mentioned commands and arguments. PortConTbl indicates the session management table 130, and FileID, GroupID, UserID, and Password indicate a file ID, a group ID, a user ID, and a password. The cooperative operation of the API 32, the agent 13, and the applet 12 will be described below with reference to FIG.
[0040]
First, the command I is sent from the API 32 to the agent 13 (step 10a), and the agent 13 responds to this by sending all the management information of the session management table 130 to the API 32 (step 10b). Next, the command API 32 specifies the management number of the session that is not occupied from the management information, adds the designation of the TCP port number as an argument, and sends the command L occupying the line of the specified session management number to the agent 13 (step 10c), the agent 13 occupies, ie, locks, the row of the corresponding session management number, and responds to the API 32 (step 10d).
[0041]
Next, a command O is sent from the API 32 with the URL of the Web server 21 as an argument to the agent 13 (step 10e), and the agent 13 activates the Web browser 11 with the designation of the TCP port number in accordance with the command, and starts the Web server. 21 and responds to the API 32 (step 10f). Thus, the applet 12 is downloaded from the Web server 21 to the Web browser 11. The applet 12 is executed by the Web browser 11, and sends the command P to the agent 13 (Step 10g). The agent 13 adds the TCP port number to the management information of the row of the session in the session management table 130, that is, stores the TCP port number in the TCP-Port 132, and responds to the applet 12 (step 10h). After receiving the response to the command O, the API 32 sends the command I to the agent 13 (step 10i). In response, the agent 13 responds to the API 32 with all the management information of the session management table 130 (step 10j). As a result, the API 32 checks the TCP port number and the URL of the servlet 22, and sends the command T directly to the applet 12 (Step 10k). The applet 12 responds to this by executing a file transfer with the servlet 22, and the applet 12 responds to the API 32 (step 101).
[0042]
When the file transmission is completed, the API 32 sends a command C for instructing termination of the Web browser 11 (Step 10m). According to this, the agent 13 terminates the Web browser 11 and responds to the API 32 (step 10n). Upon receiving this, the API 32 sends a command U for releasing the line of the session management number occupied in the session to the agent 13 (step 10o), and the agent 13 unlocks the line, that is, releases the line according to the command U, and Respond (step 10p). Thus, a series of operations of one session is completed.
[0043]
As described above, in the system of the present example, the agent 13 stores management information in the session management table 130, and also establishes, maintains, and releases a plurality of sessions, and the API 32 and the applet 12 relating to each session perform A command is transmitted / received based on the management information of the management table 130 to realize file transmission for each. Therefore, the burden of each application 31 involved in file transmission is reduced, and a common API 32 may be prepared for a plurality of applications 31, which facilitates the development of the application 31. In addition, one agent 13 may be provided in the Web client terminal 1 for a plurality of applications 31, and system resources can be efficiently used. This facilitates the development and introduction of the above-mentioned auto-pilot program as the application 31, and the complicated daily work, such as uploading of business files such as sales data and files, conventionally performed manually. Can be automated.
[0044]
In the above description, the details of the file transmission executed between the applet 12 and the servlet 22 are not described, but the details are as follows, and the outline of the file transmission procedure is shown in the table of FIG. Shown in The file transmission procedure is built on top of the HTTP procedure, but since the HTTP procedure is not a balanced protocol (since it is an asymmetric protocol), this procedure is also different for download and upload. Specifically, as described later, two major phases, “authentication” and “transmission”, are set. The transmission phase is further divided into three sub-phases “file start”, “text transmission unit”, and “file end”. It consists of.
[0045]
In the authentication phase, the applet 12 sends a user ID and a password to the servlet 22, and the servlet 22 checks the user ID and the password registered in the database 23 in advance, and authenticates whether the request is from a valid user. If it is confirmed that the user ID is correct, the user is logged on using the user ID.
[0046]
In the first sub-phase of the transmission phase, the file start phase, the applet 12 sends the file ID and the group ID to the servlet 22, and the servlet 22 refers to the database 23 to specify the target file, Check that the status is under management and the status is ready for transmission.
[0047]
In the text transmission phase, which is an intermediate sub-phase of the transmission phase, the binary data constituting the file to be transmitted is treated as a plurality of texts divided by a predetermined data length, and the data length and the writing position are set for each text. Transmit while checking.
[0048]
In the final sub-phase of the transmission phase, the file end phase, after the text transmission, the size of the file generated from the text is mutually confirmed by the applet 12 and the servlet 22. If the file transmission is completed normally, the processing is terminated. I do.
[0049]
Next, details of the download operation of the file transmission operation will be described with reference to the sequence diagram of FIG. In the figure, it is assumed that the transmission buffer size is 500 KB and the text is transmitted in units of 500 KB. First, in the authentication phase (step 12a), the applet 12 sends authentication information such as a group ID, a user ID, and a password to the servlet 22 (step 12a-1). The servlet 22 queries the database 23 for the group ID, user ID, and password registered in advance in the database 23, and sends the authentication result to the applet 12 (step 12a-2). Here, if the user is permitted to log on, the process proceeds to the transmission phase (step 12b).
[0050]
In the transmission phase (step 12b), first, as a procedure of the file start phase, the applet 12 sends a transmission start request including a file ID and a group ID of a target file to the servlet 22 (step 12b-1). The servlet 22, which has received the file ID and the group ID from the applet 12, specifies the target file with reference to the database 23 and transmits the file if it can confirm that the logon user is permitted to download the file. The start reply is sent to the applet 12 (step 12b-2).
[0051]
Next, the process proceeds to the text transmission phase, and the applet 12 sends a first transmission request to the servlet 22 (step 12b-3). In response to this, the servlet 22 responds to the first text constituting the file identified earlier by sending the transmission request number (Seq = 1 in the figure, “1” indicating the transmission request number in the following text response) The same applies to the following text responses. Text-Len = 500, “500” indicates the data length, the same applies to the following text responses.) Write position (Pointer = 0, "0" indicates the writing position, and the same is applied to the following text responses) to the applet 12 (step 12b-4). The applet 12 checks the data length of the text and the writing position, and if there is no abnormality, writes the text in a predetermined storage area (not shown) in association with the transmission request number, the data length, and the writing position. Then, the second transmission request is sent to the servlet 22 (step 12b-5). Similarly, the applet 12 and the servlet 22 perform the operations from step 12b- (6) to (8). If there is an error in the text data length or writing position, or if the text cannot be received within a predetermined period after the transmission request, the transmission request of the corresponding number is sent to the servlet 22 again. If information indicating that the text includes the end of the file (indicated by “EOF” in step 12b-8 in FIG. 12) is added to the response from the servlet 22, the applet 12 performs the file end phase process. Start. In the end phase, the applet 12 generates a file from the received text, specifies the size of the file, and sends an end request including the size to the servlet 22 (step 12b-9). The servlet 22 compares the size of the file attached to the end request with the original size, confirms whether or not the file transmission has ended normally, and sends an end reply to the applet 12 (step 12b—enclosed numeral 10). Thus, the file download operation ends.
[0052]
Next, details of the upload operation of the file transmission operation will be described with reference to the sequence diagram of FIG. Also in this figure, it is assumed that the transmission buffer size is 500 KB and the text is transmitted in units of 500 KB. In the upload operation, first, an authentication phase (step 13a) similar to the download operation is performed, authentication information is sent from the applet 12 (step 13a-1), and the servlet 22 receiving this returns an authentication result (step 13a). 13a- (2)). Here, if the user is permitted to log on, the process proceeds to the transmission phase (step 13b).
[0053]
In the transmission phase (step 13b), first, as a procedure of the file start phase, the applet 12 sends a transmission start request including the file ID and the group ID of the target file to the servlet 22 (step 13b-1). The servlet 22, which has received the file ID and the group ID from the applet 12, refers to the database 23, specifies the target file storage area or the existing file, and confirms that the user who has logged on can be permitted to upload. If possible, a transmission start response is sent to the applet 12 (step 13b-2).
[0054]
When the applet 12 obtains the transmission start response permitting the upload, the applet 12 proceeds to the procedure of the text transmission phase, and sends the first text constituting the file to the servlet 22 (step 13b-3). At this time, the transmission number (Seq = 1 in the figure, “1” indicates the transmission number, the same applies to the transmission of the following text), the data length of the text (Text-Len = 500 in the figure, “500 "Indicates the data length, the same applies to the following text transmission), and the writing position (Pointer = 0 in the figure," 0 "indicates the writing position, the same applies to the following text transmission). Serve. The servlet 22 checks the data length and the writing position of the received text and, if there is no abnormality, writes the text in a predetermined storage area (not shown) in association with the transmission number, the data length and the writing position, and indicates the reception of the text. A response (ACK (Seq = 1) in the figure, the same applies to the following reception response in which "1" indicates the transmission number) is sent to the applet 12 (step 13b-4). The applet 12, which has received the reception response, sends the next text, here the second text, to the servlet 22 (step 13b-5). Similarly, the applet 12 and the servlet 22 perform the operations from step 13b- (6) to (8). Note that the applet 12 transmits the text of the corresponding transmission number when the reception response from the servlet 22 is accompanied by information indicating an error in the text, that is, information indicating an error. Resubmit.
[0055]
When the applet 12 receives the reception response for the final transmission number (step 13b-8), the applet 12 starts the process of the file end phase. The applet 12 sends an end request including the size of the uploaded file to the servlet 22 (step 13b-9). The servlet 22 generates a file from the received text, specifies the size of the file, compares it with the size of the uploaded file attached to the termination request, checks whether the file transmission has been completed normally, The answer is sent to the applet 12 (step 13b—enclosed numeral 10). Thus, the file download operation ends.
[0056]
As described above, the file transmission procedure between the applet 12 and the servlet 22 in this example is performed while authenticating the user who handles the file and confirming the transmission status in text units constituting the file. High file transmission is possible. This is because the load on the applet 12 and the servlet 22 is reduced by the amount by which the communication control with the application 31 and the activation of the Web browser 11 are mediated by the agent 13 and the API 32. Can be allocated to the process of improving Further, the command S can be executed by the API 32 in order to confirm the transmission state in text units. Upon receiving the command S, the applet 12 can send the monitored transmission status to the API 32.
[0057]
In the first embodiment described above, the file transmission system that simply performs file transmission has been described, but the present invention is not limited to this. For example, the servlet 22 may be applied not only to file transmission but also to a system for performing a predetermined process on a file at the time of file transmission. The second embodiment describes such a file processing system. FIG. 14 shows the configuration. In this figure, components similar to those in FIG. 1 are denoted by the same reference numerals as those in FIG. The Web server 24 of this example includes a pre-processing servlet 241, an intermediate processing servlet 242, and a post-processing servlet 243, and further includes a corresponding pre-processing applet 161, intermediate processing applet 162, and post-processing applet 163. These applets are downloaded to the Web browser 11 in response to requests. The pre-processing, intermediate processing, and post-processing referred to here are as follows. Here, a description will be given on the assumption that a predetermined file, for example, a sales report file updated daily in a predetermined format using a spreadsheet application. The sales report is to be updated with daily sales information added, old sales information before a predetermined period must be deleted as necessary, and information necessary for a new sales report (for example, It is only necessary to include only the sales information related to the job in charge of the user), or when creating a new report, it is sufficient that there is only a report form with only blank input items excluding the sales contents and the like. The pre-processing is processing for transmitting a file of an input form, for example, a report file having blank input items, and the intermediate processing is, for example, necessary information (for example, from an original sales report file). , A report file including only the sales information for a predetermined period related to the user's job, and the post-processing is to replace the original sales report file with the contents of the new report file. This is the process of updating. The preprocessing servlet 241 generates a report file including only blank input items by removing necessary information from the original sales report file in response to a request from the Web browser 11 and downloads the report file to the Web browser 11. . The intermediate processing servlet 242 generates a report file including only necessary information from the original sales report file in response to a request from the Web browser 11, and downloads the report file to the Web browser 11. The post-processing servlet 243 receives the upload of a new report file from the Web browser 11 and adds new sales information to the original sales report file, and deletes the oldest sales information if necessary. It shall be.
[0058]
In the local system 3 of this example, the application 35 executes a function of performing pre-processing, intermediate processing, and post-processing on a predetermined file at a predetermined date and time in addition to the function of the application 31 of the above-described first embodiment. is there. The application 35 includes a main program 36, a schedule table 37, an API 38, and an access management table 39. The main program 36 executes a function of performing pre-processing, intermediate processing, and post-processing on a predetermined file at a predetermined date and time with reference to the schedule table 37 in addition to the function of the main program 34 of the first embodiment described above. It is. In the schedule table 37, in addition to the contents of the schedule table 33, the pre-processing, intermediate processing, post-processing and file ID, group ID, user ID, and password are also provided as information for performing pre-processing, intermediate processing, and post-processing. Can be associated with the date and time of execution. The API 38 has a command function of the API 32. If necessary, a command may be added for each applet of pre-processing, intermediate processing, and post-processing. The access management table 39 stores an access destination of the Web server 24 corresponding to the pre-processing, the intermediate processing, and the post-processing, that is, a URL for downloading each applet of the pre-processing, the intermediate processing, and the post-processing.
[0059]
The outline of the operation of the system of this example is as follows. The main program 36 of the application 35 monitors the execution date and time of the pre-processing, the intermediate processing, and the post-processing based on the schedule table 37. At this time, the URL of the Web server 24 to be accessed is read, the file ID, group ID, user ID and password of the target file are read from the schedule table 37, and the API 38 is instructed to execute preprocessing. The API 38 causes the agent 13 of the Web client terminal 1 to activate the Web browser 11 and access the Web server 24 based on the API. This is the same procedure as the file transmission operation of the first embodiment described above. The preprocessing applet 161 is downloaded to the Web browser 11, and the API 38 and the preprocessing applet 161 can communicate with each other. The API 38 controls the preprocessing applet 161 to cause the preprocessing servlet 241 to download the preprocessed file. The API 38 sends a file transmission command T to the preprocessing applet 161 in the same manner as the API 32, and the preprocessing applet 161 executes downloading in the same procedure as the applet 12. However, in this example, the pre-processing servlet 241 transmits a file generated by performing pre-processing on the requested file to the pre-processing applet 161 in the same procedure as the servlet 22. Upon completion of the file transmission process, the API 38 causes the agent 13 to terminate the Web browser 11 and notifies the main program 36 of the termination of the file transmission process. Although not described in detail, the main program 36 also executes intermediate processing and post-processing via the API 38 similarly.
[0060]
As described above, the system according to the present embodiment has the same operations and effects as those of the above-described first embodiment, and further prepares a servlet and an applet for pre-processing, intermediate processing, and post-processing for a file in the Web server 24. This makes it possible to automate pre-processing, intermediate processing, and post-processing for a file while simplifying the configuration of the application 35.
[0061]
【The invention's effect】
The file processing system according to the present invention is an agent program that receives a request for file processing such as file transmission and file processing from another application program, activates a Web browser, and controls a file processing session via the Web browser. And stores management information for each session, such as the identification number of the request source, the management number of the session, and the identification number of the activated Web browser, in the management table, and manages the session based on the management information. Therefore, functions related to session management of the application program can be reduced, and an application program for file processing by automatic and / or remote control of a Web browser can be easily developed, and the size of the application program can be reduced. In addition, the agent program makes it possible to manage sessions of a plurality of application programs in a unified manner, so that the scale of the application programs can be reduced and the efficient use of system resources can be promoted. Further, it is possible to easily provide a file processing system having an autopilot function.
[0062]
In addition, by providing an application program with an application interface program (API) that requests file processing via a Web browser based on management information of an agent program, the API can be integrated with a session control function, and various application programs can be integrated. , APIs can be used for general purposes, and application programs can be more easily developed.
[0063]
In addition, the centralized management of the session by the agent program can reduce the load on the session management function of the applet and servlet that execute the file processing, and the reduced amount can be used for the function of improving the reliability of the file processing. Performance can be improved.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a file transmission system according to a first embodiment of this invention.
FIG. 2 is an exemplary diagram showing a cooperative operation of each program of the file transmission system of FIG. 1;
FIG. 3 is a configuration diagram illustrating details of a session management table of the agent program of FIG. 1;
FIG. 4 is an explanatory view showing an outline of a command of the API in FIG. 1;
FIG. 5 is a flowchart showing the operation of the application program of FIG. 1;
FIG. 6 is a flowchart showing the operation of the API in FIG. 1;
FIG. 7 is a flowchart showing the operation of the agent program of FIG. 1;
FIG. 8 is a flowchart showing the operation of the Web server of FIG. 1;
FIG. 9 is a flowchart showing the operation of the applet shown in FIG. 1;
FIG. 10 is a sequence diagram showing the cooperative operation of the API, the agent, and the applet in FIG. 1;
FIG. 11 is an explanatory view showing an outline of a file transmission procedure of the applet and the servlet in FIG. 1;
FIG. 12 is a sequence diagram showing a download operation of the applet and servlet files of FIG. 1;
FIG. 13 is a sequence diagram showing an upload operation of the applet and servlet files of FIG. 1;
FIG. 14 is a configuration diagram of a file processing system according to the first embodiment of this invention.
[Explanation of symbols]
1 Web client terminal
11 Web browser
12 applets
161 applet (pre-processing applet)
162 applet (intermediate processing applet)
163 applet (post-processing applet)
13. Agent program (file processing control program)
130 management table (session management table)
2 Web server terminals
21, 24 Web server
22 servlets
241 servlet (pre-processing servlet)
242 servlet (intermediate processing servlet)
243 servlet (post-processing servlet)
31, 35 Application program
32, 38 Application interface program

Claims (11)

アプリケーションプログラムからファイルの伝送やファイルの加工等のファイル処理の要求を受けて、Webブラウザを起動して当該Webブラウザを介して上記ファイル処理を実行するセッションを制御するものであり、上記要求元の認識番号、上記セッションの管理番号、起動された上記Webブラウザの認識番号等の上記セッション毎の管理情報を管理テーブルに格納し、上記管理情報に基づいて上記セッションを制御するエージェントプログラムを備えたWebクライアント端末と、
上記Webクライアント端末の上記Webブラウザからのアクセスを受けて、ファイル処理を実行するWebサーバ端末と
を備えたことを特徴とするファイル処理システム。
In response to a request for file processing such as file transmission or file processing from an application program, a Web browser is started and a session for executing the file processing is controlled via the Web browser. A Web having an agent program for storing management information for each session, such as an identification number, a management number of the session, and an identification number of the activated Web browser, in a management table, and controlling the session based on the management information. A client terminal,
A file processing system comprising: a Web server terminal that executes file processing in response to an access from the Web browser of the Web client terminal.
上記アプリケーションプログラムの少なくとも1つは所定の日時に上記ファイル処理を実行させるものであり、上記所定日時に所定のファイル処理を指定するスケジュールテーブルと、上記スケジュールテーブルに基づいて上記エージェントを介してファイル処理を実行するステップとを備えたオートパイロットプログラムであり、当該オートパイロットプログラムを備える上記Webクライアントまたは他のクライアント端末を備えることを特徴とする請求項1に記載のファイル処理システム。At least one of the application programs causes the file processing to be executed at a predetermined date and time. The schedule table specifies the predetermined file processing at the predetermined date and time, and executes the file processing via the agent based on the schedule table. 2. The file processing system according to claim 1, further comprising the step of: executing the Web client or another client terminal having the auto pilot program. 上記エージェントプログラムは、
上記セッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Webブラウザを動作させるオペレーティングシステムが上記Webブラウザを起動したときに当該Webブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Webサーバ端末との通信に使用するポート番号とを対応付けて1つの管理情報の組として格納する上記管理テーブルと、
上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、
上記Webブラウザを起動し、当該起動によって得られた上記プロセス認識番号と、上記ポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、
上記管理テーブルに基づき、上記セッション毎に上記Webブラウザを介して上記Webサーバと上記アプリケーションプログラムとの通信を確立するステップと、
上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Webブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップと
を備えることを特徴とする請求項1または2に記載のファイル処理システム。
The above agent program
For each session, a management number for each session, an identification number for communication with a requester of the session, a flag indicating whether the management number is occupied or non-occupied, and an operating system for operating the Web browser One set of management information in which the identification number generated corresponding to the Web browser when the system starts up the Web browser is associated with a port number used for communication with the Web server terminal in the session. The above management table stored as
In response to the file processing request from the application program, a new session is generated by storing the flag indicating the occupancy in the set of management information storing the flag indicating the non-occupation of the management table. Steps and
Activating the web browser and storing the process identification number and the port number obtained by the activation in a set of management information of the new session in the management table;
Establishing communication between the Web server and the application program via the Web browser for each session based on the management table;
In response to a request for ending the file processing from the application program, the session corresponding to the ending request source is specified based on the management table, and the Web browser of the specified session is closed. 3. The file processing system according to claim 1, further comprising: storing a flag indicating the non-occupation in the set of management information of the specific session.
上記エージェントプログラムは、
上記セッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Webブラウザを動作させるオペレーティングシステムが上記Webブラウザを起動したときに当該Webブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Webサーバ端末との通信に使用するポート番号とを対応付けて1つの管理情報の組として格納する上記管理テーブルと、
上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、
上記アプリケーションプログラムからの要求に応じた上記ポート番号を取得するように上記Webブラウザを起動し、当該起動によって得られた上記プロセス認識番号と、上記ポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、
上記管理テーブルに基づき、上記セッション毎に上記Webブラウザを介して上記Webサーバと上記アプリケーションプログラムとの通信を確立するステップと、
上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Webブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップと
を備えることを特徴とする請求項1乃至3の何れかに記載のファイル処理システム。
The above agent program
For each session, a management number for each session, an identification number for communication with a requester of the session, a flag indicating whether the management number is occupied or non-occupied, and an operating system for operating the Web browser One set of management information in which the identification number generated corresponding to the Web browser when the system starts up the Web browser is associated with a port number used for communication with the Web server terminal in the session. The above management table stored as
In response to the file processing request from the application program, a new session is generated by storing the flag indicating the occupancy in the set of management information storing the flag indicating the non-occupation of the management table. Steps and
The Web browser is started so as to obtain the port number in response to a request from the application program, and the process identification number and the port number obtained by the start are used for the new session Storing in a set of management information;
Establishing communication between the Web server and the application program via the Web browser for each session based on the management table;
In response to a request for ending the file processing from the application program, the session corresponding to the ending request source is specified based on the management table, and the Web browser of the specified session is closed. 4. The file processing system according to claim 1, further comprising: storing a flag indicating the non-occupation in the set of management information of the specific session.
上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを介して上記Webサーバ端末に上記ファイル処理を要求するアプリケーションインターフェースプログラムを備えることを特徴とする請求項1乃至4の何れかに記載のファイル処理システム。The application program includes an application interface program that requests the Web server terminal to perform the file processing via the Web browser based on management information related to the application program session of the management information acquired from the agent program. The file processing system according to any one of claims 1 to 4, wherein: 上記エージェントプログラムは、上記セッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Webブラウザを動作させるオペレーティングシステムが上記Webブラウザを起動したときに当該Webブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Webサーバ端末との通信に使用するポート番号とを対応付けて1つの管理情報の組として格納する上記管理テーブルを備え、
上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを介して上記Webサーバ端末に上記ファイル処理を要求するアプリケーションインターフェースプログラムを備え、
上記アプリケーションインターフェースプログラムは、上記エージェントプログラムから取得した当該管理情報に基づき、上記ポート番号に空きがあれば、上記エージェントプログラムに当該空きポート番号を取得するように上記Webブラウザの起動を要求する
ことを特徴とする請求項1乃至5の何れかに記載のファイル処理システム。
The agent program includes, for each session, a management number for each session, an identification number for communication with a requester of the session, a flag indicating whether the management number is occupied or non-occupied, The identification number generated in correspondence with the Web browser when the operating system operating the browser activates the Web browser is associated with a port number used for communication with the Web server terminal in the session. The management table stored as a set of two pieces of management information,
The application program includes an application interface program for requesting the Web server terminal to perform the file processing via the Web browser based on management information on the session of the application program in the management information obtained from the agent program. ,
The application interface program, based on the management information obtained from the agent program, requests the agent program to start the Web browser so as to obtain the empty port number if the port number is available. The file processing system according to any one of claims 1 to 5, wherein:
上記Webサーバ端末は、上記Webブラウザからのアクセスに応答してアプレットを上記Webブラウザにダウンロードするとともに、上記アプレットからの要求に応じてファイル処理を実行するサーブレットを備えるものであり、
上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを仮想マシンとして実行される上記アプレットと通信し、
上記アプレットは上記アプリケーションプログラムから、ファイル処理の要求を受け付けして、上記サーブレットにファイル処理を要求する
ことを特徴とする請求項1乃至6の何れかに記載のファイル処理システム。
The Web server terminal includes a servlet that downloads an applet to the Web browser in response to an access from the Web browser and executes a file process in response to a request from the applet.
The application program communicates with the applet that executes the Web browser as a virtual machine based on management information related to the application program session of the management information obtained from the agent program,
7. The file processing system according to claim 1, wherein the applet receives a file processing request from the application program, and requests the servlet for file processing.
上記Webサーバ端末は、上記Webブラウザからのアクセスに応答してアプレットを上記Webブラウザにダウンロードするとともに、上記アプレットからの要求に応じてファイル処理を実行するサーブレットを備えるものであり、
上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを仮想マシンとして実行される上記アプレットと通信し、
上記アプレットは、上記アプリケーションプログラムから、ファイル処理の対象ファイルの認識番号、当該対象ファイルのユーザの認識番号及び当該ユーザのパスワードを受け付けし、当該受付した情報に基づき、上記サーブレットにファイル処理及び認証を要求し、
上記サーブレットは上記認証により上記ファイル処理の要求が正当なものであれば、上記ファイル処理を実行する
ことを特徴とする請求項1乃至7に記載のファイル処理システム。
The Web server terminal includes a servlet that downloads an applet to the Web browser in response to an access from the Web browser and executes a file process in response to a request from the applet.
The application program communicates with the applet that executes the Web browser as a virtual machine based on management information related to the application program session of the management information obtained from the agent program,
The applet receives the identification number of the target file for file processing, the identification number of the user of the target file, and the password of the user from the application program, and performs file processing and authentication on the servlet based on the received information. Request,
8. The file processing system according to claim 1, wherein the servlet executes the file processing if the request for the file processing is valid by the authentication.
上記Webサーバ端末は、上記Webブラウザからのアクセスに応答してアプレットを上記Webブラウザにダウンロードするとともに、上記アプレットからの要求に応じてファイル処理を実行するサーブレットを備えるものであり、
上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを仮想マシンとして実行される上記アプレットと通信し、
上記アプレットは、上記アプリケーションプログラムから、ファイル伝送の対象ファイルの認識番号、当該対象ファイルのユーザの認識番号及び当該ユーザのパスワードを受け付けし、当該受付した情報に基づき、上記サーブレットにファイル伝送及び認証を要求し、
上記サーブレットは上記認証により上記ファイル伝送の要求が正当なものであれば、上記ファイル伝送を実行し、
上記アプレットと上記サーブレットとの間の上記ファイル伝送は、上記対象ファイルを所定のデータ長に分割されてなる複数のテキストを順次伝送し、当該順次の伝送の都度、伝送状態を上記アプレットと上記サーブレットとの間で確認する
ことを特徴とする請求項1乃至8に記載のファイル処理システム。
The Web server terminal includes a servlet that downloads an applet to the Web browser in response to an access from the Web browser and executes a file process in response to a request from the applet.
The application program communicates with the applet that executes the Web browser as a virtual machine based on management information related to the application program session of the management information obtained from the agent program,
The applet receives, from the application program, the identification number of the target file for file transmission, the identification number of the user of the target file, and the password of the user, and based on the received information, performs file transmission and authentication to the servlet. Request,
The servlet executes the file transmission if the request for the file transmission is valid by the authentication,
In the file transmission between the applet and the servlet, a plurality of texts obtained by dividing the target file into a predetermined data length are sequentially transmitted, and each time the sequential transmission is performed, the transmission state is changed to the applet and the servlet. 9. The file processing system according to claim 1, wherein confirmation is made between the file processing system.
アプリケーションプログラムからファイルの伝送やファイルの加工等のファイル処理の要求を受けて、Webブラウザを起動して当該Webブラウザを介してWebサーバに上記ファイル処理を実行させるセッションを制御するステップと、
上記要求元の認識番号、上記ファイル処理のセッションの管理番号、起動された上記Webブラウザの認識番号等の上記ファイル処理のセッション毎の管理情報を管理テーブルに格納し、上記管理情報に基づいて上記セッションを制御するステップと
を備えことを特徴とするファイル処理制御プログラム
Receiving a request for file processing such as file transmission or file processing from an application program, controlling a session that activates a web browser and causes a web server to execute the file processing via the web browser;
The management information for each session of the file processing, such as the identification number of the request source, the management number of the session of the file processing, and the identification number of the activated Web browser, is stored in a management table, and based on the management information, Controlling a session. A file processing control program characterized by comprising:
上記ファイル処理のセッション毎に、当該セッション毎の管理番号と、上記セッションの要求元との通信のための認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Webブラウザを動作させるオペレーティングシステムが上記Webブラウザを起動したときに当該Webブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Webサーバ端末との通信に使用するポート番号とを対応付けて1つの管理情報の組として格納する上記管理テーブルと、
上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、
上記Webブラウザを起動し、当該起動によって得られた上記プロセス認識番号と、上記ポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、
上記管理テーブルに基づき、上記セッション毎に上記Webブラウザを介して上記Webサーバと上記アプリケーションプログラムとの通信を確立するステップと、
上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Webブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップと
を備えることを特徴とする請求項10に記載のファイル処理制御プログラム。
For each session of the file processing, a management number for each session, an identification number for communication with a requester of the session, a flag indicating whether the management number is occupied or non-occupied, When the operating system to be operated activates the Web browser, the identification number generated corresponding to the Web browser is associated with a port number used for communication with the Web server terminal in the session, and one management is performed. The management table stored as a set of information;
In response to the file processing request from the application program, a new session is generated by storing the flag indicating the occupancy in the set of management information storing the flag indicating the non-occupation of the management table. Steps and
Activating the web browser and storing the process identification number and the port number obtained by the activation in a set of management information of the new session in the management table;
Establishing communication between the Web server and the application program via the Web browser for each session based on the management table;
In response to a request for ending the file processing from the application program, the session corresponding to the ending request source is specified based on the management table, and the Web browser of the specified session is closed. Storing the flag indicating the non-occupation in the set of management information of the specific session.
JP2002362868A 2002-12-13 2002-12-13 File processing system and control program Expired - Lifetime JP4163940B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002362868A JP4163940B2 (en) 2002-12-13 2002-12-13 File processing system and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002362868A JP4163940B2 (en) 2002-12-13 2002-12-13 File processing system and control program

Publications (2)

Publication Number Publication Date
JP2004192563A true JP2004192563A (en) 2004-07-08
JP4163940B2 JP4163940B2 (en) 2008-10-08

Family

ID=32761193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002362868A Expired - Lifetime JP4163940B2 (en) 2002-12-13 2002-12-13 File processing system and control program

Country Status (1)

Country Link
JP (1) JP4163940B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042829A (en) * 2007-08-06 2009-02-26 Nippon Telegr & Teleph Corp <Ntt> Information function providing system, information function providing apparatus, information function providing method, and information function providing program
WO2011058676A1 (en) * 2009-11-13 2011-05-19 パナソニック株式会社 Client terminal, content utilizing system, data transmitting/receiving method, program, and recording medium
JP2021140587A (en) * 2020-03-06 2021-09-16 株式会社C−Rise Information processing method, computer program, and information processing device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042829A (en) * 2007-08-06 2009-02-26 Nippon Telegr & Teleph Corp <Ntt> Information function providing system, information function providing apparatus, information function providing method, and information function providing program
WO2011058676A1 (en) * 2009-11-13 2011-05-19 パナソニック株式会社 Client terminal, content utilizing system, data transmitting/receiving method, program, and recording medium
JP5514224B2 (en) * 2009-11-13 2014-06-04 パナソニック株式会社 Client terminal, content use system, data transmission / reception method, program, and recording medium
US8903896B2 (en) 2009-11-13 2014-12-02 Panasonic Corporation Client terminal, content utilizing system, and data transmitting/receiving method
JP2021140587A (en) * 2020-03-06 2021-09-16 株式会社C−Rise Information processing method, computer program, and information processing device

Also Published As

Publication number Publication date
JP4163940B2 (en) 2008-10-08

Similar Documents

Publication Publication Date Title
US7043537B1 (en) System and method for remote device management
US9967138B2 (en) Method for configuring an application
EP1014266B1 (en) Method, apparatus and program storage device for a client and adaptive synchronization and transformation server
CN1222886C (en) System and method for globally and securely accessing unified information in a computer network
JPH10312350A (en) Resource naming method and mechanism
JP2015001974A (en) Authentication system, control method therefor, service providing device and computer program
JP2013250915A (en) Service providing device, information process device, image formation device, control method of printing system and computer program
WO2002065315A1 (en) System and method for remote control of software and an attached device
CN101072163A (en) Network file automatic dump method and system
WO2017206960A1 (en) Data transmission method, data transfer client and data transfer executor
US11729334B2 (en) Communication system, device, and recording medium for remote access to electronic device through relaying device and converter
US8867073B2 (en) Server apparatus, network system, job processing method, and storage medium
EP1719320B1 (en) Server-side protocol configuration of accessing clients
JP4163940B2 (en) File processing system and control program
JP2003162449A (en) Integrated access management system, integrated access management apparatus and method, and program
US20030212587A1 (en) Apparatus and methods for coordinating Web services using role based interpretation of coordination plans
JP4989935B2 (en) Session management method, server used therefor, session management program, and recording medium recording the program
JP4532238B2 (en) On-demand service provision system
JP4873898B2 (en) Web authentication method and web authentication server
Karlsen et al. Minimum intrusion grid-the simple model
JPH11316717A (en) Data transfer system
JP4271639B2 (en) Network system, computer system and computer program
JP2008217376A (en) Content sharing method and system
JP2009217307A (en) Monitoring control system and monitoring control method
JP4496492B2 (en) Information processing system and information processing method for Web service

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080725

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4163940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term