JP2006048144A - 自動巡回装置,クライアント端末および自動巡回方法 - Google Patents

自動巡回装置,クライアント端末および自動巡回方法 Download PDF

Info

Publication number
JP2006048144A
JP2006048144A JP2004224283A JP2004224283A JP2006048144A JP 2006048144 A JP2006048144 A JP 2006048144A JP 2004224283 A JP2004224283 A JP 2004224283A JP 2004224283 A JP2004224283 A JP 2004224283A JP 2006048144 A JP2006048144 A JP 2006048144A
Authority
JP
Japan
Prior art keywords
script
program
browser
file
automatic
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.)
Pending
Application number
JP2004224283A
Other languages
English (en)
Inventor
Shinobu Kikuchi
忍 菊地
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.)
TENIK KK
Original Assignee
TENIK KK
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 TENIK KK filed Critical TENIK KK
Priority to JP2004224283A priority Critical patent/JP2006048144A/ja
Publication of JP2006048144A publication Critical patent/JP2006048144A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 インターネットにおいて、データのダウンロード,アップロードを自動化し、自動巡回で得たHTMLファイルから特定データ部分を抽出し、自動巡回中に障害が発生した場合に復旧処理を障害内容に応じて実行可能な、自動巡回装置を提供する。
【解決手段】 自動巡回処理するクライアント端末2に設けられた自動巡回装置23であって、ファイル又はプログラムに対する1又は複数の操作手順を記述したスクリプトファイルを記憶する記憶部28a〜28dと、記憶されたスクリプトファイルから巡回処理の操作に関する巡回処理コマンドを実行するスクリプトプログラムを生成するスクリプトエンジン232と、生成されたスクリプトプログラムに対応する巡回処理の操作を実行してスクリプトエンジン232が出力する巡回処理コマンドを受けて動作するホストオブジェクト231とをそなえて構成する。
【選択図】 図2

Description

本発明は、例えばインターネットにおける複数のWeb(ウェブ)ページを自動的に巡回する自動巡回技術と自動巡回の制御技術とに関し、特に、ブラウザ(Webブラウザ,WWW[World Wide Web]ブラウザ,インターネットブラウザ,HTML[(Hyper Text Markup Language)]ブラウザ)を用いてWebサーバに自動巡回するパソコン(パーソナルコンピュータ)等に用いて好適な、自動巡回装置,クライアント端末および自動巡回方法に関する。
昨今、インターネットの加速的な普及に伴い、ユーザ(インターネットの利用者又は端末の操作者)は、パソコン等の情報端末装置を用いて、Webサイトを構成する階層的な多数のWebページにアクセスし情報を取得している。
さらに、インターネットにおける電子商取引の規模が拡大し、FAXやVAN(Value Added Network:付加価値通信網)を用いたものから、Web−EDI(Web - Electronic Data Interchange)と呼ばれるインターネットにおける電子商取引が行なわれている。このWeb−EDIとは、商取引関係にある2社が相互に伝票等を電子化し、インターネットを介して受発注等を行なうものであって、2社のユーザがブラウザ(ブラウザプログラム,ブラウザオブジェクトプログラム,ブラウザアプリケーションソフトウェア)を参照した状態で、ファイルの読み書き,送受信等の操作(オペレーション)を行なうようになっている。
一般に、ユーザの情報端末装置と、Webサーバとして機能するパソコン又はワークステーションとの間の通信は、TCP/IP(Transmission Control Protocol/Internet Protocol)等の標準化された通信プロトコルが用いられる。TCP/IPは、情報端末装置の機種に依存しないものなので、ユーザは、情報資源の場所を示す記述方式であるURL(Uniform Resource Locator)をアドレスとして端末に入力し、インターネット上に公開されている世界中のWWWサーバや企業等に設けられたイントラネット用のサーバにアクセスする。
また、Webページは、HTMLおよびXHTML(eXtensible Hyper Text Markup Language)等のWebページを記述するためのマークアップ言語を用いて記述されている。Webページは、情報やデータを発信する側によって作成され、ユーザは、Webページに記述された情報やデータを、通常、ブラウザを用いて取得している。このブラウザは、Webページの閲覧およびWebページのコントロール用のアプリケーションプログラムとして広く普及している。
Webページへのアクセス方法を要約して説明すると、オフィスに自前のLAN(Local Area Network)を有するユーザは、そのLANを介してインターネットに直接接続し、そして、ユーザ自身の情報端末装置に表示されたブラウザを操作して、特定のURLをもつサーバにアクセスし、Webページの閲覧およびWebページの巡回等を行なうようになっている。これらの操作により、所望の情報の閲覧,書き込みおよびファイル入出力等の操作が行なわれる。また、閲覧,書き込み等の個別の操作方法が世界的に共通なので利便性が高い。上記の受発注システムおよび他の業種においても、巡回,情報の閲覧,書き込み等の各操作は同様である。
この半面、Web−EDIは、性能,セキュリティおよび信頼性の点で必ずしも十分な保証がない。また、ユーザはアクセス毎にユーザID(IDentification),パスワードを入力しなければならず、自分で所望のサーバにアクセスしない限り自分宛の情報の有無を確認できない。加えて、受発注システムを24時間体制で運用する場合、受注者は、常時、受発注システムの情報端末装置に張り付いていなければならない。
そして、すべての受発注情報を取得するためには、ユーザは、すべてのWebページにアクセスする必要がある。例えばWebサイト/WWWサーバの受発注情報等を閲覧又は書き込みをする場合、ユーザはWebサイトにアクセスする度に、そのWebサイトの階層構造(サイトマップ)に沿って、下位のディレクトリに記憶(保持,保存,格納,記録)された複数のWebページを操作する必要がある。従って、受発注情報にアプローチするためのルールが決められていない場合は、ユーザはアクセス毎に同一のWebページについて、ユーザ名を入力する等の同一操作を行なわなければならない。
これに対して、ルールが決められている場合は、アクセス毎にユーザが同一操作を行なうことは非常に手間がかかる。例えば、上記のユーザ名,登録IDに加えて、ユーザは、ある程度固定した項目(商品又はサービス名,納品先,納品地等)を逐一入力しなければならない。そして、商取引相手毎にWeb−EDIの仕様が異なるので、ユーザの負担が大きい。さらに、Webサイトの規模が大きい場合、商品,サービス名および納品先等を紹介するWebページに到達するための操作ですらユーザに負担を課すことになる。
このため、情報の閲覧および書き込み等の各操作が自動化された自動巡回システムが多数、インターネット上に構築されている。
従来から、Webページ操作の自動化に関する技術は、種々提案されている(例えば特許文献1,2参照)。
特許文献1記載の自動巡回装置は、ネットワークに接続された端末装置を移動して必要な情報を取得するエージェントを巡回させるエージェント手段をそなえ、このエージェント手段が、WWWサーバからHTMLデータを取得せず、ファイル名,日付,サイズの同じHTMLデータを端末装置から取得するものである。
具体的には、端末装置は、ユーザが閲覧を希望するURLを予め端末装置のメモリ等に登録する。そして、端末装置が決められた時間に所望のWebサイトを自動的に巡回し、Webサイトに記載された情報を、端末装置のローカルディスクにオンラインで取り込み、取り込みした情報を、オフラインで閲覧する。これにより、HTMLデータをネットワークを介して最短又は自動的に収集可能になる。
また、特許文献2記載の自動巡回装置は、複数のホームページを自動で取得する手段と、取得を希望するデータがホームページ中のどの部分にあるかを判断しデータを取得する手段と、取得した複数のデータについて統計等を行なう手段とを有する。具体的には、自動巡回装置は、ホームページ内に記載された数値等のデータを取り出し、編集して別システムへ転送するものである。これにより、ユーザ側の端末装置は、ユーザが必要なデータをいつでも取り出すことができる。
なお、以下の説明に用いる各用語について概説する。
Webサイトは、複数のWebページのうちの起点となるトップページ(スタートページ,ポータルサイト)とそのトップページに付随する複数のWebページとからなるシステムである。Webページ(単にページとも呼ぶ。)は、WWWにおいて提供されるページである。また、1枚のページは、ブラウザに表示される一画面に相当し、ツールバー又はマウスの右クリックで表示される「前に戻る」,「次に進む」を選択して移動した一画面である。なお、Webページの容量が大きく、ブラウザの一画面に収まらない場合においても、そのWebページは1ページとカウントする。
特開2000-181839号公報 特開2000-305879号公報
(i)しかしながら、従来の自動巡回装置は、閲覧するためのデータ取得機能(ファイ
ルおよびデータ等のダウンロード)と、データをWebサイトに送信するアップロード機能(ファイルおよびデータ等のアップロード)とのいずれの機能も設けられておらず、利便性を欠くという課題がある。この結果、ユーザはブラウザを用いて手動でアップロードしなければならない。
(ii)また、従来の自動巡回装置は、自動巡回装置が取得したファイルに含まれる特定のデータ部分の抽出機能が設けられていない。このデータ部分を抽出する機能は、画面に表示されるHTMLファイルのレイアウトからデータ部分を抽出する方法や、データ識別およびデータ属性が記述されたHTMLファイル内の文字列からデータ部分を抽出する方法等が知られている。従って、ユーザは、自動巡回により取り込まれたHTMLファイルに含まれる特定のデータ部分を別の手段で抽出しなければならないという課題がある。
(iii)そして、ネットワークの輻輳等により、自動巡回中に障害が発生した場合、自動巡回装置は、再試行等の復旧処理を障害内容に応じて実行できないという課題がある。この復旧処理を実行できない理由の一つは、自動巡回の手順が正常時のそれと異なるサーバが存在するからである。従って、従来の技術によると、障害発生後に自動巡回を停止する場合と、障害箇所を復旧する場合と、自動巡回を再開する場合とのいずれの場合においても、ユーザは停止,復旧および再開をブラウザを用いて手動で操作しなければならない。
(iv)さらに、例えばA社,B社,C社等の各商取引相手の受発注システムにアクセスする場合、各受発注システムの仕様は通常互いに異なるので、各受発注システムに対する入力項目又は入力に関するパラメータが異なる。このため、受発注処理に要する時間が長くなり、通信回線を占有する時間が延びる。特に、多数の受発注システムにおいて、長時間化が進むと、ネットワーク資源の観点から好ましくない。
(v)上記特許文献1記載の自動巡回装置は、指定されたホームページを巡回して得た情報をオフラインで閲覧可能にしたに過ぎず、ファイル等のダウンロードおよびアップロードを自動的に行なうものではない。さらに、HTMLファイルに含まれるデータ部分の抽出と、障害発生後の復旧とに関する技術は開示されていない。
また、特許文献2記載の自動巡回装置は、上記3種類の技術的課題に関するものではない。
本発明は、このような課題に鑑み創案されたもので、例えばインターネット等のWebサイトを巡回し、そのWebサイトのファイル操作を自動化する自動巡回技術において、各種の情報データのダウンロードおよびアップロードを自動的に可能とし、自動巡回により取得されたHTMLファイル等から特定のデータ部分を抽出でき、そして、自動巡回中に障害が発生した場合に、復旧処理を障害内容に応じて実行可能な、自動巡回装置,クライアント端末および自動巡回方法を提供することを目的とする。
このため、本発明の自動巡回装置は、ネットワークを介してサーバに対して巡回処理するクライアント端末に設けられた自動巡回装置であって、ファイル又はプログラムに対する1又は複数の操作手順が記述されたスクリプトファイルを記憶する記憶部と、記憶部に記憶されたスクリプトファイルから巡回処理の操作に関する巡回処理コマンドを実行するスクリプトプログラムを生成するスクリプト生成実行部と、スクリプト生成実行部にて生成されたスクリプトプログラムに対応する巡回処理の操作を実行する巡回処理実行部とをそなえて構成されたことを特徴としている(請求項1)。
このスクリプト生成実行部は、記憶部に記憶されたスクリプトファイルを読み込むローダー部と、ローダー部にて読み込まれたスクリプトファイルを解析する解析部と、解析部において解析されたスクリプトファイルから上記のスクリプトプログラムを生成して実行するスクリプト生成実行部とをそなえて構成されてもよい(請求項2)。
また、巡回処理実行部は、処理に関する命令タグを含むテキストファイルを命令タグに基づいて画面表示を操作するブラウザオブジェクトプログラムと、ネットワークを介して読み込み可能なWebページへの巡回を制御する制御オブジェクトプログラムと、ブラウザオブジェクトプログラムの画面表示の操作に基づいて画面を生成する生成オブジェクトプログラムとのそれぞれを少なくとも含む自動巡回オブジェクトプログラムを用いて巡回処理の操作を実行するように構成することもできる(請求項3)。
また、巡回処理実行部は、巡回処理を行なうサーバへの接続と、ユーザ識別データの設定と、サーバとのログイン又はログアウトに必要な事項の入力との各操作を実行するように構成されてもよい(請求項4)。
さらに、本発明のクライアント端末は、ネットワークを介してサーバに対して巡回処理するクライアント端末であって、ファイル又はプログラムに対する1又は複数の操作手順が記述されたスクリプトファイルを記憶する記憶部と、記憶部に記憶されたスクリプトファイルから巡回処理の操作を実行するスクリプトプログラムを出力する自動巡回装置と、自動巡回装置から出力されたスクリプトプログラムに対応する巡回処理の操作をサーバに対して逐次実行するサーバ操作実行部とをそなえて構成されたことを特徴としている(請求項5)。
この自動巡回装置は、ユーザがサーバ操作実行部に対して行なった操作に関する操作履歴情報を含むイベント発生メッセージを保存するブラウザイベント受信記憶部と、サーバ操作実行部において所定の操作が発生した場合は、サーバ操作実行部に対してイベント発生メッセージを通知するように設定するブラウザイベント設定部とをそなえて構成されてもよい(請求項6)。
さらに、自動巡回装置は、処理に関する命令タグを含むテキストファイルを命令タグに基づいて画面表示を操作するブラウザオブジェクトプログラムと、ネットワークを介して読み込み可能なWebページへの巡回を制御する制御オブジェクトプログラムと、ブラウザオブジェクトプログラムの画面表示の操作に基づいて画面を生成する生成オブジェクトプログラムとのそれぞれを少なくとも含む自動巡回オブジェクトプログラムを生成するスクリプトプログラム生成部をさらにそなえて構成されてもよい(請求項7)。
また、スクリプトプログラム生成部は、ブラウザイベント受信記憶部から通知されたイベント発生メッセージに含まれる情報に基づいて、ブラウザオブジェクトプログラムに関する設定データを、ファイル又はプログラムに対する1又は複数の操作手順が記述されたスクリプトファイルを記憶する記憶部に記憶するように構成されてもよい(請求項8)。
そして、スクリプトプログラム生成部は、ブラウザイベント受信記憶部に記憶された操作履歴情報に基づいて、手動操作による手順と同一手順の操作を実行するように構成することもできる(請求項9)。
このスクリプトプログラム生成部は、テキストファイルに含まれるリンクタグによって参照される参照ファイルがXML(eXtensible Markup Language)形式である場合は、参照ファイルの内容に応じて処理を行なうように構成されてもよい(請求項10)。
また、上記のクライアント端末は、サーバに対して、電子商取引に関するデータ読み書き処理を行なうように構成されてもよく(請求項11)、スクリプトが、後述するECMAスクリプトを用いて記述されてもよい(請求項12)。
さらに、本発明の自動巡回方法は、ネットワークを介してサーバに対して巡回処理するクライアント端末を用いた自動巡回方法であって、クライアント端末に設けられたスクリプト生成実行部が、ファイル又はプログラムに対する1又は複数の操作手順が記述されたスクリプトファイルから巡回処理の操作に関する巡回処理コマンドを実行するスクリプトプログラムを生成し、生成されたスクリプトプログラムに対応する巡回処理の操作を実行することを特徴としている(請求項13)。
本発明の自動巡回装置によれば、実行された複数のオブジェクトのそれぞれに対応する複数の巡回処理コマンドを出力するので、ユーザによる手動操作を不要とし、例えば各種の情報データのダウンロードおよびアップロードが自動的に可能となる。
また、本発明のクライアント端末によれば、自動巡回装置から出力された複数の巡回処理コマンドをサーバに対して逐次実行するので、所望のサーバを自動巡回し決められた手順で所望の操作を自動実行できる。従って、例えば管理者不在のサーバへの接続,操作,ダウンロードおよびアップロードおよび障害処理等が実現し利便性が向上する。
さらに、本発明の自動巡回方法によれば、実行された複数のオブジェクトのそれぞれに対応する複数の巡回処理コマンドが出力されるので、自動巡回が実現でき、例えば取得されたHTMLファイル等から特定のデータ部分を抽出でき、加えて、障害が発生した場合に、復旧処理を障害内容に応じて実行可能となる。
以下、図面を参照して本発明の実施の形態を説明する。
図1は本発明が適用されるWebネットワークシステムの概略的な構成図である。この図1に示すWebネットワークシステム100は、インターネットを介して例えば受発注等の電子商取引を行なうためのものであって、インターネット99と、n台(nは自然数を表しnは例えば4である。)のWebサーバ1(符号1#1,1#2,1#3,1#4を付されたもの)と、自動巡回システム(本発明の自動巡回装置)23を設けたm台(mは自然数を表し例えば5である。)のクライアント(本発明のクライアント端末)2とをそなえるとともに、ルータ101,LAN102等をそなえて構成されている。なお、クライアント2a,2bについては後述し、また、Webサーバ1,クライアント2等はインターネット99の一部でもある。
ルータ101は、IPパケット又はパケット長を拡張したIPパケットを転送するものであり、LAN102は企業等におけるサーバ,端末等が接続されたものである。
また、4台のWebサーバ1#1〜1#4は、いずれも、電子商取引等に用いられるものであり、インターネット99における商品,製品,サービス等の受発注に関する処理を行なう受発注用のWebサーバ1#kとして機能しており、これに加えて、情報,コンテンツの提供や配信を行なう一般的なサービス機能をも併せて有する。
なお、以下、特に断らない限り、各Webサーバ1#1〜1#4をWebサーバ#k(kは1〜4の自然数を表す。)と表す。また、巡回とは、1台のWebサーバ1に、1台のクライアント2がアクセスする場合をも含む。
各Webサーバ1#1〜1#4は、受発注処理を行なうグループウェア(キャビネット)がインストールされており、クライアント2に対して、インターネット99における例えば受発注サービスを提供する。具体的には、商品,製品,サービス等についての受発注方法は、まず、発注者がキャビネットにアクセスして商品に関する必要事項を書き込み、受注者がそのキャビネットにアクセスして書き込みされた発注データを取得するようにしている。そして、各Webサーバ1#kは、クライアント2からの受発注データの送信要求を受信すると、その送信要求に応じた受発注データを含むHTMLファイルをそのクライアント2、又はクライアント2によって指定されたパソコン等の情報端末装置に返送する。なお、Webサーバ1#kの機能は、受発注を行なう企業等に設けられたパソコン,ワークステーション等により発揮される。
これにより、発注者は、クライアント2から、インターネット99又は企業内LANを経由して、Webサーバ1#kのキャビネットにアクセスし、発注者は商品等に関する必要事項をキャビネットに書き込む。そして、受注者がキャビネットにアクセスして書き込みされた発注情報を取得する。
次に、クライアント2は、インターネット99を介して、Webサーバ1#1〜1#4のうちの1台〜全台に対して自動巡回処理するものであって、Webサーバ1#1〜1#4に対して、電子商取引に関するデータ読み書き処理を行なうパソコン等の端末である。クライアント2は、各Webサーバ1#kに所望の時刻に巡回し、情報,データの閲覧および書き込みやファイル入出力等を自動的に行なう自動巡回機能を有する。また、クライアント2の巡回の態様は、主に、発注者による受発注情報の閲覧又は発注データの書き込みに用いられる場合と、受注者による受発注情報の確認,更新又は受注データの取得に用いられる場合とがある。
ここで、クライアント2と従来のクライアント端末との相違点について概説する。
クライアント2は、各Webサーバ1#kに対する自動巡回手順をテキスト形式で記述したソーススクリプトファイルを別々に保持しておく。この自動巡回手順は、例えば「ユーザID“555”を入力しなさい。」,「パスワード“xxx”を入力しなさい。」,「ログインボタンをクリックしなさい。」,「特定のURLの内容を表示させなさい。」,「Webページ上の特定のリンクをクリックしなさい。」,「Webページ上の何番目の表の右上端のセルの値を読み取りなさい。」等である。そして、主制御部が、自動巡回処理を行なう自動巡回プログラムを起動すると、この自動巡回プログラムが、例えばWebサーバ1#1に接続する。ここで、従来のクライアント端末を用いた場合、ブラウザは、Webサーバ1#1のトップページを表示し、ユーザに対してユーザIDの入力を要求し、ユーザは、手動でユーザIDを入力する。
これに対して、本クライアント2の自動巡回プログラムは、Webサーバ1#1との接続後、自動巡回プログラムが、上記の複数の手順のうちの「ユーザID“555”を入力しなさい。」と記述されたソーススクリプトファイルを呼び出す。そして、呼び出された側(後述するスクリプトエンジン)が、そのソーススクリプトファイルからECMAスクリプト(巡回スクリプト)を作成し、このECMAスクリプトを実行させる。なお、ECMAスクリプトとは、スクリプト言語の1種類であって、Webページ内の文字,イメージ等の表示および動き等を記述するためのものである。
そして、自動巡回プログラムが、Windows(登録商標、商品名)等のオペレーティングシステム(OS)上で動作する既存又は汎用のブラウザを起動し、実行中のECMAスクリプトをブラウザに渡し、ブラウザがユーザIDを入力するのである。さらに、自動巡回プログラムは、パスワードの入力およびログインボタンのクリック等の操作についても、それぞれ、予め保持したソーススクリプトファイルを呼び出して、同様に、各操作を自動的に実行するようになっている。
次に、クライアント2に設けられた自動巡回システム23のオブジェクトについて詳述する。
自動巡回システム23は、オブジェクト指向プログラミング手法を用いたものである。この手法は、プログラムが扱う関数,値等を「オブジェクト」として扱い、そのオブジェクトが有する属性を「プロパティ」と表現し、さらに、そのオブジェクトが実行可能な処理を「メソッド」と表現し、これにより、プログラム全体を、「どのオブジェクトに何をさせるか」の集合で記述するものである。自動巡回システム23は、自動巡回手順を、特に、オブジェクト指向のスクリプト言語で表現するものであり、ブラウザを「ブラウザオブジェクト」と扱うことにより、「ブラウザに何をさせるか」の集合で自動巡回手順を記述している。すなわち、自動巡回システム23は、ブラウザを「ブラウザオブジェクト」と扱うことによって、「ブラウザをオブジェクトとして抽象化」している。
ここで、ブラウザをオブジェクトとして抽象化した場合、ブラウザに対して、「特定のURLの内容を表示させなさい。」,「そのページ上の特定のリンクをクリックしなさい。」,「そのページ上の何番目の表の右上端のセルの値を読み取りなさい。」といった処理(処理メッセージ)は、オブジェクトに対して何らかの指示を出すことであると表現できる。つまり、ブラウザをオブジェクトとして表現することがブラウザの抽象化なのである。
また、自動巡回の処理の途中において、クライアント2の自動巡回プログラムは、自動巡回を制御するプログラムに対して、「別の処理を実行させる」,「予め用意しておいたデータを読み込ませる」,「特定のファイルにデータを書き込む」といった処理を行なう必要が生じる。ここで、自動巡回を制御するプログラムをオブジェクトとして抽象化した場合、自動巡回を制御するプログラムに対して、「別の処理を実行させる」,「予め用意しておいたデータを読み込ませる」,「特定のファイルにデータを書き込む」といった指示は、オブジェクトに対して何らかの指示を出すことであると表現できる。つまり、自動巡回を制御するプログラムをオブジェクトとして表現することが自動巡回を制御するプログラムの抽象化である。
さらに、自動巡回の処理の途中において、ブラウザが表示したサブウィンドウに対して、「データを入力する」,「ボタンをクリックする」といった処理を実行する必要が生じる。ここで、ブラウザが表示したサブウィンドウをオブジェクトとして抽象化すると、ブラウザが表示したサブウィンドウに対して、「データを入力しなさい。」,「ボタンをクリックしなさい。」といった処理は、オブジェクトに対して何らかの指示を出すことであると表現できる。つまり、ブラウザが表示したサブウィンドウをオブジェクトとして表現することがブラウザが表示したサブウィンドウの抽象化である。
以上の3種類の抽象化により、指定されたWebページに対する自動巡回は、3種類のオブジェクトに対する一連の指示を並べることにより表現することが可能になる。そして、これらの3種類のオブジェクト群(オブジェクトの集合)が、後述するホストオブジェクトとして扱われるようになっている。また、本自動巡回方法は、一連の指示を並べる表現方法にプログラムを採用することにより、情報端末装置(パソコン等)における自動巡回手順をプログラムで表現できる。
このように、自動巡回手順をプログラムで表現することにより、プログラムが一般的に持ち合わせている利点、すなわち、論理的な記述の容易さ,再利用の容易さ,記述効率が高いことによる生産性の高さといった利点を自動巡回手順を記述するときに享受できるため、自動巡回システム23は、従来の自動巡回方法に比較して、格段に効率的である。
上述した表現方法により構成されたプログラムを実行するために、自動巡回を制御するプログラムは、そのプログラムを読み込み、プログラムを解読し、逐次実行する仕組みを有する。
自動巡回手順をプログラムとして記述する場合、自動巡回システム23は、Webサイトの操作手順に基づいてユーザが一からプログラムを記述していく方法に加えて、自動巡回中にユーザがブラウザに対して行なった操作を記憶し、記憶した操作に基づいてプログラムを自動生成する仕組みを導入するようになっている。これにより、更に効率的な自動巡回手順の作成が可能となる。
ユーザがブラウザに対して行なった操作に基づいてプログラムを自動生成するためには、クライアント2は、自動生成開始のきっかけを受信し、ブラウザからどのような操作がユーザから行なわれたかのイベントを受信し、自動生成終了のきっかけを受信し、プログラムを生成しファイルに保存する仕組みを設けている。
上記のブラウザについて更に詳述する。
ブラウザは、Webページの閲覧,Webページに対する書き込みおよびWebページへの読み書き操作の制御等を行なうものであって、例えばインターネットエクスプローラ(商品名),ネットスケープナビゲータ(商品名)等が知られている。ブラウザは、Webサーバ1#kから受信した文字,図形,静止画および動画等のコンテンツや、クライアント2自身が記憶するコンテンツ等を、クライアント2のディスプレイ又は液晶等の画面に視覚的又は聴覚的に表示する。
このブラウザ機能について、従来のクライアント端末にて動作する場合と本クライアント2にて動作する場合とを比較すると、従来のクライアント端末を用いた場合、ユーザは、ブラウザによってクライアント端末の自動巡回の状況を取得している。また、ユーザは、ユーザID,パスワード等を、ブラウザのウィンドウに表示されたダイアログ(文字等を入力するためのウィンドウ)に手動入力し、リターンキーを押下する。ブラウザは、入力されたパスワード等を取り込み、取り込みしたパスワード等をデータ化して、下位レイヤのプログラムに渡す。そして、そのユーザID,パスワード等のデータが所望のWebサーバ1#kに送信される。ブラウザについては、クライアント2も従来のクライアント端末と同一のものがインストールされている。
これに対して、クライアント2は、自動巡回プログラムが、ブラウザ(又はブラウザ機能)を「ブラウザオブジェクト」と扱い、自動巡回手順を「ブラウザに何をさせるか」という処理手順の集合(群)を用いて記述している。自動巡回システム23は、ブラウザを「ブラウザオブジェクト」と扱うことによって、「ブラウザをオブジェクトとして抽象化」しており、このブラウザオブジェクトをスクリプト言語で記述しているのである。換言すれば、自動巡回プログラムは、ブラウザ機能をECMAスクリプトのオブジェクト群の1種として扱うようになっている。具体的には、ブラウザ機能以外の機能も、ECMAスクリプトを用いて記述され、3種類および3種類を組み合わせたECMAスクリプトによって記述されたオブジェクト群が、自動巡回種類内に保持されている。このオブジェクト群が後述するホストオブジェクトとして機能している。
さらに、本クライアント2と従来のクライアント端末との動作の相違点について詳述すると、本クライアント2は、ユーザが予めECMAスクリプトのソースファイル(ソーススクリプトファイル)に記述した手順(自動巡回手順)にしたがってブラウザがWebサーバ1#kに自動巡回するようになっている。本クライアント2は、各操作機能を実現するECMAスクリプトの一つとして、ブラウザ機能を発揮するECMAスクリプトを予め保持し、自動巡回を行なうにあたり、読み出したECMAスクリプトをクライアント2において動作させるのである。
次に、ECMAスクリプトについて説明する。
ECMAスクリプトは、スクリプト言語の1種類であって、Webページ内の文字,イメージ等の表示および動き等を記述するためのものである。また、ECMAスクリプトは、Java(登録商標)Script(商品名)がECMAによって標準化又は規格化されたスクリプト言語である。さらに、スクリプト言語とは、一般に、高水準言語から機械語への変換手順の詳細を省略した比較的簡易な文法をもつプログラム言語であって、Webページ内の動きの表示、又はWebサーバ1による動的なWebページの生成等に用いられる。これにより、抽出処理の手順,繰り返し処理,障害後の復旧処理の各手順をユーザの手動操作なしで実現する。
また、ECMAスクリプトの作成は、ユーザが直接記述して作成する場合と、自動巡回システム23が自動的に記述する場合とがあり、いずれの作成方法をも使用できるようになっている。この自動巡回システム23が自動的にスクリプトを記述する方法の一例は、ユーザがブラウザに対して手動操作した手順を、自動巡回システム23の上位アプリケーションプログラム等がモニタリングして保持し、そのモニタリングした手順に基づいて、ソーススクリプトが記憶され、自動巡回処理の実行中に、ECMAスクリプトの形式で自動的に生成出力する。そして、自動巡回プログラムが、ECMAスクリプトを順番に実行させることにより自動巡回手順が実行される。また、ユーザがECMAスクリプトのソースを書き換えることにより、各Webサイトにおける操作が可能になる。
これにより、Webサーバ1#kと、各Webサーバ1#kのWebサイト(トップページおよび複数のWebページ)に記憶された複数のファイルを自動操作するクライアント2と、インターネット99とが、Webネットワークシステム100として機能する。なお、Webネットワークシステム100は、受発注サービスのみならず、各種のサービスに用いることもできる。
次に、図2を参照してクライアント2の概略構成について説明し、クライアント2に設けられた自動巡回システム23を構成する各プログラムについて詳述する。
図2は本発明の一実施形態に係るクライアント2の自動巡回制御を行なう部分のブロック図である。この図2に示すクライアント2は、巡回オブジェクト記憶部(記憶部)28a〜28dと、上記自動巡回システム(自動巡回装置)23と、ブラウザ(Webサーバ操作実行部)21と、スケジューラ22と、記憶部24〜27(保存ファイル記憶部24,データファイル記憶部25,アップロードファイル記憶部26,接続先情報記憶部27)とをそなえて構成されている。
ここで、巡回オブジェクト記憶部28a〜28dは、それぞれ、Webサーバ1#1〜1#4又は各Webサイトに対応する自動巡回手順が記述された10種類程度のECMAスクリプトのソースコード(ソーススクリプトファイル)を記憶するものである。すなわち、巡回オブジェクト記憶部28a〜28dと4台のWebサーバ1#1〜1#4とが一対に設けられ、クライアント2には、例えばWebサーバ1#1〜#4のそれぞれに対し、巡回オブジェクト記憶部28a〜28dの各ECMAスクリプトが用意されている。4個に分割された巡回オブジェクト記憶部28a〜28dを設けることにより、新規に受発注システムを比較的容易に拡張又は増設可能になる。また、Webネットワークシステム100における障害復旧時あるいはプログラムの動作検証時において、復旧処理および動作検証を要するペア(例えば、Webサーバ1,巡回オブジェクト記憶部28a)を、Webネットワークシステム100から切り離して復旧処理が可能となる。なお、巡回オブジェクト記憶部28a〜28dの機能は、1個の記憶容量が大きい記憶装置を用いても実現できる。
また、各ソーススクリプトファイルは、いずれも、HTMLファイル等のファイル又はブラウザ21のブラウザプログラムに対する1又は複数の操作手順が記述されている。
また、自動巡回システム23は、巡回オブジェクト記憶部28a〜28dのそれぞれに記憶されたソーススクリプトファイルから巡回処理の操作を実行するオブジェクトプログラム(オブジェクト)を出力するものである。Webサーバ1#1に対する操作コマンドの記述例は、「ユーザID“555”を入力しなさい。」,「パスワード“xxx”を入力しなさい。」,「ログインボタンをクリックしなさい。」等であり、これらの操作を記述したソーススクリプトファイルの数が10種類なのである。
次に、自動巡回システム23は、各クライアント2に設けられた自動巡回装置であって、巡回オブジェクト記憶部28a〜28dに記憶されたソーススクリプトファイルから巡回処理の操作に関する巡回処理コマンドを実行するスクリプトプログラムを生成するスクリプトエンジン(スクリプト生成実行部)232と、このスクリプトエンジン232にて生成されたスクリプトプログラムに対応する巡回処理の操作を実行するホストオブジェクト(巡回処理実行部)231とをそなえて構成されている。また、ホストオブジェクト231は、スクリプトエンジン232において実行された複数のスクリプトのそれぞれに対応してスクリプトエンジン232が出力する巡回処理コマンドを受けて動作するようになっている。すなわち、ホストオブジェクト231は、スクリプトエンジン232において生成されたスクリプトプログラムに対応する巡回処理の操作を実行しスクリプトエンジン232が出力する巡回処理コマンドを受けて動作するものである。
次に、ブラウザ21は、自動巡回システム23から出力されたスクリプトプログラムに対応する巡回処理の操作をWebサーバ1#kに対して逐次実行するようになっている。ブラウザ21は、Webページに記述された各種の情報を取得し、取得した情報を画面表示用のドライバソフトウェアに入力するようになっている。なお、既存のブラウザ21の代わりに、ブラウザ21のもつ機能と同等なブラウザプログラム等を用いることができる。
なお、ブラウザ21および自動巡回システム23の各機能は、例えばCPU(Central Processing Unit),ROM(Read Only Memory)およびRAM(Random Access Memory)等が協働するソフトウェア等によって実現される。
これにより、クライアント2は、ECMAスクリプトによって機能付けられた複数のオブジェクト群からなるホストオブジェクト231を用いて、判断と繰り返し制御とを行なって、いずれかのWebページ1#kを巡回する。また、ブラウザ操作オブジェクト2311は、表示等の操作においてエラーが生じた場合、例外メッセージを生成して障害を判断し、また、自動巡回実行についてスケジューリングする。
次に、スケジューラ22は、複数のタスクが発生したときに、処理すべきタスクの順番を調整するものである。このスケジューラ22の機能は、例えばOS(オペレーティングシステム)を構成するソフトウェアと、CPU,CPUのクロックおよびOSに割り当てられたRAM等とが協働することによって実現される。
これにより、自動巡回システム23において、ブラウザ21が起動し、例えばWebサーバ1#1にアクセスし、トップページを表示する。ここで、主制御部として動作するホストオブジェクト231は、スクリプトエンジン232に対して、ユーザIDを入力するためのECMAスクリプトを呼び出す。そして、呼び出されたECMAスクリプトが、ブラウザ21に対して、「ユーザID“555”を入力」とのメッセージを通知し、ブラウザ21がユーザIDをWebサーバ1#1のトップページに入力するのである。その後、ホストオブジェクト231は、パスワードの入力等の操作についても、ユーザIDの入力と同様に処理する。
また、スクリプトエンジン232に保持される巡回処理コマンドの種類を列挙すると、インターネット99における受発注を行なうWebサーバ1#1に自動巡回するもの,HTMLファイルをブラウザ21に表示するもの,Webサイトへの自動巡回を制御するもの,ブラウザ21のウィンドウおよびサブウィンドウを生成するもの,自動巡回するプログラムを生成するもの等である。更に具体的には、巡回処理コマンドは、自動巡回処理の実行中の状況又は自動巡回処理終了後の結果に基づいて、必要な別のプログラムの起動および各処理の実行と、HTMLファイルの全体又はその一部の保存と、HTMLファイルにて参照(呼び出し)されるファイルの保存と、HTMLファイルにて参照されるファイルに記述された内容を解析しそのファイル形式に応じた処理および保存と、Webサーバ1#kに対して必要な特定データの出力と、Webサーバ1#kに対する特定ファイルの送信との各機能を有する。
本クライアント2は、このECMAスクリプトを用いた処理を行なう。本クライアント2が受発注用のWebページ1に対する自動巡回方法は、まず、10種類程度のECMAスクリプトのうちの機能をもつECMAスクリプトが起動し、次に、Webサーバ1へのアクセス機能を有するECMAスクリプトが起動する。そして、Webサーバ1にアクセスした後、Webページに記載された情報,コンテンツの読み込み機能を有するECMAスクリプトが起動し、さらに、Webページへの情報書き込み機能を有するECMAスクリプトが起動する。
このように、クライアント2は、ホストオブジェクト231がスクリプトエンジン232を呼び出して、スクリプトエンジン232のECMAスクリプトが動作することにより、各Webサーバ#kに対する発注データの書き込み、あるいは、受注データの読み出し等の操作が自動化される。さらに、各Webサーバ1#kのアドレス情報(例えばURL等)を記憶しておくことにより、クライアント2は、Webサイト毎に異なる操作(読み書き)ルールに基づいて、複数のWebサイト又はWebページに自動巡回できる。
また、このように、受発注データの読み書きや、コンテンツのアップロード,ダウンロード等の制御が、ユーザによる手動操作に代わり、スクリプトエンジン232のECMAスクリプトの動作によって実現できる。
また、受発注時の複数の操作内容のうちのECMAスクリプトに委ねる操作と手動による操作とを切り分けて設定することもでき、このようにすれば、受発注に要する操作のほぼ全てを自動化でき、受発注操作について大幅な労力の軽減を実現できる。
なお、Webサーバへの自動巡回と、自動巡回の制御と、自動巡回用のプログラムの生成との各機能の詳細については後述する。
ところで、クライアント2の機能は、パソコン、ワークステーション(情報端末装置)等によって発揮される。クライアント2としてパソコンが用いられる場合、そのパソコンは、例えば、米国インテル社の1又は複数個のペンティアム(登録商標)IIIプロセッサと、128MBの主記憶RAM(Random Access Memory):図示省略)と、数10GBのハードディスクドライブ記憶装置HDDとを設けることができる。さらに、パソコンは、米国マイクロソフト社のウィンドウズ(登録商標)2000又はウィンドウズ(登録商標)XP等のOS(オペレーティングシステム)等を実装している。本自動巡回システム100において、クライアント2は、これらのOSの採用により、既存のソフトウェアを利用できる。
次に、図2に示す自動巡回システム23について更に詳述する。
自動巡回システム23は、自動巡回を制御するプログラムであって、ホストオブジェクト(巡回処理実行部)231と、スクリプトエンジン232と、操作インターフェース233と、スケジューラインターフェース234とをそなえて構成されている。
このホストオブジェクト231は、自動巡回処理の主制御部として機能するプログラムであって、自動巡回処理中に、ブラウザ機能,制御機能等を有するECMAスクリプトを呼び出して、その呼び出したECMAスクリプトが動作を開始することにより、各種の操作を実現するようになっている。ホストオブジェクト231は、1つのプログラム単位として記述され、外部からのアクションに応じて、ブラウザ機能等の各種のオブジェクトプログラムを実行させるのである。
このホストオブジェクト231を設けることにより、ブラウザ(又はブラウザ機能)を「ブラウザオブジェクト」と扱い、自動巡回手順を「ブラウザに何をさせるか」という処理手順の集合(群)を用いて記述している。また、従来手動入力等の操作についても、ECMAスクリプトが自動実行するようになっている。
具体的には、ホストオブジェクト231は、処理に関する命令タグを含むHTMLファイルを命令タグに基づいて画面表示を操作するブラウザオブジェクトプログラムと、インターネット99を介して読み込み可能なWebページへの巡回を制御する制御オブジェクトプログラムと、ブラウザオブジェクトプログラムの画面表示の操作に基づいて画面を生成する生成オブジェクトプログラムとのそれぞれを含む自動巡回オブジェクトプログラムを用いて巡回処理の操作を実行するようになっている。従って、ホストオブジェクト231は、Webサーバ1#kとクライアント2との間におけるデータ入出力部としても機能している。
ホストオブジェクト231は、ブラウザ操作オブジェクト(ブラウザ操作部)2311と、ファイル操作オブジェクト(ファイル操作部)2312と、接続情報操作オブジェクト(接続情報操作部)2313とをそなえて構成されている。
本自動巡回方法は、インターネット99を介してWebサーバ1に対して巡回処理するクライアント2を用いたものであって、クライアント2に設けられたスクリプト生成実行部(後述)が、Webサーバ1等において動作するファイル又はプログラムに対する操作,命令,指示等の操作手順(1行でも複数行でもよい。)が記述されたECMAスクリプトのソースファイルから巡回処理の操作に関する巡回処理コマンドを実行するオブジェクトプログラムを生成し、そして、プログラム実行部2321が、生成されたオブジェクトプログラムに対応する巡回処理の操作を実行するようになっている。
また、クライアント2に設けられたスクリプトエンジン232が、ファイル又はプログラムに対する1又は複数の操作手順を記述したオブジェクトのそれぞれに対応する複数の巡回処理コマンドを出力し、ホストオブジェクト231が、スクリプトエンジン232において実行されたオブジェクトに対応する処理を行なう自動巡回プログラムを実行し、ブラウザ21が、出力された複数の巡回処理コマンドをWebサーバ1#kに対して逐次実行するようになっている。換言すれば、ホストオブジェクト231は、ブラウザ機能の各種の仕掛け(操作等)を抽象化したものといえる。
一般に、オブジェクト指向プログラミングとは、プログラムが扱ういろいろなものをオブジェクトとして抽象化するものであって、そのオブジェクトがもつ属性をプロパティと表現し、また、そのオブジェクトが行なえる処理をメソッドと表現したものである。オブジェクト指向プログラミングは、プログラム全体を、「どのオブジェクトに何をさせるか」を表すメッセージの集合により記述するものである。以下に説明する手法は、実世界における対象物をオジェクトとして抽象化することにより、プログラミングを可能にする手法は、オブジェクト指向設計手法として一般的に知られている。
ここで、ブラウザ操作オブジェクト2311は、ブラウザ機能が抽象化されたオブジェクトであって、約10種類のメソッドが与えられ、例えばECMAスクリプトエンジン向けのホストオブジェクトとして記憶されている。このブラウザ操作オブジェクト2311は、次に示す操作機能(I1〜I4)と取得機能(I5〜I8)とを有する。
(i)ブラウザ操作オブジェクト2311の操作機能I1〜I4について
(I1)ブラウザ21の起動によるウィンドウ30の表示
(I2)特定URLへのジャンプ又はアクセス
(I3)ウィンドウ・フレーム・テーブル・フォームのアンカーのクリック
(I4)フォームのテキスト入力,チェックボックス,ラジオボタン,ボタン操作等
ここで、(I3)のウィンドウ・フレーム・テーブル・フォームとは、ウィンドウ又はウィンドウが分割されたフレームの内部に作成された表(テーブル)であり、アンカーとは、Webページにてリンク付けされ文字色が変更された部分である。
図7は本発明の一実施形態に係るWebページの一例を示す図であって、この図7に示すウィンドウ30にWebページ31が表示されている。また、図7に示すチェックボックス32aおよびラジオボタン32bは、いずれも、各領域にある円形,四角形の部分にチェック印を入れたり、チェック印を除いたりするものである。
これにより、まず、受発注システムの管理者(又は受注者)は、Webページ31又はフレームに表を作成しその表に多数の入力項目を設ける。この作成された表は、発注者が作成した環境のパソコンからWebページを記憶するWebサーバ1#kに送信される。
一方、発注者は、このWebページに、発注する商品又はサービスを選択し、予め決められたきっかけにブラウザ21が起動してウィンドウ30が表示されるとともに、ブラウザ操作オブジェクト2311は、発注者のWebページに訪問し、ウィンドウ・フレーム・テーブル・フォームのアンカーをクリックする。このクリックにより、ブラウザ操作オブジェクト2311(図2)は、発注する商品、サービス等が列記されたWebページにジャンプし、ウィンドウ30又はフレーム内に作成された受発注データの入出力を行なう。
そして、これにより、管理者又は受注者がこのWebページにアクセスし、あるいは、定時アクセス等によって、電子化された発注伝票を受領し、また、受領通知等を発注者に対して通知する。このように、受発注業務が大幅に改善される。
(ii)ブラウザ操作オブジェクト2311の取得機能I5〜I8について
(I5)HTMLソースファイルの所望の箇所に記述された文字列をテキストデータとして取得
(I6)HTMLをDOM(Document Object Model:ドム)として所望の箇所の文字列を取得する。このDOMとは、HTMLデータにアクセスするためのオブジェクトモデルとその標準インターフェースであり、具体的には、Webページの内容をツリー構造で表現したものを意味する。
(I7)閲覧又はアクセスしている操作対象のWebページに、<table>タグを用いて記述されているテーブルに表示された所望の文字列を取得する。
(I8)タイトルの取得等である。なお、ブラウザ操作オブジェクト2311は、操作および取得の各機能のほかに、ダイアログ操作、所望の時間待ちの各機能をも有する。
そして、これらの操作および取得の各機能は、それぞれ、オブジェクトによって発揮される。クライアント2が認識又は取り扱い可能なプログラムは、これらの機能が抽象化されたホストオブジェクトなのである。
これにより、クライアント2は、ECMAスクリプトを用いて所望のWebサーバにアクセスしてデータの読み書きを行なう。一般に、オブジェクト指向のプログラム言語は、データの定義と処理内容とを1個のオブジェクトとして取り扱うようになっており、また、主制御部がオブジェクト(特定の状態を共有する操作の集合)に対して処理ルーチンをコールするメッセージを送信するようにソーススクリプトファイルが記述される。
また、自動巡回システム23におけるホストオブジェクト231が、HTMLファイル(処理に関する命令タグを含むテキストファイル)を命令タグに基づいてウィンドウ30の表示処理を行なうブラウザプログラム32と、インターネット99を介して読み込み可能なWebページへの巡回を制御する制御オブジェクトプログラムと、ブラウザプログラムのウィンドウ30の表示処理に基づいて画面を生成する生成オブジェクトプログラムとを組み合わせた自動巡回プログラムを用いて巡回処理コマンドを出力するようになっている。
そして、本自動巡回方法は、クライアント2が、ブラウザ21と、制御するプログラム自身と、ブラウザ21が表示するサブウィンドウとのそれぞれを抽象化してオブジェクトとして表現する。そして、クライアント2は、これらの3種類のオブジェクトを組み合わせた巡回手順を、パソコン等の情報端末装置における自動巡回手順としてプログラムに記述する。
続いて、クライアント2は、記述したプログラムを実行し、また、後述するように、ユーザがブラウザ21に対して行なった操作をプログラムとして自動生成する。従って、クライアント2は、プログラムを用いてブラウザ21を制御するようになっている。
この操作によって各オブジェクトが応答できるメッセージ(呼び出し)が決定し、また、共有状態は、外部から確認されないように隠蔽され、そのオブジェクトの操作によってのみアクセス可能になっている。また、外部からの隠蔽により、プログラムの誤動作が激減する。
次に、図2に示す記憶部24〜27は、それぞれ、保存ファイル記憶部24,データファイル記憶部25,アップロードファイル記憶部26,接続先情報記憶部27からなり、これらの各記憶部24〜27の機能は、ハードディスク等の各種の記憶デバイスによって発揮される。
ここで、保存ファイル記憶部24が記憶する「保存ファイル」とは、操作対象のWebページに表示される文字を保存するためのファイルである。例えば、本クライアント6が天気予報(天気情報)を、クライアント6自身のハードディスク等にコピーする場合、コピー(コピー操作)するために訪問した新聞社のWebサイトの天気予報のページが、操作対象のWebページに相当する。従って、ECMAスクリプトの記述によって、以下に述べるファイル操作オブジェクト2312が、東京地方の本日の降水確率等の情報を取り込み、その情報を保存ファイル記憶部24に書き込むことにより、コピーが行なわれる。
データファイル記憶部25は、ファイル操作オブジェクト2312によってロードされる各種のデータファイルを記憶するものである。この「データファイル」は、所望のWebページに書き込むためのデータを記憶又は固定するためのファイルを意味する。例えば、検索エンジンのWebサイトにおいて所望のキーワードを検索する場合、ファイル操作オブジェクト2312は、検索エンジンのトップページにある検索用キーワードの欄に入力する文字(文字列も含む)を、自動実行の開始に先立ち予め「データファイル」に記憶しておく。そして、ECMAスクリプトが自動実行中に、ファイル操作オブジェクト2312は、「データファイル」から文字を読み出して、読み出した文字をキーワードの欄に入力する。
この操作の一例として、ユーザは、10社の企業名「C1」,…,「C10」を「データファイル」に書き込み、ECMAスクリプトがホストオブジェクト231から呼び出されると、ECMAスクリプトは、検索入力した「C1」についてのヒット件数を取得し、これ以降、「C2」,…,「C10」のそれぞれについてのヒット件数を取得する。この操作をユーザが行なう場合は、検索ページにアクセスし、「C1」をタイプ入力し、検索ボタンを押下し、表示結果をカウントし、カウント値をメモする等の動作を、10回繰り返すことになる。なお、検索操作については、組み込み検索を極めて簡単に行なえる
従って、自動巡回システム23によれば、手動による単純なデータの入出力作業を行なわずに、所望の操作が可能となり、大幅に効率を改善できる。
次に、アップロードファイル記憶部26は、ブラウザ操作オブジェクト2311、ファイル操作オブジェクト2312によってアップロードされる各種のファイルを保存するものである。この「アップロードファイル」とは、特定の一箇所のWebページ宛に一括してすべてアップロードする複数のファイルである。例えば、「検索エンジンのグループのブリーフケースに、word(商品名)で作成した文章をアップロードする」という自動実行オブジェクトを作成した場合、ユーザは、自動実行に先立ち複数のword文書を用意しておく。そして、ECMAスクリプトが起動されて自動実行しているときに、ファイル操作オブジェクト2312は、複数のファイルからなるアップロードファイルそのものを、アップロード対象のファイルとして指定し、アップロードする。
さらに、接続先情報記憶部27は、接続先として例えばWebサーバ1#kのURL,ユーザID,パスワード等の情報を記憶するものである。
次に、ファイル操作オブジェクト2312は、Webページにて取得した文字,画像等を保存ファイル記憶部24に保存し、また、データファイル記憶部25,アップロードファイル記憶部26に保存された各ファイルを読み込むものである。さらに、接続情報操作オブジェクト2313は、接続先情報記憶部27に保存された接続先URL,ユーザID,パスワード等の各情報を取得するものである。また、巡回オブジェクト記憶部28a〜28dは、巡回手順を記述したソーススクリプトファイルを保存するものである。
次に、スクリプトエンジン232は、巡回オブジェクト記憶部28a〜28dに保存されたソーススクリプトファイルに記述された手順に沿って(ホストオブジェクト231を用いた)自動巡回を行なうものであって、プログラムローダー(ローダー部)2323と、プログラム解析部2322と、プログラム実行部(オブジェクト生成実行部)2321と、プログラムローダー2323,プログラム解析部2322,プログラム実行部2321のそれぞれから参照可能なデータ保持用のRAM80とを有する。
ここで、プログラムローダー2323は、巡回オブジェクト記憶部28a〜28dに記憶されたオブジェクトファイルを読み込むものであり、また、読み込みしたソーススクリプトファイルを、RAM80にロードするものである。プログラム解析部2322は、プログラムローダー2323にて読み込まれたソーススクリプトファイルを解析するものである。また、プログラム実行部2321は、プログラム解析部2322において解析されたスクリプトファイルから、ソーススクリプトファイルをコンパイルして、Windows(登録商標)において動作可能なWindows(登録商標)用のプログラムを生成して実行するものである。
このスクリプトエンジン232の動作について詳述する。
オブジェクト記憶部28a〜28dは、処理の実体であるECMAスクリプトのソースを記憶し、プログラムローダー2323がオブジェクト記憶部28a〜28dに記憶された複数のソーススクリプトファイルを一括してRAM80に読み込む。そして、プログラム解析部2322が、全部のソーススクリプトファイルについて1行づつ解析し、各行の記述が正しいか否かを判定し、正しい行をコンパイルしてECMAスクリプトを生成し、生成したECMAスクリプトを順番にRAM80に書き込む。そして、プログラム実行部2321は、RAM80に書き込まれた順番に各オブジェクトを実行する。この実行の段階において、プログラム実行部2321は、ホストオブジェクト231に対して、例えば「ユーザIDの入力」,「パスワードの入力」等の自動巡回コマンドを発行する。
従来のWindows(登録商標)用のプログラムは、決められた動作のみを実行するだけだが、スクリプトエンジン232は、ソーススクリプトファイルを書き換えることにより、自在かつフレキシブルな動作が可能になる。
なお、本クライアント2において、ECMAスクリプトが用いられる部分は、スクリプトエンジン232と巡回オブジェクト記憶部28a〜28dとのそれぞれである。
次に、操作インターフェース233は、ユーザと画面との間のインターフェースであって、ユーザからの各種の指示メッセージ(例えば巡回実行,自動生成の開始,終了等のメッセージ)を受け付けるものである。このインターフェース機能は、画面に表示されるブラウザ21自体又はブラウザ21内のウィンドウを意味する。また、ユーザから各種の指示とは、例えば次の(i)〜(iii)を意味する。
(i)ブラウザ21又はブラウザ21内のウィンドウに表示された複数のメニューのう
ちのユーザによって選択されたメニュー。(ii)ブラウザ21等に表示される1又は複数のツールバーのうちのユーザによって押下されたボタン。(iii)操作インターフェース233に対して、キーボード又はマウス等の外部部材からの入力内容。
また、操作インターフェース233は、例えば受発注用のWebサーバ1#kのURL等の情報の登録と、記憶された情報を変更する機能とをも有する。
次に、スケジューラインターフェース234も、ユーザと画面との間のインターフェースであって、ユーザが設定した時刻と、自動巡回するWebサイト名とを受け付けるものであり、受け付けた設定内容をスケジューラ22に設定する。これにより、スケジューラ22は、所望の時刻になると、所望のWebサイトへの巡回処理を行なう自動巡回プログラムを起動させる。また、時刻およびWebサイト名の情報は、それぞれ、個別に、また、複数受け付け登録可能である。
なお、図示を省略するが、クライアント2は、パケットを入出力する物理的なLANポートと、LANポートにおける受信パケットの検知および送信パケットの電気信号への変換を行なうポートドライバと、パケットの組み立ておよび断片化を行なう通信制御部と、通信制御部とブラウザ21との間をインターフェースする表示処理部とを設けている。
また、Webネットワークシステム100において、1台のクライアント2は、全部のWebサーバ1#1〜1#4(および図示を省力した他のWebサーバ1)と電子商取引できる。
図3は本発明の一実施形態に係る自動巡回処理を説明するためのフローチャートであって、クライアント2において行なわれる処理プロセスが表示されている。
自動巡回処理を開始するきっかけ(契機)は、マウス、キーボード等を用いてユーザが直接行なった操作内容が記憶された通知を操作インターフェース233(図2)から受信した場合と、予めスケジューラインターフェース234を経由してOSのスケジューラ22に設定されたスケジュール(例えば開始時刻等)が起動される場合とのいずれかによって、特定の接続先サーバ(受発注用のWebサーバ1#k等)に対する自動巡回が開始する(ステップ301)。また、多数の自動巡回方法を識別できるようにするため、自動巡回を通知する側は、操作インターフェース233から通知されるメッセージに、複数の自動巡回方法のうちの特定のものを表すデータを含めて通知する。この通知内容によって、複数のECMAスクリプトのうちの実行するECMAスクリプトが指定される。
スクリプトエンジン232において、指定されたECMAスクリプトをプログラムローダー2323(図2)を用いてRAM80に読み込み、プログラム解析部2322は、RAM80に記憶されたオブジェクトの構文チェックを行ない(ステップ302)、構文誤りの有無を判定する(ステップ302a)。そして、構文に誤りがない場合は、OKルート(OKと付されたルート)を通り、空白ページが表示されるようにブラウザ21を起動し(ステップ303)、また、ブラウザ21は、空白ページを表示する(ステップ401)。そして、ステップ302aにおいて、構文に誤りがある場合は、NGルート(NGと付されたルート)を通り、処理は終了する(ステップ302b)。
次に、ステップ302以降の処理について詳述する。ステップ302以降の処理は、プログラムローダー2323(図2)が巡回オブジェクト記憶部28a〜28d(図2)から読み込みしたECMAスクリプトに記述された指示(命令,操作コマンド又は手順)にしたがって、プログラム実行部2321が各操作を実行する。以下、標準的なECMAスクリプトの記述内容を例にして、各処理を説明する。
まず、プログラム実行部2321は、巡回オブジェクトの1行目を実行する。この1行目の実行内容は、最初の巡回先のログインページ(トップページ)にジャンプする操作である(ステップ304)。このステップ304において、巡回オブジェクトの1行目を実行した後にジャンプするWebページは、所望のページを選択でき、例えば決められたプライオリティに基づいてページを選択することもできる。
続いて、巡回オブジェクトが標準的なオブジェクトを用いて記述された場合プログラム実行部2321は、ブラウザ21に対してジャンプを通知し、ブラウザ21は、ログインページをユーザの画面に表示する(ステップ402)。すなわち、ユーザは、最初に巡回したいWebページにジャンプする。また、とりわけ、ジャンプした先のWebページが認証を要するサイトである場合には、ログインページへのジャンプ操作を行ないうことがほとんどであると考えられる(ステップ304)。ここで、ログインページには、一般的にユーザIDとパスワードとの各入力項目が設けられている。
そして、ログインボタンが設けられている場合がほとんどである。なお、この2行目の指示によって、自動巡回プログラムは、ブラウザ21に表示される枠(ダイアログ)に、ユーザIDをセット(設定)する(ステップ305)。よって、ユーザIDをセットし(ステップ305)、パスワードをセットし(ステップ306)、ログインボタンをクリックする(ステップ307)。また、ここで、ログインは、ほとんどの場合、ログインの成功の可否を確認することがほとんどである。そして、ログインの成功可否について調査するために、ログイン後画面のウィンドウタイトルを取得し(ステップ308)、それが予期したタイトルかどうかを判断する(ステップ309)。
これにより、ブラウザ21の表示はログイン後の画面へ遷移する。従って、ユーザID,パスワードの入力が自動化されている。
このログインが成功した以降は、プログラム実行部2321は、ユーザID等と同様にECMAスクリプトを1行ずつ逐次実行する。ECMAスクリプトの内容は、対象とする送受信相手側のWebサーバ1#kの構成に合わせて自由に書き替えることができ、そのECMAスクリプトの内容に応じて自動巡回の処理フローが決定する。
続いて、プログラム実行部2321は、巡回オブジェクトの3,4行目の内容を実行し、自動巡回プログラムは、パスワードをセットし(ステップ306)、ログインボタンをクリックする(ステップ307)。
一方、ブラウザ21は、ユーザIDの設定(ステップ403)と、パスワードの設定(ステップ404)と、ログインボタンの押下(ステップ405)との各操作内容を画面に表示し、ブラウザ21は、ログイン後の画面を表示するとともに(ステップ406)、自動巡回プログラムに対して、ログインを通知する。
ここで、自動巡回プログラムは、ログイン後の画面に表示される内容を予め記憶しており、その記憶した画面の表示内容とブラウザ21が表示した画面の表示内容とを比較する。具体的には、プログラム実行部2321は、巡回オブジェクトの5行目の内容を実行し、これにより、自動巡回プログラムは、ログイン後の画面に表示されるウィンドウタイトルを表示内容として取得する(ステップ308)。さらに、プログラム実行部2321は、巡回オブジェクトの6行目の内容を実行し、これにより、自動巡回プログラムは、取得したウィンドウタイトルと、予め記憶した予期タイトルとを比較して、両タイトルの一致又は不一致を判断し(ステップ309)、この判断結果によってログインの成否を確認する。この結果、両タイトルが一致の場合、成功と付されたルートを通り、巡回オブジェクトに記述された手順にしたがってしかるべき処理を逐次実行する(ステップ309a)。
一方、ステップ309において、両タイトルが不一致の場合、ブラウザ21は、画面に失敗を表す旨を表示し、失敗と付されたルートを通り、ステップ310において、ユーザは、ログアウトボタンをクリックする。このクリックは、ブラウザ21側に通知され(ステップ407)、ブラウザ21は、ログアウト画面を表示する(ステップ408)。
また、ステップ310におけるログアウトボタンのクリックは、操作インターフェース233(図2)を介してスクリプトエンジン232のプログラム実行部2321に通知され、プログラム実行部2321は、巡回オブジェクトの最終行を実行する。ユーザは、Webページに表示されたログアウトボタンを押下する(ステップ310)。なお、ほとんどのオブジェクトに記載されたプログラムの最終行は、ログアウトするものがほとんどである。
また、巡回オブジェクトの最終行には、ログアウトの実行が記述されており、最終行の実行により、巡回オブジェクトの処理が完了する。このログアウトは、Webページ上に表示されたログアウトボタンがあるので、それを押下することによってログアウトされる(ステップ310)。ブラウザ21は、巡回するサイトの作りによってまちまちではあるが、概ねログインページに遷移する。
この完了によって、自動巡回プログラムは、ステップ303において起動したブラウザ21を終了させステップ303にて起動したブラウザ21を終了する(ステップ311)。これにより、自動巡回処理が完了となる(ステップ312)。この後、ブラウザ21は、例えば、画面にログアウトを表示し、概ね、ログインページを表示する(ステップ408)。なお、ログアウト時の画面は、巡回先のWebサイトの構造等に応じて種々の内容を表示する。
従って、クライアント2は、自動巡回システム23におけるホストオブジェクト231が、巡回処理を行なうWebサーバ1#kへの接続(ログインおよびログアウト)、ユーザ識別データ(ユーザIDおよびパスワード)の設定、ログイン又はログアウトに必要なログインボタン,ログアウトボタンの押下の各操作を行なう巡回処理コマンドをそれぞれ出力しており、これらの出力された巡回処理コマンドは、ブラウザ21によって特定のWebサーバ1#kに対して送信されていることになる。
このように、自動巡回プログラムが、ステップ302における巡回オブジェクトの解析後は、プログラム実行部2321が読み込みした巡回オブジェクトの手順にしたがって、自動巡回の各処理が実行される。
これにより、本自動巡回方法は、巡回オブジェクトの起動時刻の設定(ステップ301)と、巡回オブジェクトに記載されたファイル操作(ステップ305〜ステップ308)の内容とのそれぞれに基づいて、自動的に所望のWebサイトに巡回し、各操作を自動的に実行するので、利便性が向上する。
また、このように、ECMAスクリプトの書き換えによって、例えばブラウザ21の操作を自在に設定できる。これにより、電子商取引を実現するWebサーバ1#kに対して、受注情報等の取り込みおよび発注情報の送信の各機能や、実行時期のスケジュール機能が発揮される。
次に、図4を参照して自動巡回プログラムの自動生成機能について詳述する。
図4は本発明の一実施形態に係るクライアントの自動巡回プログラムを自動生成する部分のブロック図であって、この図4に示す符号のうちの上述したものと同一の符号は、上述したものと同一のものを表す。この図4に示すクライアント2aは、ブラウザ21と、巡回オブジェクト記憶部28a〜28dと、自動巡回システム(自動巡回装置)33とをそなえて構成されている。巡回オブジェクト記憶部28a〜28dは、ブラウザ21から通知されたメッセージに含まれる情報を記憶している。また、自動巡回システム33は、インターネット99を介してWebサーバ1#1〜1#4に対して巡回処理するクライアント2aに設けられたものであって、スクリプト自動生成エンジン235と、操作インターフェース233とをそなえて構成されている。なお、スクリプト自動生成エンジン235の機能はハードウェア又はソフトウェアにより実現される。
このスクリプト自動生成エンジン235は、ECMAスクリプトの自動生成処理中に、ブラウザ21からのメッセージを受信し、メッセージの記憶および設定を行なうプログラムであって、ECMAスクリプトの自動生成処理の主制御部として機能し、ブラウザイベント受信・記憶部(ブラウザイベント受信および記憶部)2352と、ブラウザイベント設定部2351と、スクリプト生成部2353とをそなえて構成されている。
ここで、ブラウザイベント受信・記憶部2352は、ユーザがブラウザ(Webサーバ操作実行部)21に対して行なった操作に関する操作履歴情報を含むイベント発生メッセージを記憶するものである。このイベント発生メッセージは、ブラウザ21から送信され、ブラウザイベント設定部2351およびスクリプト生成部2353の両方から参照可能なRAM80に記憶される。
また、ブラウザイベント設定部2351は、ユーザがブラウザ21を操作(ユーザオペレーション)する等、ブラウザ21において所定の操作が発生した場合は、ブラウザ21に対してイベント発生メッセージを通知するように設定するものである。この操作の具体例は、巡回処理を行なうWebサーバ1#1〜1#4への接続と、ユーザID,パスワード等のユーザ識別データの設定と、Webサーバ1#1〜1#4とのログイン又はログアウトに必要な事項の入力あるいはボタンのクリック(押下)である。そして、各操作がブラウザ21にて発生すると、ブラウザ21に対し、ブラウザイベント受信・記憶部2352宛のイベント発生メッセージが通知される。
さらに、スクリプト生成部2353は、ブラウザイベント受信記憶部2352のRAM80に記憶された例えば手動操作履歴および自動操作履歴等の操作履歴情報に基づいて、手動操作による手順と同一手順の操作を実行するものである。このスクリプト生成部2353は、ブラウザイベント受信・記憶部2352から通知されたイベント発生メッセージに含まれる手動操作と自動操作との各履歴を読み出し、ブラウザオブジェクトプログラムにセットするための設定データを、巡回オブジェクト記憶部28a〜28dに記憶するようになっており、これにより、巡回オブジェクト記憶部28a〜28dが生成される。
従って、巡回オブジェクト記憶部28a〜28dに記憶されるオブジェクトプログラムは、スクリプト生成部2353によって自動生成される。なお、図2に示す巡回オブジェクト記憶部28a〜28dは、いずれも、操作コマンドに関するデータであってユーザによって記述されたものである。
なお、スクリプト生成部2353は、テキストファイルに含まれるリンクタグによって参照される参照ファイルがXML(eXtensible Markup Language)形式である場合は、参照ファイルの内容に応じて処理を行なうようにもなっている。
また、スクリプト自動生成エンジン235は、ユーザと画面との間のインターフェース機能を有する操作インターフェース233と接続され、ユーザからの巡回実行,自動生成の開始,終了等の指示メッセージを取得可能になっている。
このように、クライアント2aに設けられたスクリプト自動生成エンジン235を設けることにより、あたかも、オブジェクトプログラムを自動生成するための仕掛けが設けられたように機能する。
従って、クライアント2aは、処理に関する命令タグを含むテキストファイルとしてのHTMLファイルを命令タグに基づいて画面表示を操作するブラウザオブジェクトプログラムと、インターネット99を介して読み込み可能なWebページへの巡回を制御する制御オブジェクトプログラムと、ブラウザ21の画面表示処理に基づいて画面を生成する生成オブジェクトプログラムと、ブラウザオブジェクトプログラム,制御オブジェクトプログラム,生成オブジェクトプログラムの3種類を少なくとも含みこれらの3種類のオブジェクトプログラムを組み合わせた自動巡回プログラムを生成するスクリプト生成部2353をさらにそなえて構成されたことになる。
このような構成によって、本発明の一実施形態に係る自動巡回プログラムの自動生成方法について、図5を参照して詳述する。
図5は本発明の一実施形態に係る自動巡回プログラムの自動生成処理を説明するためのフローチャートである。
スクリプト自動生成エンジン235は、操作インターフェース233を介して通知されたユーザの操作を受信すると、自動生成処理を開始する。まず、スクリプト自動生成エンジン235は、ユーザによって指定された接続先URLをブラウザ21に表示させる(ステップ501)。このとき、ブラウザイベント設定部2351は、ブラウザ21に対して、操作が発生した場合に、ブラウザイベント受信・記憶部2352に対してメッセージを通知するように設定する。
そして、ブラウザ21において接続先URLが正常に表示されると(例えばログイン画面:ステップ550)、ブラウザ21は、ブラウザイベント受信・記憶部2352に対してメッセージを通知する。ブラウザイベント受信・記憶部2352は、このメッセージの内容をRAM80に記憶させるとともに(ステップ502)、後に巡回オブジェクトを自動生成するときに必要なウィンドウタイトルを取得し、RAM80に記憶する(ステップ503)。
ここで、ユーザがブラウザ21にユーザIDを入力すると(ステップ551)、ブラウザ21は、ブラウザイベント受信・記憶部2352に対してメッセージを送信する。ブラウザイベント受信・記憶部2352は、受信したメッセージの内容をRAM80に記憶する(ステップ504)。
さらに、ユーザがブラウザ21にパスワードを入力すると(ステップ552)、ブラウザ21は、ブラウザイベント受信・記憶部2352に対してメッセージを送信し、ブラウザイベント受信・記憶部2352は、そのメッセージの内容をRAM80に記憶する(ステップ505)。
また、ユーザがブラウザ21にログインボタンを押下すると(ステップ553)、ブラウザ21は、ブラウザイベント受信・記憶部2352に対してメッセージを送信し、ブラウザイベント受信・記憶部2352は、そのメッセージの内容をRAM80に記憶する(ステップ506)。このログインボタンの押下により、ブラウザ21の表示内容がメニュー画面に遷移する(ステップ554)。これにより、ブラウザイベント受信・記憶部2352に対してメッセージが送信されるので、ブラウザイベント受信・記憶部2352は、このメッセージの内容をRAM80に記憶する(ステップ507)。
ここで、ユーザがメニュー画面の受信一覧アンカーを押下すると(ステップ555)、ブラウザイベント受信・記憶部2352に対してメッセージが送信され、ブラウザイベント受信・記憶部2352は、このメッセージの内容をRAM80に記憶する(ステップ508)。また、受信一覧アンカーの押下により、ブラウザ21の表示が受信一覧画面に遷移する(ステップ556)。なお、ブラウザ21に、表示させる受信一覧の数を制限することもでき、特定の商取引相手についてのみ受信一覧を表示させるように構成することもでき、このようにすれば、処理効率を大幅に改善できる。
また、ブラウザイベント受信・記憶部2352に対してメッセージが送信されるので、ブラウザイベント受信・記憶部2352は、このメッセージの内容をRAM80に記憶する(ステップ509)。ここで、後に、巡回オブジェクトを自動生成するときに、ウィンドウタイトルが必要になるので、ブラウザイベント受信・記憶部2352は、ウィンドウタイトルを取得し、RAM80に記憶する(ステップ510)。
ここで、ユーザが受信ボタンを押下すると(ステップ557)、ブラウザイベント受信・記憶部2352に対してメッセージが送信されるので、ブラウザイベント受信・記憶部2352は、このメッセージの内容をRAM80に記憶する(ステップ511)。また、受信ボタンの押下により、ファイル保存ダイアログが表示される(ステップ558)。これにより、ブラウザイベント受信・記憶部2352に対してメッセージが送信されるので、ブラウザイベント受信・記憶部2352は、このメッセージの内容をRAM80に記憶する(ステップ512)。
さらに、ユーザが保存ボタンを押下すると(ステップ559)、ブラウザイベント受信・記憶部2352に対してメッセージが送信されるので、ブラウザイベント受信・記憶部2352は、このメッセージの内容をRAM80に記憶する(ステップ513)。
ユーザがブラウザ21を終了させると(ステップ560)、ブラウザイベント受信・記憶部2352に対してメッセージが送信されるので、ブラウザイベント受信・記憶部2352は、このメッセージの内容をRAM80に記憶する(ステップ514)。そして、この終了メッセージの受信をきっかけにオブジェクト生成の処理を実行する(ステップ515)。
このように、スクリプト自動生成エンジン235が、接続先URLをブラウザ21に表示させ(ステップ501)、URLの表示開始から処理の終了(ステップ514)までのユーザの操作を記憶し、巡回オブジェクトが自動生成される(ステップ515)。
さらに、ブラウザ21に、受信一覧を表示させる場合に、すべての商取引相手についての一覧を表示させずに、特定の商取引相手についてのみ受信一覧を表示することができ、このようにすれば、処理効率を大幅に改善することができる。
続いて、この巡回オブジェクトの自動生成処理について図6を参照して詳述する。
図6は本発明の一実施形態に係る巡回オブジェクトの自動生成処理を説明するためのフローチャートであって、RAM80等のメモリ上に記憶した情報(イベント情報・タイトル情報)を順々に確認していく。ステップ515(図5)をさらに詳細に表示したものである。
図6に示すステップ600aにおいて、スクリプト生成部2353は、処理を開始すると、イベント情報およびタイトル情報をそれぞれ読み込む(ステップ600b)。ここで、スクリプト生成部2353は、RAM80に記憶された情報(イベント情報,タイトル情報)の内容にかかわらず、初期処理オブジェクトを出力し、出力した初期処理オブジェクトを巡回オブジェクト記憶部28a〜28d(図4)に記憶する(ステップ601)。
次に、スクリプト生成部2353は、RAM80に記憶された情報(イベント情報,タイトル情報)の有無を順々に確認する(ステップ601a)。
また、ステップ601bにおいて、情報が入力イベントである場合、Nルートを通り、ステップ601cにおいて、その情報が入力イベントであるか否かについての判定処理が行なわれる。そして、情報が入力イベントであると判定されると、スクリプト生成部2353は、Yルートを通り、そのページのページ内処理リストにブラウザ設定文を追加する(ステップ604)。この後、再度、スクリプト生成部2353は、RAM80に記憶された情報の有無を順々に確認する(ステップ601a)。すなわち、スクリプト生成部2353は、そのページのページ関数に対応するブラウザ設定文(ブラウザ入力文)をオブジェクト指向のオブジェクトコードとして、巡回オブジェクト記憶部28a〜28dに出力するのである。
一方、ステップ601bにおいて、この情報がドキュメント更新イベントである場合、Yルートを通り、スクリプト生成部2353は、ページ関数(Webページを開く機能をもつ巡回オブジェクト)を巡回オブジェクト記憶部28a〜28dに新規作成し(ステップ602)、さらに、ページリストにそのページの情報を出力することにより情報を追加する(ステップ603)。
なお、情報がタイトル情報の場合は、そのページのページ内処理リスト関数内にブラウザのウィンドウタイトルをチェックする文を追加する(ステップ605)。この後、スクリプト生成部2353は、RAM80に記憶された情報の有無を順々に確認する(ステップ601a)。
全てのメモリ上に記憶した情報を処理し終了すると、ページリストの情報を基に、メイン関数(クライアント2aの主制御部)を巡回オブジェクト記憶部28a〜28dに出力し(ステップ606)、各ページ処理リストの情報を基に各ページの処理関数を出力する(ステップ607)。最後に、終了処理オブジェクトを巡回オブジェクト28に出力する(ステップ608)。
一方、情報が入力イベントでない場合は、Nルートを通り、ステップ601dにおいて、情報がタイトル情報であるか否かについて判定され、情報がタイトル情報である場合、Yルートを通り、そのページ関数の中に、ブラウザ21のウィンドウタイトルをチェックする文を巡回オブジェクト記憶部28a〜28dに出力する(ステップ605)。また、スクリプト生成部2353は、ステップ605において、移動ページが正しいか否かを確認するために、タイトルチェックを行なう文を出力する。一方、ステップ601dにおいて、情報がタイトル情報でない場合は、Nルートを通り、再度、ステップ601a以降の処理が行なわれる。
そして、全てのRAM80に記憶された情報の処理が終了すると、スクリプト生成部2353は、終了処理オブジェクトを巡回オブジェクト記憶部28a〜28dに出力する(ステップ606)。なお、ステップ601aにおいて、RAM80に記憶された情報がある場合、Nルートを通り、やはり、終了処理オブジェクトを巡回オブジェクト記憶部28a〜28dに出力する(ステップ606)。
なお、図5,図6のそれぞれに示すフローチャートは、1台のクライアント2(又は2a)と1台の例えばWebサーバ1#1との間におけるものである。自動巡回システム(自動巡回装置)23は、1台のクライアント2,2aとp台(pは自然数を表す。)のクライアント2との間の電子商取引にも適用できる。
さらに、本自動巡回システム23は、n台のWebサーバ1#1〜#nと1台のクライアント2との間の通信においても、また、n台のWebサーバ1#nとn台のクライアント2との間の電子商取引をも用いることができる。
このように、インターネット99を介して特定のWebサーバ1#kからHTMLファイルを受信するクライアント2が、巡回プログラムによる自動巡回の制御と、ユーザがブラウザ21に対する操作に基づいて操作が再現される。
また、自動巡回システム23,33の両方を設けることもできる。
図8は本発明の一実施形態に係るスクリプト自動生成機能と自動巡回処理機能とを有するクライアントのブロック図である。この図8に示すクライアント2bは、上記のクライアント2,2aの両方の機能を併せもつものであって、ホストオブジェクト231,スクリプトエンジン232からなる自動巡回システム23と、スクリプト自動生成エンジン235とをそなえて構成されている。なお、図8に示すもので上述したものと同様の符号を有するものは同一のもの又は同一機能を有するものであるので、さらなる説明を省略する。
また、クライアント2bは、インターネット99を介してHTMLファイルをWebサーバ1#1〜1#4のうちのいずれかのWebサーバ1より受信し、巡回プログラムを用いた自動巡回制御と、ユーザがブラウザ21に対して行なった操作とに基づいて、ユーザが行なった操作を再現するようになっている。
さらに、クライアント2bは、各Webサーバ1#kに対して、巡回プログラムを用いた自動巡回制御と、ユーザがブラウザ21に対して行なった操作とに基づいて、ユーザが行なった操作を再現する。
このような構成により、図8に示すクライアント2bは、1又は複数の巡回対象のWebサイトに対してユーザが操作する手順と、必要なデータの判別と、データのダウンロードおよびアップロードのモニタリングとの各操作を行ない、手順,判別およびモニタリングの各結果を、巡回オブジェクトとして自動的に生成する。さらに、予めユーザが、障害時のリトライ方法,処置および巡回オブジェクトの起動時刻等のスケジューリングを登録しておくことにより、クライアント2bのWebサイトの自動巡回が自動的に行なわれる。そして、決められた手順にしたがって、所望の操作が自動実行される。
以上をまとめると、本自動巡回方法は、ECMAスクリプトをオブジェクトプログラムとして用いたブラウザ21の制御方法である。
ユーザは、予めブラウザ21をオブジェクトとして表現し、制御するプログラム自身をオブジェクトとして表現し、ブラウザ21が表示するサブウィンドウをオブジェクトとして表現し、また、これらの3種類のオブジェクトを組み合わせた巡回手順をソーススクリプトファイルとして記述する、
次に、スクリプト自動生成エンジン235において、ユーザがブラウザ21に対して行なった操作が記憶され、記憶された操作に基づいて、その操作を再現するプログラムが生成される。
そして、ホストオブジェクト231において自動巡回プログラムは、ブラウザ21に対する操作をスクリプトエンジン232から受け取り、その操作に対応するプログラムに変換し、変換したプログラムをファイルとして保存する、
このように、クライアント2bによれば、無人のWebサイトへの接続と、操作と、データのダウンロードおよびアップロードと、適切な障害処理とがいずれも、実現し、利便性が向上する。
また、本自動巡回システム23,33は、従来のWeb−EDIの構築により得られる長所をも得ることができる。例えば、端末をインターネットに接続するだけで商取引が可能な環境が構築され、さらに、自動巡回システムの導入および管理に要するコストを低減できる。これらに加えて、Web−EDIの通信プロトコルと、社内のTCP/IPプロトコルとを共通化することにより、高い利便性を実現できる。
まお、本発明は上述した実施態様およびその変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、種々変形して実施することができる。
上記のブラウザ21は、XML形式のファイルについても処理可能である。
このXMLは、HTMLと同様に、SGML(Standard Generalized Markup Language)に基づいて開発された言語である。ここで、SGMLは、異種コンピュータ間で電子文書を交換するためのものであり、手書き文書に書かれる単語(例えば「見出し」,「本文」)等の論理構造を記述できる言語である。また、XMLのタグは、文書の論理構造に対応しており、ファイルにて使用されるタグの属性は、DTD(Document Type Definition)と呼ばれるファイルに記述されている。
通信プロトコルは、種々のものを適用でき、TCP/IP以外の通信プロトコルでも可能である。転送可能なパケットは、IPパケット等のほかに、TCP/IPプロトコルと異なる別のプロトコルの制御データが付け加えられたヘッダを有するパケットでもよい。
階層化アドレスを用いて、多くのIPアドレスを割り当て可能なIPv6プロトコル(Internet Protocol Version 6 protocol)。伝送途中に無線回線があるネットワークにおけるモバイル対応型のIP系のプロトコル等が可能である。伝送経路を表すラベルをパケットに付与するMPLSネットワーク等でも実施可能である。
上述したURLの代わりに、URI(Uniform Resource Identifier,ユニフォーム・リソース・アイデンティファイア)や、URN(Uniform Resource Name,ユニフォーム・リソース・ネーム)をアドレスとして使用することもできる。
ここで、URIは、URLを拡張した規格であって、固有の名称を用いてWeb上のデータを特定するためのものである。このURIは、プロトコル名http,サーバ名,ディレクトリ名,ファイル名を、Web上のデータに割り当てる。URIとURLとの相違点を説明する。URLを用いたデータの特定方法は、Webの物理的位置を指定したものであって、プロトコル名http,サーバ名,ディレクトリ名,ファイル名により表される。これに対して、URIを用いたデータの特定方法は、固有の名称を用いてWeb上のデータを特定するものであり、この機能に加えて、出版物に用いられているISBN番号等を扱える。これにより、インターネット資源について統一的な名称の付与が可能となる。
本発明によれば、自動巡回オブジェクトが自動的に生成され、また、オブジェクトの起動時刻等を登録することにより、巡回オブジェクトが所望のWebサイトを自動巡回し、かつ決められた手順にしたがって目的の操作を自動実行できる。
これにより、無人によるWebサイトへの接続,操作,データのダウンロードおよびアップロード,適切な障害処理が実現し、利便性が向上する。
スケジューリングされたWebサイトに自動的にアクセスでき、手動操作が介在せずに情報を取得でき、受発注情報を所望のディレクトリ等に自動的に保存される。加えて、自動巡回の実行時刻や曜日等のスケジューリングによって無人化が実現できる。
本発明が適用されるWebネットワークシステムの概略的な構成図である。 本発明の一実施形態に係るクライアントの自動巡回制御を行なう部分のブロック図である。 本発明の一実施形態に係る自動巡回処理を説明するためのフローチャートである。 本発明の一実施形態に係るクライアントの自動巡回プログラムを自動生成する部分のブロック図である。 本発明の一実施形態に係る自動巡回プログラムの自動生成処理を説明するためのフローチャートである。 本発明の一実施形態に係る巡回オブジェクトの自動生成処理を説明するためのフローチャートである。 本発明の一実施形態に係るWebページの一例を示す図である。 本発明の一実施形態に係るクライアントの概略的なブロック図である。
符号の説明
1 Webサーバ
2,2a,2b クライアント
21 ブラウザ(ブラウザ部)
22 スケジューラ
23,33 自動巡回システム(自動巡回装置)
24 保存ファイル記憶部
25 データファイル記憶部
26 アップロードファイル記憶部
27 接続先情報記憶部
28a〜28d 巡回オブジェクト記憶部
30 ウィンドウ
31 Webページ
32a チェックボックス
32b ラジオボタン
80 RAM
99 インターネット
100 Webネットワークシステム
101 ルータ
102 LAN
231 ホストオブジェクト(巡回処理実行部)
232 スクリプトエンジン(スクリプト生成実行部)
233 操作インターフェース
234 スケジューラインターフェース
235 スクリプト自動生成エンジン
2311 ブラウザ操作
2312 ファイル操作
2313 接続情報操作
2321 プログラム実行部
2322 プログラム解析部
2323 プログラムローダー
2351 ブラウザイベント設定部
2352 ブラウザイベント受信・記憶部
2353 スクリプト生成部

Claims (13)

  1. ネットワークを介してサーバに対して巡回処理するクライアント端末に設けられた自動巡回装置であって、
    ファイル又はプログラムに対する1又は複数の操作手順が記述されたスクリプトファイルを記憶する記憶部と、
    該記憶部に記憶された該スクリプトファイルから該巡回処理の操作に関する巡回処理コマンドを実行するスクリプトプログラムを生成するスクリプト生成実行部と、
    該スクリプト生成実行部にて生成された該スクリプトプログラムに対応する該巡回処理の操作を実行する巡回処理実行部とをそなえて構成されたことを特徴とする、自動巡回装置。
  2. 該スクリプト生成実行部が、
    該記憶部に記憶された該スクリプトファイルを読み込むローダー部と、
    該ローダー部にて読み込まれた該スクリプトファイルを解析する解析部と、
    該解析部において解析された該スクリプトファイルから上記のスクリプトプログラムを生成して実行するスクリプト生成実行部とをそなえて構成されたことを特徴とする、請求項1記載の自動巡回装置。
  3. 該巡回処理実行部が、
    処理に関する命令タグを含むテキストファイルを該命令タグに基づいて画面表示を操作するブラウザオブジェクトプログラムと、該ネットワークを介して読み込み可能なWebページへの巡回を制御する制御オブジェクトプログラムと、該ブラウザオブジェクトプログラムの画面表示の操作に基づいて画面を生成する生成オブジェクトプログラムとのそれぞれを少なくとも含む自動巡回オブジェクトプログラムを用いて該巡回処理の操作を実行するように構成されたことを特徴とする、請求項1又は請求項2記載の自動巡回装置。
  4. 該巡回処理実行部が、
    該巡回処理を行なう該サーバへの接続と、ユーザ識別データの設定と、該サーバとのログイン又はログアウトに必要な事項の入力との各操作を実行するように構成されたことを特徴とする、請求項1〜請求項3のいずれか一項記載の自動巡回装置。
  5. ネットワークを介してサーバに対して巡回処理するクライアント端末であって、
    ファイル又はプログラムに対する1又は複数の操作手順が記述されたスクリプトファイルを記憶する記憶部と、
    該記憶部に記憶された該スクリプトファイルから該巡回処理の操作を実行するスクリプトプログラムを出力する自動巡回装置と、
    該自動巡回装置から出力された該スクリプトプログラムに対応する該巡回処理の操作を該サーバに対して逐次実行するサーバ操作実行部とをそなえて構成されたことを特徴とする、クライアント端末。
  6. 該自動巡回装置が、
    ユーザが該サーバ操作実行部に対して行なった操作に関する操作履歴情報を含むイベント発生メッセージを保存するブラウザイベント受信記憶部と、
    該サーバ操作実行部において所定の操作が発生した場合は、該サーバ操作実行部に対して該イベント発生メッセージを通知するように設定するブラウザイベント設定部とをそなえて構成されたことを特徴とする、請求項5記載のクライアント端末。
  7. 処理に関する命令タグを含むテキストファイルを該命令タグに基づいて画面表示を操作するブラウザオブジェクトプログラムと、該ネットワークを介して読み込み可能なWebページへの巡回を制御する制御オブジェクトプログラムと、該ブラウザオブジェクトプログラムの画面表示の操作に基づいて画面を生成する生成オブジェクトプログラムとのそれぞれを少なくとも含む自動巡回オブジェクトプログラムを生成するスクリプトプログラム生成部をさらにそなえて構成されたことを特徴とする、請求項6記載のクライアント端末。
  8. 該スクリプトプログラム生成部が、
    該ブラウザイベント受信記憶部から通知された該イベント発生メッセージに含まれる情報に基づいて、該ブラウザオブジェクトプログラムに関する設定データを、ファイル又はプログラムに対する1又は複数の操作手順が記述されたスクリプトファイルを記憶する記憶部に記憶するように構成されたことを特徴とする、請求項7記載のクライアント端末。
  9. 該スクリプトプログラム生成部が、
    該ブラウザイベント受信記憶部に記憶された該操作履歴情報に基づいて、手動操作による手順と同一手順の操作を実行するように構成されたことを特徴とする、請求項7記載のクライアント端末。
  10. 該スクリプトプログラム生成部が、
    該テキストファイルに含まれるリンクタグによって参照される参照ファイルがXML(eXtensible Markup Language)形式である場合は、該参照ファイルの内容に応じて処理を行なうように構成されたことを特徴とする、請求項7記載のクライアント端末。
  11. 該サーバに対して、電子商取引に関するデータ読み書き処理を行なうように構成されたことを特徴とする、請求項5〜請求項10のいずれか一項記載のクライアント端末。
  12. 該スクリプトが、ECMAスクリプトを用いて記述されていることを特徴とする、請求項5〜請求項10のいずれか一項記載のクライアント端末。
  13. ネットワークを介してサーバに対して巡回処理するクライアント端末を用いた自動巡回方法であって、
    該クライアント端末に設けられたスクリプト生成実行部が、ファイル又はプログラムに対する1又は複数の操作手順が記述されたスクリプトファイルから該巡回処理の操作に関する巡回処理コマンドを実行するスクリプトプログラムを生成し、
    生成された該スクリプトプログラムに対応する該巡回処理の操作を実行することを特徴とする、自動巡回方法。

JP2004224283A 2004-07-30 2004-07-30 自動巡回装置,クライアント端末および自動巡回方法 Pending JP2006048144A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004224283A JP2006048144A (ja) 2004-07-30 2004-07-30 自動巡回装置,クライアント端末および自動巡回方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004224283A JP2006048144A (ja) 2004-07-30 2004-07-30 自動巡回装置,クライアント端末および自動巡回方法

Publications (1)

Publication Number Publication Date
JP2006048144A true JP2006048144A (ja) 2006-02-16

Family

ID=36026656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004224283A Pending JP2006048144A (ja) 2004-07-30 2004-07-30 自動巡回装置,クライアント端末および自動巡回方法

Country Status (1)

Country Link
JP (1) JP2006048144A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008126796A1 (ja) * 2007-04-06 2008-10-23 International Business Machines Corporation サービス・プログラムを生成する技術
JP2009025449A (ja) * 2007-07-18 2009-02-05 Yamaha Corp 電子音楽装置及びプログラム
WO2009078568A1 (en) 2007-12-14 2009-06-25 Samsung Electronics Co., Ltd. Method and apparatus for providing api service and making api mash-up, and computer readable recording medium thereof
CN106796597A (zh) * 2015-02-11 2017-05-31 最佳收藏有限公司 自动化智能数据抓取和验证
JP2017220107A (ja) * 2016-06-09 2017-12-14 株式会社Pfu 機器設定装置、機器設定方法、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076266A (ja) * 1998-08-28 2000-03-14 Internatl Business Mach Corp <Ibm> ブラウザ操作自動実行システムおよびその方法
JP2003141066A (ja) * 2001-06-20 2003-05-16 Matsushita Electric Ind Co Ltd ネットワークシステムおよびエージェントサーバ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076266A (ja) * 1998-08-28 2000-03-14 Internatl Business Mach Corp <Ibm> ブラウザ操作自動実行システムおよびその方法
JP2003141066A (ja) * 2001-06-20 2003-05-16 Matsushita Electric Ind Co Ltd ネットワークシステムおよびエージェントサーバ

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
北村泰彦他: "スクリプトに基づくWWW情報統合支援システムとゲノムデータベースへの応用", 電子情報通信学会論文誌, vol. 第J81−D−I巻,第5号, JPN6007016123, 25 May 1998 (1998-05-25), pages 451 - 459, ISSN: 0000952024 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5089684B2 (ja) * 2007-04-06 2012-12-05 インターナショナル・ビジネス・マシーンズ・コーポレーション サービス・プログラムを生成する技術
EP2136292A4 (en) * 2007-04-06 2013-02-27 Ibm SERVICE PROGRAM GENERATION TECHNOLOGY
EP2136292A1 (en) * 2007-04-06 2009-12-23 International Business Machines Corporation Service program generation technology
WO2008126796A1 (ja) * 2007-04-06 2008-10-23 International Business Machines Corporation サービス・プログラムを生成する技術
KR101038896B1 (ko) 2007-04-06 2011-06-07 인터내셔널 비지네스 머신즈 코포레이션 서비스 프로그램을 생성하는 시스템, 방법 및 서비스 프로그램을 생성하기 위한 프로그램을 기록한 컴퓨터 판독가능 매체
JP2009025449A (ja) * 2007-07-18 2009-02-05 Yamaha Corp 電子音楽装置及びプログラム
EP2220571A1 (en) * 2007-12-14 2010-08-25 Samsung Electronics Co., Ltd. Method and apparatus for providing api service and making api mash-up, and computer readable recording medium thereof
EP2220571A4 (en) * 2007-12-14 2011-12-21 Samsung Electronics Co Ltd METHOD AND DEVICE FOR PROVIDING AN API SERVICE AND MANUFACTURING AN API MASHUPS AND COMPUTER-READABLE RECORDING MEDIUM THEREFOR
WO2009078568A1 (en) 2007-12-14 2009-06-25 Samsung Electronics Co., Ltd. Method and apparatus for providing api service and making api mash-up, and computer readable recording medium thereof
US8549471B2 (en) 2007-12-14 2013-10-01 Samsung Electronics Co., Ltd. Method and apparatus for providing API service and making API mash-up, and computer readable recording medium thereof
CN106796597A (zh) * 2015-02-11 2017-05-31 最佳收藏有限公司 自动化智能数据抓取和验证
JP2018513426A (ja) * 2015-02-11 2018-05-24 ベスト コレクト, エス.エー. ディーイー シー.ブイ. 自動インテリジェントデータスクレイピング及び検証
US10489377B2 (en) 2015-02-11 2019-11-26 Best Collect, S.A. De C.V. Automated intelligent data scraping and verification
CN106796597B (zh) * 2015-02-11 2020-12-22 最佳收藏有限公司 计算机化的方法、服务器计算机系统和存储介质
US11188519B2 (en) 2015-02-11 2021-11-30 Best Collect, S.A. De C.V., Mexico Automated intelligent data scraping and verification
JP2017220107A (ja) * 2016-06-09 2017-12-14 株式会社Pfu 機器設定装置、機器設定方法、及びプログラム

Similar Documents

Publication Publication Date Title
JP5636521B2 (ja) ウェブページ情報を抽出するためのウェブクローラの構成
US7287229B2 (en) Template-driven process system
US6832220B1 (en) Method and apparatus for file searching, accessing file identifiers from reference page
US20050050021A1 (en) Information Messaging and Collaboration System
US20050120292A1 (en) Device, method, and computer program product for generating information of link structure of documents
WO2010116586A1 (ja) 動作検証装置、動作検証方法、および動作検証システム
KR20030064828A (ko) 네트워크 클라이언트로부터의 정보에 대한 리퀘스트 수행방법 및 시스템
WO2008024325A2 (en) Persistent saving portal
JPH10105453A (ja) データ中継装置、サーバ、及び情報端末装置
US20140095980A1 (en) Method and system for displaying and operating multi-layers item list in browsers with supporting of concurrent multiple_users
JPH11502346A (ja) オンラインサービスの作成および保守用のコンピュータシステムおよびコンピュータ実行プロセス
JP2004164623A (ja) 表示データ生成装置、表示データ生成システム、表示データ生成方法、表示データ生成プログラム及び記録媒体
US20040103374A1 (en) Function extension type browser, browser component, program and recording medium
US6026431A (en) System for providing a user with parameter-specific information
JP2006048144A (ja) 自動巡回装置,クライアント端末および自動巡回方法
JP4033134B2 (ja) データアクセスシステム、およびデータアクセス方法
JP3725088B2 (ja) 知識情報収集システムおよび知識情報収集方法
JP2007157003A (ja) ホームページ閲覧経路解析方法
JP2004287929A (ja) Webページ操作システムとプログラムおよびWebデータ伝送システム
JP2002334058A (ja) メインフレームのアプリケーション実行方法、アプリケーション実行システム、プログラム
JP4496929B2 (ja) 複数Web閲覧操作の並列再生装置及びプログラム及びコンピュータ読み取り可能な記録媒体
JP4846031B2 (ja) 動作検証システム
JP4207213B1 (ja) 商品情報取得システム
JP3725837B2 (ja) 知識情報収集システムおよび知識情報収集方法
US8639732B2 (en) Method for storing and reading-out data handled by application operating on HTTP client, data storage program, and data read-out program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080507