JP4299738B2 - ウェブ・アプリケーション用の非標準i/oデバイスを使用したデータの入力および出力のための方法、システムおよびコンピュータ読み取り可能媒体 - Google Patents

ウェブ・アプリケーション用の非標準i/oデバイスを使用したデータの入力および出力のための方法、システムおよびコンピュータ読み取り可能媒体 Download PDF

Info

Publication number
JP4299738B2
JP4299738B2 JP2004185874A JP2004185874A JP4299738B2 JP 4299738 B2 JP4299738 B2 JP 4299738B2 JP 2004185874 A JP2004185874 A JP 2004185874A JP 2004185874 A JP2004185874 A JP 2004185874A JP 4299738 B2 JP4299738 B2 JP 4299738B2
Authority
JP
Japan
Prior art keywords
communication protocol
data
browser
client
server
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 - Fee Related
Application number
JP2004185874A
Other languages
English (en)
Other versions
JP2005025738A (ja
Inventor
ロジャー・リー・アデマ
ジョン・クリスチャン・フルーク
ジャラッド・アンドリュー・ジャイルズ
リチャード・ゲインズ・ホイットリー
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005025738A publication Critical patent/JP2005025738A/ja
Application granted granted Critical
Publication of JP4299738B2 publication Critical patent/JP4299738B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Description

本発明はコンピュータ・システムへのデータの入力および出力に関し、より具体的には、World Wide Webのアプリケーションおよびページ用の非標準I/Oデバイスを使用したデータの入力および出力に関する。
World Wide Webアプリケーションは、一般に、インターネットなどのネットワークを介したデータ通信を含む様々なタスクで使用される。多くのアプリケーションでは、サーバまたは他のコンピュータ上で実行中のウェブ・アプリケーションが、フォームまたは他のタイプのウェブ・ページを提示することによって、クライアント・デバイスからデータを取り出す。データには、MicrosoftのInternet ExplorerまたはNetscape CommunicationsのNetscapeなどの標準のウェブ・ブラウザ・プログラムを使用して、クライアント・コンピュータのディスプレイ上に表示されるフォームに入力できる情報が含まれる。ウェブ・フォームには、ユーザに特定の情報を求めるいくつかのフィールドまたはブランクが含まれる場合が多い。ユーザがそれぞれのフィールドが要求する情報を決定すること、および入力デバイスを使用してその情報を入力することは容易である。
通常、ユーザは、キーボード、マウス、トラックボールなどの標準的な入力デバイスを使用して、これらのウェブ・フォームにデータを入力することができる。たとえばユーザは、マウスまたはトラックボールを動かしてフォーム内の空白フィールド上にカーソルを置き、キーボード入力デバイスを使用してそのフィールドに情報を入力することができる。同様に、TABなどのキーボード・キーを使用して、フォーム上のフィールド間でカーソルを移動させることができる。
一部のユーザは、「非標準」入力デバイスを使用してコンピュータ・システムにデータを入力することができる。たとえば、商品の在庫を販売または追跡する業務または他の企業で、コンピュータを使用することができる。販売された商品または保存された在庫品に関する情報をコンピュータに入力して、データベースを維持することができる。このような種類のアプリケーションでは、販売時点情報管理(POS/Point−of−Sale)I/Oアタッチメントを使用して、商品または在庫に関するデータを簡単に入力することができる。たとえば小売店では、店員が光学式スキャナを使用して製品上のバー・コードまたは他のコード化された記号をスキャンし、このスキャナがコード化された情報を読み取ってその情報をコンピュータに送信し、これを格納および処理することができる。他の環境では、磁気ストライプ・リーダ(MSR)を使用して、カード(クレジット・カードなど)または他の製品上に施された磁気ストライプからデータを磁気的に読み取ることができる。
これらのタイプの非標準入力デバイスでは、データを即時かつ容易にコンピュータ・システムに入力することが可能であり、また商品の仕入れおよび販売を迅速に行うことができる。しかし、ユーザにとっては、スキャナまたはMSR入力デバイスから読み出されたデータを、コンピュータ上で動作しているブラウザ・プログラム内に提供されたウェブ・フォームへ単純かつ容易に入力する方法はない。ユーザはウェブ・フォームのフィールドに手作業で情報を入力しなければならないため、単純な入力作業に多大な遅延や経費を費やすことになる。しかし、ウェブ・サーバおよびフォームは、たとえばローカル・エリア・ネットワークやインターネット上の多くの業務で一般的に使用されている。
そこで試みられた解決策の1つとして、Symbol Technologies,Inc.は、カスタム入力タグなどの、別の標準HTMLタグ上で追加の属性をサポートするカスタム・ウェブ・ブラウザを作成した。これを使用すると、ウェブ・ページ中の属性がスキャナに対して、たとえばカスタム・ブラウザへデータを入力させることができるようになる。しかし、このアプリケーションのためにブラウザ自体を変更しなければならないため、限られた数のプラットフォームのみがブラウザを実行してこの機能を保存することが可能であり、既存の標準をすべてサポートすることはできない。
そこで、コンピュータと非標準の入力および出力デバイスと間でデータを入力および出力するための、より堅固かつフレキシブルな、プラットフォームに依存しない方法が求められている。
本発明のアプリケーションは、ウェブおよび同様のアプリケーション用の非標準I/Oデバイスを使用してデータを入力および出力するための装置および方法を提供するものである。本発明の第1の態様では、非標準入力デバイスから標準ブラウザへ入力データを提供するための方法に、非標準入力デバイスからの非標準入力データをクライアント側で受け取ること、およびその非標準入力データをクライアント上で実行中の標準ブラウザに等価の標準入力データとして提供することが含まれるため、標準ブラウザは、ネットワークを介してクライアントと通信しているサーバ上で実行中のアプリケーションにその入力データをサブミット(submit)することができる。第2の態様では、非標準入力デバイスからの入力データを標準ブラウザに提供するためのシステムに、非標準入力デバイスから非標準入力データを受け取り、その非標準入力データをクライアント上で実行中の標準ブラウザに等価の標準入力データとして提供するように動作可能なクライアントと、アプリケーションを実行中であり、ネットワークを介してクライアントと通信しているサーバとが含まれ、当該アプリケーションは、クライアント上で実行中の標準ブラウザからサブミットされた入力データを受け取るように動作可能である。第3の態様では、コンピュータ読み取り可能媒体に、非標準入力デバイスからの入力データを標準ブラウザに提供するためにコンピュータによって実施されることになるプログラム命令が含まれ、当該プログラム命令は、非標準入力デバイスからの非標準入力データをクライアント側で受け取るステップと、その非標準入力データをクライアント上で実行中の標準ブラウザに等価の標準入力データとして提供するステップとを含むステップを実行するものであるため、標準ブラウザは、ネットワークを介してクライアントと通信しているサーバ上で実行中のアプリケーションにその入力データをサブミットすることができる。第4の態様では、出力データを非標準出力デバイスに提供するための方法に、サーバと通信しているクライアントへサーバからデータを送信するように要求する、ユーザからの要求をサーバ側で受け取ること、ならびに当該データおよび命令をクライアントに送信することが含まれ、当該命令は、データがどのように非標準出力デバイスに出力されるかを管理するものである。クライアント上で実行中の標準ブラウザがデータおよび命令を受け取り、データは前記命令に従って、前記クライアントと通信している非標準出力デバイスによって出力されるものとして送信されることが可能である。
本発明は、ウェブおよび他のアプリケーション用の非標準I/Oデバイスを使用して、データを入力および出力するための方法および装置を提供するものである。クライアントのブラウザをどのような方法で修正する必要もないため、非標準デバイスからの入力および非標準デバイスへの出力を容易かつフレキシブルに達成することができる。さらに本発明は、クライアントとサーバとの間で効率的な通信を可能にするものであるため、性能をほとんどまたはまったく低下させることなしに、サーバが非標準入力を受け取り、非標準出力を命じることできる。
本発明は、コンピュータ・システムへのデータの入力および出力に関し、より具体的には、World Wide Webのアプリケーションおよびページ用の非標準I/Oデバイスを使用したデータの入力および出力に関する。以下の説明は、通常の当業者の一人が本発明を作成および使用できるようにするために提示するものであり、特許明細書およびその要件との関連においてなされるものである。本明細書に記載された好ましい実施形態および包括的な原理および特徴に対する様々な修正は、当業者には容易に明らかとなろう。したがって本発明は、示された実施形態に限定されることを意図するものではなく、本明細書に記載された原理および特徴に適合する最も広い範囲が与えられるものである。
図1は、本発明と共に使用するのに好適なシステム10を示すブロック図である。システム10は、サーバ12、クライアント14、および非標準入力デバイス16を含む。サーバ10は、World Wide Web/インターネットまたはローカル・エリア・ネットワーク(LAN)などのネットワークを介してデータを他のコンピュータに提供し、他の機能を実行することのできる、ウェブ・アプリケーションを実行するウェブ・サーバとすることができる。サーバ12は、サーバ・プログラムを実行し、標準ネットワーク・プロトコルに従った標準フォーマットでデータを送信および受信する。たとえば、好ましい実施の1つは、サーバ12がJava Server Pages(商標)のエンジンおよび実施を含むものである。当業者であれば周知のように、Java Server Pages(JSP)技術は、Sun Microsystems,Inc.のJava(商標)サーブレット技術の拡張であり、Javaサーブレットは、ウェブ・サーバ上で動作し、実行中にウェブ・ページを構築する、プラットフォームに依存しないサーバ側のプログラムおよびモジュールである。Java Server Pages(JSP)の機能は、ウェブ・プログラマが正規の静的HTMLコードと動的に生成されたHTMLコードとを混合できるものであり、サーブレットのみを使用してウェブ・ページを作成するのではない、ウェブ・ページを作成する簡略化された方法である。JSPページは、XMLタグおよびJavaプログラミング言語で作成されたスクリプトレットを使用する。JSPページは、特定のプラットフォームまたはウェブ・サーバに限定されるものではない。
JSPタグは、ウェブ・ページに関するコンテンツを生成することのできる論理を封入するか、そうでない場合はタグを含むウェブ・ページの外観または挙動を修正する、XMLに似たタグである。さらに、アプリケーション論理は、ページがJSPタグを使用してアクセスするサーバ・ベースのリソース内に常駐することができる。JSP仕様には、多くの異なる機能およびアプリケーションに関する多くの標準ライブラリ・タグが含まれる。本発明で使用されるカスタム・タグは、カスタム動的機能を提供するためのJSP言語の拡張として使用される。
図1に記載された実施形態では、好ましいことに、サーバ12がいくつかのカスタムJSPタグを実行して本発明の機能の一部を提供する(以下で記載するように、アプレットおよびスタンドアロン型アプリケーションが追加の機能を提供する)。具体的には、JSPカスタム・タグをサーバ12に提供して、クライアントにダウンロードされる命令を生成することができる。これについては、以下でより詳細に説明する。
本発明の代替実施形態では、JSPタグを使用する必要がない。たとえば、JavaScript(商標)ステートメントまたは異なる言語のステートメントを直接使用して、記載された実施形態でのJSPタグと同じ機能を実施することができる(実際には、JSPタグがJavaScriptステートメントを生成する)。
クライアント14は、World Wide Webなどのネットワークを介してサーバ12と通信することのできるコンピュータまたは電子デバイスである。クライアント14は、標準ネットワーク・ケーブルまたはワイヤを介するか、あるいは無線技術によって、サーバ12と通信することができる。クライアント14は、ウェブ・ページをダウンロードおよび表示するために主に使用されるウェブ・クライアントであるか、または他の様々なタスクを実行することができる、より汎用のコンピュータとすることができる。たとえば、クライアント14を倉庫または店内に設置して使用し、在庫表の入力およびサーバ12に送られて記憶される情報のカタログ化専用に使用することが可能である。クライアント14上で実行されるプログラムおよびプロセスについては、以下でより詳細に説明する。クライアント14の一般的な実施の中には、パーム・パイロット、携帯情報端末(PDA)、およびラップトップ・コンピュータなどのポータブル・コンピュータ、あるいはデスクトップのコンピュータ、端末、またはワークステーションが含まれる。クライアント14は、ウェブ・ページおよび他の情報をユーザに表示する、ディスプレイ・デバイス(モニタ、LCDフラット・スクリーンなど)を含む。
非標準入力デバイス16はクライアント14と通信しており、接続ワイヤを含む接続を介して、あるいは無線(光、無線通信など)で、データをデバイス16からクライアント14へと送ることができる。一部の実施形態では、デバイスを構築するためなどに、データをクライアント14からデバイス16へと送ることもできる。入力デバイス16は、キーボード、マウス、トラックボール、タッチ・スクリーン、あるいは、ウェブ・ブラウザまたはクライアント14上の同様のプログラムにデータを入力するために一般的に使用される他の入力デバイスではないため、「非標準」である(こうした標準入力デバイスは、本発明のクライアント14と通信することもできるが、図1には示されていない)。本発明のこの実施形態に特に関連する2つの非標準入力デバイス16が、スキャナと磁気ストライプ・リーダ(MSR)である。バー・コード・スキャナなどのスキャナは、バー・コード、パターンなどといった、物理オブジェクト上に表示されたコード化された情報または他の形式の情報を読み取ることができる。通常、スキャナは光学式メカニズムを使用して、製品上に表示された情報全体にわたってスキャナの読取り部分を動かすことによって情報を読み取る。多くのスキャナはハンドヘルド・デバイスであり、製品からのデータの入力が簡単である。多くの他のタイプのスキャナも使用することができる。MSRデバイスは、クレジット・カード、ATMカードなどといった、カードまたは他のオブジェクト上に施された磁気ストライプから情報を読み取る際に使用される。ユーザは、磁気ストライプを有するカード端をリーダ・デバイスの中を通してスライドさせるだけで、情報を読み取ることができる。多くのMSRデバイスは、磁気ストライプ中に提供された複数の独立したデータ・トラックから読み取ることができる。他の実施形態では、「ピンパッド」(キーパッド)、スマートカード・リーダなどといった他のタイプの非標準入力デバイス16を使用することができる。
非標準入力デバイス16は、デバイス16によって読み取られたデータをクライアント14に提供する。記載された実施形態では、クライアント14(たとえばスタンドアロン型アプリケーション20)が、非標準入力デバイス16と通信可能なデバイス・ドライバ・ソフトウェアを実行する。たとえば、デバイス・ドライバはJavaPOS(商標)で実施することが可能であり、これは、たとえばスキャナ、POS端末、MSRデバイスなどといった、小売店および他のビジネスで一般に提供されているデバイスが使用し、これらのデバイスが標準的な方法で他のコンピュータ・アプリケーションと通信できるようにするために販売時点情報管理(POS)環境およびアプリケーション用に開発された、幅広く使用されているプラットフォームに依存しない標準である。他の実施形態では、他のタイプの適切なデバイス・ドライバを使用することができる。
アプリケーション・プログラム20は、好ましいことに、デバイス・ドライバ18によって読み取られたデータを受け取るクライアント14上で実行中である。このアプリケーション・プログラム20は、非標準入力デバイスからのデータをクライアント14上で実行中のブラウザ22にソケットを介して提供する、スタンドアロン型アプリケーションとすることができる。記載された実施形態では、アプリケーション・プログラムはJavaPOSを使用して非標準入力デバイス16からデータを読み取ることができるため、プラットフォームに依存しないJavaアプリケーションであるが、他の実施形態では、アプリケーションは適切なデバイス・ドライバを有し、任意の望ましいプログラミング言語で提供することが可能であり、ブラウザ内のアプレットに対してソケットをオープンさせることができる(以下で説明)。
ウェブ・ブラウザ22はクライアント14上で実行可能であり、クライアント14のユーザに対して、情報を表示するため、および/またはクライアント14、サーバ12、および任意の他の接続されたコンピュータと対話するための、インターフェースを提供する。ブラウザ22は、ネットワークを介して情報を受け取ることが可能であり、World Wide Webを介して伝送されるウェブ・ページ中に情報を表示するために使用されるHTMLおよび/またはXMLなどの標準の言語またはプロトコルに従って、その情報を所定のフォーマットでレンダリングおよび表示することが可能であって、さらに、ネットワークを介してデータおよびウェブ・ページを他のコンピュータに送ることができる。ブラウザ22は「標準」ブラウザであり、すなわちブラウザは容易に使用可能であって現在ウェブ・ブラウジング用に使用されており、http接続を介して通信するが、通常は非標準入力デバイス16からのデータを受け取るためのどのようなインターフェースも含んでいない。典型的な標準ブラウザには、Netscape Communications Corp.のNetscapeおよびMicrosoft CorpのInternet Explorerが含まれる。
好ましい実施形態では、ブラウザ22が、サーバ12からダウンロードされた「ページ・データ」から導出されたウェブ・フォーム24のウェブ・ページを表示する。フォーム24は、様々なフォーマットおよび外観のうちのいずれを取ることもできる。たとえば、1つのフォーマットでは、データを入力することのできるいくつかのフィールド26をフォーム24内に提供する。典型的なフォームの場合、ユーザはキーボードまたはマウスなどの標準入力デバイスを使用して、それぞれのフィールドにデータを入力しなければならない。本発明は、ユーザが、非標準入力デバイス16からフォーム24の適切なフィールドに情報を入力できるようにするものである。
記載された実施形態では、ブラウザ22は1つまたは複数のアプレット28を実行中である。サーブレットと同様に、Javaアプレットは、クライアントによってダウンロードが可能なクライアント(サーバではない)上で実行中のプラットフォームに依存しないプログラムである。アプレット28は、スタンドアロン型アプリケーション20からソケットを介してデータを受け取るように、およびブラウザによって表示されたフォーム24の適切なフィールド26にそのデータを入力するように構成される。アプレットは、フォームのフィールドに記入する際に、標準のインターフェースまたはプロトコルを使用することができる。たとえば、記載された実施の1つではLiveConnect(商標)を使用することが可能であり、これはNetscapeブラウザのためにNetscape Communications,Inc.によって定義されたJavaScriptアプレット・インターフェースである。別の方法として、他の標準インターフェースを使用することもできる。記載された実施形態では、アプレットは、どのフォームおよびフィールドを特定のデータの宛先とすべきであるかをJavaScriptが指定できるようにする1組のパブリック・セッター・メソッド(public setter method)を使用して、命令を通じて構成することができる。アプレット28は、完成したフォーム24をオプションで「サブミット」(通知(post))すること、すなわちサーバ12上で実行中のウェブ・プログラムにフォーム・データを送信することもできる。一実施では、クライアント14にデータを入力する非標準入力デバイス16のそれぞれのタイプについて、異なるアプレットを実行することができる。他の実施では、単一のアプレット28が、複数タイプの非標準入力デバイス16からのデータを処理することができる。
好ましいことに、サーバ12上で実行中のウェブ・プログラムは、構成情報、すなわちスクリプトなどの命令を提供して、ブラウザ内で実行中のアプレット28を構成することができる。たとえば、サーバ上の1つまたは複数のカスタムJSPタグおよび/またはパブリックJSPメソッドをJSPエンジンが処理することにより、サーバ12によってブラウザ22に下方送信される命令を生成することができる。命令が実行されると、特定の非標準入力デバイスからデータを受け取るはずである特定のフォームおよびそのフォーム内のフィールドが識別され、サーバ12によって送信されたデータからブラウザ22がウェブ・ページをレンダリングした後に、アプレット28がこの構成情報を使用することができる。さらにこの構成情報は、ウェブ・フォームをレンダリングおよび表示させるためにブラウザにダウンロードされる、HTMLおよび他の標準ウェブ・ページ・データでもある。たとえば構成命令は、JavaScript機能を使用して、上記で述べた機能をアプレットに実行させることができる。別の方法では、他の言語またはフォーマットの命令を使用することもできる。
本発明は、ユーザがプラットフォームに依存しないインターフェースおよび標準のウェブ技術(たとえばHTML、Javaプラグイン、JavaPOS、JavaServerPages、または同等の技術)を使用して、非標準入力デバイスから標準ブラウザへ、およびブラウザからサーバ上のウェブ・アプリケーションへ、データを入力できるようにするものである。ブラウザは、どのような特殊な機能も実行する必要がなく、さらに受信中のデータが非標準入力デバイスから受け取られたことを知る必要さえもないものであって、(記載された実施形態では)アプレットおよびスタンドアロン型アプリケーションは非標準入力データを取得して、これを標準データとしてブラウザに提供する。これにより、既存の技術を使用しているユーザに対して最大のフレキシビリティが与えられる。さらに、サーバ上のウェブ・アプリケーションのプログラマは、本発明のカスタムJSPタグ(以下で説明)をウェブ・アプリケーション内に容易に配置することが可能であり、これによってフォームが生成され、非標準デバイスからの入力データがフォームに記入されることになる。
本発明のこの実施形態は、ソケットを介して非標準入力デバイス16からの入力データをサーバ12に直接提供するという実施を通じて、かなりの利点をもたらすものでもある。記載された実施形態では、フォームと共にブラウザ/アプレットの標準の「http」接続を介してデータが入ってくるため、受信中のデータのソースが非標準入力デバイス16であることをサーバ12上のウェブ・アプリケーションに意識させることがない。異なる非標準ソケットを介して入力データが入力デバイスからサーバ13に直接提供された場合、ウェブ・プログラムは、フォームが受信されるときに通過するブラウザの標準httpソケットに合わせて非標準入力データ・ソケットを調整しなければならず、その結果、ウェブ・プログラムはデータをキャッシュしなければならなくなり、効率が大幅に低下する。また、ネットワーク内の多くのファイアウォールは、非標準ポートを介したネットワーク・トラフィックができなくなる。
本発明で使用するのに好適なカスタムJSPタグおよび他のリソースの例を以下に列挙する。他の標準およびコンピュータ言語を使用しても、これらのタグおよびリソースと同様の機能を得ることができる。以下に示されたカスタムJSPタグは、JSPで使用される標準の"form"タグを置き換えるものである。カスタム・タグは<form>タグ用のラッパー(wrapper)であるため、カスタム属性に加えて、"action"および"method"などの典型的なフォーム属性を取ることもできる。さらにこれは、このカスタム・タグの開始タグと終了タグの間に、標準のフォーム・タグの開始タグと終了タグの間に入れることのできるどのようなステートメントも入れられることを示唆するものでもある。
スキャナからブラウザ22へのデータの入力のために本発明で使用することのできる<scanner>タグ用の構文の一例が、JSPタグ形式で以下に示されている。
Figure 0004299738
上式で、
"form"は、生成されたフォームを識別するものであり、すなわちこの値はフォームの"name"属性および"ID"属性として使用され、
"frame"は、ウェブ・フォームを含むフレームの識別であり、
"field"は、データを受け取ることになる入力フィールドのIDである。このフィールドはここでは参照されているが生成されないため、<scanner>タグの本体で定義および特徴付けされる必要があることに留意されたい。
"autoPost"(オプション、デフォルト値="true")は、データが受け取られ、"field"属性で指定されたフィールドに入れられるとすぐに、フォームを通知(すなわちサーバ12にサブミット)すべきかどうかを示し、
"action"は、生成されたフォームの"action"属性の値となる。"action"属性は、たとえばフィールドに入力されたデータを処理するサーバ12上のサーブレット名を指定することが可能であり、さらに、
"method"は、生成されたフォームの"method"属性の値となる。"method"属性は、たとえばフォームまたはフィールドを"post"(通知)するか、あるいはフォームまたはフィールドを"get"(取得)するかを指定することができる。
フォームの本体は、フォーム内の入力フィールドの特徴、ならびに、ボタン、グラフィック、または他のインターフェース・フィーチャなどの、ページ上の任意の他のフィーチャを指定するものである。
前述のように<scanner>タグを使用することに加えて、アプレットのいくつかのパブリック・メソッドを追加機能のために呼び出すことができる。これらのメソッドはかなり多くのフレキシビリティを加えるものであり、スキャナ・データを受け取ることのできるフォームについて複数のフィールドがある場合に使用可能である。メソッドの例は以下に示されている。これらのパブリック・メソッドは、本発明のJSPタグが、ブラウザ22によってレンダリングされたスキャナからの入力データを適切なフォームおよびフォームのフィールドに適用するようにアプレット28を構成できるようにするものである。これらのパブリック・メソッドは、カスタムJSPタグが使用されない実施形態でも使用可能である。
SetFrame(String)は、スキャナ・データを受け取ることになるフォームおよび入力フィールドを含むフレームを識別する。
SetForm(String)は、スキャナ・データを受け取ることになる入力フィールドを含むフォームを識別する。
SetField(String)は、スキャナ・データを受け取ることになる入力フィールドを識別する。フォーム内の複数フィールドのうちのそれぞれのフィールドが、それ自体の異なる識別子を有することができる。
SetAutoPost(boolean)は、スキャナ・データが受け取られるとすぐにフォームをサブミットすべきであるかどうかを指定する。
SetEnabled(boolean)は、スキャナを使用可能または使用不可とすべきであるかどうかを指定する。
<msr>カスタムJSPタグを使用して、MSRデータの受信側となることになるフォーム内で、たとえば各フィールドが様々なMSRトラックのうちの1つに対応する、様々なフィールドを識別することができる。カスタム・タグは<form>タグ用のラッパーであるため、カスタム属性に加えて、"action"および"method"などの典型的なフォーム属性を取ることもできる。さらにこれは、<msr>の開始タグと終了タグの間に、等価のフォーム・タグの間に入れることのできるどのようなステートメントも入れられることを示唆するものでもある。
磁気ストライプ・リーダからブラウザ22へのデータの入力のために使用される、<msr>タグ用の構文の一例が、JSPタグ形式で以下に示されている。
Figure 0004299738
上式で、"form"、"frame"、"autoPost"、"action"、および"method"属性は、前述の<scanner>タグ用の等価の属性と同様であるものとすることができる。
track1Field、track2Field、およびtrack3Field属性は、MSRのトラック1、2、および3のそれぞれからデータを受け取ることになる、入力フィールドのIDである。これらのフィールドはここでは指定されているが生成されないため、<msr>タグの本体で定義および特徴付けできるものであることに留意されたい。
フォームの本体は、フォーム内の入力フィールドの特徴、ならびに、ボタン、グラフィック、または他のインターフェース・フィーチャなどの、ページ上の任意の他のフィーチャを指定するものである。
前述のように<msr>タグを使用することに加えて、アプレットのいくつかのパブリック・メソッドを前述の<scanner>タグの場合と同様に呼び出すことができる。これらのメソッドはかなり多くのフレキシビリティを加えるものであり、MSRデータを受け取ることのできるフォームについて複数のフィールドがある場合に使用可能である。これらメソッドの例については、以下で説明する。
SetMSRFrame、SetMSRForm、SetMSRAutoPost、およびSetMSREnabledは、スキャナの使用に関して上記で述べたそれらの同等物と同様に使用することができる。
SetTrack1Field (String)、SetTrack2Field (String)、およびSetTrack3Field (String) を使用して、トラック1、トラック2などからMSRデータを受け取ることになる入力フィールドを識別することができる(そのトラックからのトラックデータが期待されない場合、これらを空白文字列に設定することができる)。
さらに、一実施形態例では、アプレット28に特別なプロパティ(オブジェクト)を追加することができる。この特別なオブジェクトを使用して、MSRのどのトラックがMSRタグを含むJSPページに関連することになるかを表すことができる。タグがロードされ、アプレット・セッター・メソッドがMSRトラック用に呼び出されると、ウェブ・ページが特定のトラックを含むかどうかを反映するようにこのオブジェクトを更新することができる。たとえば、"track1Field"および"track3Field"が指定された場合、アプレット内のこのオブジェクトは、これらのトラックのみがフォームまたはウェブ・アプリケーションに関連するものであるという事実を表すことになる。このオブジェクトの値は、フォームに記入するためおよびサーバ12上の受信側サーブレットに送信するために、どのトラックを使用するかをアプレット28が後で知ることができるもの、あるいは、アプレットが、関連するトラックを読み取るだけのためにJPOSドライバを介してMSRデバイス16を構成することができるものである。たとえば、一実施形態では、このオブジェクトを"trackstoRead"と呼ぶことが可能であり、ゲッター(getter)・メソッドを用いてアクセス可能なブール値のベクトルである、java.util.BitSetオブジェクトとして実施することができる。他の実施を、たとえば、様々な言語、ストラクチャ、またはメソッドを使用するなど、様々な実施形態で提供することができる。
図2は、たとえば標準ブラウザ内で、クライアントによって表示されるフォームあるいは他のウェブ・ページまたは文書に非標準入力デバイスからのデータを入力するための、本発明の方法100を示す流れ図である。この方法(ならびに本明細書に記載された他の方法および機能)のステップを実施するプログラミング命令、データ、またはコードは、本明細書に記載された適切なコンピュータまたは電子デバイスにアクセス可能な、メモリ、ハードディスク、磁気テープ、CD−ROM、DVD−ROM、記憶デバイス、または他の媒体などといった、1つまたは複数のコンピュータ読取り可能媒体に格納することができる。
プロセスは102で始まり、ステップ104では、サーバ12上のウェブ・アプリケーションが「ページ・データ」を生成し、これには、ウェブ・フォームに適切な入力データならびにフォーム自体に関するデータが記入されるために必要なスクリプトまたは命令が含まれる。たとえば、図1に記載された実施形態では、JSPタグが、フォームのフィールドに記入するようにアプレット29を構成するために必要なJavaScript命令を生成し、さらにフォームおよびそのフィーチャをHTMLおよび/またはXMLで生成する。
ステップ106では、ウェブ・アプリケーションからのページ・データがネットワーク接続などの通信リンクを介してクライアント14で受け取られる。ブラウザがこのページ・データを受け取るが、ページ・データを受け取ったときにアプレット28がすでにブラウザ内に常駐しており、かつ使用可能であることが好ましい。たとえば、ページ・データは、アプレットを含むフレームとは別のブラウザのフレーム内にダウンロードすることが可能である。ステップ108では、 ブラウザ22が、ウェブ・アプリケーションから受け取ったページ・データからウェブ・フォーム24をレンダリングおよび表示する。ブラウザは、ページ・データ内の標準HTMLおよび他の標準命令を解釈する。ステップ110では、ブラウザ22内で実行中のアプレット28が、(前述のように、当初はJSPタグによって、かつパブリック機能を使用して生成された)ページ・データに提供された命令によって構成されるため、アプレットは、非標準入力デバイス16によって入力された任意のデータをフォーム24のどのフィールドに入れるのかがわかることになる。
ステップ112では、本明細書では非標準入力デバイス16からの入力データとして表される任意の非標準入力データがクライアント14によって受け取られているかどうかを、プロセスがチェックする。受け取られていない場合、プロセスはステップ114で非標準入力データを待つ(さらに、クライアントは任意の他の標準機能を実行する)。非標準入力データがクライアントに入力されると、ステップ116では、その入力データが、たとえばJavaPOSを使用するJavaアプリケーションなどのスタンドアロン型アプリケーション20によって受け取られる。ステップ118では、アプリケーション20がソケット(好ましくは、このソケットはアプレットの初期設定中に確立されている)を介して入力データをアプレットに送信する。ステップ120では、アプレットが、ウェブ・アプリケーションによって提供された命令(規則および関数)を使用して、フォーム24の適切なフィールドに入力データを挿入する。ブラウザ22は、オプションで、フォーム24の表示内の適切なフィールドにこの入力データを表示することが可能であるか、または、入力データが表示されないようにフィールドを「非表示」として定義することが可能である。たとえば一実施形態では、下記のJavaScriptコード(または等価のコード)を使用して、アプレット28にスキャナ・データをフォームに入力させ、そのフォームを通知させることができる。
Figure 0004299738
このコードは、本来、"win"と呼ばれるオブジェクトを使用して、アプレットによって受け取られたJSPタグ命令で指定された、ブラウザの特定のフォームおよびフレーム内の特定フィールドを参照させるものであり、このフィールドには、"dataString"によって参照され"value"に割り当てられた着信スキャナ・データが記入されることになる。このフォームがJSPタグによって示されたサーバに自動的に送信されることになっている場合、このフォームは(スキャナ・データを含み)サブミットされる。MSRデータが入力された場合、着信データ内のデータの特定トラックを参照することが可能であり、アプレットに関する命令がデータの特定トラックをフォーム内の特定フィールドに関連付けることができる。他の実施形態では、他の実施を使用することができる。たとえば、アプレット28がJavaScript命令を呼び出し、着信データをJavaScript機能に渡すことが可能であり、これが1つまたは複数のフォームの適切なフィールドにデータを入れることができる。
アプレット28およびブラウザ22がすべての入力データを受け取ってフォーム24を完了させた(たとえばすべてのフィールドが記入された)後、あるいは、他の基準が満たされるかまたはユーザがフォームをサブミットすることを決めた場合、ユーザは(たとえば、ページ上に表示されたボタンを用いるか、または何らかの他のコマンドによって)、フォーム内の入力データをサーバ12およびウェブ・アプリケーションにサブミットするためのコマンドを選択することができる。このデータは、ステップ122でサーバ12に送信される。別の方法では、いったんフォームが完全に記入される(あるいは1つまたは複数の他の所定の基準が満たされる)と、ユーザが任意の手動コマンドを発行する必要なしに、アプレット28がそのフォーム・データを自動的にサーバに送信することができる。その後、プロセスは124で完了する。適用可能であれば、その後、記入されることになる他のフォームをサーバからクライアントに送信することができる。
図3は、非標準出力デバイスで使用するための本発明の他の実施形態150を示すブロック図である。この実施形態は、図1のそれと多くの点で類似している。システム150は、サーバ152、クライアント154、および非標準入力デバイス156を含む。サーバ152は、ネットワークを介して他のコンピュータにデータを提供することが可能なウェブ・アプリケーションを実行する、ウェブ・サーバとすることができる。図1のシステム10と同様に、Java Server PagesおよびカスタムJSPタグの実施が使用可能であるか、あるいはJavaScript機能のライブラリを使用してアプレットの構成およびアプレットとの通信が可能であるか、あるいは他の言語の関数および命令を使用することができる。クライアント154は、好ましくはディスプレイ・デバイスを含むコンピュータまたは電子デバイスであり、サーバ152と通信することが可能であって、特殊なウェブ・クライアントまたはより汎用のコンピュータとすることができる。
非標準出力デバイス156はクライアント154と通信しており、ここではワイヤ接続を介するかまたは無線で、クライアント154から出力デバイス156へとデータを伝送することができる。いくつかの実施形態では、出力デバイス156からクライアント154へとデータを伝送することもできる(ステータス情報など)。出力デバイス156は、ディスプレイ・デバイスまたは標準プリンタ(一般にコンピュータに接続されているようなレーザ・プリンタ、インクジェット・プリンタなど)などの標準出力デバイスではないという意味では「非標準」であるが、本発明ではさらにこうした標準出力デバイスもクライアント154と通信することができる(図3には図示せず)。たとえば、POSアプリケーションで使用される非標準出力デバイスの1つがレシート・テープ・プリンタであり、特殊な用紙またはテープ上にレシート・テープ・プリンタによって特殊な印刷が実行されるものである。POS環境および他の環境では、本発明を用いて他の非標準出力デバイスを使用することができる。非標準出力デバイス156は、クライアント154によって送信された、出力されることになるデータを受け取る。
記載された実施形態では、クライアント154上のスタンドアロン型アプリケーション160が、非標準出力デバイス156との通信を可能にするデバイス・ドライバ・ソフトウェアを実行することができる。たとえば、アプリケーション160がJavaプログラムの場合、前述のようにデバイス・ドライバをJavaPOSで実施することができる。他の実施形態では、他のタイプの適切なデバイス・ドライバを使用することができる。アプリケーション・プログラム160は、デバイス156に送信されることになる出力データをアプレット168からソケットを介して受け取ることができる。
ウェブ・ブラウザ162はクライアント154上で実行可能であり、クライアント154のユーザに、クライアント154、サーバ152、および任意の他の接続されたコンピュータと対話するためのインターフェースを提供する。ブラウザ162は、HTMLなどの標準言語またはプロトコルに従って、所定の形式で情報を受信、レンダリング、および表示することができる。図1を参照しながら説明したように、ブラウザ162は「標準」ブラウザであるものとすることができる。ブラウザ162は、サーバ152からダウンロードされたデータからウェブ・ページ164を受信および表示する。ウェブ・ページ164は様々なデータを含むことができる。
記載された実施形態では、ブラウザ162は1つまたは複数のアプレット168を実行中である。ブラウザはサーバ152からデータを受け取り、そのデータを(たとえば、カスタムJSPタグでラップされているかまたはラップされていないことのあるJavaScript機能を使用して)アプレット168が入手することができる。アプレットはソケットを介してデータをスタンドアロン型アプリケーション160に提供する。一実施では、クライアント154にデータを入力する非標準出力デバイスのそれぞれのタイプについて、異なるアプレットを実行することが可能であり、複数のデバイス156が使用される場合は、複数のアプレットが実行可能である。他の実施では、単一のアプレット168が複数タイプの非標準出力デバイス156へのデータを処理することが可能であり、デバイスのうちの1つに送信するように構成することができる。
好ましいことに、サーバ152上で実行中のウェブ・プログラムが、ブラウザ内で実行中のアプレット168を構成することができる。たとえば、サーバ上でJSP ServerPages言語を使用して実行されるJSPタグは、サーバ152によってブラウザ162に送信されるデータを生成し、そのデータのすべてまたは一部を出力デバイス156へ送信するようアプレットに指示することができる。
本発明は、ユーザが、プラットフォームに依存しないインターフェースおよび標準のウェブ技術(たとえば、HTML、Javaプラグイン、JavaPOS、JavaServerPages、または同等の技術)を使用して、標準ブラウザまたは同様のアプリケーションから非標準出力デバイス156にデータを出力できるようにするものである。ブラウザはどのような特別な機能も実行する必要がなく、表示されているデータが非標準出力デバイスによって出力されるものであることさえも知る必要がない。これにより、既存の製品および技術を使用しているユーザに最大限のフレキシビリティが与えられる。
図4は、図3に示されたシステムを使用して、標準ブラウザまたは同様のアプリケーションによって表示された文書からのデータを、非標準出力デバイスから出力するための本発明の方法200を示す流れ図である。プロセスは202で開始され、ステップ204では、ユーザがそのデータを要求していることを示すために、ユーザによってクライアント154からサーバ152上のウェブ・アプリケーションへと要求が送られる。たとえばユーザが、サーバ上に格納されているかまたはサーバによって生成される製品および価格のリストまたは表あるいは任意の他の情報を、表示および出力しようとする場合がある。要求は、ユーザからの手動要求であるか、または1つまたは複数の条件に基づいた自動要求であるものとすることができる。
ステップ206では、サーバ上のウェブ・アプリケーションがユーザによって要求されたデータを含む「文書」を生成し、さらに文書を非標準出力デバイスに出力できるようにする命令(たとえば、JavaScript命令またはスクリプト)も生成する(本明細書では文書および命令をまとめて「ページ・データ」と呼ぶ)。ウェブ・アプリケーションは文書および命令を(たとえばJSPタグを使用して)生成することができるか、あるいはサーバにアクセス可能なストアド・メモリまたはストレージ・デバイスから文書を取り出すことができる。記載された実施形態では、ウェブ・アプリケーションが、ボタンなどの出力コントロールを表示するためにブラウザに命令を提供することも可能であり、ユーザはこれを選択して、非標準出力デバイスから文書を出力することができる。出力コントロールはユーザによって選択されると、JavaScript(または同様の)機能を呼び出して、文書(出力)データをアプレット168に提供させることが可能であり、そこでアプレット168が文書を非標準出力デバイスに送信する。一実施形態では、図1および2の実施形態について上記で述べたカスタムJSPタグと同様に、カスタムJSPタグを使用して文書および命令を生成することができる。たとえば、「レシート・テープ」タグは、レシート・テープ・プリンタ156に適切な文書データを提供し、これが印刷できるようにするための命令を、アプレット168に提供することができる。
ステップ208では、サーバのページ・データが(たとえばネットワーク接続または他の通信リンクを介して)クライアント154によって受け取られ、ページ・データからの文書がブラウザ162によってレンダリングおよび表示される。したがって、ステップ206でウェブ・アプリケーションによって生成されたフォーマット化された文書がブラウザ上に表示され、ユーザがこれを閲覧する。いくつかの実施形態では、サーバからの文書をブラウザによって表示されることなく非標準デバイス156上に出力することができる。記載された実施形態では、ブラウザは、グラフィック・ボタンなどのコントロールをクライアント上に表示するためのページ・データ中の命令も使用して、ユーザによってコントロールが選択されたときに非標準出力デバイスによって文書が出力できるようにする。他の実施形態では、非標準出力デバイスによって出力されるものとして、または他の条件に基づくものとして、ユーザがそれを実行するためのコマンドを発行する必要なしに、文書を自動的に送信することができるため、ブラウザがグラフィック・コントロールを表示する必要はない。
ステップ210では、文書データが出力されるものかどうかをプロセスがチェックする。これは様々な実施形態またはモードで、様々な方法で決定することができる。たとえば記載された実施では、最初に文書を表示して、ページをデバイス156に出力するというユーザの確認を要求することができる(たとえば、確認をJavaScriptで要求することができる)。ユーザ確認は、ブラウザによって表示されたグラフィック・ボタンまたは他のコントロールの選択とすることができる。異なる実施では、このステップでのユーザ確認は不要であり、文書は直接出力される。
前述のようなユーザによるグラフィック・ボタンの選択が、ブラウザ自体に提供された「印刷」または他の出力コマンドあるいは機能の選択とは同じでないことに留意されたい。本発明の出力機能は、ブラウザ機能の範囲外にある。本発明の利点の一部は、本発明によって出力されるデータを、現在ブラウザによって表示されているデータのサブセットまたはスーパーセットとすることができる(または、本発明の出力がブラウザの表示とは無関係であるため、出力データをまったく表示する必要がない場合がある)こと、あるいは、サーバによって(および/またはユーザによって、たとえばいくつかの実施形態では、ユーザがブラウザに表示された出力コントロールを選択した後、JavaScript命令がユーザの基本設定(preference)に対して作用できるか、またはユーザの基本設定をアプレット168に送信できる)送信された命令によって示されたときに、ブラウザによって表示される形式とは異なる形式とすることができることである。さらに、サーバ上のウェブ・アプリケーションは移植可能である場合があり、使用されているクライアントの特定のプラットフォームおよび特定のブラウザの如何にかかわらず、非標準出力デバイス上に出力を提供することができる。
文書データが出力されるものでない場合、ステップ212では、(クライアント14はその通常の操作があればそれを実行しながら)プロセスがデータを出力するようにとのユーザからのコマンドを待つ。文書が出力されるとプロセスはステップ214に進み、文書内の出力データが入手されてアプレット168に送信される。たとえば、JavaScript機能を呼び出して文書内の適切なデータを入手し、(たとえば、表示されたコントロールをユーザが選択したときに)これをアプレットに送信することができる。
ステップ216では、出力データがアプレット168からスタンドアロン型アプリケーション160に送信される。オプションで、アプレットが、着信した出力データをサブセット、ソーティングなどといった所望のフォーマットに再フォーマットすることができる。たとえば、ブラウザによって表示された3列のデータのうち2列のみを印刷するか、あるいは、サーバの命令および/またはユーザの基本設定に基づいてデータを異なる方法で分類または配置することができる。所望であれば、サーバからのページ・データ内の適切な命令を使用して、たとえば、データを自動的に非標準出力デバイスにフラッシュする、最後の出力用にデータをバッファリングする、多くの出力デバイスの中から1つを選択する、などといった所望の機能向けに、アプレット168をあらかじめ構成しておくことができる。
ステップ218では、スタンドアロン型アプリケーションが出力データを非標準出力データに変換し、その出力データを、たとえば印刷などといった出力のために非標準出力デバイスに送信する。記載された実施形態では、スタンドアロン型アプリケーションは、JavaPOSを使用して出力デバイス156と通信するJavaアプリケーションであるが、他の実施形態では、他の言語および標準を使用することができる。その後、プロセスは220で完了する。
図4のプロセスの異なる実施形態では、ユーザはクライアント154側でデータを入力することが可能であり、その後ユーザは非標準出力デバイスを使用してそのデータを出力しようとする。たとえばユーザは、サーバ152上のウェブ・アプリケーションに前述のようなデータを受け取るように要求を送信することが可能であり、データを受け取った後、ユーザはデータに注釈を付け、注釈付けされたフォームで出力しようとする。データおよび注釈は、ユーザのガイドラインおよび/またはサーバからの命令に従ってアプレットによってフォーマット化され、非標準出力デバイスによって出力されることが可能である。
以上、本発明について、示された実施形態に従って説明してきたが、当業者であれば当該実施形態の変形が可能であること、ならびにそれらの変形が本発明の趣旨および範囲内となることを容易に理解されるであろう。したがって当業者であれば、添付の特許請求の範囲の趣旨および範囲を逸脱することなく、多くの修正を行うことができる。
非標準入力デバイスから標準ブラウザにデータを提供するための、本発明のシステムを示すブロック図である。 非標準入力デバイスから標準ブラウザによって表示されたフォームまたは他のウェブ・ページにデータを入力するための、本発明の方法を示す流れ図である。 標準ブラウザから非標準出力デバイスにデータを提供するための、本発明のシステムを示すブロック図である。 非標準出力デバイスを使用してデータを出力するための、本発明の方法を示す流れ図である。
符号の説明
12 サーバ
14 クライアント
16 非標準入力デバイス
18 JavaPOS
20 Javaアプリケーション
22 ブラウザ
24 フォーム
26 フィールド
28 アプレット






Claims (39)

  1. 第1の通信プロトコルに従う入力デバイスから第2の通信プロトコルに従うブラウザへ入力データを提供するための方法であって、
    クライアント側で前記第1の通信プロトコルに従う入力デバイスから第1の通信プロトコルに従う入力データを受け取るステップと、
    前記第1の通信プロトコルに従う入力データを前記クライアント上で実行中の前記第2の通信プロトコルに従うブラウザに、第2の通信プロトコルに従う入力データとして提供するステップであって、前記第2の通信プロトコルに従うブラウザが、ネットワークを介して前記クライアントと通信しているサーバ上で実行中のアプリケーションに、前記入力データをサブミットすることができるものである方法において、
    前記第1の通信プロトコルに従う入力データが、前記第1の通信プロトコルに従う入力デバイスと通信することが可能な前記クライアント上で実行中のスタンドアロン型アプリケーションによって受け取られ
    前記ブラウザが、プログラムであって、前記スタンドアロン型アプリケーションから前記第1の通信プロトコルに従う入力データを受け取り、かつ前記第2の通信プロトコルに従うブラウザによって表示されるウェブ・ページの少なくとも1つのフィールド内に前記第1の通信プロトコルに従う入力データを、第2の通信プロトコルに従う入力データとして配置する、前記プログラムを実行する、前記入力データをサブミットすることができるものである方法。
  2. 前記サーバ上でページ・データを生成するステップをさらに有する方法であって、前記ページ・データが、前記第2の通信プロトコルに従う入力データを受け取る前記第2の通信プロトコルに従うブラウザ内にウェブ・ページを表示するために前記クライアントに送られるものである、請求項1に記載の方法。
  3. 前記ページ・データが、前記ウェブ・ページのフィールド内に前記第2の通信プロトコルに従う入力データを提供するための前記第2の通信プロトコルに従うブラウザ内で実行中のプログラムに関する命令を含む、請求項2に記載の方法。
  4. 前記ブラウザ内で実行中の前記プログラムがJavaアプレットである、請求項に記載の方法。
  5. 前記第2の通信プロトコルに従うブラウザによって表示される前記ウェブ・ページが、前記プログラムによって前記入力データが配置される少なくとも1つのフィールドを有するフォームである、請求項に記載の方法。
  6. 前記スタンドアロン型アプリケーションがJavaアプリケーションであり、また、前記第1の通信プロトコルに従う入力デバイスを読み取るために使用されるデバイス・ドライバがJavaPOSを含む、請求項に記載の方法。
  7. 前記ブラウザ内で実行中のプログラムが、前記サーバから前記ブラウザにダウンロードされたデータによって構成される、請求項に記載の方法。
  8. 前記ブラウザが、前記サーバからダウンロードされた前記データによって定義されるウェブ・フォームを表示し、前記ウェブ・フォームが前記サーバ上でカスタムJSPタグによって生成されるものである、請求項に記載の方法。
  9. 前記第1の通信プロトコルに従う入力デバイスがスキャナである、請求項1に記載の方法。
  10. 前記第1の通信プロトコルに従う入力デバイスが磁気ストライプ・リーダ(MSR)である、請求項1に記載の方法。
  11. 第1の通信プロトコルに従う入力デバイスから第2の通信プロトコルに従うブラウザへ入力データを提供するためのシステムであって、
    前記第1の通信プロトコルに従う入力デバイスから第1の通信プロトコルに従う入力データを受け取り、かつ前記第1の通信プロトコルに従う入力データを前記クライアント上で実行中の前記第2の通信プロトコルに従うブラウザに、第2の通信プロトコルに従う入力データとして提供するように動作可能なクライアントと、
    アプリケーションを実行、ネットワークを介して前記クライアントと通信しているサーバとを有し、前記アプリケーションが、前記クライアント上で実行中の前記第2の通信プロトコルに従うブラウザからサブミットされた前記入力データを受け取るシステムであって、
    スタンドアロン型アプリケーションが前記クライアント上で実行され、前記スタンドアロン型アプリケーションが、前記第1の通信プロトコルに従う入力デバイスと通信し、かつ前記第1の通信プロトコルに従う入力データを受け取り、
    前記ブラウザが、前記スタンドアロン型アプリケーションから前記第1の通信プロトコルに従う入力データを受け取り、かつ前記第2の通信プロトコルに従うブラウザによって表示されるウェブ・ページの少なくとも1つのフィールド内に前記第1の通信プロトコルに従う入力データを第2の通信プロトコルに従う入力データとして配置する、プログラムを実行する、前記システム。
  12. 前記ブラウザ内で実行中の前記プログラムがJavaアプレットである、請求項11に記載のシステム。
  13. 前記第2の通信プロトコルに従うブラウザによって表示される前記ウェブ・ページが、前記プログラムによって前記入力データが配置される少なくとも1つのフィールドを有するフォームである、請求項11に記載のシステム。
  14. 前記スタンドアロン型アプリケーションがJavaアプリケーションであり、また、前記第1の通信プロトコルに従う入力デバイスを読み取るために使用されるデバイス・ドライバがJavaPOSを含む、請求項11に記載のシステム。
  15. 前記ブラウザ内で実行中のプログラムが、前記サーバから前記ブラウザにダウンロードされたページ・データによって構成され、前記ページ・データが前記サーバ上でJSPタグによって生成されるものである、請求項11に記載のシステム。
  16. 前記ブラウザが、前記サーバからダウンロードされた前記データによって定義されるウェブ・フォームを表示し、前記ウェブ・フォームが前記サーバ上でカスタムJSPタグによって生成されるものである、請求項15に記載のシステム。
  17. 前記第1の通信プロトコルに従う入力デバイスがスキャナである、請求項11に記載のシステム。
  18. 前記第1の通信プロトコルに従う入力デバイスが磁気ストライプ・リーダ(MSR)である、請求項11に記載のシステム。
  19. 第1の通信プロトコルに従う入力デバイスからの入力データを第2の通信プロトコルに従うブラウザに提供するためにコンピュータによって実施されるプログラム命令を含むコンピュータ読み取り可能媒体であって、前記プログラム命令が、
    前記クライアント側で第1の通信プロトコルに従う入力デバイスから第1の通信プロトコルに従う入力データを受け取るステップと、
    前記第1の通信プロトコルに従う入力データを前記クライアント上で実行中の前記第2の通信プロトコルに従うブラウザに、第2の通信プロトコルに従う入力データとして提供するステップとを有するものであって、前記第2の通信プロトコルに従うブラウザが、ネットワークを介して前記クライアントと通信しているサーバ上で実行中のアプリケーションに、前記入力データをサブミットする、ためのコンピュータ読み取り可能媒体において、
    前記第1の通信プロトコルに従う入力データが、前記第1の通信プロトコルに従う入力デバイスと通信することが可能な前記クライアント上で実行中のスタンドアロン型アプリケーションによって受け取られ
    前記ブラウザが、前記スタンドアロン型アプリケーションから前記第1の通信プロトコルに従う入力データを受け取り、かつ前記第2の通信プロトコルに従うブラウザによって表示されるウェブ・ページの少なくとも1つのフィールド内に前記第1の通信プロトコルに従う入力データを第2の通信プロトコルに従う入力データとして配置する、プログラムを実行中する、前記コンピュータ読み取り可能媒体。
  20. 前記ブラウザ内で実行中の前記プログラムがJavaアプレットである、請求項19に記載のコンピュータ読み取り可能媒体。
  21. 前記第2の通信プロトコルに従うブラウザによって表示される前記ウェブ・ページが、前記プログラムによって前記入力データが配置される少なくとも1つのフィールドを有するフォームである、請求項19に記載のコンピュータ読み取り可能媒体。
  22. 前記スタンドアロン型アプリケーションがJavaアプリケーションであり、また、前記第1の通信プロトコルに従う入力デバイスを読み取るために使用されるデバイス・ドライバがJavaPOSを含む、請求項19に記載のコンピュータ読み取り可能媒体。
  23. 前記ブラウザ内で実行中のプログラムが、前記サーバから前記ブラウザにダウンロードされたページ・データによって構成され、前記ページ・データが前記サーバ上でJSPタグによって生成されるものである、請求項19に記載のコンピュータ読み取り可能媒体。
  24. 前記ブラウザが、前記サーバからダウンロードされた前記データによって定義されるウェブ・フォームを表示し、前記ウェブ・フォームが前記サーバ上でカスタムJSPタグによって生成されるものである、請求項23に記載のコンピュータ読み取り可能媒体。
  25. 前記第1の通信プロトコルに従う入力デバイスがスキャナである、請求項19に記載のコンピュータ読み取り可能媒体。
  26. 前記第1の通信プロトコルに従う入力デバイスが磁気ストライプ・リーダ(MSR)である、請求項19に記載のコンピュータ読み取り可能媒体。
  27. 出力データを第1の通信プロトコルに従う出力デバイスに提供するための方法であって、
    ユーザからの要求をサーバ側で受け取るステップであって、前記要求が、前記サーバと通信しているクライアントへ前記サーバからデータを送信するように要求するステップと、
    前記要求されたデータおよび命令を前記クライアントに送信するステップであって、前記命令が、前記データがどのように第1の通信プロトコルに従う出力デバイスに出力されるかを管理するものであって、前記クライアント上で実行中の第2の通信プロトコルに従うブラウザが前記データおよび命令を受け取り、また前記データが前記命令に従って、出力されるものとして前記第1の通信プロトコルに従う出力デバイスに送信されることが可能であって、前記第1の通信プロトコルに従う出力デバイスが前記クライアントと通信しているものである、方法であって、
    前記データが、前記クライアント上で実行中であり、かつ前記第1の通信プロトコルに従う出力デバイスと通信しているスタンドアロン型アプリケーションによって、前記第2の通信プロトコルに従うブラウザから受け取られるものであって、また、前記データを前記スタンドアロン型アプリケーションから前記第1の通信プロトコルに従う出力デバイスへ送信するステップをさらに有する、前記方法。
  28. 前記ブラウザが、前記データを前記スタンドアロン型アプリケーションに提供するプログラムを実行中である、請求項27に記載の方法。
  29. 前記ブラウザ内で実行中の前記プログラムがJavaアプレットである、請求項28に記載の方法。
  30. 前記スタンドアロン型アプリケーションがJavaアプリケーションであり、また、文書を出力するために使用されるデバイス・ドライバがJavaPOSを含む、請求項28に記載の方法。
  31. 前記第1の通信プロトコルに従う入力デバイスがレシート・テープ・プリンタである、請求項27に記載の方法。
  32. 前記クライアントに命令が与えられると、前記第2の通信プロトコルに従うブラウザにグラフィック・コントロールを表示させるものであり、前記グラフィカル・コントロールが前記ユーザによって選択されると、前記データのうちの少なくとも一部が前記ブラウザの出力機能とは無関係な出力のために前記第1の通信プロトコルに従う出力デバイスに送信される、請求項27に記載の方法。
  33. 前記クライアントに命令が与えられると、前記クライアントのユーザからのどのような入力もなしに、前記第1の通信プロトコルに従う出力デバイスで前記クライアントに前記文書を出力させるものである、請求項27に記載の方法。
  34. 前記クライアントに命令が与えられると、前記クライアントに、前記第2の通信プロトコルに従うブラウザ内で前記文書を表示させ、かつ前記第1の通信プロトコルに従う出力デバイスで前記文書を出力させるものである、請求項27に記載の方法。
  35. 前記データを前記第1の通信プロトコルに従う出力デバイスに送信する前に、前記データを所定のフォーマットにフォーマット化するステップをさらに含む、請求項27に記載の方法。
  36. 出力データを第1の通信プロトコルに従う出力デバイスに提供するための方法であって、
    クライアント上で実行中の第2の通信プロトコルに従うブラウザでデータおよび命令を受け取るステップであって、前記データが前記クライアントと通信しているサーバから要求されたものであるステップと、
    前記要求されたデータを、前記第2の通信プロトコルに従うブラウザから前記クライアントと通信している第1の通信プロトコルに従う出力デバイスへ提供するステップであって、前記受け取った命令が、前記データがどのように前記第1の通信プロトコルに従う出力デバイスに出力されるかを管理するものであるステップとを有する方法であって、
    前記データが、前記第2の通信プロトコルに従うブラウザから、前記クライアント上で実行中であり、かつ前記第1の通信プロトコルに従う出力デバイスと通信しているスタンドアロン型アプリケーションに提供されるものであって、また、前記データを前記スタンドアロン型アプリケーションから前記第1の通信プロトコルに従う出力デバイスへ送信するステップをさらに有する、前記方法。
  37. 前記ブラウザが、前記データを前記スタンドアロン型アプリケーションに提供するプログラムを実行中である、請求項36に記載の方法。
  38. 前記ブラウザ内で実行中の前記プログラムがJavaアプレットである、請求項37に記載の方法。
  39. 前記スタンドアロン型アプリケーションがJavaアプリケーションであり、また、文書を出力するために使用されるデバイス・ドライバがJavaPOSを含む、請求項37に記載の方法。
JP2004185874A 2003-06-30 2004-06-24 ウェブ・アプリケーション用の非標準i/oデバイスを使用したデータの入力および出力のための方法、システムおよびコンピュータ読み取り可能媒体 Expired - Fee Related JP4299738B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/609,981 US9135021B2 (en) 2003-06-30 2003-06-30 Method and system for input and output of data with non-standard I/O devices for web applications

Publications (2)

Publication Number Publication Date
JP2005025738A JP2005025738A (ja) 2005-01-27
JP4299738B2 true JP4299738B2 (ja) 2009-07-22

Family

ID=34079598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004185874A Expired - Fee Related JP4299738B2 (ja) 2003-06-30 2004-06-24 ウェブ・アプリケーション用の非標準i/oデバイスを使用したデータの入力および出力のための方法、システムおよびコンピュータ読み取り可能媒体

Country Status (4)

Country Link
US (2) US9135021B2 (ja)
JP (1) JP4299738B2 (ja)
CN (1) CN1578299B (ja)
TW (1) TWI262422B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030090704A1 (en) * 2001-11-15 2003-05-15 Hansen Von L. System and method for configuring a printing device
JP2006155522A (ja) * 2004-12-01 2006-06-15 Canon Inc Webブラウザの操作方法及び操作装置
JP4652869B2 (ja) * 2005-03-31 2011-03-16 株式会社エヌ・ティ・ティ・ドコモ サービス提供サーバ装置、端末装置、及び、これらの制御方法
US8635069B2 (en) * 2007-08-16 2014-01-21 Crimson Corporation Scripting support for data identifiers, voice recognition and speech in a telnet session
US20090268229A1 (en) * 2008-04-23 2009-10-29 Tanna Marie Richardson Multifunction Peripheral Browser Control for Application Integration
US8667478B1 (en) * 2010-09-17 2014-03-04 Emc Corporation Backward-compatibility using a plugin architecture
US9058105B2 (en) * 2010-10-31 2015-06-16 International Business Machines Corporation Automated adjustment of input configuration
US9588953B2 (en) * 2011-10-25 2017-03-07 Microsoft Technology Licensing, Llc Drag and drop always sum formulas
US20130189957A1 (en) * 2012-01-13 2013-07-25 Kohorts It Services, Llc Computerized system architecture for monitoring usage of telecommunication devices and method of use
US9847969B1 (en) * 2012-02-23 2017-12-19 Nintex Pty Limited Apparatus and method for collecting form data across open and closed domains
JP2013186489A (ja) * 2012-03-05 2013-09-19 Seiko Epson Corp 制御システム、制御システムの制御方法、及び、情報処理装置
US9411761B2 (en) 2012-06-22 2016-08-09 Microsoft Technology Licensing, Llc Platform neutral device protocols
CN104781842B (zh) * 2012-11-19 2018-10-16 精工爱普生株式会社 Pos系统以及打印装置
EP2797058A1 (en) 2013-04-24 2014-10-29 The Roberto Giori Company Ltd. System and method for electronic money withdrawal
CN104915346B (zh) * 2014-03-11 2020-06-30 上海卓岚信息科技有限公司 用于网页模块的Web服务器及其输出控制或输入更新方法
US10033797B1 (en) 2014-08-20 2018-07-24 Ivanti, Inc. Terminal emulation over HTML
US10362133B1 (en) 2014-12-22 2019-07-23 Palantir Technologies Inc. Communication data processing architecture
US11100278B2 (en) 2016-07-28 2021-08-24 Ivanti, Inc. Systems and methods for presentation of a terminal application screen

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6375078B1 (en) 1990-09-11 2002-04-23 Metrologic Instruments, Inc. Universal transaction machine for carrying out information-related transactions using html-encoded documents embodying transaction-enabling java-applets automatically launched and executed in response to reading code symbols
US5742845A (en) 1995-06-22 1998-04-21 Datascape, Inc. System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network
US6868433B1 (en) * 1998-09-11 2005-03-15 L.V. Partners, L.P. Input device having positional and scanning capabilities
JP2000267966A (ja) 1999-03-12 2000-09-29 Pasukaru:Kk 2次元コードを用いたインターネットのアクセス方法、及びインターネットピンポイントアクセスシステム
US20020194081A1 (en) 1999-04-21 2002-12-19 Perkowski Thomas J. Internet-based consumer service brand marketing communication system which enables service-providers, retailers, and their respective agents and consumers to carry out service-related functions along the demand side of the retail chain in an integrated manner
US6877661B2 (en) 2000-08-16 2005-04-12 Richard M. Webb Scannable barcode display and methods for using the same
US20020133585A1 (en) * 2001-03-13 2002-09-19 Deming Douglas R. Computer program for recording and selective playback of a communication involving the hypertext transfer protocol
US20020169686A1 (en) 2001-03-16 2002-11-14 Blue Martini Software Methods and systems for using portable devices to provide merchandising information
JP4491989B2 (ja) * 2001-04-17 2010-06-30 セイコーエプソン株式会社 制御システム
US6873984B1 (en) * 2002-02-20 2005-03-29 Oracle International Corporation Data mining recommendation web beans and JSP tag libraries
JP3823934B2 (ja) 2003-03-25 2006-09-20 松下電工株式会社 センサー感応型インターホンシステム

Also Published As

Publication number Publication date
US20080270535A1 (en) 2008-10-30
US20050021886A1 (en) 2005-01-27
JP2005025738A (ja) 2005-01-27
CN1578299A (zh) 2005-02-09
TWI262422B (en) 2006-09-21
US9135021B2 (en) 2015-09-15
CN1578299B (zh) 2011-09-07
TW200511088A (en) 2005-03-16

Similar Documents

Publication Publication Date Title
JP4299738B2 (ja) ウェブ・アプリケーション用の非標準i/oデバイスを使用したデータの入力および出力のための方法、システムおよびコンピュータ読み取り可能媒体
KR100795765B1 (ko) 사용자 인터페이스와 데이터 컴포넌트 간의 지능형 맵핑을이용한 무선 애플리케이션 구축 시스템 및 방법
US7194683B2 (en) Representing and managing dynamic data content for web documents
JP5540558B2 (ja) プリンタ定義ファイルを用いてjdfを生成するための方法、システムおよびプログラム
US6362840B1 (en) Method and system for graphic display of link actions
US7415524B2 (en) Postback input handling by server-side control objects
US8627344B2 (en) Methods and apparatuses for user interface management
US7106469B2 (en) Variable data printing with web based imaging
US8370281B2 (en) Self-modification of a mainframe-based business rules engine construction tool
US20050057560A1 (en) System and method for building wireless applications with intelligent mapping between user interface and data components
US20110083070A1 (en) Systems and methods for rendering and increasing portability of document-based user interface software objects
US20030033353A1 (en) Method for web-based imaging service to redirect to a preferred destination based on a criteria
US6900905B2 (en) Method for accessing imaging information on a demand basis using web based imaging
US20030115247A1 (en) Client configurable initial web-based imaging system
JP2008176820A (ja) 携帯用計算デバイスへの無線通信媒体を介するコンテンツ送達のためのシステムおよび方法
US7529763B2 (en) System and method for providing dynamic client architecture in an application development environment
US8364625B2 (en) Mainframe-based business rules engine construction tool
KR20070047701A (ko) 플러그인 프레임워크를 사용하는 브라우저의 마크업 확장
US20060090138A1 (en) Method and apparatus for providing DHTML accessibility
US7062752B2 (en) Method, system and program product for multi-profile operations and expansive profile operation
US6829758B1 (en) Interface markup language and method for making application code
US7970853B2 (en) System for controlled printing of a signature using web-based imaging
US7073131B2 (en) Group composition store
JP2005512187A (ja) ユーザー対話性画像要素を提供するユーザーインターフェイスディスプレイ装置
Tull WAP 2.0 Development

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080829

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

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: 20090407

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: 20090417

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120424

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130424

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140424

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees