WebSphere Virtual Enterprise, Version 6.1.1
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows,


HTTP オペランド

HTTP オペランドは、副次式ユーティリティー・ビルダーで使用します。このビルダーはオプション・ツールであり、AND、OR、NOT、および括弧によるグループ化を使用することで、副次式から複雑なルール条件を作成する際に役立ちます。

ルール

それぞれの作業クラスは、オプションの番号付きルールのリストを含みます。 このルールは、特定の要求について評価され、その要求に対するポリシーを 決定します。それぞれのルールはブール式とポリシー値で 構成されます。式が特定の要求を真と評価した場合、 そのルールに関連したポリシーが使用されます。

ルールに対するブール式の構文とセマンティクスは、 構造化照会言語 (SQL) 式の WHERE 文節に 似ています。具体的には、式の構文は Java™ Message Service (JMS) 1.1 仕様 で定義されます。詳しくは、ルール・ベースの要求分類 を参照してください。

JMS 仕様では、 ID は特定の照会パラメーター、Cookie、HTTP ヘッダーなど、 要求に関連するさまざまな属性を 参照します。JMS ID は要求変数またはオペランド と考えることができます。このオペランドはプロトコル固有のものである場合があります。例えば、SOAP サービス名は、 SOAP 作業クラスでのみ有効なオペランドです。

SOAP は HTTP 上にあるので、SOAP 要求では HTTP オペランドも有効です。JMS 仕様はリテラルを使用して、要求変数との比較に使用する特定の 値を指定します。例えば、式
clienthost LIKE '%.ibm.com'
で、'%.ibm.com' は要求のクライアント・ホスト名との比較に使用されるリテラルです。この式は、ibm.com ドメインのコンピューターから発信されるすべての要求に対して、 真です。ストリング・リテラルを単一引用符で 囲みます。数字リテラルは単一引用符で囲まないで ください。ANDORNOT 演算子を含む括弧も、複合ブール式の形成に 使用できます。詳しくは、JMS 1.1 仕様 を参照してください。

HTTP

表 1. HTTP でサポートされるオペランド
オペランド 構文 説明

クライアント・ホスト

clienthost 完全修飾クライアント・ホスト名。これは、 インターネット・プロトコル (IP) コマンド・ホスト名の値です。このオペランドは、>、>=、<、<= などの数値演算子をサポートしていません

クライアント IPV4

clientipv4 Internet Protocol version 4 (IPv4) ドット付きクワッドのアドレス・タイプ n.n.n.n を使用したクライアントの IP アドレス。

クライアント IPV6

clientipv6 クライアント・コンピューターの Request for Comments 1924 (RFC 1924) に準じた、 Internet Protocol バージョン 6 (IPv6) 128 ビット・アドレス・タイプ x:x:x:x:x:x:x:x

Cookie 名

cookie$<name> Cookie (クッキー) 名。
例えば、式 cookie$My_Cookie_Name='My_Cookie_Value' は要求をテストし、その要求が、値が My_Cookie_Value である My_Cookie_Name という名の Cookie を含むかどうかを確かめます。ある特定の Cookie が存在するかどうかをテストするには、 次の式のいずれかを使用します。
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL

ヘッダー・ルール

header $<name> ヘッダー名と値。
例えば、式 header$Host='localhost' は、要求をテストし、 値が localhost である HTTP ホスト・ヘッダーを含むかどうかを確かめます。ホスト・ヘッダーが存在するかどうかをテストするには、 次の式のいずれかを使用します。
header$Host IS NOT NULL 
header$Host IS NULL

HTTP メソッド

HTTPMethod 要求に対する HTTP メソッド。考えられる値は、 POST、GET、PUT、DELETE です。

MIME タイプ

MIMEType 要求の MIME タイプ

割合

percentage$<val> パーセンテージ・オペランドは、時間の固定パーセンテージに対して true に評価されます。

例えば、percentage$50 は、時間のパーセンテージが平均で 50% の場合に true に評価されます。

ポート

port 要求を受け取った listen ポート。

プロトコル

protocol 要求を伝送する通信プロトコル。 現在サポートされているプロトコルは、HTTP、HTTPS、SOAP、SOAPS です。

照会パラメーター

queryparm$<name> ヘッダー名と値。
例えば、式 queryparm$timezone='EST' は要求をテストし、 その要求が EST の値を持つ timezone という名の HTTP 照会パラメーターを含むかどうかを確認します。照会パラメーターが存在するかどうかをテストするには、 次の式のいずれかを使用します。
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL

ランプアップ

rampup$<startTime>$<completionTime> ランプアップ・オペランドは、時間の可変パーセンテージに対して true に評価されます。 このオペランドは、<startTime> より前は常に false に、<completionTime> より後は常に true に評価されます。 時間が <startTime> から <completionTime> に進行するにつれ、このオペランドが true に評価される確率が高まります。

<startTime> および <completionTime> の形式は、 day/month/year::hour:min:sec です。

ここで、day は日付、month は 12 カ月のうちいずれかの月 (Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec)、year は 4 桁の年、hour は、24 時間クロックで表した時の 2 桁の時間、minsec はそれぞれ分と秒です。

以下に例を示します。

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 は、2007 年 1 月 1 日午前 8 時から 時折 true に評価されるようになり、同日の午後 5 時のランプアップ完了時刻に至る頃には 常に true に評価されています。

URI のスキーム

request.uri.scheme

URI のスキーム。

サーバー・ホスト

serverhost サーバーの完全修飾ホスト名。このオペランドは、 >、>=、<、<= などの数値演算子をサポートしていません

サーバー IPV4

serveripv4 IPv4 ドット付きクワッドのアドレス・タイプ n.n.n.n を使用する、サーバー・コンピューターの IP アドレス。

サーバー IPV6

serveripv6 サーバー・コンピューターの RFC 1924 に準じた、IPv6 128 ビット・アドレス・タイプ x:x:x:x:x:x:x:x

サービス

service Web サービスの名前。

時間

time

指定された要求が権限を持つ必要がある 日付と時刻を定義するために使用します。2 つのオプション・フィールドは StartTime と EndTime です。要求が定義済みウィンドウの外側で受け取られる場合、 その要求は処理されません。

「開始時刻」フィールドと「終了時刻」フィールドの フォーマットはそれぞれ dayOfWeek/dayOfMonth/month/year::hour:minute:second です。

例えば、 2007 年 4 月 11 日、木曜日午後 1:03:45 は、次のように指定されます。

Thu/11/Apr/2007::13:03:45

どのフィールドでも、値 * でワイルドカードを使用できます。

例えば、毎月の 1 日は */1 と指定します。

dayofWeek 値は Sun、Mon、Tue、Wed、Thu、Fri、Sat、dayOfMonth 値は 1 から 31 の範囲です。

month 値は 12 カ月を表す非数値の Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、 Dec です。

year 値は、4 桁の年で構成されます。例えば、 2007 です。

hour 値は、24 時間クロックの時間です。 例えば、午前 8 時は ::8 と表します。minute および second は 0 から 59 の範囲の整数です。

スラッシュ (/) は、日付パラメーターを区切るために 使用し、ダブル・コロン (::) は日付パラメーターを区切るために使用し、 コロン (:) は時刻パラメーターを区切るために使用します。これで、実行される ルーティング・アクションを決定するのは、time オペランドが使用される ルール全体のブール結果となります。

URI

uri

Uniform Resource Identifier

仮想ホスト

virtualhost

Web アプリケーションを特定のホスト名に対して構成するために使用される要求の仮想ホスト・ターゲット。

仮想ポータル

numeric

Web アプリケーションを特定のポートに対して構成するために使用される要求の仮想ポート・ターゲット。

仮想ポータル

virtualportal

仮想ポータルは WebSphere® Portal Server 内で作成され、WebSphere Virtual Enterprise は、WebSphere Portal Server との 統合を向上するためにこのオペランドをサポートします。仮想ポータルは、要求 URL から WebSphere Portal アプリケーションの Web モジュールのコンテキスト・ルートを取り除いたものです。指定された要求が定義済みの仮想ポータルと一致した場合、そのルールに対して定義された ルーティング・アクションが実行されます。

カスタム・ログ HTTP オペランド

カスタム・ログ・ファイルを使用している場合、表 1 のオペランドに加えて、以下のオペランドを使用できます。
表 2. カスタム・ログ HTTP オペランド
オペランド 構文 説明
応答コード response.code

404 や 503 などの HTTP 応答コードでフィルターに掛けます。

応答時間 response.time

ODR の要求が受信された時点と、ODR から応答が送信されるまでの間の時間 (ミリ秒)。

サービス時間 service.time

要求がアプリケーション・サーバーに送信された時点と、アプリケーション・サーバーからの応答が受信された時点との間の時間 (ミリ秒)。

ターゲット・サーバー targetserver

WebSphere Application Server 形式で要求が送信された場合の宛先サーバーを示します。例えば、「mycell/mynode/myserver」などとなります。

演算子

WebSphere Virtual Enterprise は、ルール式で以下の表の演算子をサポートします。これらの演算子は、WHERE または HAVING 文節の内部に現れるので、SQL 用語では述部 とも呼ばれます。演算子は大/小文字を区別しません。

表 3. 要求分類演算子
演算子 説明
OR 論理 OR 演算子。
AND 論理 AND 演算子。
NOT 否定演算子。
IN 単一の式に複数の値を持つオペランドを表します。その意味は、演算子に対する SQL 標準の意味と整合します。
例えば、ポート値を 9080、9090、9091 などの値のいずれかまたはそのすべての可能性がある場合、以下の式フラグメントを使用します。
port IN (9080,9090,9091)
SQL では、括弧内の値の表し方は、ポートのデータ・タイプによって決まります。port が整数の場合、単一引用符がなくても値は構文的に正しくなります。port がストリングの場合、正しい式は、以下のようになります。
port IN ('9080','9090','9091')
LIKE

ストリング・オペランド値のパターン・マッチングを表わします。値には、パターン・マッチングの始まりが予期される位置にワイルドカード文字 (%) が含まれている必要があります。

例えば、
host LIKE %blanca
という式は、blanca という語および blanca で終わるすべての語に一致し、
host LIKE blanca%
という式は、blanca という語および blanca で始まるすべての語に一致します。
host LIKE %blanca%
という式は、blanca という語およびトークン blanca が埋め込まれたすべての語に一致します。

java.util.regex.Pattern クラスが使用されます。

= 等価演算子は、大/小文字を区別した一致を表します。
> より大演算子は、数値オペランドで使用されます。
>= より大演算子または等価演算子は、数値オペランドで使用されます。
< より小演算子は、数値オペランドで使用されます。
<= より小演算子または等価演算子は、数値オペランドで使用されます。
< > 非等価演算子。
BETWEEN AND とともに使用して、最初の (低い) 値と最後の (高い) 値を含む、ある範囲の値を選択します。これら 2 つの値を一緒にして、数と日付の値に対して使用します。
IS NULL オペランドに NULL 値が含まれているかどうかをテストします。
IS NOT NULL オペランドに NULL 以外の値が含まれているかどうかをテストします。



関連概念
ルール・ベースの要求分類
関連タスク
サービス・ポリシーの定義
保守モードの設定
複数エディションの並行したアクティブ化
エディションの妥当性検査
カスタム・ログの構成
関連資料
manageODR.py スクリプト
関連情報
ODR ルーティング・ポリシー・ルールの管理用タスク
ODR サービス・ポリシー・ルールの管理用タスク
参照トピック    

ご利用条件 | フィードバック

最終更新: 2009/09/17 16時30分32秒EDT
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r1m1/index.jsp?topic=/com.ibm.websphere.ops.doc/info/odoe_task/rodrhttp.html