ヘッダーをスキップ

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

B31872-01
目次
目次
索引
索引

戻る 次へ

3 Oracle Sensor Edge Serverの管理

この章では、Sensor Edge Serverコンソール(SESコンソール)を使用してOracle Sensor Edge Serverインスタンスを管理および監視する方法について説明します。この章の内容は次のとおりです。

Oracle Sensor Edgeサービス管理の概要

Oracle Sensor Edge Serverを使用すると、センサー・デバイスまたはアプリケーションからイベント・データを受信し、受信したデータを共通のデータ形式に標準化した後、フィルタを使用して余分な情報を除外することで、エンタープライズはセンサーからの情報をITインフラストラクチャおよびビジネス・アプリケーションに取り込むことができます。イベント・データは標準化されたイベント・メッセージとなり、ディスパッチャを使用してエッジ・クライアントに送信されます。Oracle Sensor Edge Serverのディスパッチャの構成に応じて、Oracle Sensor Edge ServerクライアントはWebサービス、HTTP、EPC PML、ALE Webサービスまたはデータベース・ストリームを使用してイベント・メッセージを受信します。メッセージは常にイベントによって受渡しされます。

SESコンソールでは、Oracle Sensor Edge Serverインスタンスを管理および監視できます。SESコンソールのタブと、そのタブで実行できる操作を表3-1に示します。

表3-1    SESコンソールで実行できる操作 
タブ  操作 

メイン 

次の操作があります。

 

監視イベント 

未処理のイベント・データの表示  

ログの表示 

ログ情報の表示 

イベント・レポート 

次の操作があります。

 

Oracle Sensor Edge Serverインスタンスの管理

OC4J管理者の名前およびパスワードを使用してSESコンソールにログインすると、コンソールではデフォルトで「構成」タブのメイン・ページが表示されます。このページには、現在のOracle Sensor Edge Serverインスタンスの使用状況、その基本構成、およびその現行ディスパッチャが全体的に表示されます。このページから、「サーバー」や「サイト名」パラメータなどの基本構成を編集したり、別のディスパッチャ方法を選択することができます。Oracle Edge Sensor Serverインスタンスの基本構成の詳細は、「Oracle Sensor Edge Serverインスタンスの一般情報の設定」を参照してください。


注意

最初にOC4Jを起動する必要があります。「Oracle Sensor Edge Serverインスタンスの起動と停止」を参照してください。 


図3-1    メイン・ページ(表示の一部)


画像の説明

Oracle Sensor Edge Serverインスタンスの基本構成の詳細は、「Oracle Sensor Edge Serverインスタンスの一般情報の設定」を参照してください。ディスパッチャの詳細は、「デバイス、フィルタ・インスタンスおよびディスパッチャの構成」を参照してください。

SESコンソールの各ページに表示されるナビゲーション・ツリー(図3-2)では、現在のOracle Sensor Edge Serverインスタンスおよびリポジトリ内の拡張機能(フィルタ、ドライバおよびディスパッチャ)を構成できます。ツリーでは現在のOracle Sensor Edge Serverの構成ページが階層編成され、最上位ノードに現在のOracle Sensor Edge Serverの名前が表示されます。ノードの隣にあるプラス(+)記号またはマイナス(-)記号をクリックすると、項目を表示したり、非表示にすることができます。(図3-2の「グループ」のように)ツリーで下線の付いた項目は、変更できます。下線の付いた項目をクリックすると、選択した項目を変更および管理できるプロパティ・ページにアクセスできます。その他の項目(下線の付いていない項目)はタイトルであり、変更できません。

図3-2    ナビゲーション・ツリー


画像の説明

ツリーからアクセスしたページでは、次の操作を実行できます。

他のOracle Sensor Edge Serverインスタンスへのアクセス

SESコンソールでは、「エッジ・サーバー・インスタンス・リスト」ページを使用して、同じセンサー・データ・リポジトリに接続されている他のOracle Sensor Edge Serverインスタンスにアクセスできます。このページにアクセスするには、「他のサーバー」アイコン(図3-3)を使用します。

このページの「エッジ・サーバー・インスタンス・リスト」表には、同じセンサー・データ・リポジトリに接続されているOracle Sensor Edge Serverのエントリが一覧表示されます。これらのエントリにより、他のサーバー・インスタンスを特定したり、他のサーバー・インスタンスにアクセスすることができます。この表を使用すると、別のOracle Sensor Serverインスタンスにアクセスしたり、他のOracle Sensor Serverインスタンスの実行ステータスを表示することができます。また、他のOracle Sensor Serverインスタンスのエントリの編集および削除もできます。

別のOracle Sensor Serverインスタンスにアクセスするには、「エッジ・サーバー・インスタンス・リスト」表の「サーバー名」列のインスタンス名をクリックし、表示されるログイン・ページにOC4Jの管理者の名前とパスワードを入力します。

表のメモ帳のアイコンをクリックすると、選択したOracle Sensor Edge Serverインスタンスのエントリを編集できます。ゴミ箱のアイコンをクリックすると、エントリを削除できます。ページの「新規エッジ・サーバー・インスタンス」セクション内のフィールドを使用すると、Oracle Sensor Edge Serverインスタンスのエントリを作成できます。このエントリはインスタンスの名前と場所で構成されます(「Oracle Sensor Edge Serverインスタンスのエントリの作成」を参照)。


注意

Oracle Sensor Edge Serverのライブ・インスタンスが起動されるとそれ自身のエントリが作成されるため、Oracle Sensor Edge Serverインスタンスのエントリを作成するように要求されることはありません。 


図3-3    「他のサーバー」アイコン


画像の説明

Oracle Sensor Edge Serverインスタンスのエントリの作成

Oracle Sensor Edge Serverインスタンスのエントリを作成するには、次のようにします。

  1. 「他のサーバー」アイコン(図3-3)をクリックします。「エッジ・サーバー・インスタンス・リスト」ページが表示されます。このページには、同じセンサー・データ・リポジトリに接続されているOracle Sensor Edge Serverインスタンスの表が表示されます。

  2. Oracle Sensor Edge Serverインスタンスの名前を入力します。

  3. Oracle Sensor Edge Serverインスタンスを指すURLを入力します。次の形式でURLを入力します。

    http://<hostname/ip address>:<port>/edge

    <port>の値は、Oracle Application Server Containers for J2EE(OC4J)がリスニングするポートです。これは、Oracle Sensor Edge Serverインスタンスが実行されているマシン上に存在します。OC4Jリリース10.1.3インスタンスの場合、ポート値を見つけるには、oracle_home/opmn/binに移動してから次のコマンドを実行します。

    opmnctl status - l

    OC4Jリリース10.1.2インスタンスの場合、OC4Jリスナー・ポートは通常8888です。OC4Jリリース10.1.2の詳細は、『Oracle Application Server Containers for J2EEユーザーズ・ガイド』および「OC4Jのインストール」を参照してください。

  4. 「エントリの作成」をクリックします。新しいOracle Sensor Edge Serverインスタンスが「エッジ・サーバー・インスタンス・リスト」表に表示されます。

Oracle Sensor Edge Serverインスタンスのエントリの編集

エントリを編集するには、まず、選択したOracle Sensor Edge Serverエントリのメモ帳アイコンをクリックします。編集ページが表示され、選択したエントリに設定されている情報が「サーバー名」および「URL」フィールドに表示されます。次のいずれか(または両方)の操作を実行します。

変更をコミットする場合は「エントリの更新」をクリックし、エントリを元の状態に戻す場合は「取消」をクリックします。

Oracle Sensor Edge Serverインスタンスのパフォーマンスの監視

Sensor Edge Serverインスタンス・ページの「利用状況統計」セクション(図3-1)に、Oracle Sensor Edge Serverインスタンスの次のパフォーマンス・メトリックが一覧表示されます。

イベント・データのキューのクリア

「キューの消去」をクリックすると、システム内のキューに格納されているイベントがすべて削除されます(また、「キューに入れられたイベント」に表示される数値が0に設定されます)。この機能を使用して、ディスパッチャを設定および起動する前に、またはOracle Sensor Edge Serverインスタンスを再起動する前に、バックアップされている古いイベント・メッセージをパージします。


警告

「キューの消去」をクリックした後で、パージしたイベント・データをリカバリすることはできません。  


Oracle Sensor Edge Serverインスタンスの一般情報の設定

メイン・ページの「一般設定」セクションでは、Oracle Sensor Edge Serverインスタンスの基本情報(表3-2)を編集できます。「変更の保存」をクリックして、更新をOracle Sensor Edge Serverにコミットします。

表3-2    一般設定 
パラメータ  説明 

サーバー名 

Oracle Sensor Edge Serverインスタンスの名前。 

サイト名 

Oracle Sensor Edge Serverのサイト名。このパラメータは、複数のOracle Sensor Edge Serverインスタンスを論理的に区別するためのグループ化メカニズムである。 

内部キュー 

リーダー(またはデバイス)から送信されたイベント・メッセージは、内部キューに格納される。ディスパッチャはこのキューからイベントを取り出してディスパッチする。たとえば、ストリーム・ディスパッチャはこのキューからイベント・メッセージをデータベースにディスパッチする。

次の各オプションを使用すると、イベント・メッセージがディスパッチされる前にどのように保持されるかを制御することによりデータを保護し、イベント・データを保護できる。

次のオプションがある。

  • 永続: 「永続」モードを選択すると、イベント・メッセージはディスクに格納されてから、ディスク上でディスパッチャにより収集される。これらのイベント・メッセージをディスクに格納すると、Oracle Sensor Edge Serverインスタンスがクラッシュした場合にイベント・メッセージが失われることがない。

  • メモリー: データベースまたは接続のいずれかが遅い場合、このオプションを選択すると、デバイスがイベント・メッセージを生成する速度がディスパッチできる速度よりも速いときにイベント・メッセージがバックアップされない。「メモリー」を選択すると、Oracle Sensor Edge Serverインスタンスはこれらのメッセージをメモリー内に保持する。この場合、メッセージはディスクに書き込まれないため、生成されるオーバーヘッドは少ないが、Oracle Sensor Edge Serverインスタンスがクラッシュした場合はイベント・メッセージが失われる。

 

ログ・レベル 

ログ・ファイルに書き込まれるメッセージの重大度レベルを設定する、次のエラー記録オプションのリスト。

  • エラー

  • 警告

  • 通知

  • モニター

  • デバッグ

ログ・ファイルに書き込まれるエラー・メッセージは、選択したログ・レベルのみでなく、選択したログ・レベルよりも重大度の高いログ・レベルも反映する。選択したレベルにより、「ログの表示」タブに表示されるデータが決定される。「ログ情報の表示」も参照。 

アーカイブを使用 

このオプションを選択すると、イベントがセンサー・データ・リポジトリに保存される。 

停止タイムアウト 

Oracle Sensor Edge Serverが、正常に機能していないスレッドを停止するまでに待機する時間(ミリ秒)を入力する。  

Oracle Sensor Edge Serverインスタンスのディスパッチャの設定

メイン・ページの「ディスパッチャの変更」図3-4)をクリックすると、Oracle Sensor Edge Serverで使用されるディスパッチャを変更できます。「Oracle Sensor Edge Serverインスタンス用のディスパッチャの管理」も参照してください。

図3-4    ディスパッチャの変更


画像の説明

表示される「検索と選択」ページ(図3-5)から、リモートWebサービス、Oracle Streamsなどの方法を使用して(クライアント・アプリケーションにはHTTPを使用して)イベント・メッセージを送信するエッジ・ディスパッチャを選択できます。

図3-5    新しいディスパッチャの選択


画像の説明

Oracle Sensor Edge Serverインスタンスで同時に使用されるディスパッチャは1つのみです。ディスパッチャを現行ディスパッチャとして割り当てた後、Oracle Sensor Edge Serverインスタンスを再起動する必要があります。「Oracle Sensor Edge Serverインスタンスの起動と停止」を参照してください。

ディスパッチャ、ドライバおよびフィルタの表示

ツリー内の「使用可能な拡張機能」フォルダ(図3-6)を展開すると、Oracle Sensor Edge Serverインスタンスに使用可能なディスパッチャ、フィルタおよびドライバが表示されます。ディスパッチャは、Oracle Sensor Edge Serverインスタンスに送信されたイベントをディスパッチ・レイヤーまたは直接アプリケーションに転送します。ドライバを使用すると、(リーダーなどの)デバイスとOracle Sensor Edge Serverインスタンスと間の通信が可能になります。また、通常、(重複イベントなどの)不要なイベントを削除するか、1つ以上のイベントを削除して上位レベルのイベントに変換するフィルタも使用可能になります。

図3-6    「使用可能な拡張機能」フォルダ


画像の説明

ドライバなどの拡張機能をクリックすると、選択したドライバのデフォルト・プロパティが表示されます。パラメータの値セットは読取り専用であり、これらのオブジェクトの現在の構成を表しているわけではありません。Oracle Sensor Edge Serverインスタンスでは拡張機能のライブ・インスタンスは使用されないため、これらのパラメータを構成することはできません。かわりに、Oracle Sensor Edge Serverインスタンスにより、「使用可能な拡張機能」フォルダに示されたフィルタおよびドライバのインスタンスを使用してイベント・データの読取りとクレンジングが実行されます。これらのフィルタ・インスタンスおよびドライバ・インスタンス(デバイスと呼ばれる)を作成するには、デバイス・グループを作成する必要があります。デバイス・グループの作成の詳細は、「デバイス、フィルタ・インスタンスおよびディスパッチャの構成」を参照してください。Sensor Edge Serverのディスパッチャの設定の詳細は、「Oracle Sensor Edge Serverインスタンスのディスパッチャの設定」を参照してください。

Oracle Sensor Edge Serverで使用するデバイスおよびフィルタの設定

Oracle Sensor Edge Serverインスタンスによるイベント・データの受信、フィルタリングおよびディスパッチを可能にするには、まずデバイス・グループを作成する必要があります。デバイス・グループは、デバイス(ドライバのインスタンス)の論理グループと、これらのデバイスに関連付けられたフィルタで構成されます。1つのOracle Sensor Edge Serverインスタンスに対して、1つまたは多数のデバイス・グループをインスタンス化できます。各デバイス・グループは、それに属するすべてのデバイス(およびそれに関連付けられたフィルタ)の処理を行います。

デバイス・グループにより、1つ以上のデバイスを論理デバイス(グループ)に編成します。デバイス・グループを使用して、処理するデバイスを1つのイベント・ストリームとして関連付けます。たとえば、ウェアハウスのすべての出口に設置された全デバイスで構成される、Warehouse Exitsという名前のデバイス・グループを作成(また必要な場合、このグループにフィルタ・インスタンスを追加)したとします。この場合、生成されるイベントはすべて、複数のデバイスからでなく1つの論理デバイスから生成されたデータとして表示されます。

(前述のWarehouse Exitsデバイス・グループの場合のように)デバイスを1つの論理的な管理単位として扱う必要がある場合、管理のためにデバイスをグループ化できます。あるいは、デバイスにより実行されるフィルタリング・タイプに基づいてデバイスをグループ化することもできます(図3-7)。たとえば、リーダー間フィルタリングによってデバイスをグループ化する場合は、関連するデバイス・グループを作成し、そのグループにフィルタをアタッチすることができます。詳細は、「デバイスまたはデバイス・グループのフィルタ・インスタンスの管理」を参照してください。

図3-7    フィルタによってグループ化されたリーダー・デバイス


画像の説明

Oracle Sensor Edge Serverのデバイス・グループの表示

「グループ」フォルダをクリックすると、「グループ管理」ページ(図3-8)が表示され、デバイス・グループおよびそれぞれのフィルタが一覧表示されます。また、このページにはグループごとのデバイスの実行ステータスも一覧表示されます。さらに、このページでは新しいデバイス・グループを作成することもできます(「デバイス・グループの作成」を参照)。特定のデバイス・グループの構成を表示するには、「グループ」フォルダを展開し、適切なノードを選択して、選択したデバイス・グループの「グループの構成」ページを表示します。デフォルトのデバイス・グループは、「未割当て」という名前の特殊な予約済グループです。「グループの構成」ページの詳細は、「デバイス・グループの編集」を参照してください。

図3-8    デバイス・グループの構成


画像の説明

デバイス・グループの作成

Oracle Sensor Edge Serverインスタンスをデバイスおよびフィルタに接続する場合、最初にデバイス・グループを作成します。デバイス・グループを作成した後は、デバイス・グループにデバイス(使用可能なドライバのインスタンス)を移入してから、フィルタ・インスタンスを個々のデバイス(またはデバイス・グループ全体)にアタッチします。新しいデバイス・グループを作成するには、次のようにします。

  1. 「グループ管理」ページで、「グループ名」フィールドにデバイス・グループの名前を入力し、「新規グループの作成」をクリックします。新しいデバイス・グループに対する「グループの構成」ページが表示されます。

    図3-9    「グループの構成」ページ


    画像の説明

  2. 「新規デバイスの追加」をクリックして、デバイス・グループのデバイス(ドライバ・インスタンス)を作成します。「検索と選択」ページが表示され、リポジトリ内のドライバが一覧表示されます。

    図3-10    デバイスのドライバの選択


    画像の説明

    select_device.gifはデバイスの「検索と選択」ページを示しています。

    ヒント

    ドライバを見つけるには、「検索」フィールドにドライバの名前(またはドライバ名の一部)を入力して「実行」をクリックします。 

    1. デバイスのドライバを選択します。Oracle Sensor Edge Serverでサポートされているドライバを表3-3に示します。これらのドライバの詳細、これらのドライバからデバイスを作成する場合に必要な構成パラメータ、およびこれらのドライバでサポートされているモデルについては、第6章「デバイス、フィルタ・インスタンスおよびディスパッチャの構成」を参照してください。

      表3-3    サポートされているドライバ 
      リーダー  インジケータ、通知および表示  プリンタ  その他 

      リーダーをサポートするドライバには次のものがある。

      Alienリーダー・ドライバ(「Alienリーダー・ドライバ・ベースのデバイスの構成」を参照)

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

      Intermec BRIドライバ(「Intermec BRIドライバによりサポートされるデバイスの構成」を参照)

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

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

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

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

      通知および表示をサポートするドライバには次のものがある。

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

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

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

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

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

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

      Edge Echoドライバ(「Edge Echoドライバ・ベースのインスタンスの構成」を参照) 

    2. 必要な場合、「新規デバイス名」フィールドにデバイスの名前を入力します。デバイスに名前を割り当てない場合、Oracle Sensor Edge Serverによりデフォルト名が割り当てられます。

    3. 「選択」をクリックします。「グループの構成」ページが再び表示され、「デバイス」セクションにデバイスが一覧表示されます。また、ナビゲーション・ツリーにもデバイスが表示されます。

      図3-11    デバイス・グループに追加されたデバイス


      画像の説明

  3. デバイスをツリーから選択することにより、デバイスの構成を開始します。「デバイス構成」ページが表示され(図3-12)、ドライバに固有のパラメータが表示されます。

    1. パラメータを定義します。ドライバ・パラメータの詳細は、「デバイスの構成」を参照してください。

    2. 「変更の保存」をクリックします。

      図3-12    デバイス・グループのデバイスの構成


      画像の説明

  4. 「新規フィルタの追加」をクリックして、デバイスにフィルタ(フィルタ・インスタンス)を追加します。「検索と選択」ページが表示され(図3-13)、リポジトリ内のフィルタが一覧表示されます。Oracle Edge Sensor Serverに組み込まれているデバイス・レベルおよびグループ・レベルのフィルタを表3-5に示します。

    図3-13    フィルタの選択


    画像の説明

    1. デバイスのフィルタ・インスタンスを選択します。

    2. 必要な場合、「新規フィルタ名」フィールドにフィルタの名前を入力します。フィルタ・インスタンスに名前を割り当てない場合、Oracle Sensor Edge Serverによりデフォルト名が割り当てられます。

    3. 「選択」をクリックします。選択したフィルタが、デバイスの「構成」ページの「構成済フィルタ」セクションに表示されます(図3-14)。また、デバイスの下のツリーにも表示されます。

      図3-14    デバイスへのフィルタ・インスタンスの追加


      画像の説明

  5. 「デバイス構成」ページの「構成済フィルタ」セクションの表またはツリーからフィルタ・インスタンスを選択することにより、フィルタ・インスタンスの構成を開始します。「フィルタ構成」ページが表示され(図3-15)、選択したフィルタのパラメータが表示されます。

    1. 必要な場合は、フィルタ・インスタンスの名前を変更します。

    2. フィルタ・パラメータを定義します。フィルタ・パラメータの詳細は、「フィルタ・インスタンスの構成」を参照してください。

    3. 「変更の保存」をクリックします。

      図3-15    デバイスのフィルタ・インスタンスの作成


      画像の説明

デバイス・グループへのフィルタの追加

必要な場合、次の手順でデバイス・グループにフィルタを割り当てます。

  1. ツリーからデバイス・グループを選択します。「グループの構成」ページが表示されます。

  2. 「新規フィルタの追加」をクリックします。「検索と選択」ページが表示され(図3-13)、リポジトリ内のフィルタが一覧表示されます。Oracle Edge Sensor Serverのデバイス・レベルおよびグループ・レベルのフィルタを表3-5に示します。

  3. デバイス・グループのフィルタ・インスタンスを選択します。

    ヒント

    フィルタを見つけるには、「検索」フィールドにフィルタの名前(またはフィルタ名の一部)を入力して「実行」をクリックします。 

  4. 必要な場合、「新規フィルタ名」フィールドにフィルタの名前を入力します。フィルタ・インスタンスに名前を割り当てない場合、Oracle Sensor Edge Serverによりデフォルト名が割り当てられます。

  5. 「選択」をクリックします。「グループの構成」ページの「構成済フィルタ」セクションと、選択したデバイス・グループの「グループ・フィルタ」の下のツリーに、フィルタが表示されます。

  6. 「グループの構成」ページの「構成済フィルタ」セクションの表またはツリーからフィルタ・インスタンスを選択することにより、フィルタ・インスタンスの構成を開始します。「フィルタ構成」ページが表示され(図3-15)、選択したフィルタのパラメータが表示されます。

  7. 必要な場合は、フィルタ・インスタンスの名前を変更します。

  8. フィルタ・パラメータを定義します。フィルタ・パラメータの詳細は、「フィルタ・インスタンスの構成」を参照してください。

  9. 「変更の保存」をクリックします。

デバイス・グループの編集

「グループの構成」ページ(図3-8)では、デバイス・グループのプロパティを編集できます。このページは、ナビゲーション・ツリー(図3-2)内のデバイス・グループをクリックすると表示され、次の操作を実行できます。

デバイス・グループの名前変更

デバイス・グループの名前を変更するには、次のようにします。

  1. 「グループ名」フィールドに、デバイス・グループの新しい名前を入力します。

  2. 「グループの名前変更」をクリックします。新しいグループ名がツリー内に表示されます。

デバイス・グループで使用するデバイスおよびフィルタの更新

デバイスおよびフィルタ・インスタンスをデバイス・グループに追加するには、「新規デバイスの追加」および「新規フィルタの追加」ボタンを使用します(「デバイス・グループの作成」を参照)。デバイスおよびフィルタ・インスタンスの割当てを完了した後、「更新」をクリックします。

デバイス・グループに割り当てられているデバイスの起動と停止

新しいデバイスやフィルタ・インスタンスの追加などの操作を実行する場合は、そのたびにデバイス・グループをいったん停止して起動する必要があります。デバイス・グループに属するデバイスを起動および停止するには、「すべてのデバイスの起動」ボタンおよび「すべてのデバイスの停止」ボタンを使用します。

デバイス・グループの削除

「グループの削除」ボタンを使用すると、Oracle Sensor Edge Serverからデバイス・グループを削除できます。デバイス・グループを削除すると、そのグループに対して構成されているデバイスおよびフィルタ・インスタンスもすべて削除されます。デバイス・グループを削除した後、変更を有効にするには、Oracle Sensor Edge Server全部を再起動する必要があります。

Oracle Sensor Edge Serverインスタンスの起動と停止

Oracle Sensor Edge Serverインスタンスを変更した後、Oracle Sensor Edge Serverを再起動して変更をコミットする必要があります。Oracle Sensor Edge Serverをいったん停止して再起動するには、次のいずれかの方法を使用します。

opmnctlを使用したOracle Sensor Edge Serverインスタンスの停止と起動

Oracle Sensor Edge Serverの一般的な設定やディスパッチャを変更したり、デバイス・グループを変更した後で、Oracle Sensor Edge Serverを停止して再起動するには、opmnctl shutdownおよびopmnctl startallコマンドを使用します。詳細は、『Oracle Process Manager and Notification Server管理者ガイド』を参照してください。

OracleAS Enterprise Managerを使用したOracle Sensor Edge Serverインスタンスの再起動

Oracle Sensor Edge Serverインスタンスを変更した場合、SESコンソールに、OracleAS Enterprise Managerを使用してOracle Sensor Edge Serverを再起動するように通知するメッセージ(図3-16)が表示されます。このメッセージには、OracleAS Enterprise Managerへのリンクが設定されています。

図3-16    Oracle Enterprise Managerの再起動メッセージ


画像の説明

Oracle Sensor Edge Serverインスタンスを再起動するには、次のようにします。

  1. メッセージ(図3-16)内の「Enterprise Manager」リンクをクリックします。OracleAS Enterprise Managerのログイン・ページが表示されます。

  2. OC4Jのユーザー名およびパスワードを入力すると、「クラスタ・トポロジ」ページが表示されます。

  3. ホームページ(図3-17)に移動します。

  4. 「アプリケーション」をクリックします。

  5. 「edge」を選択します。

  6. 「再起動」をクリックします。


    注意

    無効なjms.xmlに関するエラー・メッセージは、通常、OC4Jの異常終了、OC4Jのクラッシュ、またはOC4Jを実行しているサーバーのIPアドレスの変更によって発生します。

    異常終了の後でOC4J JMSサーバーの起動に問題が発生した場合は、他のOC4J JMSサーバーが稼働中で同じ永続性ファイルを使用していないかをまず確認してください。ORACLE_HOME/j2ee/instance_name/persistenceディレクトリにロック・ファイルがあれば削除し、サーバーを再起動します。

    問題が解決しない場合は、jms.xmlファイルが有効であることを確認してください。

    それでも問題が解決しない場合は、persistenceディレクトリからjms.stateファイルを削除して、再起動してください。このファイルを削除すると、トランザクション情報が失われる可能性があります。『Oracle Containers for J2EEサービス・ガイド』の第3章「Oracle Enterprise Messaging Service(OEMS)」、リソース・プロバイダに関する項の異常終了の説明も参照してください。 


    図3-17    OracleAS Enterprise Managerのホームページ


    画像の説明


    注意

    OC4Jリリース10.1.2を再起動するには、SESコンソールでOC4Jをいったん停止してから、Java_HOME/bin/java -jar oc4j.jarを使用してOC4Jを再び起動します。 


各デバイスの起動と停止

デバイスを更新するには、最初にデバイスを停止する必要があります。デバイスを停止または起動するには、「デバイス構成」ページ(図3-12)から「デバイスの起動」および「デバイスの停止」ボタンを使用します。このページには、デバイスのステータスも表示されます。ステータス・メッセージ(表3-4を参照)に、ドライバの現在の状態、またはクラッシュ前のドライバの状態が説明されます。

表3-4    デバイス・ステータスのメッセージ 
ステータス  定義 

インスタンス化済 

デバイスの初期化が正常に完了(doInit()エントリ・ポイントを通過)。 

初期化の失敗 

初期化に失敗し、デバイスが停止(doInit()メソッドが失敗)。 

開始 

デバイスが起動(doStart()メソッドに入った)。 

起動に失敗しました 

起動に失敗(start()メソッドが失敗)。 

停止 

デバイスが停止。 

停止に失敗しました 

デバイスの停止またはリソースのクリーンアップに失敗。 

終了 

デバイスが処理を完了。固定のタスク・セットがあり、タスクを完了すると通常自動的に停止するデバイス(たとえば、シミュレータなどは、シミュレータ・ファイルの処理を完了すると自動的に停止する)で使用されるステータス。 

接続 

デバイスは接続を試行中。 

接続に失敗しました 

デバイスが接続に失敗。 

設定 

デバイスはリソースおよび接続を設定中。 

設定の失敗 

設定中にデバイスに障害が発生。 

実行 

デバイスは実行中。 

実行の失敗 

実行中にデバイスに障害が発生。 

無効 

デバイスは無効化。 

フィルタの管理

フィルタは、特定のデバイスまたはデバイス・グループのいずれかにアタッチできます。Cross-Reader Redundantフィルタなどの一部のフィルタは、グループ・レベル・フィルタとして記述されているため、デバイス・グループにのみアタッチできます。デバイス・グループ・フィルタを使用すると、エッジ・デバイスに配信される前のイベントをフィルタリングできます。デバイス・グループ専用に記述されているフィルタもあれば、デバイス・レベルのフィルタリング専用に記述されていて、特定のデバイスにアタッチされている場合にのみ機能するようなフィルタもあります。

「デバイス構成」の「構成済フィルタ」表(図3-11)および「グループの構成」(図3-14)ページでは、フィルタ・インスタンスの追加、削除または並替えを行うことができます。「新規フィルタの追加」ボタンを使用すると、他のフィルタ・インスタンスをデバイスまたはデバイス・グループに追加できます。詳細は、「デバイス・グループの作成」および「デバイス・グループへのフィルタの追加」を参照してください。表のごみ箱アイコンをクリックすると、デバイスまたはデバイス・グループからフィルタ・インスタンスを削除できます。表の矢印を使用すると、フィルタ・インスタンスの優先度を設定できます。

フィルタ・インスタンスの優先度の設定

フィルタ・インスタンスの順序は、データのフィルタリングの結果を決定します。たとえば、IDをイベント配列にグループ化し、それを1つの項目として処理するグループ・フィルタと、特定のタグTagXYZを持つイベントをフィルタリングで除外するタグ・フィルタが、デバイスまたはデバイス・グループに割り当てられているとします。この場合、タグ・フィルタをグループ・フィルタより先に適用すると、タグ・フィルタによってTagXYZを持つイベントが除外された後で、Oracle Sensor Edge Serverは、検出された順序に基づいてグループ化されたイベントを受信します。フィルタの順序を逆にする(つまり、グループ・フィルタをタグ・フィルタより前に置く)と、タグ・フィルタのフィルタリングでは、TagXYZを持つイベントではなくグループ・イベントのみを調べるため、何も除外されません。

「構成済フィルタ」表(図3-14)で、フィルタ・インスタンスを選択し、矢印を使用して上下に移動することにより、フィルタ・インスタンスを並替えできます。

デバイスまたはデバイス・グループのフィルタ・インスタンスの管理

フィルタ・インスタンスは、インスタンス化されたフィルタ・オブジェクトです。フィルタがデバイス(またはデバイス・グループ)に適用されている場合は、デバイスまたはデバイス・グループがフィルタを使用できるようにフィルタ・インスタンスが作成されます。

独自のフィルタを開発してアップロードすることもできますが(「Oracle Sensor Edge Serverインスタンスの拡張機能の追加」を参照)、Oracle Sensor Edge Serverには複数のフィルタが付属しています(表3-5を参照)。

表3-5    Oracle Sensor Edge Serverに組み込まれているフィルタ 
フィルタ名  機能  デバイス・グループに適用されるか。(グループ・レベルのフィルタリングのサポート)  デバイスに適用されるか。(デバイス・レベルのフィルタリングのサポート) 

Check Tag IDフィルタ 

指定された間隔中にデバイスがタグを読み取っているかどうかを確認する診断ツール。「Check Tag IDフィルタの構成」も参照。 

× 

○ 

Cross-Reader Redundantフィルタ 

デバイス・グループに属するデバイスから送信された冗長イベントをブロック。「Cross-Reader Redundantフィルタの使用」も参照。 

○ 

× 

Debugフィルタ 

システムを通過するイベントを追跡し、これらのイベントをログ・ファイルに書き込む。「Debugフィルタの使用」も参照。 

○ 

○ 

JavaScriptフィルタ 

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

○ 

○ 

Movementフィルタ 

Real Time Location System測定を使用して、エラーや干渉による急増や急激な運動変化を平坦にすることにより移動追跡を円滑化。「Movementフィルタの構成」も参照。 

× 

○ 

Pallet Pass-Thruフィルタ 

コンテナまたはパレットにあるアイテムのすべてのタグIDを確認できるようにする。「Pallet Pass Thruフィルタの構成」も参照。 

× 

○ 

Pallet Shelfフィルタ 

新しいコンテナまたはパレットがデバイス・リーダーの読取り範囲またはゲートに入ったこと、または出たことを通知するイベントを送信。「Pallet Shelfフィルタの構成」も参照。 

× 

○ 

Passフィルタ 

タグがデバイスのゲートウェイまたは伝達範囲を通過したことをアプリケーションに通知。このフィルタはイベントのブロックも行うため、デバイスによってタグが検出されると、複製イベントではなく、1つのイベントのみが生成される。「Passフィルタの構成」も参照。 

× 

○ 

Polygonフィルタ 

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

× 

○ 

Regexフィルタ 

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

○ 

○ 

Shelfフィルタ 

アイテムがデバイス・リーダーの読取り範囲またはゲートに入ったこと、または出たことを通知。「Shelfフィルタの構成」も参照。 

× 

○ 

イベント・データの監視

デバイスおよびフィルタ・インスタンスは、発生した内容を説明するイベント・メッセージを使用して通信します。たとえば、デバイスは次のようなメッセージを送信して、起動したことを他のコンポーネントに通知します。このようなイベント・メッセージは、デバイスまたはフィルタ・インスタンスの各タイプに固有です。Oracle Sensor Edge Server内部では、どのデバイスもイベントを直接送受信できます。一般に、コンポーネント間のイベント・フローの方向は次の2つです。

イベント・データの表示

SESコンソールでは、「監視イベント」および「イベント・レポート」タブに表示されるイベント・データにより、Oracle Sensor Edge Serverの状態を確認できます。「監視イベント」タブ(図3-20)には、現在キューに格納されているデータが表示されます。また、「イベント・レポート」タブには、センサー・データ・リポジトリに格納されているデータが表示されます。

「監視イベント」タブと「イベント・レポート」タブに表示されるインバウンドおよびアウトバウンドのフィールドを表3-6に説明します。

表3-6    インバウンドおよびアウトバウンドのイベント・データ 
トピック  説明 

タイプ 

イベント・タイプのテキスト表示。「RFID監視」、「RTLS監視」、「温度」などのタイプがある。  

説明 

イベント・サブタイプのテキスト表示。  

デバイス名 

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

データ 

イベントのペイロード。  

時間 

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

各イベントの表示

SESコンソールでは、「イベント・タイプ」、「サブタイプ」、「相関ID」フィールドなど、個々のインバウンド・イベントまたはアウトバウンド・イベントに関する詳細情報を表示できます。この情報にアクセスするには、「詳細」アイコンをクリックします。

図3-18    「詳細」アイコン


画像の説明

「イベントの詳細」ページが表示され、選択したイベントのメタデータおよびペイロードの情報が表示されます。

図3-19    「イベントの詳細」ページ


画像の説明

メタデータ

「イベントの詳細」画面の「メタデータ」セクションに、次のルーティング情報およびイベントの発生場所に関連する情報が一覧表示されます。

ペイロード

「イベントの詳細」ページの「ペイロード」セクションには、次のフィールドが表示されます。

未処理のイベント・データの表示

SESコンソールの「監視イベント」タブから、このイベント・データをリアルタイムで表示できます。「監視イベント」タブをクリックすると、「監視イベント」ページ(図3-20)が表示されます。

図3-20    「監視イベント」ページ


画像の説明

「監視イベント」ページでは、キューを通過したインバウンド・イベント・データとアウトバウンド・イベント・データをすべて表示できます。このページに表示されるイベント・データはまだ処理されていません。つまり、センサー・データ・リポジトリに送信されていません。

ヒント

「監視イベント」ページに表示されるイベント・データは動的であり、頻繁に変更されます。データが静的のままであると、デバイスがイベントの送信や命令イベントの受信を実行できなくなることがあるためです。 

ログ情報の表示

「ログの表示」ページ(図3-21)は、「ログの表示」タブからアクセスします。このページには、メイン・ページ(図3-1)の「ログ・レベル」リストから選択した重大度レベルに従ってログに書き込まれたデータが表示されます。たとえば、メイン・ページから「エラー」を選択した場合、「ログの表示」ページにはエラー・レベルのメッセージのみが表示されます。メイン・ページから「すべて」を選択した場合、「ログの表示」ページには記録されたすべてのメッセージが表示されます。

図3-21    「ログの表示」ページ


画像の説明

「ログの表示」ページを使用すると、日付によりログ・ファイルを選択したり、このページに表示する行数を設定できます。

ログ・データを表示するには、次のようにします。

  1. 「ログ・ファイル」リストからログ・ファイルの日付を選択します。

  2. 必要な場合、「フィルタ」リストからログ・レベルを選択します。

  3. 必要な場合、表示する行数を「行」フィールドに入力します。

  4. 「ログ・データの取得」をクリックします。

処理済のイベント・データの表示

SESコンソールでは、「イベント・レポート」タブからアクセスしたページを使用して、処理が終わってセンサー・データ・リポジトリに格納されているイベントを追跡できます。これらのページでは、タグID、デバイス名、またはイベントがキューを通過した期間に基づいてデータを取得できます。イベント・タイプやイベント・サブタイプなどの検索基準を含む問合せを作成すると、タグIDおよびデバイス名を再検索できます。

「イベント・レポート」タブをクリックすると、デフォルトで「タグの表示」ページ(図3-22)が表示されます。

図3-22    「タグの表示」ページ


画像の説明

「タグの表示」ページのナビゲーション・ツリーを使用すると、他のタイプのイベント検索も選択できます。ツリーは、「イベント・レポート」タブからアクセスしたすべてのページに表示されます。

タグIDによるイベントの検索

タグIDによりイベントを取得するには、次のようにします。

  1. タグIDの一部を入力します。(これはlikeパターンです。)

  2. 開始日を入力するか、日時エディタを使用して開始日を選択します。この条件はオプションです。このフィールドを空白のままにしておくと、この条件が検索から除外されます。

  3. 開始時刻を(hh:mm:ssのように)入力します。この条件はオプションです。このフィールドを空白のままにしておくと、この条件が検索から除外されます。

  4. 終了日を入力するか、日時エディタを使用して終了日を選択します。この条件はオプションです。このフィールドを空白のままにしておくと、この条件が検索から除外されます。

  5. 終了時刻を(hh:mm:ssのように)入力します。この条件はオプションです。このフィールドを空白のままにしておくと、この条件が検索から除外されます。

    ヒント

    「終了時間」フィールド内をクリックすると、「開始日」フィールドに入力した値が「終了日」フィールドに表示されます。 

  6. 「フェッチ結果」をクリックします。「結果」表に検索結果が表示されます。「詳細」アイコンをクリックすると、特定のイベントを表示できます。詳細は、「タグIDおよびデバイス名の再検索」を参照してください。検索に条件を追加するには、「拡張検索」をクリックします。

デバイス名によるイベントの検索

デバイス名によりイベントを取得するには、次のようにします。

  1. デバイス名(またはデバイス名の一部)を入力します。これはlikeパターンです。

  2. 開始日を入力するか、日時エディタを使用して開始日を選択します。この条件はオプションです。このフィールドを空白のままにしておくと、この条件が検索から除外されます。

  3. 開始時刻を(hh:mm:ssのように)入力します。この条件はオプションです。このフィールドを空白のままにしておくと、この条件が検索から除外されます。

  4. 終了日を入力するか、日時エディタを使用して終了日を選択します。この条件はオプションです。このフィールドを空白のままにしておくと、この条件が検索から除外されます。

  5. 終了時刻を(hh:mm:ssのように)入力します。この条件はオプションです。このフィールドを空白のままにしておくと、この条件が検索から除外されます。

    ヒント

    「終了時間」フィールド内をクリックすると、「開始日」フィールドに入力した値が「終了日」フィールドに表示されます。  

  6. 「フェッチ結果」をクリックします。「結果」表に検索結果が表示されます。「詳細」アイコンをクリックすると、特定のイベントを表示できます。詳細は、「タグIDおよびデバイス名の再検索」を参照してください。検索に条件を追加するには、「拡張検索」をクリックします。

タグIDおよびデバイス名の再検索

「タグの表示」および「デバイスの表示」ページの「拡張検索」ボタンを使用すると、問合せ文を作成して検索結果を絞り込むことができます。

デバイス名またはタグIDの検索に問合せ文を追加するには、次のようにします。

  1. タグIDまたはデバイス名の検索基準を入力します。必要な場合、検索の時刻および日付の制約を追加します。

  2. 「拡張検索」をクリックします。「拡張検索」ページが表示され、タグIDまたはデバイス名に対して入力した検索基準が表示されます。

    図3-23    (タグ検索の)「拡張検索」ページ


    画像の説明

  3. 次の手順で問合せ文を作成します。

    • 「問合せフィールドの選択」リストを使用して、イベントのメタデータ(「イベントID」、「デバイス名」、「ソース名」、「サイト名」、「タイプ」、「サブタイプ」、「相関ID」など)、およびペイロード(「タグID」、「データ」および「時間」)を選択します。

    • 「問合せフィールドの選択」リストから選択した検索値を「問合せ値の入力」フィールドに入力した値と比較するための演算子を選択します。次のオプションがあります。

      • 次と等しい

      • 次と等しくない

      • 次より小さい

      • 次以下

      • 次より大きい

      • 次以上

      • 類似

    • 「問合せ値の入力」フィールドに、「問合せフィールドの選択」で選択したオプションに関連する値を入力します。たとえば、「問合せフィールドの選択」で「タイプ」を選択した場合、「問合せ値の入力」フィールドに200を入力します。

  4. 「文の追加」をクリックします。「検索基準」セクションに問合せ文が表示されます。

  5. 「フェッチ結果」をクリックします。検索文を使用してセンサー・データ・リポジトリの問合せが実行されます。要求されたデータが、ページの「結果」セクションに表示されます。データは、「イベントID」および「データ」によって昇順と降順でソートできます。各イベントを表示するには、「詳細」アイコンをクリックします。詳細は、「各イベントの表示」を参照してください。

拡張検索の作成

「拡張検索」ページでは、イベント・データのメタデータおよびペイロード情報を使用してイベント・データを取得する文で構成された問合せを作成することにより、特定のイベント・データを取得できます。

図3-24    「拡張検索」ページ


画像の説明

イベント・データに対する特定の検索基準を作成するには、次のようにします。

  1. 「問合せフィールドの選択」リストを使用して、イベントのメタデータ(「イベントID」、「デバイス名」、「ソース名」、「サイト名」、「タイプ」、「サブタイプ」、「相関ID」など)、およびペイロード(「タグID」、「データ」および「時間」)を選択します。

  2. 「問合せフィールドの選択」リストから選択した検索値を「問合せ値の入力」フィールドに入力した値と比較するための演算子を選択します。次のオプションがあります。

    • 次と等しい

    • 次と等しくない

    • 次より小さい

    • 次以下

    • 次より大きい

    • 次以上

    • 類似

  3. 「問合せ値の入力」フィールドに、「問合せフィールドの選択」で選択したオプションに関連する値を入力します。たとえば、「問合せフィールドの選択」で「タイプ」を選択した場合、「問合せ値の入力」フィールドに200を入力します。

    ヒント

    問合せを完成して「文の追加」をクリックすると、「リレーショナル」リストが表示されます。このリストを使用すると、複合検索条件(AND、OR、NOT)を使用して問合せ文を結合できます。問合せ文を削除するには、ごみ箱アイコンを使用します。  

  4. 「文の追加」をクリックします。「検索基準」セクションに検索文が表示されます。

  5. 必要な場合、さらに文を追加します。

  6. 「フェッチ結果」をクリックします。選択した検索文を使用してセンサー・データ・リポジトリの問合せが実行されます。結果がページの「結果」セクションに表示されます。データは、「イベントID」および「データ」によって昇順と降順でソートできます。各イベントを表示するには、「詳細」アイコンをクリックします。詳細は、「各イベントの表示」を参照してください。

Oracle Sensor Edge Serverインスタンスの拡張機能の追加

拡張機能とは、拡張アーカイブ・ファイルにコンポーネントをパッケージ化することによってOracle Sensor Edge Serverにアップロードする、カスタムビルドのドライバ、ディスパッチャまたはフィルタです。拡張アーカイブ・ファイルは、ドライバ、フィルタまたはディスパッチャのすべてのクラス・ファイルとネイティブ・バイナリ、ならびにプロパティ・ファイルや静的データ・ファイルを含むJARファイルです。また、拡張アーカイブには、拡張アーカイブ記述子ファイル(拡張機能のロードと管理に関するOracle Sensor Edge Serverへの命令を含むXMLファイル)が含まれます。


注意

<IsExtensionMonitorEnabled>の要素コンテンツをtrueに設定すると、Oracle Sensor Edge Serverに拡張機能を動的にアップロードできます。Oracle Sensor Edge Serverを再起動する必要はありません。ただし、拡張機能で作成されたインスタンスをOracle Sensor Edge Serverが使用するには、説明された手順に従ってOracle Sensor Edge Serverを再起動する必要があります。 


拡張アーカイブ・ファイル

ドライバ、ディスパッチャ、フィルタなどのカスタム拡張機能をアップロードするには、その前に拡張ファイルを拡張アーカイブにパッケージ化する必要があります。拡張アーカイブには、すべての拡張機能のバイナリ、起動データおよび構成情報が含まれます。各拡張アーカイブには1つの拡張機能の実装のみが含まれ、実行時にロードされます。拡張アーカイブには次のディレクトリが含まれます。

Meta-INF

このディレクトリには、アーカイブに関するメタ情報が含まれます。このディレクトリに拡張アーカイブ記述子ファイルを含める必要があります。拡張アーカイブ記述子ファイルは、拡張機能をロードおよび管理するために、Oracle Sensor Edge Serverに必要な情報を含むMETA-INFディレクトリ内のXMLファイルです。

拡張アーカイブ記述子ファイルはext.xmlという名前です。Loop Back Filterというフィルタ拡張機能の拡張アーカイブ記述子ファイル(ext.xml)を例3-1に示します。

例3-1    フィルタ拡張機能の拡張アーカイブ記述子ファイル

<?xml version="1.0"?>
<Extension>
<name>Loop Back Filter</name>
<version>1.0</version>
<className>oracle.edge.impl.filter.LoopBackFilter</className>
<type>Filter</type>
<Parameters>
        <Parameter name="TagID" defaultValue="" description="The Invalid Tag ID">
            <valueType type="string"/>
        </Parameter>
        <Parameter name="LightStackName" defaultValue="stack1" description="The Light 
Stack Instance Name">
            <valueType type="string"/>
        </Parameter>
    </Parameters>

ext.xml用のDTDを例3-2に簡略化して示します。このDTDの要素は表3-8で説明します。

例3-2    拡張アーカイブ記述子ファイルのDTD

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT Extension (name, version, className, type, Parameters)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT version (#PCDATA)>
<!ELEMENT className (#PCDATA)>
<!ELEMENT type (#PCDATA)>
<!ELEMENT Parameters (Parameter+)>
<!ELEMENT Parameter (valueType)>
<!ATTLIST Parameter
  name CDATA #REQUIRED
  displayName CDATA #IMPLIED
  defaultValue CDATA #IMPLIED
  description CDATA #IMPLIED
  encrypted (true|false)  #IMPLIED
  isClearText (true|false) #IMPLIED
  required  (true|false)  #IMPLIED>
<!ELEMENT valueType EMPTY>
<!ATTLIST valueType
 type (int | string | double | boolean) #REQUIRED>
表3-8    拡張アーカイブ記述子ファイルの要素とDTD 
要素  属性またはテキスト  説明 

Extension 

 

拡張機能のプロパティを定義。  

name 

#text 

拡張機能の名前。  

type 

#text 

ドライバ、フィルタまたはディスパッチャなどの拡張機能のタイプ。大/小文字の区別はないが、テキストに余分なスペースや特殊文字を含めないようにする。予約された値は、Device、Filter、Dispatcher。 

version 

#text 

拡張機能のバージョン番号を示すテキスト。 

className 

#text 

ドライバをロードし、インスタンス化するクラスの名前。標準の拡張機能インタフェースの1つを実装するエントリ・クラス。完全修飾されたクラス名にするためにパッケージ名を含める必要がある。 

Parameters 

(<Parameter>要素の親。) 

拡張機能がアップロードされた後にユーザーが編集できるパラメータ。  

Parameter 

次の属性がある。

  • name

  • displayName

  • defaultValue

  • encrypted

  • isClearText

  • required

 
  • name: パラメータの名前。

  • displayName: パラメータの表示名。

  • defaultValue: パラメータのデフォルト値。

  • encrypted: 値がクリアテキスト形式で格納されないようにパラメータ値を暗号化するかどうかを指定。

  • isClearText: デフォルト値(およびパラメータ・インスタンスの値)をクリアテキスト形式にリセットできるようにする。encryptedパラメータがtrueに設定されている場合、クリアテキスト形式が読み取られ、次回Oracle Sensor Edge Serverを起動すると暗号化形式に設定される。

  • required: パラメータ値が必須かどうかを指定。

 

valueType 

type 

パラメータのタイプ(次のいずれかの値を指定できる)

  • int: パラメータが32ビット符号付き整数の場合。

  • string: 可変長文字列の場合。

  • double: 倍精度の数値の場合。

  • boolean: ブール値(trueまたはfalse)の場合。

 
classes

このディレクトリには、すべてのクラス・ファイル、ネイティブ・バイナリ、関連ファイルまたは静的データが含まれます。JARファイルにパッケージ化されたクラス・ファイルは、このディレクトリの最上位に展開する必要があります。このリリースでは、JARライブラリのローディングはサポートされません。

lib

拡張アーカイブ・ファイルには、libディレクトリも含まれます。このディレクトリではサード・パーティのライブラリを指定します。Alienデバイス・ドライバの拡張アーカイブ・ファイルを例3-3に示します。libディレクトリに、Alienデバイス・ドライバに固有のライブラリGateway.jarが含まれています。

例3-3    Alienデバイス・ドライバの拡張アーカイブ・ファイル

meta-inf/ext.xml
meta-inf/Manifest.mf
classes/oracle/edge/impl/driver/AlienReader.class
lib/Gateway.jar

拡張アーカイブ・ファイルのパッケージ化

拡張アーカイブ・ファイルをパッケージ化するには、次のようにします。

  1. サンドボックス・ディレクトリを作成します。このディレクトリをJARソース・ディレクトリとして使用します。

  2. このディレクトリの最上位に、META-INFおよびclassesディレクトリを作成します。

  3. すべてのクラス・ファイルとプロパティ・ファイル(ある場合)をclassesディレクトリにコピーします。META-INFディレクトリに、ext.xml(拡張アーカイブ記述子ファイル)を作成します。

  4. ファイルをアーカイブします。JDKに含まれているJARツール、またはその他の標準的な圧縮ユーティリティを使用できます。サンドボックスの最上位ディレクトリからJARツールを実行します。たとえば、jar cvMf test.jarを実行すると、サンドボックス・ディレクトリのファイルがtest.jarにアーカイブされます。これで、test.jarをOracle Sensor Edge Serverにアップロードできます。META-INFおよびclassesディレクトリをサンドボックス・ディレクトリの一部としてアーカイブしないでください。たとえば、コマンドc:/work> jar tvf test.jarを実行すると、正しくアーカイブされたtest.jar内のファイルが次のように表示されます。

    0 Thu Apr 08 14:36:56 PDT 2004 META-INF/
    71 Thu Apr 08 14:36:56 PDT 2004 META-INF/ext.xml
    0 Thu Apr 08 13:42:52 PDT 2004 classes/
    0 Thu Apr 08 13:42:52 PDT 2004 classes/my/
    0 Thu Apr 08 13:42:58 PDT 2004 classes/my/test.class
    


    注意

    META-INFおよびclassesディレクトリの前には、スラッシュやその他のディレクトリ識別子は表示されません。JARにパス全体を含めると、Oracle Sensor Edge Serverは拡張アーカイブ記述子ファイルやクラスを見つけられません。そのため、拡張機能をデプロイできなくなります。  


拡張機能のアップロード

拡張機能をアップロードするには、次のようにします。

  1. 「Oracle Sensor Edge Serverインスタンスの拡張機能の追加」の説明に従って、ドライバ、フィルタまたはディスパッチャを拡張アーカイブ・ファイルにパッケージ化します。

  2. このJARファイルを次の場所にコピーします。

    ORACLE_HOME/j2ee/applications/edge/edge/extensions

  3. OC4Jインスタンスを再起動して、Oracle Sensor Edge Serverを再起動します。拡張機能は使用可能なドライバ、フィルタまたはディスパッチャとしてツリーに表示され、Oracle Sensor Edge Serverのデバイス、フィルタ・インスタンスまたは現行ディスパッチャとして構成できます。

    ヒント

    <IsExtensionMonitorEnabled>要素がedgeserver.xmltrueに設定されている場合は、JARファイルをORACLE_HOME/edge/extensionsにコピーするだけで済みます。稼働中のOracle Sensor Edge Serverが拡張機能を自動的に取得するため、停止と再起動の必要はありません。この方法で拡張機能を追加するとパフォーマンスが低下するため、開発インスタンス以外では使用しないことをお薦めします。

    Oracle Application Server 10gリリース3(10.1.3)では、edgeserver.xmlは使用されなくなり、下位互換性の目的のみで保持されています。 

拡張クラスの階層

Oracle Sensor Edge Serverのすべての拡張機能は次のように編成されています。

EdgeObject: 基本のルート・クラス(一意の識別子を含む)。

AbstractEdgeExtensionImpl: EdgeExtensionインタフェースを実装します。

AbstractFilter: すべてのフィルタのベース・クラス。Filterインタフェースを実装し、フィルタのパフォーマンスを監視するイベントの生成に必要なフィルタの監視APIを定義します。

AbstractDevice: すべてのデバイスのベース・クラス。デバイスからデータを読み取り、読み取ったデータを処理するための独自のスレッドを提供します。

拡張クラス階層を図3-25に示します。

図3-25    エッジ拡張機能の階層


画像の説明

拡張機能の実装

doInit()メソッドが拡張機能を実装します。このコールにより実行時に拡張機能のインスタンスが初期化されます。

拡張機能のコンテキスト

実行時に拡張機能のインスタンスが作成されると、対応するContextが作成され、拡張機能で次の作業ができるようになります。

インスタンスに関する情報の取得

ベース・クラスEdgeExtensionは、インスタンスがそれ自体に関する情報を取得するためのユーティリティ関数を提供します。次のメソッドがあります。

インスタンスのランタイム・コンテキストへのアクセス

インスタンスのContextオブジェクトを取得するには、次の文を使用します。

EdgeExtensionContext context = super.getContext();

メソッド・コールgetContext()は、現行インスタンスのContextオブジェクトを返します。

インスタンスのパラメータの管理

拡張機能のインスタンスは、永続的なデータや構成を保持しません。インスタンスが初期化されると、実行時に構成データが渡されます。構成データはパラメータとして定義され、名前と値のペアで構成されます。各パラメータには一意の名前とオプションの値があります。


注意

このリリースのOracle Sensor Edge Serverでは、値ツリーまたは値配列は直接サポートされません。スカラー型以外のデータを構成する場合は、データのアンマーシャリングをユーザー側で行ってください。 


カスタム・パラメータの公開

拡張機能が特定の構成を持つことはよくあります。たとえば、ドライバにシリアル・ポート名、ボー・レート、IPアドレス、ポート番号、ログインおよびパスワードなどの構成パラメータが含まれることがあります。このようなパラメータは、ドライバがデバイスと通信できるように定義する必要があります。

ドライバ実装用のパラメータを公開するには、拡張アーカイブ記述子ファイルを変更する必要があります。シリアル・ポート名およびボー・レートの構成可能な2つのパラメータを<Parameter>抽出タグに定義したデバイスを例3-4に示します。

例3-4    公開されたパラメータを持つ拡張アーカイブ記述子ファイル

<Extension>
         <name>My Driver</name>
         <type>Device</type>
         <className>my.testdriver</className>
         <Parameters>
                   <Parameter name="port" displayName="Serial Port">
                          <valueType type="string"/>
                   </Parameter>
                   <Parameter name="baud" displayName="Baud Rate">
                         <valueType type="int"/>
                   </Parameter>
         </Parameters>
</Extension>

パラメータ値の取得

拡張アーカイブ記述子ファイルの<Parameter>タグを定義すると、EdgeExtensionConfigInfoオブジェクトを使用してパラメータの値をフェッチできます。<Parameter>タグで定義された値は、Contextオブジェクトを使用して取得されます(例3-5を参照)。

例3-5    コンテキスト・オブジェクトを使用したパラメータ値の取得

EdgeExtensionContext context = super.getContext();
ConfigParameter filenameParam = ct.getParameter( fileName );

getParameter()メソッドは、ConfigParameterオブジェクトを返します。getParameter()メソッドは、パラメータの値を返します。(例3-5では、ConfigParamterオブジェクトはfilenameParamと呼ばれ、getParameter()メソッドがfileNameというパラメータの値を返します。)ターゲット・パラメータの名前は、ConfigParameterオブジェクトに渡される必要があります。さらに、このパラメータの名前は、拡張アーカイブ記述子ファイルの<Parameter>要素のname属性に指定された名前に一致している必要があります。ConfigParameterオブジェクトを取得すると、パラメータの値を取得できます(例3-6を参照)。

例3-6    パラメータの値の取得

m_fileName = filenameParam.getStringValue();


注意

getStringValue()メソッドは、パラメータのstring値を返します。パラメータの値がintの場合は、Integerオブジェクトを返すgetIntegerValue()メソッドをコールします。 



戻る 次へ
Oracle
Copyright © 2006 Oracle Corporation.

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