ヘッダーをスキップ

Oracle Sensor Edge Server ガイド
10g(10.1.3.1.0)

B31872-01
目次
目次
索引
索引

戻る 次へ

6 デバイス、フィルタ・インスタンスおよびディスパッチャの構成

この章の内容は次のとおりです。

デバイス、フィルタ・インスタンスおよびディスパッチャの構成の概要

この章では、Oracle Sensor Edge Serverで即時利用できる拡張機能(ドライバ、フィルタおよびディスパッチャ)と、これらのオブジェクトのインスタンスを作成する際(ディスパッチャの場合は、Oracle Sensor Edge Serverインスタンスの現行ディスパッチャを設定する際)のパラメータの構成方法について説明します。これらの拡張機能は静的オブジェクトであるため、Oracle Sensor Edge Serverインスタンスが拡張機能を使用してイベント・データを処理するためには、拡張機能のインスタンスを作成する必要があります。詳細は、「Oracle Sensor Edge Serverインスタンスのディスパッチャの設定」および「Oracle Sensor Edge Serverで使用するデバイスおよびフィルタの設定」を参照してください。

デバイスおよびディスパッチャのURIパラメータの設定

デバイスおよび現行ディスパッチャの構成の中には、URIパラメータの定義が必要なものもあります。このパラメータは、String値を必要とし、使用するトランスポートとパラメータをトランスポート・ライブラリに指示します。URIパラメータの値は、次の形式で入力します。

esc://<transport>?<param1>=<value1>&<param2>=<value2>&...

各要素の意味は次のとおりです。

パラメータは必要なだけいくつでも指定できます。たとえば、TCP/IPを使用してポート9999でtest.oracle.comという名前のサーバーに接続する場合は、URIパラメータの値を次のように入力します。

esc://tcp&hostname=test.oracle.com&port=9999

9600ボーでシリアル・ポートCOM1に接続するには、URIパラメータの値を次のように入力します。

esc://com?port=COM1&baud=9600

IP 1.2.3.4でTCPポート9999に接続するには、URIパラメータの値を次のように入力します。

esc://tcp?hostName=1.2.3.4&port=9999

出力をファイルに書き込んで別のファイルから読み取る(テストおよびロギングに便利)には、URIパラメータの値を次のように入力します。

esc://file?inputFileName=/tmp/myInFile.txt&outputFileName=/tmp/
myOutFile.txt

URIパラメータに定義されている値は、トランスポート・タイプに固有です。サポートされている各トランスポート・タイプとそれに関連付けられているパラメータ値を表6-1に示します。

表6-1    サポートされているトランスポート・タイプ 
名前  説明  パラメータ値 

com 

シリアル通信ポート。 

portはポートの名前(COM1、COM2、tty1Sなど)。

baudはボー・レート(9600、38400、115200など)。

例: esc://com?port=COM1&baud=9600 

tcp 

TCP/IP接続。 

hostnameは接続先のIPアドレスまたはホスト名(たとえば、127.0.0.1)。

portはポート番号。

timeoutは、有効な接続を待機する数値(秒)を設定するオプションのパラメータ。

例: esc://tcp?hostName=127.0.0.1&port=9999 

stdout 

標準の入出力ストリームを使用する。 

N/A 

file 

入出力に使用するファイル。 

outFileNameは、出力ファイル名を指定するオプションのパラメータ。値を入力しない場合、出力は破棄される。

inFileNameは、入力ファイル名を指定するオプションのパラメータ。値を入力しない場合、入力はない。

purgeOnCloseは、boolean値を必要とするオプションのパラメータ。このパラメータをtrueに設定すると、接続が閉じたときに入力ファイルがパージされる。このパラメータはデータをポーリングする場合に使用する。

例: esc://file?inputFileName=/tmp/
myInFile.txt&outputFileName=/tmp/myOutFile.txt 

http 

HTTPを介してURLにポストする。 

URLはポストする宛先のURL。

proxyServerは、使用するプロキシ・サーバーを指定するオプションのパラメータ。

proxyPortは、プロキシのポートを指定するオプションのパラメータ。 

ftp 

FTPを介してファイルをポストおよび取得する。 

hostnameはFTPサーバーの名前

userはユーザーの名前。

passwordはユーザーのパスワード。 

ヒント

よく使用するパラメータをtransports.xmlファイル内で定義することもできます。URIパラメータで定義された値はすべて、transports.xmlファイル内に定義されている値を上書きします。 

デバイスの構成

Oracle Sensor Edge Serverでは、RFIDリーダーをサポートするドライバが提供されています(表6-2を参照)。

表6-2    RFIDリーダー 
ドライバ名  サポートされているデバイス 

Alienリーダー・ドライバ 

Alien NannoScanner(Model 915MHz、ePC Reader)など、Alien Technology社のRFIDリーダー全部。「Alienリーダー・ドライバ・ベースのデバイスの構成」を参照。 

BarcodeDriver 

シリアル接続またはネットワーク接続を介して標準のASCIIモードで動作するバーコード・リーダー。

「BarcodeDriverベースのデバイスの構成」を参照。 

Intermec BRIドライバ 

IF5 Fixed RFID Readerなど、BRI(Basic Reader Interface)をサポートするIntermecのRFIDリーダー全部。「Intermec BRIドライバによりサポートされるデバイスの構成」を参照。 

Intermecリーダー・ドライバ 

次のデバイスがある。

  • Intermec IDK(Model ITRF91501)

  • Intermec PCMCIAリーダー(Model ITR100)

「Intermecリーダー・ドライバ・ベースのデバイスの構成」を参照。 

Matricsドライバ 

Symbol Technologiesによりサポートされる固定リーダーには次のものがある。

  • Matrics AR400リーダー

  • Matrics SR400リーダー

  • Matrics XR400リーダー

「Matricsドライバ・ベースのデバイスの構成」を参照。  

Samsysドライバ 

SAMSys EPC UHFロングレンジ・リーダー(Model MP9320 2.7)。

「Samsysドライバ・ベースのデバイスの構成」を参照。 

Tycoリーダー 

(ThingMagicにより駆動される)Tyco Sensormatic Agile2リーダー。

「Tycoリーダー・ドライバ・ベースのデバイスの構成」を参照。 

また、Oracle Sensor Edge Serverでは、プリンタ・デバイスをサポートするドライバと、表示および通知用のドライバも提供されています(表6-3を参照)。

表6-3    プリンタ・ドライバおよび表示/通知ドライバ 
ドライバ名  サポートされているデバイス 

AnimationDriver 

デバイス・シミュレーションに使用されるソフトウェア専用ドライバ。

「AnimationDriverのインスタンスの構成」を参照。 

ConsoleDriver 

デバイス・シミュレーションに使用されるソフトウェア専用ドライバ。

「ConsoleDriverのインスタンスの構成」を参照。 

Edge Simulatorドライバ 

デバイス・シミュレーションに使用されるソフトウェア専用ドライバ。

「Edge Simulatorドライバ・ベースのデバイスの構成」を参照。 

LpmlDriver 

次のプリンタ・デバイスがサポートされている。

  • Zebra Technologies R110Xiプリンタ/エンコーダ

  • Intermec EasyCoder PM4iプリンタ

  • (LPMLをサポートする)Sato Barcode Printer CL408e

  • Loftware Print Server

「LpmlDriverベースのデバイスの構成」を参照。 

PatliteDriver  

Patlite社(米国)のPHE-3FB PC制御信号灯。Intermecおよび積層表示灯のデバイス・コントローラは、Oracle Technology Network(http://www.oracle.com/technology/)からダウンロード可能。

「PatliteDriverベースのデバイスの構成」を参照。 

Proliteドライバ 

Pro-Lite TruColorII LED Display(Model PL-M2014RV6)。

「Proliteドライバ・ベースのデバイスの構成」を参照。 

Oracle Sensor Edge Serverには、Edge Echoドライバも付属しています。Edge Echoドライバは、物理デバイスを制御するのではなく、命令イベントを受信し、イベントをコピーして送り返します。このイベントには、Edge Echoドライバ・インスタンスの構成に応じて、元の命令イベントと同じ属性がすべて含まれます。Oracle Sensor Edge Serverはこのイベントを、デバイスにより生成された他のイベントと同じように処理します。つまり、イベントはフィルタリングされ、現行ディスパッチャによってディスパッチされます。「Edge Echoドライバ・ベースのインスタンスの構成」も参照してください。

Alienリーダー・ドライバ・ベースのデバイスの構成

Alienリーダー・ドライバでは、Alien Technology社のRFIDリーダーすべてがサポートされます。

Alienリーダー・ドライバ・ベースのデバイスを構成するには、次のパラメータを定義します。

Alienリーダー・ドライバにより生成される測定イベント

測定イベントは、ドライバにより生成され、システムにディスパッチされるイベントです。Alienリーダー・ドライバによって生成されるイベントを表6-4に示します。

表6-4    Alienリーダー・ドライバにより生成される測定イベント 
タイプ  サブタイプ  タグID  データ  説明 

200 

各種 

タグID 

タグに格納されるデータ・フィールド(ペイロード) 

汎用タグ測定イベント 

1 

0 

NULL 

"alive or dead" 

データ・プロパティを使用してデバイスが応答しているかどうかを示す各イベント 

1 

0 

NULL 

"dis" 

デバイス起動操作の正常完了を示すイベント 

1 

2 

NULL 

"dif" 

デバイス起動操作の失敗を示すイベント 

1 

0 

NULL 

"dss" 

デバイス停止操作の正常完了を示すイベント 

1 

2 

NULL 

"dsf" 

デバイス停止操作の失敗を示すイベント 

1 

2 

NULL 

"drf" 

イベント受信操作の失敗を示すイベント 

1 

0または2 

NULL 

<callResults>

<callResult name="write-tag">

<code>0/1</code>

<message/>

</callResults> 

タグ書込み操作の正常完了または失敗を示すイベント 

Alienリーダー・ドライバにより受け入れられる命令イベント

アプリケーションは、特定のタスクの実行を指示する命令イベントをデバイスに送信します。Alienリーダー・ドライバにより受け入れられる命令イベントを表6-5に示します。

表6-5    Alienリーダー・ドライバにより送信される命令イベント 
タイプ  サブタイプ  タグID  データ  説明 

101 

0 

NULL 

<methodCalls>
<methodCall name="write-tag"">
<params>
<param name='tagid'>%TAGID%</param>
<param name='tagdata'>%TAGDATA%</param>
</params>
</methodCall>
</methodCalls>
 

指定されたタグIDで識別されるタグにデータを書き込む。 

AnimationDriverのインスタンスの構成

AnimatorDriverではデバイスがサポートされるのではなく、デバイスの対話型ソフトウェア・シミュレーションがサポートされます。このドライバの構成済インスタンスは、Oracle Sensor Edge Serverからの入力またはイベントを受け入れ、構成ファイル(例6-1)内に定義されているアニメーション・シーケンスを画面上で実行します。

AnimationDriverインスタンスを構成するには、fileNameパラメータを、構成ファイル(例6-1に示されている形式の.xmlファイル)へのフルパスまたは相対パスとして定義します。このファイルを使用すると、任意のタイプのイベントを受け入れて生成するようにAnimationDriverインスタンスを構成できます。

例6-1    AnimationDriverの構成ファイル

<animate>
  <window>... </window>
  <task>...</task>
</animate>

このファイルを構成するには、<window>要素と<task>要素を定義します。

<window>要素の定義

<window>要素を使用すると、ウィンドウを定義できます。各ウィンドウは、サーバーの表示で最上位のウィンドウとして表示されます。<window>要素内には、タスクをトリガーするウィンドウ内のユーザー・インタフェース・コントロールをいくつでも定義できます。

<window>要素は、ウィンドウとそのディメンションを定義する3つの属性(name、widthおよびheight)で構成されます。

ウィンドウを定義した後は、ウィンドウ内のコントロールを定義できます。例6-2は、1つのプッシュ・ボタン・コントロールを含むウィンドウを示しています。AnimationDriverでは、プッシュ・ボタン用のコントロール・タイプであるbuttonがサポートされています。

例6-2    構成ファイル内でのウィンドウの定義

<window name='myWin' width='200' height='100'>
  <control type='button' name='Pass Thru'/>
</window>

ユーザーがボタンをクリックしたときにトリガーされるタスクを定義するには、<task>要素を使用します。

<task>要素

タスクとは、コントロールまたはイベントによりトリガーされるアクションのセットです。
例6-3は、子要素<when>および<action>を持つ<task>要素を示しています。<when>要素は、<action>要素を実行する条件をタスクに指示します。複数のタスクが、重なった条件にマッピングされている場合もあります。

例6-3    構成ファイル内でのタスクの定義

<task name='TaskA'>
  <when> ... </when>
  <action> ... </action>
</task>

<when>要素を定義するには、次の条件を使用します。

タスクを起動する条件を定義した後は、<action>要素内に、タスクにより実行される処理を定義できます。<action>要素内では次の内容を定義できます。

BarcodeDriverベースのデバイスの構成

BarcodeDriverベースのデバイスを構成するには、uriパラメータを積層表示灯への接続として定義します。「デバイスおよびディスパッチャのURIパラメータの設定」を参照してください。

BarcodeDriverにより返されるRFID測定イベント

BarcodeDriverにより返されるRFID測定イベントを表6-6に示します。

表6-6    BarcodeDriverにより返されるRFID測定イベント 
タイプ  サブタイプ  方向  タイトル  説明 

200 

1 

デバイスから(インバウンド) 

ID Observed 

新しいバーコードが読み取られ、デコードされる。新しいバーコードが測定されると、バーコードはデコードされてイベントのタグIDフィールドに格納される。  

ConsoleDriverのインスタンスの構成

ConsoleDriverは、受信したすべてのイベントをグラフィック・ウィンドウに表示するシミュレーション・ドライバです。これには、次のビューが含まれます。

このドライバは、イベント・タイプおよびデータを認識しません。受信したイベントを表示し、「Send」ダイアログからのユーザー入力を送信するのみです。ユーザー・インタフェースを使用すると、イベント・データを入力し、実際のデバイスで生成された場合と同じように、そのデータを送信してディスパッチできます。このドライバは、システム内のイベント・フローの監視およびデバッグを行う場合に使用します。

Edge Echoドライバ・ベースのインスタンスの構成

Edge Echoドライバは、物理デバイスを制御するのではなく、命令イベントを受信し、イベントをコピーして送り返します。このイベントの属性は、現在の時刻を表示するために構成可能なTimestamp属性を除いて、元の命令イベントの属性と同じです。Oracle Sensor Edge Serverは、Edge Echoドライバのインスタンスにより生成されたイベントを、デバイスにより生成された他のイベントと同じように処理します。つまり、イベントはフィルタリングされ、現行ディスパッチャによってディスパッチされます。「イベント・データの表示」も参照してください。

Edge Echoドライバのインスタンスを構成するには、次のパラメータを定義します。

Edge Simulatorドライバ・ベースのデバイスの構成

Edge Simulatorドライバは、イベントを生成して実際のデバイスをシミュレーションします。通常は、EdgeSimulatorドライバを使用して構成および配置設計をテストしますが、内部機能テストに使用して、システムでイベントがどのように処理されるかを確認することもできます。Edge Simulatorドライバは他のドライバと同じように機能しますが、物理デバイスに接続してイベントを読み取るのではなく、偽のイベントを生成するタイミングに関する命令を、入力ファイル(例6-6など)からパラメータとして受け取る点が異なります。これは、デバイスが起動すると(Oracle Sensor Edge Serverの起動時にデバイスが起動すると)すぐに開始されます。

Edge Simulatorドライバ・ベースのデバイスを構成する場合、この入力ファイルの名前を入力することにより、デバイスのFILENAMEパラメータを定義することが必要です。このパラメータは、次の命令を使用して偽のイベントを生成する方法をEdge Simulatorドライバ・ベースのデバイスに指示します。

<EventList>

<EventList>要素はループを定義します。この要素は、その他のすべての命令をまとめるメイン・ブロックでもあります。<EventList>にはrepeatという属性が1つあり、これはループの制御に必要です。repeatの値は、0からLONG_MAXの間の数値である必要があります。イベントを1回のみ生成する場合は、repeat属性を1に設定します。repeatをnに設定すると、すべての命令がn回ループされます。repeatを0に設定すると、ブロックが使用不可になり、パーサーはそのブロックをスキップします。

2つのイベントを生成し、一時停止してから、さらに2つのイベントを生成するという一連の処理を20回繰り返す構文を例6-4に示します。

例6-4    ループの定義

<EventList repeat='20'>
<Event> … </Event>
<Event> … </Event>
<EventInterval>…</ EventInterval>
<Event> … </Event>
<Event> … </Event>
</EventList>

<EventList>要素内には、任意の数の命令を含めることができます。定義された順序で命令が実行されます。

<EventInterval>

<EventInterval>要素は、次に進む前に一定の時間、一時停止するようにシミュレータに指示します。通常はデータ率を調節するために使用されます。次の命令を実行する前に待機する時間をミリ秒単位で定義する数値です。6-5項は、各イベントの間に0.5秒、ループの間に3秒待機するようにシミュレータに命令する方法を示しています。

例6-5    <EventInterval>要素

<EventList repeat='20'>
   <Event> … </Event>
   <EventInterval>500</ EventInterval>
   <Event> … </Event>
   <EventInterval>500</ EventInterval>
   <Event> … </Event>
   <EventInterval>3000</ EventInterval>
</EventList>

<Event>

<Event>要素は、イベントを送信するようにシミュレータに指示します。子要素(表6-7を参照)はイベントのフィールドを制御します。

表6-7    シミュレータのイベント要素 
イベント・フィールド  値 

<type> 

イベントのタイプに対応する数値。  

<subtype> 

サブタイプの数値。たとえば、例6-6のサブタイプ値は一般的な命令イベント(特定のデバイスに処理を実行するように指示するために、アプリケーションまたはデバイスによって送信されたイベント)に対応する。例6-6では、1という値がデバイスに指定されている。  

<id> 

このフィールドのテキスト値により、イベント命令に対するタグ(読取りまたはターゲット)が識別される。例6-6では、タグの<id>の値の1つが03ffff045679となっている。 

<data> 

タグ・データ。オプションのフィールド。 

<deviceName> 

イベントを生成するデバイスまたはアプリケーションの名前。<deviceName>により、イベントの生成時にシミュレータを別のデバイスのように見せることができる。 

2つのイベント・グループを含む入力ファイルを例6-6に示します。1つ目のイベントは1回だけ実行され、2つ目のイベントは20回実行されます。

例6-6    シミュレータ入力ファイル

<EdgeEventSimulation>
      <EventList repeat='1'>
         <Event>
            <type>100</type>
            <subtype>1</subtype>
            <id>03ffff045679</id>
            <data>No Data</data>
            <deviceName>My Device</deviceName>
        </Event>
   <EventInterval>500</ EventInterval>
      <Event>
         <type>100</type>
            <subtype>1</subtype>
            <id>03ffff045680</id>
            <data>No Data</data>
            <deviceName>My Device</deviceName>
     </Event>
          <EventInterval>3000</ EventInterval>
   </EventList>
 
   <EventList repeat='20'>
      <Event>
         <type>100</type>
         <subtype>1</subtype>
         <id>04ffff045679</id>
         <data>No Data</data>
         <deviceName>My Device</deviceName>
    </Event>
         <EventInterval>500</ EventInterval>
     <Event>
         <type>100</type>
          <subtype>1</subtype>
          <id>04ffff045680</id>
          <data>No Data</data>
          <deviceName>My Device</deviceName>
     </Event>
   </EventList>
</EdgeEventSimulation>

イベント・タイプの形式は固定ですが、イベントのタイプに応じてフィールドを異なる意味にマッピングすることにより、イベント・タイプを拡張できます。

HtmlDriverインスタンスの構成

HtmlDriverは、Oracle Sensor Edge Server画面にウィンドウを表示したり、リモート・サーバーに接続してHTMLコンテンツを表示することを可能にする表示ドライバです。複雑なステータスやメッセージをグラフィック表示するためにデータをプッシュするアプリケーションには、HtmlDriverを使用します。

HtmlDriverには表示サーバーが含まれており(htmlDriver.jarに含まれる)、これを使用するとリモート・サーバー上の表示ウィンドウが使用可能になります。表示サーバーは、HtmlDriverインスタンスからのネットワーク接続を待機するJavaプロセスとして実行されます。ネットワーク上には任意の数の表示サーバーを設定できます。表示サーバー・プロセスを実行するマシンのIPまたはホスト名を覚えておく必要があります。同じマシン上で複数の表示サーバーを実行できます。ただし、各表示サーバーが別々のポートに割り当てられている必要があります。


注意

JDK 1.3以上がマシンにインストールされており、java.exeがパスに存在している必要があります。 


表示サーバーをマシンにインストールするには、次のようにします。

  1. htmlDriver.jarをコピーします。

  2. ファイルをローカル・ディレクトリに抽出します。たとえば、displayServerという名前のディレクトリを作成し、jar xf htmlDriver.jarを実行します。

  3. classesディレクトリに移動します(cd classes)。

  4. 次のコマンドを使用してDisplayServerアプリケーションを実行します。

    java oracle.edge.impl.driver.HtmlDriver <port> [title] [x] [y] [width] [height] [showHistory]

    各要素の意味は次のとおりです。

    • <port>は、表示サーバーがリスニングするTCP/IPポートを指定します。すでに使用されているポートは指定できません。これは必須パラメータです。

    • [title]は、ウィンドウ名を指定するオプションのテキスト文字列です。

    • [x]は、画面上の表示ウィンドウのx位置です。

    • [y]は、画面上の表示ウィンドウのy位置です。

    • [width]はウィンドウの幅です。0に設定した場合、ウィンドウでは画面の幅が使用されます。

    • [height]はウィンドウの高さです。0に設定した場合、ウィンドウでは画面の高さが使用されます。

    • [showHistory]: trueに設定した場合、ウィンドウの一番上に小さなリストが表示され、以前に表示されたすべてのドキュメントが示されます。このウィンドウを使用すると、ユーザーは最後に表示されたドキュメントまで手動でスクロールできます。

    たとえば、全画面ウィンドウで、ポート8999を使用してデスクトップ上で表示サーバーを実行する場合は、次のコマンドを実行します。

    java oracle.edge.impl.driver.HtmlDriver 8999 "My Window" 0 0 0 0 false
    


    注意

    このコマンドには、スペースが付いた引用符文字列が含まれます。シェルのドキュメントを参照してください。 


リモート・サーバーでの表示が使用可能になるようにHtmlDriverインスタンスを構成するには、次のパラメータを定義します。

serverListパラメータを定義しない場合、インスタンスはOracle Sensor Edge Serverのローカル・ウィンドウに表示されます。ローカル・ウィンドウでインスタンスを実行する場合、表示サーバーは必要ありません。

ローカル・ウィンドウでインスタンスを表示するには、次のようにします。

HtmlDriverによりサポートされるイベント

HtmlDriverによりサポートされるイベントを表6-8に示します。

表6-8    HtmlDriverによりサポートされるイベント 
タイプ  サブタイプ  方向  タイトル  説明 

210 

1 

アプリケーションから(アウトバウンド) 

Display 

イベントのDATAフィールドに組み込まれたHTMLドキュメントを表示する。IDは0から始まる番号で、イベントの送信先のサーバーを定義する。これは、ドライバ・インスタンスのserverListパラメータ内で定義されているサーバーの索引である。 

210 

2 

アプリケーションから(アウトバウンド) 

Print LPML Directly 

イベントのDATAフィールドに指定されているURLにより参照されるHTMLドキュメントを表示する。IDは0から始まる番号で、イベントの送信先のサーバーを定義する。これは、ドライバのserverListパラメータ内で定義されているサーバーの索引である。 

Intermec BRIドライバによりサポートされるデバイスの構成

Intermec BRIドライバでは、BRI(Basic Reader Interface)をサポートし、シリアル接続またはネットワーク(TCP/IP)接続を介してOracle Sensor Edge Serverと通信するIntermec社のすべてのRFIDリーダーがサポートされます。Oracle Sensor Edge Serverは、IF5リーダーに対してテスト済です。

詳細は、http://www.intermec.comを参照してください。

Intermec BRIドライバ・ベースのデバイスを構成するには、表6-9に示されたパラメータを定義する必要があります。

表6-9    Intermec BRIドライバ・ベースのデバイスのパラメータ値 
パラメータ名  値のタイプ  説明 

URI 

String 

接続タイプを示す接続識別子と接続パラメータについては、「デバイスおよびディスパッチャのURIパラメータの設定」を参照。 

Status Query Response Timeout 

Int 

ステータス問合せからのレスポンスを待機するためのタイムアウト。タイムアウトには、Status Query Intervalパラメータに設定した値よりも小さい値を設定する必要がある。 

Status Query Interval 

Int 

連続する2つのステータス問合せの間隔(ミリ秒単位)。 

AntennaIds 

String 

接続されているアンテナの識別子。アンテナが複数ある場合、複数の識別子をカンマ(,)を使用して区切る。 

DataFieldLength 

Int 

取得されるデータ・フィールドのサイズ(バイト)。0は、データ・フィールドを取得する必要がないことを示す。 

DataFieldValueType 

String 

データ・フィールドに対して次の3つのいずれかの値を指定する。

  • Int(整数)

  • HexString(16進文字列)

  • String(ASCII文字列)

このパラメータは、DataFieldLengthパラメータが0より大きい場合のみ有効になる。 

TagType 

N/A 

読み取るタグ・タイプを指定する。次のオプションがある。

  • ISO6B/G1

  • ISO6B/G2

  • ISO6C

  • EPC/Class/Gen1

  • EPC/Class1/Gen2

  • Phillips/V1.19

  • 混合

 

Intermec BRIドライバにより生成される測定イベント

測定イベントは、ドライバにより生成され、システムにディスパッチされるイベントです。Intermec BRIドライバによって生成されるイベントを表6-10に示します。

表6-10    Intermec BRIドライバにより生成されるイベント 
タイプ  サブタイプ  タグID  データ  説明 

200 

各種 

タグID 

タグに格納されるデータ・フィールド(ペイロード) 

汎用タグ測定イベント 

1 

0 

NULL 

"alive or dead" 

データ・プロパティを使用してデバイスが応答しているかどうかを示すイベント 

1 

0 

NULL 

"dis" 

デバイス起動操作の正常完了を示すイベント 

1 

2 

NULL 

"dif" 

デバイス起動操作の失敗を示すイベント 

1 

0 

NULL 

"dss" 

デバイス停止操作の正常完了を示すイベント 

1 

2 

NULL 

"dsf" 

デバイス停止操作の失敗を示すイベント 

1 

2 

NULL 

"drf" 

イベント受信操作の失敗を示すイベント 

1 

0または2 

NULL 

<callResults>

<callResult name="write-tag">

<code>0/1</code>

<message/>

</callResults> 

タグ書込み操作の正常完了または失敗を示すイベント 

Intermec BRIドライバにより受け入れられる命令イベント

アプリケーションは、特定のタスクの実行を指示する命令イベントをデバイスに送信します。Intermec BRIドライバにより受け入れられる命令イベントを表6-11に示します。

表6-11    Intermec BRIドライバにより送信される命令イベント 
タイプ  サブタイプ  タグID  データ  説明 

101 

0 

NULL 

<methodCalls>
<methodCall name="write-tag"">
<params>
<param name='tagid'>%TAGID%</param>
<param name='tagdata'>%TAGDATA%</param>
Name='tagdataVauleType'> (String/HexString)</param>
</params>
</methodCall>
</methodCalls>
 

指定されたタグIDで識別されるタグにデータを書き込む。 

Intermecリーダー・ドライバ・ベースのデバイスの構成

詳細は、http://www.intermec.comを参照してください。

要件

Intermecリーダー・ドライバ・ベースのデバイスを作成する場合、バンドル化されてIntermecリーダー・ドライバに付属している次のコンポーネントが必要です。

Intermecリーダー・ドライバ・ベースのデバイスを構成する場合、次のパラメータを定義する必要があります。

LpmlDriverベースのデバイスの構成

LPML(Label Printing Markup Language)は、オラクル社が定義したXMLベースのプリンタ言語であり、ラベル・プリンタおよびプリンタ・サーバーのベンダーによってサポートされています。LpmlDriverでは、LPML言語およびバインディングをサポートするすべてのプリンタまたは印刷サーバー・システムがサポートされます。

LpmlDriverベースのデバイスを構成するには、次のようにデバイスのパラメータを定義する必要があります。

LpmlDriverにより生成されるプリンタ・レスポンス測定イベント

LpmlDriverにより生成され、システムにディスパッチされるプリンタ・レスポンス測定イベントを表6-12に示します。

表6-12    LpmlDriverにより生成されるプリンタ・レスポンス測定イベント 
タイプ  サブタイプ  タグID  データ  説明 

210 

2 

使用されない 

LPMLレスポンス・メッセージ 

印刷ジョブの結果を送信側に通知する、プリンタから(「Response Mode」が選択されている場合)、またはドライバそのものからのレスポンス・メッセージ。correlationIdフィールドとsourceNameフィールドは、元の印刷ジョブ・リクエストから使用される。 

LpmlDriverにより受け入れられる命令イベント

命令イベントはアプリケーションによってドライバに送信され、ドライバは特定のタスクを実行するように指示されます。LpmlDriverにより受け入れられる命令イベントを表6-13に示します。

表6-13    LpmlDriverにより受け入れられる命令イベント 
タイプ  サブタイプ  タグID  データ  説明 

102 

1 

使用されない 

LPMLメッセージ 

Dataフィールドに指定されたLPMLメッセージを印刷する。 

Matricsドライバ・ベースのデバイスの構成

Matricsドライバでは、シリアル接続またはネットワーク(TCP/IP)接続を使用してOracle Sensor Edge Serverと通信する、Symbol Technologiesが作成したMatricsリーダーがサポートされます。

Matricsドライバ・ベースのデバイスを構成する場合、次のパラメータを定義する必要があります。

Matricsドライバにより生成される測定イベント

測定イベントは、ドライバにより生成され、システムにディスパッチされるイベントです。Matricsドライバによって生成されるイベントを表6-14に示します。

表6-14    Matricsドライバにより生成される測定イベント 
タイプ  サブタイプ  タグID  データ  説明 

200 

各種 

タグID 

タグに格納されるデータ・フィールド(ペイロード) 

汎用タグ測定イベント 

1 

0 

NULL 

"alive or dead" 

データ・プロパティを使用してデバイスが応答しているかどうかを示すイベント 

1 

0 

NULL 

"dis" 

デバイス起動操作の正常完了を示すイベント 

1 

2 

NULL 

"dif" 

デバイス起動操作の失敗を示すイベント 

1 

0 

NULL 

"dss" 

デバイス停止操作の正常完了を示すイベント 

1 

2 

NULL 

"dsf" 

デバイス停止操作の失敗を示すイベント 

1 

2 

NULL 

"drf" 

イベント受信操作の失敗を示すイベント 

1 

0または2 

NULL 

<callResults>

<callResult name="write-tag">

<code>0/1</code>

<message/>

</callResults> 

タグ書込み操作の正常完了または失敗を示すイベント 

Matricsドライバにより受け入れられる命令イベント

アプリケーションは、特定のタスクの実行を指示する命令イベントをデバイスに送信します。Matricsドライバにより受け入れられる命令イベントとその使用方法を表6-15に示します。

表6-15    Matricsドライバにより受け入れられる命令イベント 
タイプ  サブタイプ  タグID  データ  説明 

101 

0 

NULL 

<methodCalls>
<methodCall name="write-tag"">
<params>
<param name='tagid'>%TAGID%</param>
<param name='tagdata'>%TAGDATA%</param>
</params>
</methodCall>
</methodCalls>
 

指定されたタグIDで識別されるタグにデータを書き込む。 

PatliteDriverベースのデバイスの構成

PatliteDriverによりサポートされるPatliteの積層表示灯シリーズは、イベントを生成しませんが、信号灯および信号として機能します。Patlite積層表示灯およびツリーにイベントを送信すると、ライトが点灯するか、または一定間隔で点滅します。

PatliteDriverベースのデバイスを構成するには、URIパラメータを定義します。「デバイスおよびディスパッチャのURIパラメータの設定」を参照してください。

Proliteドライバ・ベースのデバイスの構成

Proliteドライバ・ベースのデバイスを構成するには、URIパラメータを、接続URIを入力することにより定義します。「デバイスおよびディスパッチャのURIパラメータの設定」を参照してください。

Samsysドライバ・ベースのデバイスの構成

Samsysドライバでは、シリアル接続またはネットワーク(TCP/IP)接続を介してOracle Sensor Edge Serverと通信するSAMSys MP320 2.7 EPCリーダーがサポートされます。Samsys MP9320 2.7 EPCリーダーは、CHUMP(Cookie-handling UDP Message Protocol)をサポートしており、Oracle Edge Sensor Serverに対してテスト済です。

Samsysドライバ・ベースのデバイスを構成するには、次のパラメータを定義します。

Samsysドライバにより生成される測定イベント

測定イベントは、ドライバにより生成され、システムにディスパッチされるイベントです。Samsysドライバによって生成されるイベントを表6-16に示します。

表6-16    Samsysドライバにより生成される測定イベント 
タイプ  サブタイプ  タグID  データ  説明 

200 

各種 

タグID 

タグに格納されるデータ・フィールド(ペイロード) 

汎用タグ測定イベント 

1 

0 

NULL 

"alive or dead" 

データ・プロパティを使用してデバイスが応答しているかどうかを示す各イベント 

1 

0 

NULL 

"dis" 

デバイス起動操作の正常完了を示すイベント 

1 

2 

NULL 

"dif" 

デバイス起動操作の失敗を示すイベント 

1 

0 

NULL 

"dss" 

デバイス停止操作の正常完了を示すイベント 

1 

2 

NULL 

"dsf" 

デバイス停止操作の失敗を示すイベント 

1 

2 

NULL 

"drf" 

イベント受信操作の失敗を示すイベント 

1 

0または2 

NULL 

<callResults>

<callResult>

<callResult name="write-tag">

<code>0/1</code>

<message/>

</callResult>

</callResults> 

タグ書込み操作の正常完了または失敗を示すイベント 

Samsysドライバにより受け入れられる命令イベント

アプリケーションは、特定のタスクの実行を指示する命令イベントをデバイスに送信します。Samsysドライバにより受け入れられる命令イベントを表6-17に示します。

表6-17    Samsysドライバにより受け入れられる命令イベント 
タイプ  サブタイプ  タグID  データ  説明 

101 

0 

NULL 

<methodCalls>
<methodCall name="write-tag"">
<params>
<param name='tagid'>%TAGID%</param>
<param name='tagdata'>%TAGDATA%</param>
</params>
</methodCall>
</methodCalls>
 

指定されたタグIDで識別されるタグにデータを書き込む。 

Simple Audioドライバ・インスタンスの構成

SimpleAudioDriverは命令イベントを受け入れ、アプリケーションがOracle Sensor Edge Serverマシンのサウンド・カードを使用して.wavファイルを再生できるようにします。セキュリティ上の理由から、(audioFilesパラメータ内で定義されている)特定のディレクトリ内のファイルのみが再生されます。


注意

このドライバでは、標準のJREまたはJDKに付属のsun.audioパッケージが使用されます。このパッケージでは、1つのマシンで複数のサウンド・カードを使用する場合など、特殊な設定を行う場合にのみ特殊な構成が必要です。このような場合は、Sun Microsystems社のJDKドキュメントを参照してください。 


Simple Audioドライバ・インスタンスを構成するには、オーディオ・ファイルのパス(String値)を入力することにより、audioFilesパスのパラメータを定義します。パスは、最後にスラッシュの付かない絶対パスまたは相対パスです。パスはエッジ拡張クラス・ディレクトリを基準にしているため、相対パスを入力する場合は、このディレクトリから横断する必要があります。たとえば、Oracle Sensor Edge Serverホーム・パス(サンプル・レベル、configやpersistentなどのディレクトリのロケール)上のオーディオ・ファイルを指定する場合、次のように入力します。

..¥..¥edge¥audio

この値により、Oracle Sensor Edge Serverホーム・パスの最上位のaudioディレクトリを使用するようにパラメータが設定されます。

ヒント

絶対パスを使用するほうが、相対パスを使用するよりもセキュリティは強くなります。 

Simple Audioドライバによりサポートされるオーディオ・イベント

Simple Audioドライバによりサポートされるイベント・タイプ207(オーディオ)を表6-18に示します。

表6-18    イベント・タイプ207(オーディオ) 
タイプ  サブタイプ  方向  タイトル  説明 

207 

1 

アプリケーションから(アウトバウンド) 

Play Audio File 

Dataフィールドの.xmlファイル内に定義されているオーディオ・ジョブを再生する。 

DATAフィールドに組み込まれているXMLファイルは、標準のXML-RPCコール形式を使用します。その形式は例6-7に示すとおりです。

例6-7    Dataフィールドに組み込まれたXMLファイル

<methodCalls>
    <methodCall>
      <params>
        <param name='paramName'>paramValue</param>
      </params>
    </methodCall>
  </methodCalls>

paramNameはパラメータ名で、paramValueはその値です。この関数はタイプおよびサブタイプにより定義されるため、<methodName>は省略できます。paramNameは、fileNameおよびurlを使用して定義できます。

セキュリティ上の理由で、fileNameパラメータにより定義された値がオーディオ・ファイル名として使用されます。fileNameの値に拡張子を含めることはできません。また、オーディオ・ファイルは.wavファイルである必要があります。たとえば、(例6-8のように)fileNameパラメータの値をwelcomeとして定義した場合、オーディオ・ファイル名はwelcome.wavになります。

例6-8    welcome.wavを再生するXMLファイル

<methodCalls>
    <methodCall>
      <params>
        <param name=fileName'>welcome</param>
      </params>
    </methodCall>
  </methodCalls>

urlパラメータは、オーディオ・ファイルを指すURLです。


注意

fileNameパラメータとurlパラメータは相互に排他的です。つまり、同じコールに対して両方のパラメータを定義することはできません。両方のパラメータを定義した場合は、urlパラメータのみが使用されます。 


Tycoリーダー・ドライバ・ベースのデバイスの構成

Tycoリーダー・ドライバでは、シリアル接続またはネットワーク(TCP/IP)接続を介してOracle Sensor Edge Serverと通信する、Sensormaticが作成したすべてのTycoリーダーがサポートされます。

Tycoリーダー・ドライバ・ベースのデバイスを構成する場合、次のパラメータを定義する必要があります。

Tycoリーダー・ドライバにより生成される測定イベント

測定イベントは、ドライバにより生成され、システムにディスパッチされるイベントです。Tycoリーダー・ドライバによって生成されるイベントを表6-19に示します。

表6-19    Tycoリーダー・ドライバにより生成される測定イベント 
タイプ  サブタイプ  タグID  データ  説明 

200 

各種 

タグID 

タグに格納されるデータ・フィールド(ペイロード) 

汎用タグ測定イベント 

1 

0 

NULL 

"alive or dead" 

データ・プロパティを使用してデバイスが応答しているかどうかを示す各イベント 

1 

0 

NULL 

"dis" 

デバイス起動操作の正常完了を示すイベント 

1 

2 

NULL 

"dif" 

デバイス起動操作の失敗を示すイベント 

1 

0 

NULL 

"dss" 

デバイス停止操作の正常完了を示すイベント 

1 

2 

NULL 

"dsf" 

デバイス停止操作の失敗を示すイベント 

1 

2 

NULL 

"drf" 

イベント受信操作の失敗を示すイベント 

1 

0または2 

NULL 

<callResults>

<callResult>

<callResult name="write-tag">

<code>0/1</code>

<message/>

</callResult>

</callResults> 

タグ書込み操作の正常完了または失敗を示すイベント 

Tycoリーダー・ドライバにより受け入れられる命令イベント

アプリケーションは、特定のタスクの実行を指示する命令イベントをデバイスに送信します。Tycoリーダー・ドライバにより受け入れられる命令イベントを表6-20に示します。

表6-20    Tycoリーダー・ドライバにより受け入れられるRFID命令イベント 
タイプ  サブタイプ  タグID  データ  説明 

101 

0 

NULL 

<methodCalls>
<methodCall name="write-tag"">
<params>
<param name='tagid'>%TAGID%</param>
<param name='tagdata'>%TAGDATA%</param>
<param name='antennaID'>%ANTENNA_ID%</param>
</params>
<param name='protocol'>EPCO/CC915/
CC1356/ISO15693/ISO18000-6B</param>
</params>
</methodCall>
</methodCalls>
 

指定されたタグIDで識別されるタグにデータを書き込む。 

フィルタ・インスタンスの構成

次の各項では、組込みフィルタでイベントおよびその構成パラメータを生成する方法について説明します。

Check Tag IDフィルタの構成

チェック・タグは、デバイス(この場合はリーダー)がタグを読み取っているかどうかをテストするために使用する一般的なタグです。チェック・タグはリーダーの読取り範囲内に物理的に存在するため、必ず読み取られます。その他のタグがリーダーの読取り範囲を通過すると、それに連動してデバイスがチェック・タグも読み取ります。

Check Tag IDフィルタは、デバイスがチェック・タグを読み取っていることを定期的に確認します。このフィルタを使用すると、デバイスのステータス、対応するリーダーおよび使用されるアンテナを確認できます。Check Tag IDフィルタは診断目的のみで使用されるため、クライアント・デバイスにディスパッチするイベントは提供しません。かわりに、指定された時間内にデバイスがチェック・タグを読み取ったことを検出しなかった場合は、このフィルタがイベントを生成します。


注意

Check Tag IDフィルタはデバイスにのみ適用できます。 


Check Tag IDフィルタのパラメータ(および関連する値)を表6-21に示します。

表6-21    Check Tag IDフィルタのパラメータ 
名前  値のタイプ  説明 

Check Tag Id 

String値。  

チェック・タグのID。タグが読み取られているかどうかを確認するためにフィルタが検索するID。 

Tag Check Time Window 

int値。 

フィルタが指定されたチェック・タグを検出できなかった場合にイベントが生成されるまでの時間(ミリ秒単位)。  

Check Tag IDフィルタのパラメータを定義するには、(デバイスの読取り範囲内にある)チェック・タグ自体のIDを確認する必要があります。このIDを、Check Tag IdのString値として入力します。Tag Check Time Windowパラメータで定義された時間内に、指定されたIDを持つチェック・タグをデバイスが読み取ったことを検知しないと、フィルタはイベントを生成します。生成されるイベントのシグネチャを表6-22に示します。

表6-22    Check Tag IDフィルタのイベント・シグネチャ 
イベント・フィールド  値 

sourceName 

このフィールドは、イベントの発信元を識別する。このフィールドはオプションで、値はクライアントによって設定される。 

correlationId 

このフィールドはクライアントによって設定され、特定のクライアントへのメッセージ・レスポンス(デバイスが機能しているかどうかのチェックなど)に使用される。同じクライアントによって返されたメッセージは同じIDを持つ。オプションのフィールド。 

siteName 

このイベントを生成したサイトの名前。 

deviceName 

このイベントを生成したデバイスの名前。 

time 

フィルタがこのイベントを生成した時刻。 

type 

メッセージ・イベント(タイプ1)。

注意: デバイスにいつ障害が発生したかを通知する場合は、アプリケーションをこのメッセージ・タイプにサブスクライブする必要がある。 

subtype 

エラー・レポート(サブタイプ2)。 

id 

チェック・タグのID(フィルタのCheck Tag Idパラメータ内に定義されている値)。 

data 

追加のエラー・メッセージ(ある場合)。 

Cross-Reader Redundantフィルタの使用

Cross-Reader Redundantフィルタは、デバイス・グループのデバイスから送信された冗長なイベントをブロックし、イベントは生成しません。同じタグIDを持っているイベントが見つかった場合、このフィルタはイベントが冗長であるとみなします。フィルタリングは、ドライバ読取りサイクルに対応するウィンドウ時間中に発生します。

Cross-Reader Redundantフィルタは、グループ・レベルのフィルタリングにのみ使用できます。デバイスに適用すると、機能が実行されません。このフィルタには、構成するパラメータがありません。

Debugフィルタの使用

Debugフィルタは、システムを通過するイベントを追跡します。関連付けられたデバイスからイベントを受信すると、このフィルタはログ・ファイルにイベントを書き込みます。このフィルタのパラメータは、Event Output Fileというパラメータ1つです。このパラメータを定義するには、Debugフィルタがイベントを書き込むログ・ファイルのフルパスを入力します。(サーバー上でこのファイルを書込み可能にする必要があります。)Debugフィルタの出力形式は次のとおりです。

"Devicename: <devicename> Type: <type> Subtype: <subtype> EventTime: <time>TagIds:<tagid(,tagid)*>Data:<dat(,data)*>¥n"

各イベントは個別の行になります。各行は改行文字(オペレーティング・システムによってLFまたはCRLF)で区切られます。<time>の値は、time(2)のコールによって返されたlongです。

このフィルタは、デバイスまたはデバイス・グループにのみアタッチできます。このフィルタには、構成するパラメータがありません。

JavaScriptフィルタの構成

JavaScriptフィルタを使用すると、スクリプト言語でフィルタ・ロジックを記述できます。ソース・スクリプトの変更内容は動的にロードされるため、サーバーやその他のコンポーネントを再起動する必要はありません。このフィルタは、Mozilla Rhino(http://www.mozilla.org/rhino/)など、ソース・スクリプトを実行する外部のJavaScriptエンジンに依存しています。

JavaScriptフィルタのパラメータは、scriptFileNameというパラメータ1つです。このパラメータを定義するには、ドライバがロードおよび監視するソース・スクリプトの相対パスまたはフルパスの名前を入力します。

ソース・スクリプトの記述

JavaScriptフィルタは、処理を実行するためにソース・スクリプト内で関数を検索します。関数は次のとおりです。

前述のいずれかの関数を1つ記述することができます。その他の関数は無視されます。初期化されたブロックは、フィルタの起動時にコールされます。例6-9に示すソース・スクリプトでは、検出されたすべてのタグIDがコンソールに出力されます。

例6-9    ソース・スクリプト

function filter(events) 
{
    for ( i=0; i<events.length; i++ )
    {
        id = events[i].getTagId();       
        java.lang.System.out.println("Id:"+id )
    }
}

Movementフィルタの構成

Movementフィルタは、Real Time Location System測定を使用して、エラーや干渉による急増や急な運動変化を平坦にすることにより移動追跡を円滑化します。Movementフィルタは、現在の位置と以前の位置との距離を計算します。この距離が距離しきい値を下回ると、現在のイベントがフィルタリングで除外されます。

Movementフィルタのパラメータは、Distance Thresholdというパラメータ1つです。このパラメータを定義するには、レポートする必要のある最小移動を示す正の数(int値)を入力します。

Movementフィルタのシグネチャを表6-23に示します。

表6-23    Movementフィルタのシグネチャ 
イベント・フィールド  値 

sourceName 

このフィールドは、イベントの発信元を識別する。このフィールドはオプションで、値はクライアントによって設定される。 

correlationId 

このフィールドはクライアントによって設定され、特定のクライアントへのメッセージ・レスポンス(デバイスが機能しているかどうかのチェックなど)に使用される。同じクライアントによって返されたメッセージは同じIDを持つ。オプションのフィールド。 

siteName 

このイベントを生成したサイトの名前。 

deviceName 

このイベントを生成したデバイスの名前。 

time 

イベントが生成された時刻。 

type 

測定イベント。範囲は200〜299。 

subtype 

RTLS Moved(サブタイプ4)。 

id 

タグのID。 

data 

タグのデータ・ペイロード。 

Pallet Pass Thruフィルタの構成

Pallet Pass Thruフィルタは指定された時間内に受信したすべてのイベントを収集し、1つのイベントとして送信します。パレットまたはコンテナがリーダー・デバイスのゲートまたは伝達範囲を通過すると、このフィルタがこれらすべてのタグに対して1つのイベントを生成します。このフィルタにより、コンテナまたはパレットが所有しているアイテムを確認できます。

Pallet Pass Thruフィルタには、次のパラメータが含まれます。

Exit Event Threshold Time

このパラメータを定義するには、デバイスが最後にタグを読み取ってから、デバイスの伝達範囲を出たとみなされるまでの時間(int値)をミリ秒単位で入力します。このパラメータには、デバイスがこれらのタグ検出中イベントをレポートする頻度(リーダー・サイクル)を50ミリ秒から2秒の範囲で指定します。この頻度を大きすぎる値(2秒など)に設定すると、デバイスがタグを完全に見過ごす可能性があります。

Event Collect Control Time

このパラメータを定義するには、新しい読取りサイクルを開始する前に、デバイスがパレットまたはコンテナに含まれているタグの読取りサイクルを完了する時間(int値)をミリ秒単位で入力します。この時間が経過すると読取りサイクルは終了し(デバイスがすべての新しいタグを読み取ったとみなされ)、Pallet Pass Thruフィルタは次のシグネチャ(表6-24を参照)を持つイベントを生成します。

表6-24    Pallet Pass Thruイベントのシグネチャ 
イベント・フィールド  値 

sourceName 

このフィールドは、イベントの発信元を識別する。このフィールドはオプションで、値はクライアントによって設定される。 

correlationId 

このフィールドはクライアントによって設定され、特定のクライアントへのメッセージ・レスポンス(デバイスが機能しているかどうかのチェックなど)に使用される。同じクライアントによって返されたメッセージは同じIDを持つ。オプションのフィールド。 

siteName 

このイベントを生成したサイトの名前。 

deviceName 

このイベントを生成したデバイスの名前。 

time 

イベントが生成された時刻。 

type 

測定イベント。範囲は200〜299。 

subtype 

RFID Pallet Pass(サブタイプ6)。 

id 

タグIDのカンマ区切りのリスト。 

data 

データのカンマ区切りのリスト。 

Pallet Shelfフィルタの構成

Pallet Shelfフィルタは指定された間隔内に受信したすべてのイベントを収集し、1つのイベントとして送信します。このフィルタにより、多数のアイテムを持つ新しいコンテナまたはパレットがデバイス・リーダーの読取り範囲またはゲートを出入りするときに識別できます。

Pallet Shelfフィルタには、次のパラメータがあります。

Exit Event Threshold Time

このパラメータを定義するには、デバイスが最後にタグを読み取ってから、デバイスの伝達範囲を出たとみなされるまでの時間(int値)をミリ秒単位で入力します。Pallet Shelfフィルタは、Exit Event Threshold Timeパラメータで定義した間隔が経過してイベントが生成されないと、キャッシュを警告なしにクリアします。

Event Collect Control Time

このパラメータを定義するには、新しい読取りサイクルを開始する前に、デバイスがパレットまたはコンテナのタグの読取りサイクルを完了する時間(int値)をミリ秒単位で入力します。この時間が経過すると読取りサイクルは終了し(デバイスがすべての新しいタグを読み込んだとみなされ)、Pallet Shelfフィルタはイベントを生成します。

Pallet Shelfフィルタが生成するイベント

Pallet Shelfフィルタは次の2つのイベントを生成します。

MULTIPLE IN FIELDイベント

デバイスが最初にタグを検出すると、Pallet ShelfフィルタはMULTIPLE IN FIELDイベントを生成します。このイベントには、次のシグネチャ(表6-25)が含まれます。

表6-25    MULTIPLE IN FIELDイベントのシグネチャ 
イベント・フィールド  値 

sourceName 

このフィールドは、イベントの発信元を識別する。このフィールドはオプションで、値はクライアントによって設定される。 

correlationId 

このフィールドはクライアントによって設定され、特定のクライアントへのメッセージ・レスポンス(デバイスが機能しているかどうかのチェックなど)に使用される。同じクライアントによって返されたメッセージは同じIDを持つ。オプションのフィールド。 

siteName 

このイベントを生成したサイトの名前。 

deviceName 

このイベントを生成したパレットまたはコンテナを読み取るデバイスの名前。 

time 

Pallet Shelfフィルタがこのイベントを生成した時刻。 

type 

測定イベント。範囲は200〜299。 

subtype 

RFID Pallet In-Field(サブタイプ4)。 

id 

タグIDのカンマ区切りのリスト。 

data 

データのカンマ区切りのリスト。 

MULTIPLE OUT FIELDイベント

Exit Event Threshold Timeパラメータに定義した間隔が経過すると、Pallet ShelfフィルタはMULTIPLE OUT FIELDイベントを生成します。このイベントには、次のシグネチャ(表6-26)が含まれます。

表6-26    MULTIPLE OUT FIELDイベントのシグネチャ 
イベント・フィールド  値 

sourceName 

このフィールドは、イベントの発信元を識別する。このフィールドはオプションで、値はクライアントによって設定される。 

correlationId 

このフィールドはクライアントによって設定され、特定のクライアントへのメッセージ・レスポンス(デバイスが機能しているかどうかのチェックなど)に使用される。同じクライアントによって返されたメッセージは同じIDを持つ。オプションのフィールド。 

siteName 

このイベントを生成するサイトの名前。 

deviceName 

このイベントを生成したパレットまたはコンテナを読み取るデバイスの名前。 

time 

Pallet Shelfフィルタがこのイベントを生成した時刻。 

type 

測定イベント。範囲は200〜299。 

subtype 

RFID Pallet Out Filed(サブタイプ5)。 

id 

タグIDのカンマ区切りのリスト。 

data 

データのカンマ区切りのリスト。 

Passフィルタの構成

タグがデバイス・リーダーの伝達範囲またはゲートを通過すると、一連のタグ検出中イベントが生成されます。タグが伝達範囲に入ると、デバイスはこれらのイベントを定期的にレポートします。タグがリーダーの伝達範囲を出ると、レポートは停止します。

デバイス・リーダーが生成する一連のイベントをアプリケーションが必要とせず、タグがデバイスのゲートまたは伝達範囲を通過したことだけがわかればよいことも多々あります。Passフィルタはそのような状況に適しており、すべてのタグ検出中イベントを、リーダー・デバイスの伝達範囲を通過する一意のタグごとに1つのイベントにまとめます。

Passフィルタのパラメータは、Exit Event Threshold Timeというパラメータ1つです。このパラメータを定義するには、デバイスが最後にタグを読み取ってから、デバイスの伝達範囲を出たとみなされるまでの時間(int値)をミリ秒単位で入力します。このパラメータには、デバイスがこれらのタグ検出中イベントをレポートする頻度(リーダー・サイクル)を50ミリ秒から2秒の範囲で指定します。この頻度を大きすぎる値(2秒など)に設定すると、デバイスがタグを完全に見過ごす可能性があります。

デバイスが最初にタグを読み取ると、PassフィルタはタグのID(タグID)をキャッシュし、そのタグIDがキャッシュに読み取られた時間を記録すると、すぐにパススルー・イベントを送信します。フィルタは、このキャッシュされたタグIDがその後に読み取られないようにブロックします。フィルタがデバイスから新しい読取りを受信するたびに、タグIDをキャッシュに読み取った時刻を更新します。キャッシュ時刻とExit Event Threshold Timeに設定された値の合計が現在の時間より小さい場合、PassフィルタはキャッシュからタグIDを消去します。デバイスが次にこのタグを読み取ると、フィルタは新しいイベントとみなし、そのタグIDをキャッシュして、新しいパススルー・イベントを送信します。

パススルー・イベントには、次のシグネチャ(表6-27)が含まれます。

表6-27    パススルー・イベントのシグネチャ 
イベント・フィールド  値 

sourceName 

このフィールドは、イベントの発信元を識別する。このフィールドはオプションで、値はクライアントによって設定される。 

correlationId 

このフィールドはクライアントによって設定され、特定のクライアントへのメッセージ・レスポンス(デバイスが機能しているかどうかのチェックなど)に使用される。同じクライアントによって返されたメッセージは同じIDを持つ。オプションのフィールド。 

siteName 

このイベントを生成したサイトの名前。 

deviceName 

このイベントを生成したデバイスの名前。 

time 

イベントが生成された時刻。 

type 

測定イベント。範囲は200〜299。 

subtype 

パススルー・イベント(サブタイプ3)。 

id 

タグのID。 

data 

タグのデータ・ペイロード。 

Polygonフィルタの構成

Polygonフィルタは、Real Time Location Systemデバイスによってレポートされたすべての移動測定をフィルタリングで除外し、タグが定義済のポリゴンに出入りしたときにのみイベントを生成します。ポリゴンは、頂点とカッコを定義するx,y座標のセットを使用して定義します。たとえば、( (x,y), (x,y), ... ), (....), ...のように定義します。

Polygonフィルタのパラメータは、PolygonCoordinatesというパラメータ1つです。このパラメータを定義するには、String値を((x1, y1), (x2, y2)...,(xn, yn))という形式で入力します。

Regexフィルタの定義

Regexフィルタは、ストリームを削除するか、ストリームの通過を許可するためのタグを検索する正規表現検索を実行します。このフィルタを使用すると、フィルタのパターン・セットを定義してイベントの任意の範囲を検索できます。フィルタにより検索基準の一致が見つかると、イベントがシステムを通過することが許可されます。一致が見つからない場合、そのイベントがフィルタリングで除外されます。RegexFilterは汎用フィルタであり、どのイベント・タイプに対しても使用できます。

Regexフィルタのパラメータは、allowというパラメータ1つです。このパラメータを定義するには、フィルタの通過を許可するイベントの正規表現(String)を次の形式で入力します。

<field>~<pattern>&&<field>~<pattern>||...

ここで、<field>は、一致をフィルタリングするイベント・フィールドの名前です。このフィルタでは次のフィールドがサポートされます。

<pattern>は標準の正規表現、&&はAND接続語、||はOR接続語です。たとえば、イベント・タイプが103のすべてのイベントと、最初の3桁が0FEに一致するタグをRegexFilterインスタンスにより検索する場合は、次のように入力します。

type~103&&tagid~^0FE

Shelfフィルタの構成

Shelfフィルタは、リーダーの読取り範囲内でタグが検出されたとき、またはタグが読取り範囲を離れたときにイベントを生成するデバイス・レベルのフィルタです。Passフィルタと同様に、ShelfフィルタのパラメータもExit Event Threshold Timeというパラメータ1つです。このパラメータを定義するには、デバイスが最後にタグを読み取ってから、デバイスの伝達範囲を出たとみなされるまでの時間(int値)をミリ秒単位で入力します。ただし、Passフィルタとは異なり、ShelfフィルタはExit Event Threshold Timeパラメータで定義した間隔が経過してイベントが生成されないと、キャッシュを警告なしにクリアします。

Shelfフィルタが生成するイベント

Shelfフィルタは次の2つのイベントを生成します。

IN FIELDイベント

Shelfフィルタは、デバイスが最初にタグを検出すると、このイベントを生成します。このイベントには、次のシグネチャ(表6-28)が含まれます。

表6-28    IN FIELDイベントのシグネチャ 
イベント・フィールド  値 

sourceName 

このフィールドは、イベントの発信元を識別する。このフィールドはオプションで、値はクライアントによって設定される。 

correlationId 

このフィールドはクライアントによって設定され、特定のクライアントへのメッセージ・レスポンス(デバイスが機能しているかどうかのチェックなど)に使用される。同じクライアントによって返されたメッセージは同じIDを持つ。オプションのフィールド。 

siteName 

このイベントを生成したサイトの名前。 

deviceName 

このイベントを生成したデバイスの名前。 

time 

Shelfフィルタがこのイベントを生成した時刻。 

type 

測定イベント。測定イベントの範囲は200〜299。 

subtype 

IN-FIELDイベント(サブタイプ2)。 

id 

タグのID。 

data 

タグのデータ・ペイロード。 

OUT FIELDイベント

Shelfフィルタは、Exit Event Threshold Timeパラメータに定義した間隔が経過すると、このイベントを生成します。このイベントには、次のシグネチャ(表6-29)が含まれます。

表6-29    OUT FIELDイベントのシグネチャ 
イベント・フィールド  値 

sourceName 

このフィールドは、イベントの発信元を識別する。このフィールドはオプションで、値はクライアントによって設定される。 

correlationId 

このフィールドはクライアントによって設定され、特定のクライアントへのメッセージ・レスポンス(デバイスが機能しているかどうかのチェックなど)に使用される。同じクライアントによって返されたメッセージは同じIDを持つ。オプションのフィールド。 

siteName 

このイベントを生成したサイトの名前。 

deviceName 

このイベントを生成したデバイスの名前。 

time 

Shelfフィルタがこのイベントを生成した時刻。 

type 

測定イベント。測定イベントの範囲は200〜299。 

subtype 

OUT-FIELDイベント(サブタイプ2)。 

id 

タグのID。 

data 

タグのデータ・ペイロード。 

デバイスが最初にタグを検出すると、ShelfフィルタはタグのIDをキャッシュし、IN FIELDイベントを生成します。この時点で、タグは各リーダー・サイクル中に読み取られます。これらのサイクル中にタグが読み取られない場合には、他のサイクル中に読み取られます。デバイスが、Event Exit Threshold Timeパラメータで指定したよりも長い時間継続してタグを読み取らないと、フィルタはタグのIDをキャッシュから削除し、OUT FIELDイベントを生成します。デバイスの読取り範囲を出ると、デバイスはタグの読取りを停止します。

Oracle Sensor Edge Serverインスタンス用のディスパッチャの管理

Oracle Sensor Edge Serverの主要な出力は、フィルタリングされたデータ・イベントです。デバイスと各フィルタは、このイベント・データを標準化および最小化します。Oracle Sensor Edge Serverでは、次のディスパッチャ方法によりイベント・データを配信できます。

これらのディスパッチャ方法の構成方法については、次の項で説明しています。

Webサービスにイベント・メッセージを送信するためのディスパッチャの構成

新しいメッセージを配信する必要がある場合、クライアント・デバイスまたはアプリケーションは、Oracle Sensor Edge Serverが起動するSOAPコールを登録できます。

Webサービスを介してイベント・メッセージを配信するようにWebServiceディスパッチャを構成するには、クライアント・コールが記述されたWSDL(Web Service Definition Language)ドキュメントのサービスURLを入力します。このURLは、Webサービスのエンドポイント(ポート)を指す必要があります。たとえば、http://localhost:8888/wsdl/mytest.wsdlと入力します。このドキュメントには、EdgeClientCallbackのportTypeと、その子要素としてコールprocessEventが含まれている必要があります。Oracle Sensor Edge Serverは起動時に、このWSDLドキュメント内に定義されているサービスへの接続およびバインドを試行します。

HTTPを使用してイベント・メッセージを送信するためのディスパッチャの構成

HTTP 1.0を使用してクライアントにイベントをルーティングするようにディスパッチャを構成すると、Oracle Sensor Edge Serverでは各イベント・メッセージがクライアントに個別にポストされます。Oracle Sensor Edge Serverではこれらのポストが順番に実行されるため、1つのポストがブロックされると、それに続くすべてのポストもブロックされます。

HTTPを使用してイベントをルーティングするようにOracle Sensor Serverを構成するには、次のパラメータを定義します。

PMLディスパッチャの構成

PMLディスパッチャは、HTTP、FTP、FILEなどのプロトコルに対してトランスポート・ライブラリを使用してEPC PML形式でイベントをポストします。


注意

PMLは、測定をレポートする場合に使用されるレガシー形式です。 


PMLディスパッチャを使用するようにOracle Sensor Serverを構成するには、宛先URIを定義します。「デバイスおよびディスパッチャのURIパラメータの設定」を参照してください。

テンプレート・ディスパッチャの構成

テンプレート・ディスパッチャ(EventFlowDispatcherとも呼ばれる)は、様々なソースからイベントを送受信し、eflow.xml構成ファイルを使用して構成された有限状態マシンを介してイベントを処理します。このディスパッチャは、トランスポート・ライブラリを使用して、HTTP、POJ、Webサービスおよびダイレクト・データ・ストリームを介してデータを送受信します。

テンプレート・ディスパッチャを使用するようにOracle Sensor Serverを構成するには、eflow.xmlの場所を入力します。

ALEDispatcherの構成

ALEDispatcherをALE Webサービス・インタフェースと組み合せて使用すると、レポート仕様が満たされたときにALEサブスクライバに通知することができます。

Nullディスパッチャの使用

Nullディスパッチャはデフォルトで作成され、渡されたすべてのイベントを破棄します。破棄されたイベントは保存またはスプールされません。このディスパッチャは、Oracle Sensor Edge Serverがイベントをディスパッチしないようにする場合にのみ使用します。

Oracle Streamsを使用するためのエッジ・ディスパッチャの構成

Oracle Streamsおよびアドバンスト・キューイングを使用するようにOracle Sensor Edge Serverを構成すると、エッジ・ディスパッチャがイベント・メッセージを取得および配信する方法を制御できます。WebサービスやHTTPディスパッチャ・オプションとは異なり、Oracle Streamsディスパッチャを使用してディスパッチされたイベント・メッセージは、エントリ・ポイントに直接取り次ぐ必要がありません。Oracle Streamsディスパッチャでは、ルールベースの処理およびエージェント・テクノロジがサポートされます。また、StreamsディスパッチャではUTF-8エンコーディングのみがサポートされます。

ヒント

  • Oracle Streamsにより、1つまたは多数のデータベースでデータ・ストリーム内のデータ、トランザクションおよびイベントを伝播し、管理できるようになるため、これは、用意されたディスパッチャ・オプションの中で最も柔軟性が高いオプションです。

  • Oracle Streamsディスパッチャには、JDK 1.4.xが必要です。

 

イベント・メッセージは、ステージング・エリア(内部キュー)に置かれるデータです。このデータは、各種のクライアント・デバイスやアプリケーション(イベント・メッセージのコンシューマ)用に様々な方法で集約できます。Oracle Streamsをディスパッチャとして使用すると、Oracle Sensor Edge Serverまたはアプリケーションではなく、データベースのデータおよびイベント・レイヤーにより、どのイベントがいつ生成されるかが決まります。データおよびイベント・レイヤーは、各クライアント・デバイスまたはアプリケーションに適したイベント・メッセージを決定するルールベースの処理を行います。

イベント・メッセージが取得され、ステージング・キューに置かれると、イベント・メッセージ・データはルール評価ジョブによって処理できます。このジョブはステージング・キューからイベント・メッセージを取得し、Oracle Sensor Edge Serverルール・セットと比較します。各ルールには、ルールが当てはまる場合に実行されるアクションがあります。これらのアクションには、その他のアプリケーションで使用できるその他のキューに、イベント・メッセージを伝播するためのPL/SQLコールバックが含まれます。

これらのルールベースのアクションに加え、ルール評価ジョブは、Oracle Sensor Edge Serverやその他のソースからセンサー・データを受信するセンサー・データ・リポジトリ(SDR)をコールしてアプリケーションを起動します。SDRには、フィルタリングされたすべてのセンサー・イベントをシステムに格納するアーカイブ表のセットが含まれます。
詳細は、第4章「センサー・データ・リポジトリの使用」を参照してください。


注意

ルールによって処理されていない生の未フィルタ処理イベント・データが必要なアプリケーションは、AQ通知を使用してステージング・エリアに接続できます。 


Streamsディスパッチャを構成するには、threadnumフィールドに、アウトバウンド測定値を処理するために作成する最大スレッド数を入力します。各スレッドが接続を保持するため、これは、アウトバウンド・イベント用に使用するセンサー・データ・リポジトリへの接続数でもあります(インバウンド・イベント用に使用する接続は別に存在します)。0は無効な値です。「リリース3(10.1.3)のセンサー・データ・リポジトリおよびセンサー・データ・ストリームの手動構成」も参照してください。


戻る 次へ
Oracle
Copyright © 2006 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引