JP4163940B2 - ファイル処理システム及び制御プログラム - Google Patents
ファイル処理システム及び制御プログラム Download PDFInfo
- Publication number
- JP4163940B2 JP4163940B2 JP2002362868A JP2002362868A JP4163940B2 JP 4163940 B2 JP4163940 B2 JP 4163940B2 JP 2002362868 A JP2002362868 A JP 2002362868A JP 2002362868 A JP2002362868 A JP 2002362868A JP 4163940 B2 JP4163940 B2 JP 4163940B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- session
- web browser
- applet
- file processing
- 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.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明は、ファイル処理システム及び制御プログラムに関し、特に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サーバ端末と、を備えてあり、上記エージェントプログラムは、上記セッション毎に、上記セッションの要求元のアプリケーションプログラムとの通信のための認識番号と、上記セッションの管理番号と、当該管理番号が占有されたか非占有かを示すフラグと、起動された上記Webブラウザの認識番号と、上記アクセス先のURLと、上記Webサーバ端末との通信のためのTCPポート番号とを対応付けて1つの管理情報の組として管理テーブルに格納するものであり、上記アプリケーションプログラムからのファイル処理の要求に応じ、非占有とされている上記管理番号の1つを当該セッションの管理番号として占有し、アクセス先のURL及び既に使用中のものと重複しないTCPポート番号を指定して上記Webブラウザを起動して上記指定されたTCPポート番号を使用して目的のファイルを伝送する上記アプレットをダウンロードし、当該アプレットに含まれる上記アクセス先のURLとなるURLと上記Webサーバ端末との通信のためのTCPポート番号とを上記管理情報として上記管理テーブルに格納して上記アプリケーションプログラムに通知し、ファイルの伝送終了後に当該セッションの上記Webブラウザを終了して当該セッションの管理番号を非占有とするものであり、上記Webサーバ端末は、上記Webブラウザからのアクセスを受けて上記指定されたTCPポートを待受けポート番号として上記サーブレットを起動し、上記アクセス先のURLとなる当該サーブレットのURLと、上記Webサーバ端末との通信のための上記TCPポート番号となる待受けポート番号とを含む上記アプレットをダウンロードさせるものであり、上記アプリケーションプログラムは、上記エージェントプログラムに上記ファイル処理を要求し、目的のアクセス先のURLを指定して上記Webブラウザの起動をせしめ、上記エージェントプログラムから上記アクセス先のURLとなるURLと上記Webサーバ端末との通信のためのTCPポート番号とを受け取り、当該URL及び当該TCPポート番号を用いて上記アプレットにファイルの伝送をせしめるアプリケーションインターフェースプログラムを備えるものであることを特徴とする。
【0009】
これにより、エージェントプログラムによりファイル処理のセッションを管理するため、Webブラウザを自動および/または遠隔制御するアプリケーションプログラムのファイル処理のセッション管理に関わる機能を削減でき、アプリケーションプログラムの開発が容易にできるとともに、アプリケーションプログラムの規模を縮小できる。また、エージェントプログラムにより複数のアプリケーションプログラムのセッションの一元管理が可能で、アプリケーションプログラムの規模を縮小できることとあわせて、システム資源の効率的な利用を進めることが可能となる。
【0010】
また、上記アプリケーションプログラムは、上記Webサーバ端末に上記Webクライアント端末を介して上記ファイル処理の要求を送る他のクライアント端末に備えられるかまたは上記Webクライアント端末自体に備えられるものであって、上記アプリケーションプログラムの少なくとも1つは所定の日時に上記ファイル処理を実行させるものであり、上記所定日時に上記ファイル処理を指定するスケジュールテーブルと、上記スケジュールテーブルに基づいて上記エージェントを介してファイル処理を実行するオートパイロットプログラムであることが好ましい。
【0011】
これにより、オートパイロット機能を備えたファイル処理システムを簡易に提供することが可能となる。
【0012】
上記エージェントプログラムは、上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、上記Webブラウザを起動し、当該起動によって得られた上記認識番号と、上記TCPポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、上記管理テーブルに基づき、上記セッション毎に上記Webブラウザを介して上記Webサーバと上記アプリケーションプログラムとの通信を確立するステップと、上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Webブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップとを備えることが好ましい。ここで、エージェントプログラムは、上記アプリケーションプログラムからの要求に応じた上記TCPポート番号を取得するように上記Webブラウザを起動することが好ましい。
【0014】
また、上記エージェントプログラムは、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを介して上記Webサーバ端末に上記ファイル処理を要求するアプリケーションインターフェースプログラムを備え、上記アプリケーションインターフェースプログラムは、上記エージェントプログラムから取得した当該管理情報に基づき、上記TCPポート番号に空きがあれば、上記エージェントプログラムに当該空きポート番号を取得するように上記Webブラウザの起動を要求することが好ましい。
【0015】
また、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを仮想マシンとして実行される上記アプレットと通信し、上記アプレットは上記アプリケーションプログラムから、ファイル処理の要求を受け付けして、上記サーブレットにファイル処理を要求することが好ましい。
【0016】
また、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを仮想マシンとして実行される上記アプレットと通信し、上記アプレットは、上記アプリケーションプログラムから、ファイル処理の対象ファイルの認識番号、当該対象ファイルのユーザの認識番号及び当該ユーザのパスワードを受け付けし、当該受付した情報に基づき、上記サーブレットにファイル処理及び認証を要求し、上記サーブレットは上記認証により上記ファイル処理の要求が正当なものであれば、上記ファイル処理を実行することが好ましい。
【0017】
また、上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを仮想マシンとして実行される上記アプレットと通信し、上記アプレットは、上記アプリケーションプログラムから、ファイル伝送の対象ファイルの認識番号、当該対象ファイルのユーザの認識番号及び当該ユーザのパスワードを受け付けし、当該受付した情報に基づき、上記サーブレットにファイル伝送及び認証を要求し、上記サーブレットは上記認証により上記ファイル伝送の要求が正当なものであれば、上記ファイル伝送を実行し、上記アプレットと上記サーブレットとの間の上記ファイル伝送は、上記対象ファイルを所定のデータ長に分割されてなる複数のテキストを順次伝送し、当該順次の伝送の都度、伝送状態を上記アプレットと上記サーブレットとの間で確認することが好ましい。
【0018】
また、本発明のファイル処理制御プログラムは、コンピュータ上に、複数のアプリケーションプログラムからそれぞれのアクセス先との間でファイルの伝送を行うファイル処理の要求を受けて、Webブラウザを起動して当該Webブラウザを介してアクセス先のWebサーバ端末に上記ファイル処理を実行させるセッションの複数を同時に制御する処理を実現せしめるファイル処理プログラムであって、上記セッション毎に上記セッションの要求元のアプリケーションプログラムとの通信のための認識番号と、上記セッションの管理番号と、当該管理番号が占有されたか非占有かを示すフラグと、起動された上記Webブラウザの認識番号と、上記アクセス先のURLと、上記Webサーバ端末との通信のためのTCPポート番号とを対応付けて1つの管理情報の組として管理テーブルに格納するステップと、上記アプリケーションプログラムからのファイル処理の要求に応じ、非占有とされている上記管理番号の1つを当該セッションの管理番号として占有するステップと、アクセス先のURLに既に使用中のものと重複しないTCPポート番号を指定して上記Webブラウザを起動して上記Webサーバ端末から当該Webサーバ端末上のサーブレットとの間で上記指定されたTCPポート番号を使用して目的のファイルを伝送するアプレットをダウンロードし、当該アプレットに含まれる上記アクセス先のURLとなるURLと上記Webサーバとの通信のためのTCPポート番号とを上記管理情報として上記管理テーブルに格納し、当該管理情報を用いて上記アプリケーションプログラムが上記アプレットにファイルの伝送をせしめるように当該管理情報を上記アプリケーションプログラムに通知するステップと、ファイルの伝送終了後に当該セッションの上記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 アプリケーションインターフェースプログラム
Claims (9)
- 複数のアプリケーションプログラムからそれぞれのアクセス先との間でファイルの伝送を行うファイル処理の要求を受けて、Webブラウザを起動して当該Webブラウザを介して上記ファイル処理を実行するセッションの複数を同時に制御するエージェントプログラムを備えたWebクライアント端末と、
上記Webクライアント端末の上記Webブラウザからのアクセスを受けて、ファイル処理を実行する上記アクセス先となり、アプレットを上記Webブラウザにダウンロードさせ、当該アプレットとの間でファイル伝送を実行するサーブレットを備えたWebサーバ端末と、
を備えてあり、
上記エージェントプログラムは、上記セッション毎に、上記セッションの要求元のアプリケーションプログラムとの通信のための認識番号と、上記セッションの管理番号と、当該管理番号が占有されたか非占有かを示すフラグと、起動された上記Webブラウザの認識番号と、上記アクセス先のURLと、上記Webサーバ端末との通信のためのTCPポート番号とを対応付けて1つの管理情報の組として管理テーブルに格納するものであり、上記アプリケーションプログラムからのファイル処理の要求に応じ、非占有とされている上記管理番号の1つを当該セッションの管理番号として占有し、アクセス先のURL及び既に使用中のものと重複しないTCPポート番号を指定して上記Webブラウザを起動して上記指定されたTCPポート番号を使用して目的のファイルを伝送する上記アプレットをダウンロードし、当該アプレットに含まれる上記アクセス先のURLとなるURLと上記Webサーバ端末との通信のためのTCPポート番号とを上記管理情報として上記管理テーブルに格納して上記アプリケーションプログラムに通知し、ファイルの伝送終了後に当該セッションの上記Webブラウザを終了して当該セッションの管理番号を非占有とするものであり、
上記Webサーバ端末は、上記Webブラウザからのアクセスを受けて上記指定されたTCPポートを待受けポート番号として上記サーブレットを起動し、上記アクセス先のURLとなる当該サーブレットのURLと、上記Webサーバ端末との通信のための上記TCPポート番号となる待受けポート番号とを含む上記アプレットをダウンロードさせるものであり、
上記アプリケーションプログラムは、上記エージェントプログラムに上記ファイル処理を要求し、目的のアクセス先のURLを指定して上記Webブラウザの起動をせしめ、上記エージェントプログラムから上記アクセス先のURLとなるURLと上記Webサーバ端末との通信のためのTCPポート番号とを受け取り、当該URL及び当該TCPポート番号を用いて上記アプレットにファイルの伝送をせしめるアプリケーションインターフェースプログラムを備えるものである
ことを特徴とするファイル処理システム。 - 上記アプリケーションプログラムは、上記Webサーバ端末に上記Webクライアント端末を介して上記ファイル処理の要求を送る他のクライアント端末に備えられるかまたは上記Webクライアント端末自体に備えられるものであって、上記アプリケーションプログラムの少なくとも1つは所定の日時に上記ファイル処理を実行させるものであり、上記所定日時に上記ファイル処理を指定するスケジュールテーブルと、上記スケジュールテーブルに基づいて上記エージェントを介してファイル処理を実行するオートパイロットプログラムであることを特徴とする請求項1に記載のファイル処理システム。
- 上記エージェントプログラムは、
上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、
上記Webブラウザを起動し、当該起動によって得られた上記認識番号と、上記TCPポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、
上記管理テーブルに基づき、上記セッション毎に上記Webブラウザを介して上記Webサーバ端末と上記アプリケーションプログラムとの通信を確立するステップと、
上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Webブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップと
を備えることを特徴とする請求項1または2に記載のファイル処理システム。 - 上記エージェントプログラムは、
上記セッション毎に、当該セッションの上記管理番号と、上記セッションの要求元のアプリケーションプログラムとの通信のための上記認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Webブラウザを動作させるオペレーティングシステムが上記Webブラウザを起動したときに当該Webブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Webサーバ端末との通信に使用するTCPポート番号とを対応付けて1つの上記管理情報の組として格納する上記管理テーブルと、
上記アプリケーションプログラムからの上記ファイル処理の要求に応答し、上記管理テーブルの非占有を示す上記フラグを格納した上記管理情報の組に、上記占有を示す上記フラグを格納して新たなセッションを生成するステップと、
上記アプリケーションプログラムからの要求に応じた上記TCPポート番号を取得するように上記Webブラウザを起動し、当該起動によって得られた上記認識番号と、上記TCPポート番号とを上記管理テーブルの上記新たなセッションの管理情報の組に格納するステップと、
上記管理テーブルに基づき、上記セッション毎に上記Webブラウザを介して上記Webサーバ端末と上記アプリケーションプログラムとの通信を確立するステップと、
上記アプリケーションプログラムからのファイル処理の終了の要求に応答し、上記管理テーブルに基づき、上記終了要求元に対応する上記セッションを特定し、当該特定セッションの上記Webブラウザを終了するとともに、上記管理テーブルの上記特定セッションの管理情報の組に上記非占有を示すフラグを格納するステップと
を備えることを特徴とする請求項1乃至3の何れかに記載のファイル処理システム。 - 上記エージェントプログラムは、
上記セッション毎に、当該セッションの上記管理番号と、上記セッションの要求元のアプリケーションプログラムとの通信のための上記認識番号と、上記管理番号が占有されたか非占有かを示すフラグと、上記Webブラウザを動作させるオペレーティングシステムが上記Webブラウザを起動したときに当該Webブラウザに対応して生成する上記認識番号と、上記セッションにおいて上記Webサーバ端末との通信に使用するTCPポート番号とを対応付けて1つの上記管理情報の組として格納する上記管理テーブルを備え、
上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを介して上記Webサーバ端末に上記ファイル処理を要求するアプリケーションインターフェースプログラムを備え、
上記アプリケーションインターフェースプログラムは、上記エージェントプログラムから取得した当該管理情報に基づき、上記TCPポート番号に空きがあれば、上記エージェントプログラムに当該空きTCPポート番号を取得するように上記Webブラウザの起動を要求する
ことを特徴とする請求項1乃至4の何れかに記載のファイル処理システム。 - 上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを仮想マシンとして実行される上記アプレットと通信し、
上記アプレットは上記アプリケーションプログラムから、ファイル処理の要求を受け付けして、上記サーブレットにファイル処理を要求する
ことを特徴とする請求項1乃至5の何れかに記載のファイル処理システム。 - 上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを仮想マシンとして実行される上記アプレットと通信し、
上記アプレットは、上記アプリケーションプログラムから、ファイル処理の対象ファイルの認識番号、当該対象ファイルのユーザの認識番号及び当該ユーザのパスワードを受け付けし、当該受付した情報に基づき、上記サーブレットにファイル処理及び認証を要求し、
上記サーブレットは上記認証により上記ファイル処理の要求が正当なものであれば、上記ファイル処理を実行する
ことを特徴とする請求項1乃至6の何れかに記載のファイル処理システム。 - 上記アプリケーションプログラムは、上記エージェントプログラムから取得した当該管理情報の上記アプリケーションプログラムのセッションに関る管理情報に基づき、上記Webブラウザを仮想マシンとして実行される上記アプレットと通信し、
上記アプレットは、上記アプリケーションプログラムから、ファイル伝送の対象ファイルの認識番号、当該対象ファイルのユーザの認識番号及び当該ユーザのパスワードを受け付けし、当該受付した情報に基づき、上記サーブレットにファイル伝送及び認証を要求し、
上記サーブレットは上記認証により上記ファイル伝送の要求が正当なものであれば、上記ファイル伝送を実行し、
上記アプレットと上記サーブレットとの間の上記ファイル伝送は、上記対象ファイルを所定のデータ長に分割されてなる複数のテキストを順次伝送し、当該順次の伝送の都度、伝送状態を上記アプレットと上記サーブレットとの間で確認する
ことを特徴とする請求項1乃至7の何れかに記載のファイル処理システム。 - コンピュータ上に、複数のアプリケーションプログラムからそれぞれのアクセス先との間でファイルの伝送を行うファイル処理の要求を受けて、Webブラウザを起動して当該Webブラウザを介してアクセス先のWebサーバ端末に上記ファイル処理を実行させるセッションの複数を同時に制御する処理を実現せしめるファイル処理プログラムであって、
上記セッション毎に上記セッションの要求元のアプリケーションプログラムとの通信のための認識番号と、上記セッションの管理番号と、当該管理番号が占有されたか非占有かを示すフラグと、起動された上記Webブラウザの認識番号と、上記アクセス先のURLと、上記Webサーバ端末との通信のためのTCPポート番号とを対応付けて1つの管理情報の組として管理テーブルに格納するステップと、
上記アプリケーションプログラムからのファイル処理の要求に応じ、非占有とされている上記管理番号の1つを当該セッションの管理番号として占有するステップと、
アクセス先のURLに既に使用中のものと重複しないTCPポート番号を指定して上記Webブラウザを起動して上記Webサーバ端末から当該Webサーバ端末上のサーブレットとの間で上記指定されたTCPポート番号を使用して目的のファイルを伝送するアプレットをダウンロードし、当該アプレットに含まれる上記アクセス先のURLとなるURLと上記Webサーバとの通信のためのTCPポート番号とを上記管理情報として上記管理テーブルに格納し、当該管理情報を用いて上記アプリケーションプログラムが上記アプレットにファイルの伝送をせしめるように当該管理情報を上記アプリケーションプログラムに通知するステップと、
ファイルの伝送終了後に当該セッションの上記Webブラウザを終了して当該セッションの管理番号を非占有とするステップと、
を備えことを特徴とするファイル処理制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002362868A JP4163940B2 (ja) | 2002-12-13 | 2002-12-13 | ファイル処理システム及び制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002362868A JP4163940B2 (ja) | 2002-12-13 | 2002-12-13 | ファイル処理システム及び制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004192563A JP2004192563A (ja) | 2004-07-08 |
JP4163940B2 true JP4163940B2 (ja) | 2008-10-08 |
Family
ID=32761193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002362868A Expired - Lifetime JP4163940B2 (ja) | 2002-12-13 | 2002-12-13 | ファイル処理システム及び制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4163940B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4653147B2 (ja) * | 2007-08-06 | 2011-03-16 | 日本電信電話株式会社 | 情報機能提供システム、情報機能提供装置、情報機能提供方法および情報機能提供プログラム |
WO2011058676A1 (ja) * | 2009-11-13 | 2011-05-19 | パナソニック株式会社 | クライアント端末、コンテンツ利用システム、データ送受信方法、プログラム、および記録媒体 |
JP6806351B1 (ja) * | 2020-03-06 | 2021-01-06 | 株式会社C−Rise | 情報処理方法、コンピュータプログラム及び情報処理装置 |
-
2002
- 2002-12-13 JP JP2002362868A patent/JP4163940B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2004192563A (ja) | 2004-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1145896C (zh) | 用于处理小服务器的装置和方法 | |
EP1014266B1 (en) | Method, apparatus and program storage device for a client and adaptive synchronization and transformation server | |
JP3681899B2 (ja) | ネットワークプリンタの制御方法 | |
EP1719320B1 (en) | Server-side protocol configuration of accessing clients | |
US7523173B2 (en) | System and method for web page acquisition | |
JP4197315B2 (ja) | コラボレーションサーバ、コラボレーションシステム、そのセッション管理方法及びプログラム | |
US20020133561A1 (en) | Shared internet storage resource, user interface system, and method | |
US20080184228A1 (en) | Concurrent web based multi-task support for a standalone system or for an central controlled virtual system | |
JPH10312350A (ja) | リソース命名方法及び機構 | |
US20080005657A1 (en) | System and method for providing offline web application, page, and form access in a networked environment | |
CN101981897A (zh) | 根据标准协议opc ua在客户端服务器系统中通信的方法和装置 | |
EP1454247A1 (en) | System and method for downloading data using a proxy | |
KR100533570B1 (ko) | 이동통신단말기를 이용한 원격지 컴퓨터 제어방법 및 그시스템 | |
WO2017206960A1 (zh) | 数据传输方法、数据传送客户端及数据传送执行器 | |
WO2002065315A1 (en) | System and method for remote control of software and an attached device | |
US20020120786A1 (en) | System and method for managing application integration utilizing a network device | |
JP4163940B2 (ja) | ファイル処理システム及び制御プログラム | |
CN101102333A (zh) | 网络下载系统与方法 | |
KR101378401B1 (ko) | 콘텐츠 유형에 따른 콘텐츠 전송 제어 방법 및 그를 위한dcd서버 | |
JP4532238B2 (ja) | オンデマンドサービス提供システム | |
KR100370595B1 (ko) | 네트워크를 통해 문서입력 서비스를 제공하는 방법 | |
JP2014123864A (ja) | 情報通信機器の管理システム、管理サーバ、情報通信機器、及びコンピュータプログラム | |
JP4271639B2 (ja) | ネットワークシステム、コンピュータシステム及びコンピュータプログラム | |
JP2008269220A (ja) | 認証委譲システム及び認証委譲方法並びに端末装置及び認証サーバ | |
JP4367141B2 (ja) | 指示記述内容変更装置及び指示記述内容変更プログラム |
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 |