高度なカスタマイズ > Info*Engine ユーザーガイド > Administrative Webject > Web Event Service Webject
  
Web Event Service Webject
次の Web Event Service (WES) Webject をサードパーティの MOM と併用して、Info*Engine イベントを処理できます。
Emit-Event
Subscribe-Event
Unsubscribe-Event
すべての Web Event Service Webject は、webject タグの WEStype 属性値を使用します。
* 
これらの Webject を使用するには、Web Event Service を使用するように環境を設定する必要があります。
Emit-Event
説明
指定されたイベントを購読ユーザーによって処理されるように Java Messaging Service (JMS) を介して Info*Engine に送信させます。Webject の実行が正常に終了した場合、0 のステータスを持つ空のステータスグループが、イベントが正常に送信されたことを通知するメッセージとともに返されます。Webject の実行が失敗すると、適切な例外が発生します。
構文
<ie:webject name="Emit-Event" type="WES">
  <ie:param name="DBUSER" data="username"/>
  <ie:param name="EVENT" data="my_event"/>
  <ie:param name="GROUP_IN" data="group1"/>
  <ie:param name="GROUP_OUT" data="results"/>
  <ie:param name="PASSWD" data="password"/>
  <ie:param name="PRIORITY" data="numeric_value"/>
  <ie:param name="PROPERTY" data="name=value"/>
  <ie:param name="PUT_BOOLEAN" data ="[TRUE | FALSE]"/>
  <ie:param name="PUT_BYTE" data ="byte"/>
  <ie:param name="PUT_BYTES" data ="bytes"/>
  <ie:param name="PUT_CHAR" data ="char"/>
  <ie:param name="PUT_DOUBLE" data ="double"/>
  <ie:param name="PUT_FLOAT" data ="float "/>
  <ie:param name="PUT_INT" data ="int"/>
  <ie:param name="PUT_LONG" data ="long"/>
  <ie:param name="PUT_SHORT" data ="short"/>
  <ie:param name="PUT_STRING" data ="string"/>
  <ie:param name="TIME_TO_LIVE" data="minutes"/>
  <ie:param name="TYPE" data="[InfoEngine | BytesMessage |
         TextMessage | MapMessage | Unknown]"/>
</ie:webject>
パラメータ
必須
選択
オプション
EVENT
PUT_BOOLEAN
DBUSER
PUT_BYTE
GROUP_IN
PUT_BYTES
GROUP_OUT
PUT_CHAR
PASSWD
PUT_DOUBLE
PRIORITY
PUT_FLOAT
PROPERTY
PUT_INT
TIME_TO_LIVE
PUT_LONG
SERVICE
PUT_SHORT
PUT_STRING
TYPE
DBUSER
MOM への接続時に使用するユーザー名を指定します。このパラメータを指定すると、そのパラメータ値は、認証済みユーザーの既存の資格証明マッピング、または MOM への接続に使用するサービスの .wes.username および .jms.username プロパティで指定されている値よりも優先されます。詳細については、MOM の資格証明マッピングを参照してください。
このパラメータを省略すると、Web Event Service (WES) 用のマッピングされた認証が使用されます。このようなマッピングが見つからない場合は、Java Messaging Service (JMS) 用のマッピングされた認証が使用されます。これらのマッピングされた資格証明がいずれも見つからない場合は、.wes.username プロパティで設定されている値が使用されます。.wes.username プロパティが設定されていない場合は、.jms.username プロパティで設定されている値が使用されます。いずれのプロパティも設定されておらず、この DBUSER パラメータに値を指定しない場合、Info*Engine は MOM に接続するときにユーザー名を指定せず、匿名の接続を試みます。
このパラメータはオプションです。
EVENT
発生するイベントの LDAP 識別名を指定します。値は設定されているベース URI を基準とする LDAP 相対識別名です。<event_name>@<domain> という構文を使用して、名前に意味を補足し、名前のコンフリクトを避けることをお勧めします。相対の場合に、明示的に指定されていない場合、cn= (共有名の属性) は暗黙的です。
このパラメータは必須です。
GROUP_IN
イベントと共に送信されるグループの名前を指定します。このパラメータは TYPE が InfoEngine である場合にのみ指定します。GROUP_IN を指定し、TYPE に別の値を設定している場合、GROUP_IN は無視されます。
複数の GROUP_IN 値を指定できます。アスタリスク (*) を指定すると、VDB 全体が送信されます。このパラメータのデフォルトでは、空の VDB コレクションを送信します。
このパラメータはオプションです。
GROUP_OUT
正常に終了すると作成されるステータスグループの名前を指定します。このパラメータのデフォルトでは、emit-results という名前のグループを作成します。
このパラメータはオプションです。
PASSWD
MOM への接続時に使用するパスワードを指定します。このパラメータを指定すると、そのパラメータ値は、認証済みユーザーの既存の資格証明マッピング、または MOM への接続に使用するサービスの .wes.password および .jms.password プロパティで指定されている値よりも優先されます。資格証明マッピングの詳細については、資格証明マッピングを参照してください。
このパラメータを省略すると、Web Event Service (WES) 用のマッピングされた認証が使用されます。このようなマッピングが見つからない場合は、Java Messaging Service (JMS) 用のマッピングされた認証が使用されます。このようなマッピングされた資格証明がいずれも見つからない場合は、.wes.password プロパティで設定されている値が使用されます。.wes.password プロパティが設定されていない場合は、.jms.password プロパティで設定されている値が使用されます。いずれのプロパティも設定されず、この PASSWD パラメータに値を指定していない場合は、MOM に接続するときに Info*Engine はパスワードを指定しません。
このパラメータはオプションです。
TIME_TO_LIVE
イベントが有効である時間を分単位で指定します。このパラメータのデフォルト値は 0 です。これはメッセージが期限切れにならないことを示す特殊なケースです。
このパラメータはオプションです。
SERVICE
特定の JMS サービスに接続できるように設定されている Info*Engine プロパティセットの名前を指定します。これにより、単一の Info*Engine 仮想マシン (VM) に対して複数の JMS サービスを設定できます。
このパラメータはオプションです。
PRIORITY
送信メッセージに設定する整数の優先度を指定します。JMS キューの優先度の有効範囲は、0 ~ 9 で、通常のデフォルト値は 4 です。Info*Engine は優先度を無視しますが、Info*Engine によって送信されたイベントを受信するサードパーティのソフトウェアではこれが使用される場合があります。このパラメータはオプションです。
PROPERTY
JMS 送信メッセージに設定する名前と値のペアを指定します。Info*Engine はこれらのプロパティを無視しますが、サードバーティのソフトウェアではこれが使用される場合があります。PROPERTY の値のフォーマットは以下のとおりです。
name=value
ここで、
name - プロパティ名
value - 対応するプロパティの値
このパラメータのデフォルトの動作では、送信メッセージに追加プロパティを設定しません。
このパラメータはオプションです。
PUT_BOOLEAN
Java ブール値を JMS メッセージに配置します。値は True または False として指定されます。このパラメータは、TYPE が BytesMessage または MapMessage として指定される場合にのみ使用できます。
PUT_BYTE
JMS メッセージにシングルバイトを配置します。このパラメータは、TYPE が BytesMessage または MapMessage として指定される場合にのみ使用できます。
PUT_BYTES
JMS メッセージに複数のバイトを配置します。このパラメータは、TYPE が BytesMessage または MapMessage として指定される場合にのみ使用できます。
PUT_CHAR
JMS メッセージに 1 つの Java 文字を配置します。このパラメータは、TYPE が BytesMessage または MapMessage として指定される場合にのみ使用できます。
PUT_DOUBLE
JMS メッセージに Java ダブル (実数) 値を配置します。このパラメータは、TYPE が BytesMessage または MapMessage として指定される場合にのみ使用できます。
PUT_FLOAT
JMS メッセージに浮動小数点値を配置します。このパラメータは、TYPE が BytesMessage または MapMessage として指定される場合にのみ使用できます。
PUT_INT
JMS メッセージに整数を配置します。このパラメータは、TYPE が BytesMessage または MapMessage として指定される場合にのみ使用できます。
PUT_LONG
JMS メッセージに long 型整数を配置します。このパラメータは、TYPE が BytesMessage または MapMessage として指定される場合にのみ使用できます。
PUT_SHORT
JMS メッセージに short 型整数を配置します。このパラメータは、TYPE が BytesMessage または MapMessage として指定される場合にのみ使用できます。
PUT_STRING
JMS メッセージに java.lang.String のインスタンスを配置します。このパラメータは、TYPE が BytesMessageTextMessage、または MapMessage として指定される場合にのみ使用できます。
TYPE
送信メッセージを生成するときに使用するプロセッサを選択して、送信するメッセージのタイプを指定します。メッセージタイプは大文字と小文字を区別します。
このパラメータのデフォルト値は InfoEngine です。これは Info*Engine リクエストがシリアル化され、キューに配置されることを意味します。この場合の「シリアル化」とは、実際の Java のシリアル化を意味する場合と、XML への Info*Engine リクエストのシリアル化を意味する場合 (BLOB データもキューに入れられる必要がある場合) があります。
可能なメッセージタイプは以下のとおりです。
InfoEngine - Info*Engine の通信に使用します。シリアル化された VDB グループは GROUP_IN パラメータによって制御されます。
BytesMessage - 送信メッセージで、このタイプはサードパーティの受信者に特有のメッセージを構築するいくつかの PUT_type パラメータをサポートします。受信メッセージは Unknown と同じ方法で処理されます。BytesMessage のコンテンツは、呼び出しタスクへの入力ストリームの BLOB データとして供給されます。
TextMessage - PUT_STRING パラメータのみをサポートします。複数の PUT_STRING パラメータ値が連結されて送信 TextMessage が作成されます。
MapMessage - 送信メッセージに対して、name=data の形式の値を持ついくつかの PUT_type パラメータを指定できます。ここで、name は、MapMessagedata を配置するために使用されるキーです。
Unknown - BLOB データを BytesMessage に切り替えます。受信メッセージで、新しい空の Info*Engine リクエストが作成され、メッセージのコンテンツは BLOB データとして添付されます。
以下の表は、各 PUT_type パラメータに指定できるメッセージタイプを示したものです。
BytesMessage
TextMessage
MapMessage
PUT_BOOLEAN
X
X
PUT_BYTE
X
X
PUT_BYTES
X
X
PUT_CHAR
X
X
PUT_DOUBLE
X
X
PUT_FLOAT
X
X
PUT_INT
X
X
PUT_LONG
X
X
PUT_SHORT
X
X
PUT_STRING
X
X
X
* 
BytesMessage での STRING タイプのサポートによって、文字列の値は実際には文字列として書き込まれるのではなく、バイト配列として書き込まれます。
以下の例は、購読ユーザーによって処理されるように指定されたイベントを発生します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
                                               prefix="ie"%>
<ie:webject name="Emit-Event" type="WES">
  <ie:param name="DBUSER" data="$(@FORM[]dbuser[])"/>
  <ie:param name="PASSWD" data="$(@FORM[]passwd[])"/>
  <ie:param name="GROUP_IN" data="$(@FORM[]group_in[])"/>
  <ie:param name="GROUP_OUT" data="$(@FORM[]group_out[])"/>
  <ie:param name="EVENT" data="$(@FORM[]event[])"/>
  <ie:param name="TIME_TO_LIVE" data="0"/>
  <ie:param name="PRIORITY" data="$(@FORM[]priority[])"/>
</ie:webject>
この例を実際に実行するには、DBUSER、PASSWD、GROUP_IN、GROUP_OUT、EVENT、および PRIORITY 変数を識別するフォームを指定する必要があります。
Subscribe-Event
説明
この Webject を実行して購読する Info*Engine プロセスに特定のイベントを受信させます。イベントが渡されると、Info*Engine はリクエストまたは利用可能なデータから実行環境を構築し、設定されたタスクを実行します。Webject の実行が正常に完了すると、0 のステータスを持つ空のステータスグループが、イベントに正常な購読を中継したことを通知するメッセージとともに返されます。Webject の実行が失敗すると、適切な例外が発生します。
構文
<ie:webject name="Subscribe-Event" type="WES">
  <ie:param name="DBUSER" data="username"/>
  <ie:param name="EVENT" data="event_name"/>
  <ie:param name="EXECUTE_TASK" data="task_name"/>
  <ie:param name="FAILURE_TASK" data="task_name"/>
  <ie:param name="GROUP_IN" data="event_handlers"/>
  <ie:param name="GROUP_OUT" data="results"/>
  <ie:param name="PASSWD" data="password"/>
</ie:webject>
パラメータ
必須
選択
オプション
EVENT
DBUSER
EXECUTE_TASK
GROUP_OUT
FAILURE_TASK
PASSWD
GROUP_IN
SERVICE
DBUSER
MOM への接続時に使用するユーザー名を指定します。このパラメータを指定すると、そのパラメータ値は、認証済みユーザーの既存の資格証明マッピング、または MOM への接続に使用するサービスの .wes.username および .jms.username プロパティで指定されている値よりも優先されます。詳細については、MOM の資格証明マッピングを参照してください。
このパラメータを省略すると、Web Event Service (WES) 用のマッピングされた認証が使用されます。このようなマッピングが見つからない場合は、Java Messaging Service (JMS) 用のマッピングされた認証が使用されます。これらのマッピングされた資格証明がいずれも見つからない場合は、.wes.username プロパティで設定されている値が使用されます。.wes.username プロパティが設定されていない場合は、.jms.username プロパティで設定されている値が使用されます。いずれのプロパティも設定されておらず、この DBUSER パラメータに値を指定しない場合、Info*Engine は MOM に接続するときにユーザー名を指定せず、匿名の接続を試みます。
このパラメータはオプションです。
EVENT
受信するイベントの LDAP 識別名を示します。値は設定されているベース URI を基準とする LDAP 相対識別名です。<event_name>@<domain> という構文を使用して、名前に意味を補足し、名前のコンフリクトを避けることをお勧めします。相対の場合に、明示的に指定されていない場合、cn= (共有名の属性) は暗黙的です。
GROUP_IN を指定していない場合、このパラメータは必須です。
EXECUTE_TASK
イベント通知で実行されるタスクを示します。GROUP_IN を指定していない場合、このパラメータは必須です。
FAILURE_TASK
EXECUTE_TASK が実行されない場合に実行されるタスクを示します。GROUP_IN を指定していない場合にのみ、このパラメータを指定できます。このパラメータのデフォルトはエラーのログです。
GROUP_IN
EVENT、EXECUTE_TASK、および FAILURE_TASK を抽出するグループの名前を指定します。このグループには EVENT および EXECUTE_TASK 列が必要です。FAILURE_TASK コラムも指定できます。購読は入力グループの各行に発生します。EVENT および EXECUTE_TASK を指定していない場合、このパラメータは必須です。
GROUP_OUT
正常に終了すると作成されるステータスグループの名前を指定します。このパラメータのデフォルトでは、subscription-results という名前のグループを作成します。このパラメータはオプションです。
PASSWD
MOM への接続時に使用するパスワードを指定します。このパラメータを指定すると、そのパラメータ値は、認証済みユーザーの既存の資格証明マッピング、または MOM への接続に使用するサービスの .wes.password および .jms.password プロパティで指定されている値よりも優先されます。詳細については、MOM の資格証明マッピングを参照してください。
このパラメータを省略すると、Web Event Service (WES) 用のマッピングされた認証が使用されます。このようなマッピングが見つからない場合は、Java Messaging Service (JMS) 用のマッピングされた認証が使用されます。このようなマッピングされた資格証明がいずれも見つからない場合は、.wes.password プロパティで設定されている値が使用されます。.wes.password プロパティが設定されていない場合は、.jms.password プロパティで設定されている値が使用されます。いずれのプロパティも設定されず、この PASSWD パラメータに値を指定していない場合は、MOM に接続するときに Info*Engine はパスワードを指定しません。
このパラメータはオプションです。
SERVICE
特定の JMS サービスに接続できるように設定されている Info*Engine プロパティセットの名前を指定します。これにより、単一の Info*Engine 仮想マシン (VM) に対して複数の JMS サービスを設定できます。
このパラメータはオプションです。
以下の例は、指定されたイベントに現在の Info*Engine プロセスを購読します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
                                               prefix="ie"%>
<ie:webject name="Subscribe-Event" type="WES">
  <ie:param name="DBUSER" data="$(@FORM[]dbuser[])"/>
  <ie:param name="PASSWD" data="$(@FORM[]passwd[])"/>
  <ie:param name="EVENT" data="$(@FORM[]event[])"/>
  <ie:param name="GROUP_IN" data="$(@FORM[]group_in[])"/>
  <ie:param name="GROUP_OUT" data="$(@FORM[]group_out[])"/>
</ie:webject>
この例を実際に実行するには、DBUSER、PASSWD、EVENT、GROUP_IN、および GROUP_OUT 変数を識別するフォームを指定する必要があります。
Unsubscribe-Event
説明
Info*Engine に、現在監視している特定のイベントの受信を中止させます。Webject の実行が正常に完了すると、0 のステータスを持つ空のステータスグループが、イベントから正常に購読解除したことを通知するメッセージとともに返されます。Webject の実行が失敗すると、適切な例外が発生します。
構文
<ie:webject name="Unsubscribe-Event" type="WES">
  <ie:param name="EVENT" data="event_name"/>
  <ie:param name="GROUP_OUT" data="results"/>
</ie:webject>
パラメータ
必須
選択
オプション
EVENT
GROUP_OUT
SERVICE
EVENT
購読削除するイベントの LDAP 識別名を指定します。値は設定されているベース URI を基準とする LDAP 相対識別名です。<event_name>@<domain> という構文を使用して、名前に意味を補足し、名前のコンフリクトを避けることをお勧めします。相対の場合に、明示的に指定されていない場合、cn= (共有名の属性) は暗黙的です。
GROUP_IN を指定していない場合、このパラメータは必須です。
GROUP_OUT
正常に終了すると作成されるステータスグループの名前を指定します。このパラメータのデフォルトの動作では、unsubscribe-results というグループを作成します。
このパラメータはオプションです。
SERVICE
特定の JMS サービスに接続できるように設定されている Info*Engine プロパティセットの名前を指定します。これにより、単一の Info*Engine 仮想マシン (VM) に対して複数の JMS サービスを設定できます。
このパラメータはオプションです。
以下の例は、指定されたイベントから現在の Info*Engine プロセスを購読解除します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
                                               prefix="ie"%>
<ie:webject name="Unsubscribe-Event" type="WES">
  <ie:param name="EVENT" data="$(@FORM[]event[])"/>
  <ie:param name="GROUP_OUT" data="$(@FORM[]group_out[])"/>
</ie:webject>
この例を実際に実行するには、EVENT および GROUP_OUT 変数を識別するフォームを指定する必要があります。