Sun GlassFish Enterprise Server v3 管理ガイド

REST インタフェースによる Enterprise Server の管理

Enterprise Server は、新規にインストールされたアドオンコンポーネントが提供するデータなど、Enterprise Server の監視データや構成データにアクセスできる表現状態転送 (REST) インタフェースを装備しています。

Enterprise Server の REST インタフェースには、次のようなクライアントアプリケーションからアクセスできます。

また、Enterprise Server の REST インタフェースは、次のような言語で開発された REST クライアントアプリケーションでも使用できます。

Enterprise Server の REST インタフェースの実装は、project Jersey をベースにしています。Project Jersey は、Java TM 仕様要求 (JSR) 311: JAX-RS、RESTful Web サービス用 Java API の参照実装です。JSR 311 に関する情報は、JSR 311 プロジェクトのホームページにも記載されています。

ここでは、次のテーマを取り上げます。

REST URL による Enterprise Server の管理

構成および監視のオブジェクトツリーの各ノードは、HTTP uniform resource locator (URL) からアクセスできる REST リソースとして表現されます。Enterprise Server の監視データや構成データの REST リソースにアクセスするには、稼働中の DAS が必要です。

構成および監視のオブジェクトツリーのノードを表現するリソースの URL の形式は、次のとおりです。

これらの URL で置き換え可能な項目は次のとおりです。

host

DAS が稼働中のホスト

port

管理用の HTTP ポートまたは HTTPS ポート

path

ノードへのパス。パスはノードのドット表記名で、各ドット (.) がスラッシュ (/) に置換されます。詳細については次のドキュメントを参照してください。

Enterprise Server の監視データまたは構成データについて、REST リソースの URL を Web ブラウザで開いた場合、ブラウザには、リソースの次の情報を含む Web ページが表示されます。

次の図に、ドメインを管理する REST リソースの Web ページを示します。

図 2–1 ドメインを管理する REST リソースの Web ページ

ドメインを管理する REST リソースの Web ページを示すスクリーンショット

REST リソースメソッドによる Enterprise Server の管理

Enterprise Server の REST インタフェースは、監視および構成のオブジェクトツリーのノードにアクセスする方法をサポートしています。

次の表に、監視データや構成データを管理する REST メソッド、および各メソッドで実行できるタスクを示します。これらのメソッドは、HTTP 1.1 プリミティブです。これらのプリミティブの詳細仕様については、Hypertext Transfer Protocol -- HTTP/1.1 を参照してください。

表 2–1 監視データと構成データを管理する REST リソースメソッド

作業 

REST メソッド 

ツリー内のノードがサポートするメソッドおよびメソッドパラメータの判定 

OPTIONS または GET

ツリー内のノードのデータ取得 

GET

ツリーへのノードの追加 

POST

ツリー内のノードの更新 

POST

ツリーからのノードの削除 

DELETE


注 –

GET メソッドを OPTIONS メソッドの代わりに使用して、ツリー内のノードがサポートするメソッドおよびメソッドパラメータを判定することができます。GET メソッドは、ノードの追加情報も表示します。詳細については、「ツリー内のノードのデータを取得する」を参照してください。


Procedureツリー内のノードがサポートするメソッドおよびメソッドパラメータを判定する

ツリー内のノードがサポートするメソッドおよびメソッドパラメータは、ノードを表す REST リソースによって決まります。

ツリーのノードで操作を実行する前に、そのノードがサポートするメソッドおよびメソッドパラメータを判定します。

この情報の表示形式を指定できます。詳細については、「リソースの表現形式」を参照してください。

  1. サーバーが実行されていることを確認します。

    Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。

  2. ノードを表す REST リソースに対して、適切なメソッドを使用します。

    • 監視オブジェクトツリーのノードの場合は、GET メソッドを使用します。

    • 構成オブジェクトツリーのノードの場合は、 OPTIONS メソッドまたは GET メソッドを使用します。

    GET メソッドと OPTIONS メソッドは、リソースがサポートするメソッドのリストを返します。各メソッドについて、使用できるメッセージパラメータのリスト、または使用できるクエリーパラメータのリストが返されます。


例 2–21 ツリー内のノードがサポートするメソッドおよびメソッドパラメータの判定

この例は、cURL ユーティリティーを使用して、ドメインのリソースがサポートするメソッドおよびメソッドパラメータを判定します。この例は、cURL ユーティリティーの次に示すオプションを使用します。

この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。OPTIONS メソッドに加えて、このリソースは POST メソッドと GET メソッドをサポートしています。


curl -X OPTIONS -H "Accept: application/json" http://localhost:4848/management/domain
{"Domain":
  {
    "Method":{
      "Name":"POST",
      "Message Parameters":{
        "log-root":{"Key":"false", "Type":"string", "Optional":"true"},
        "application-root":{"Key":"false", "Type":"string", "Optional":"true"},
        "locale":{"Key":"false", "Type":"string", "Optional":"true"},
        "version":{"Key":"false", "Type":"string", "Optional":"true"}
      }
    },
    "Method":{
      "Name":"GET"
    }
  }
}

Procedureツリー内のノードのデータを取得する

ツリー内のノードのデータを取得すると、そのノードを表す REST リソースに関する次の情報が得られます。

この情報の表示形式を指定できます。詳細については、「リソースの表現形式」を参照してください。

  1. サーバーが実行されていることを確認します。

    Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。

  2. ノードを表す REST リソースに対して、GET メソッドを使用します。


例 2–22 ツリー内のノードのデータの取得

この例は、cURL ユーティリティーを使用して、ドメインのリソースデータを取得します。この例は、cURL ユーティリティーの次に示すオプションを使用します。

この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。

改行は読みやすくするためです。


curl -X GET -H "Accept: application/json" http://localhost:4848/management/domain
{

  "Domain":{"log-root":"${com.sun.aas.instanceRoot}/logs", 
"application-root":"${com.sun.aas.instanceRoot}/applications", 
"locale":"", "version":"74.1"},

  "Methods":{
    "Method":{
      "Name":"POST",
      "Message Parameters":{
        "log-root":{"Key":"false", "Type":"string", "Optional":"true"},
        "application-root":{"Key":"false", "Type":"string", "Optional":"true"},
        "locale":{"Key":"false", "Type":"string", "Optional":"true"},
        "version":{"Key":"false", "Type":"string", "Optional":"true"}
      }
    },
    "Method":{
      "Name":"GET"
    }
  },

  "Child Resources":[
    "http://localhost:4848/management/domain/configs",
    "http://localhost:4848/management/domain/resources",
    "http://localhost:4848/management/domain/servers",
    "http://localhost:4848/management/domain/property",
    "http://localhost:4848/management/domain/applications",
    "http://localhost:4848/management/domain/system-applications",
    "http://localhost:4848/management/domain/stop",
    "http://localhost:4848/management/domain/restart",
    "http://localhost:4848/management/domain/uptime",
    "http://localhost:4848/management/domain/version",
    "http://localhost:4848/management/domain/rotate-log",
    "http://localhost:4848/management/domain/host-port"
  ]

Procedureツリーにノードを追加する

  1. サーバーが実行されていることを確認します。

    Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。

  2. ノードの親を表すリソースの POST メソッドについて、使用できるメッセージパラメータを調べます。

    この手順の実行方法については、「ツリー内のノードがサポートするメソッドおよびメソッドパラメータを判定する」を参照してください。

  3. 追加するノードの親を表す REST リソースに対して、POST メソッドを使用します。

  4. ノードが追加されたことを確認します。

    追加したノード (親ではない) を表すリソースに対してこの手順を実行します。この手順の実行方法については、「ツリー内のノードのデータを取得する」を参照してください。


例 2–23 ツリーへのノードの追加

この例は、cURL ユーティリティーを使用して、JDBC リソースを表す REST リソースを作成することにより、ツリーに JDBC リソースを追加します。

この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。

改行は読みやすくするためです。

  1. この手順は、リソース jdbc-resourcePOST メソッドに使用できるメッセージパラメータを調べます。


    curl -X OPTIONS -H "Accept: application/json" 
    http://localhost:4848/management/domain/resources/jdbc-resource
    {"JdbcResource":
      {
        "Method":{
          "Name":"POST",
          "Message Parameters":{
            "id":{"Acceptable Values":"", "Default Value":"", "Type":"string", 
                "Optional":"false"},
            "enabled":{"Acceptable Values":"", "Default Value":"true", 
                "Type":"boolean", "Optional":"true"},
            "description":{"Acceptable Values":"", "Default Value":"", 
                "Type":"string", "Optional":"true"},
            "target":{"Acceptable Values":"", "Default Value":"", "Type":"string", 
                "Optional":"true"},
            "property":{"Acceptable Values":"", "Default Value":"", 
                "Type":"string", "Optional":"true"},
            "connectionpoolid":{"Acceptable Values":"", "Default Value":"", 
                "Type":"string", "Optional":"false"}
          }
        },
        "Method":{
          "Name":"GET"
        }
      }
    }
  2. この手順は、jdbc-resource リソースの子としてリソースを追加します。cURL ユーティリティーのオプション -d は、必要なメッセージパラメータを次のように設定します。

    • idjdbc/myjdbcresource に設定されます。

    • connectionpoolidDerbyPool に設定されます。


    curl -X POST -d "id=jdbc/myjdbcresource&connectionpoolid=DerbyPool" 
    http://localhost:4848/management/domain/resources/jdbc-resource
    "http://localhost:4848/management/domain/resources/jdbc-resource/
    jdbc/myjdbcresource" created successfully.
  3. この手順は、ノードを表す REST リソースのデータを取得することにより、ノードが追加されたことを確認します。


    curl -X GET -H "Accept: application/json" 
    http://localhost:4848/management/domain/resources/
    jdbc-resource/jdbc-myjdbcresource
    {
    
      "JdbcMyjdbcresource":{"enabled":"true", "pool-name":"DerbyPool", 
          "description":"", "jndi-name":"jdbc/myjdbcresource", "object-type":"user"},
    
      "Methods":{
        "Method":{
          "Name":"POST",
          "Message Parameters":{
            "enabled":{"Key":"false", "Default Value":"true", 
                "Type":"boolean", "Optional":"true"},
            "pool-name":{"Key":"false", "Type":"string", "Optional":"true"},
            "description":{"Key":"false", "Type":"string", "Optional":"true"},
            "jndi-name":{"Key":"true", "Type":"string", "Optional":"true"},
            "object-type":{"Key":"false", "Default Value":"user", 
                "Type":"string", "Optional":"true"}
          }
        },
        "Method":{
          "Name":"GET"
        },
        "Method":{
          "Name":"DELETE",
          "Message Parameters":{
            "target":{"Acceptable Values":"", "Default Value":"", 
                "Type":"string", "Optional":"true"}
          }
        }
      }
    
    }

Procedureツリー内のノードを更新する

  1. サーバーが実行されていることを確認します。

    Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。

  2. ノードを表すリソースの POST メソッドについて、使用できるメッセージパラメータを判定します。

    この手順の実行方法については、「ツリー内のノードがサポートするメソッドおよびメソッドパラメータを判定する」を参照してください。

  3. 更新するノードを表す REST リソースに対して、POST メソッドを使用します。

  4. ノードが更新されたことを確認します。

    この手順の実行方法については、「ツリー内のノードのデータを取得する」を参照してください。


例 2–24 ツリー内のノードの更新

この例は、cURL ユーティリティーを使用して、JDBC リソースを表す REST リソースを変更することにより、ツリーの JDBC リソースを更新します。

この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。

改行は読みやすくするためです。

  1. この手順は、リソース jdbc-myjdbcresourcePOST メソッドに使用できるメッセージパラメータを調べます。


    curl -X OPTIONS -H "Accept: application/json" 
    http://localhost:4848/management/domain/resources/
    jdbc-resource/jdbc-myjdbcresource
    {"JdbcMyjdbcresource":
      {
        "Method":{
          "Name":"POST",
          "Message Parameters":{
            "enabled":{"Key":"false", "Default Value":"true", 
                "Type":"boolean", "Optional":"true"},
            "pool-name":{"Key":"false", "Type":"string", "Optional":"true"},
            "description":{"Key":"false", "Type":"string", "Optional":"true"},
            "jndi-name":{"Key":"true", "Type":"string", "Optional":"true"},
            "object-type":{"Key":"false", "Default Value":"user", 
                "Type":"string", "Optional":"true"}
          }
        },
        "Method":{
          "Name":"GET"
        },
        "Method":{
          "Name":"DELETE",
          "Message Parameters":{
            "target":{"Acceptable Values":"", "Default Value":"", 
                "Type":"string", "Optional":"true"}
          }
        }
      }
    }
  2. この手順は、jdbc-myjdbcresource が表す JDBC リソースを無効にするように、REST リソース jdbc-myjdbcresource を更新します。cURL ユーティリティーのオプション -d は、メッセージパラメータ enableddisabled に設定します。


    curl -X POST -d "enabled=false" 
    http://localhost:4848/management/domain/resources/
    jdbc-resource/jdbc-myjdbcresource
    "http://localhost:4848/management/domain/resources/jdbc-resource/
    jdbc-myjdbcresource" updated successfully.
  3. この手順は、ノードを表す REST リソースのデータを取得することにより、ノードが更新されたことを確認します。


    curl -X GET -H "Accept: application/json" 
    http://localhost:4848/management/domain/resources/
    jdbc-resource/jdbc-myjdbcresource
    {
    
      "JdbcMyjdbcresource":{"enabled":"false", "pool-name":"DerbyPool", 
           "description":"", "jndi-name":"jdbc/myjdbcresource", "object-type":"user"},
    
      "Methods":{
        "Method":{
          "Name":"POST",
          "Message Parameters":{
            "enabled":{"Key":"false", "Default Value":"true", 
                "Type":"boolean", "Optional":"true"},
            "pool-name":{"Key":"false", "Type":"string", "Optional":"true"},
            "description":{"Key":"false", "Type":"string", "Optional":"true"},
            "jndi-name":{"Key":"true", "Type":"string", "Optional":"true"},
            "object-type":{"Key":"false", "Default Value":"user", 
                "Type":"string", "Optional":"true"}
          }
        },
        "Method":{
          "Name":"GET"
        },
        "Method":{
          "Name":"DELETE",
          "Message Parameters":{
            "target":{"Acceptable Values":"", "Default Value":"", 
                "Type":"string", "Optional":"true"}
          }
        }
      }
    
    }

Procedureツリーからノードを削除する

  1. サーバーが実行されていることを確認します。

    Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。

  2. ノードが削除できることを確認します。

    この手順の実行方法については、「ツリー内のノードがサポートするメソッドおよびメソッドパラメータを判定する」を参照してください。

  3. ノードが削除されたことを確認します。

    削除したノードを表すリソースに対してこの手順を実行します。この手順の実行方法については、「ツリー内のノードのデータを取得する」を参照してください。


例 2–25 ツリーからのノードの削除

この例は、cURL ユーティリティーを使用して、JDBC リソースを表す REST リソースを削除することにより、ツリーから JDBC リソースを削除します。

この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。

改行は読みやすくするためです。

  1. この手順は、リソース jdbc-myjdbcresource がサポートする REST のメソッドを取得することにより、ノードが削除できることを確認します。


    curl -X OPTIONS -H "Accept: application/json" 
    http://localhost:4848/management/domain/resources/
    jdbc-resource/jdbc-myjdbcresource
    {"JdbcMyjdbcresource":
      {
        "Method":{
          "Name":"POST",
          "Message Parameters":{
            "enabled":{"Key":"false", "Default Value":"true", 
                "Type":"boolean", "Optional":"true"},
            "pool-name":{"Key":"false", "Type":"string", "Optional":"true"},
            "description":{"Key":"false", "Type":"string", "Optional":"true"},
            "jndi-name":{"Key":"true", "Type":"string", "Optional":"true"},
            "object-type":{"Key":"false", "Default Value":"user", 
                "Type":"string", "Optional":"true"}
          }
        },
        "Method":{
          "Name":"GET"
        },
        "Method":{
          "Name":"DELETE",
          "Message Parameters":{
            "target":{"Acceptable Values":"", "Default Value":"", 
                "Type":"string", "Optional":"true"}
          }
        }
      }
    }
  2. この手順は、リソース jdbc-myjdbcresource を削除します。


    curl -X DELETE http://localhost:4848/management/domain/resources/
    jdbc-resource/jdbc-myjdbcresource
    
  3. この手順は、ノードの親を表す REST リソースのデータを取得することにより、ノードが削除されたことを確認します。


    curl -X GET -H "Accept: application/json" 
    http://localhost:4848/management/domain/resources/jdbc-resource/
    {
    
      "JdbcResource":{},
    
      "Methods":{
        "Method":{
          "Name":"POST",
          "Message Parameters":{
            "id":{"Acceptable Values":"", "Default Value":"", "Type":"string", 
                "Optional":"false"},
            "enabled":{"Acceptable Values":"", "Default Value":"true", 
                "Type":"boolean", "Optional":"true"},
            "description":{"Acceptable Values":"", "Default Value":"", 
                "Type":"string", "Optional":"true"},
            "target":{"Acceptable Values":"", "Default Value":"", "Type":"string", 
                "Optional":"true"},
            "property":{"Acceptable Values":"", "Default Value":"", "Type":"string",
                "Optional":"true"},
            "connectionpoolid":{"Acceptable Values":"", "Default Value":"", 
                "Type":"string", "Optional":"false"}
          }
        },
        "Method":{
          "Name":"GET"
        }
      },
    
      "Child Resources":[
        "http://localhost:4848/management/domain/resources/jdbc-resource/
            jdbc-__TimerPool",
        "http://localhost:4848/management/domain/resources/jdbc-resource/
            jdbc-__default"
      ]

CRUD 以外の操作用の子リソース

Enterprise Server の REST インタフェースは次に示すように、作成、読み取り、更新、および削除 (CRUD) 以外の操作もサポートしています。

これらの操作は、操作の実行対象リソースの子リソースを通じてサポートされます。子リソースは、構成オブジェクトツリーのノードを表しません。

たとえば、ドメイン管理用リソースは、次の表に示す CRUD 以外の操作用の子リソースを提供します。

表 2–2 ドメインでの CRUD 以外の操作用の子リソース

リソース 

アクション 

host-port

DAS が稼働中のホスト、および DAS が HTTP 要求を待機するポートを表示します。 

restart

ドメインの DAS を停止し、その後再起動します。 

rotate-log

タイムスタンプ名を持つファイルを server.log_date-and-time の形式の名前に変更し、空のログを作成することにより、サーバーログファイルをローテーションします。

stop

ドメインの DAS を停止します。 

uptime

DAS の最後の再起動後の動作時間を表示します。 

version

Enterprise Server のバージョン情報を表示します。 

REST インタフェースのセキュリティー保護

Enterprise Server の REST インタフェースは、セキュアな接続上での基本認証をサポートしています。セキュリティーを有効にしたときには、REST リソースの URL にプロトコルとして https を指定し、ユーザー名とパスワードを指定する必要があります。

Enterprise Server の REST インタフェースのセキュリティー保護では、次のタスクシーケンスが実行されます。

  1. admin-realm ユーザーを asadmin ユーザーグループに追加

  2. Secure Sockets Layer (SSL) を有効化

コマンド行からこれらのタスクを実行する方法については、次に示すドキュメントを参照してください。

管理コンソール を使用してこれらのタスクを実行する方法については、管理コンソール のオンラインヘルプから次に示すトピックを参照してください。

リソースの表現形式

Enterprise Server の REST インタフェースは、次に示す形式でリソースを表現します。

リソースの表現を指定する方法は、Enterprise Server の REST インタフェースへのアクセス方法によって異なります。たとえば、cURL ユーティリティーを使用している場合は、オプション -H を使用して、次のようにリソースの表現を指定します。

JSON リソースの表現

リソースの JSON 表現の一般的な形式は次のとおりです。

{
    "resource":{attributes},

    "Methods": {
        method-list
    }

    "Child Resources":[urls]
} 

この形式の置き換え可能な項目は次のとおりです。

resource

リソース名。

attributes

コンマ (,) で区切られたゼロ以上の名前と値のペア。名前と値の各ペアは、"名前": として指定します。

method-list

リソースがサポートするメソッドを表現する、コンマ (,) で区切られた 1 つ以上のメタデータのセット。 各メタデータセットの形式については、「メソッドリストのメソッドの JSON 表現」を参照してください。

urls

コンマ (,) で区切られたゼロ以上の子リソースの URL。

メソッドリストのメソッドの JSON 表現

メソッドリストのメソッドの JSON 表現は、次のとおりです。

Method":{
    "Name":"method-name",

    "Message Parameters":{
        message-parameter-list
    }

    "Query Parameters":{
        queryparameter- list
    }
}

この形式の置き換え可能な項目は次のとおりです。

method-name

GETPOSTDELETE のいずれかのメソッド名。

message-parameter-list

メソッドで使用できるメッセージパラメータを表す、コンマ (,) で区切られたゼロ以上のメタデータのセット。各メタデータセットの形式については、「メッセージパラメータまたはクエリーパラメータの JSON 表現」.を参照してください。

query-parameter-list

メソッドで使用できるクエリーパラメータを表す、コンマ (,) で区切られたゼロ以上のメタデータのセット。各メタデータセットの形式については、「メッセージパラメータまたはクエリーパラメータの JSON 表現」.を参照してください。

メッセージパラメータまたはクエリーパラメータの JSON 表現

メッセージパラメータまたはクエリーパラメータの JSON 表現は、次のとおりです。

"parameter-name":{attribute-list}

この形式の置き換え可能な項目は次のとおりです。

parameter-name

パラメータ名。

attribute-list

コンマで区切られた、パラメータの属性の名前と値のペアのリスト。各ペアの形式は次のとおりです。

"name":"value"

使用できる属性は次のとおりです。

Default Value

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

Acceptable Values

パラメータに使用できる値のセットまたは範囲。

Type

パラメータのデータ型。次のいずれかです。

  • boolean

  • int

  • string

Optional

パラメータが省略可能かどうか。true の場合、パラメータは省略可能です。false の場合、パラメータは必須です。

Key

パラメータがキーかどうか。true の場合、パラメータはキーです。false の場合、パラメータはキーではありません。

JSON リソースの表現例

この例は、ドメイン管理用リソースの JSON 表現を示します。この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。この例のリソースの URL は、http://localhost:4848/management/domain です。

改行は読みやすくするためです。


{

  "Domain":{"log-root":"${com.sun.aas.instanceRoot}/logs", 
       "application-root":"${com.sun.aas.instanceRoot}/applications", 
       "locale":"", "version":"73"},

  "Methods":{
    "Method":{
      "Name":"POST",
      "Message Parameters":{
        "log-root":{"Key":"false", "Type":"string", "Optional":"true"},
        "application-root":{"Key":"false", "Type":"string", "Optional":"true"},
        "locale":{"Key":"false", "Type":"string", "Optional":"true"},
        "version":{"Key":"false", "Type":"string", "Optional":"true"}
      }
    },
    "Method":{
      "Name":"GET"
    }
  },

  "Child Resources":[
    "http://localhost:4848/management/domain/configs",
    "http://localhost:4848/management/domain/resources",
    "http://localhost:4848/management/domain/servers",
    "http://localhost:4848/management/domain/property",
    "http://localhost:4848/management/domain/applications",
    "http://localhost:4848/management/domain/system-applications",
    "http://localhost:4848/management/domain/stop",
    "http://localhost:4848/management/domain/restart",
    "http://localhost:4848/management/domain/uptime",
    "http://localhost:4848/management/domain/version",
    "http://localhost:4848/management/domain/rotate-log",
    "http://localhost:4848/management/domain/host-port"
  ]

}

XML リソースの表現

リソースの XML 表現の一般的な形式は次のとおりです。

<resource attributes>

    <Methods>
        method-list
    </Methods>
children
</type>

この形式の置き換え可能な項目は次のとおりです。

resource

リソース名。

attributes

空白文字 1 つで区切られたゼロ以上の名前と値のペア。名前と値の各ペアは名前=""として指定します。

method-list

リソースがサポートするメソッドを表現する、1 つ以上の XML 要素。 各要素の形式については、「リソースメソッドの XML 表現」を参照してください。

children

子リソースの URL を指定するゼロ以上の XML 要素。各要素は、<child-resource> url</child-resource> として指定します。child-resource は子リソースの名前、url は子リソースの URL です。

リソースメソッドの XML 表現

メソッドリストのメソッドの XML 表現は、次のとおりです。

<Method name="method-name">
    <Message-Parameters>
        message-parameter-list
    </Message-Parameters>
    <Query-Parameters>
        query-parameter-list
    </Query-Parameters>
</Method>

この形式の置き換え可能な項目は次のとおりです。

method-name

GETPOSTDELETE のいずれかのメソッド名。

message-parameter-list

メソッドで使用できるメッセージパラメータを表す、改行で区切られたゼロ以上の XML 要素。各要素の形式については、「メッセージパラメータまたはクエリーパラメータの XML 表現」を参照してください。

query-parameter-list

メソッドで使用できるクエリーパラメータを表す、改行で区切られたゼロ以上の XML 要素。各要素の形式については、「メッセージパラメータまたはクエリーパラメータの XML 表現」を参照してください。

メッセージパラメータまたはクエリーパラメータの XML 表現

メッセージパラメータまたはクエリーパラメータの XML 表現は、次のとおりです。

<parameter-name attribute-list/>

この形式の置き換え可能な項目は次のとおりです。

parameter-name

パラメータ名。

attribute-list

空白文字で区切られた、パラメータの属性の名前と値のペアのリスト。各ペアの形式は次のとおりです。

name="value"

使用できる属性は次のとおりです。

Default Value

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

Acceptable Values

パラメータに使用できる値のセットまたは範囲。

Type

パラメータのデータ型。次のいずれかです。

  • boolean

  • int

  • string

Optional

パラメータが省略可能かどうか。true の場合、パラメータは省略可能です。false の場合、パラメータは必須です。

Key

パラメータがキーかどうか。true の場合、パラメータはキーです。false の場合、パラメータはキーではありません。

XML リソースの表現例

この例は、ドメイン管理用リソースの XML 表現を示します。この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。この例のリソースの URL は、http://localhost:4848/management/domain です。

改行は読みやすくするためです。


<Domain log-root="${com.sun.aas.instanceRoot}/logs" 
application-root="${com.sun.aas.instanceRoot}/applications" locale="" version="73">

  <Methods>
    <Method name="POST">
      <Message-Parameters>
        <log-root Key="false" Type="string" Optional="true"/>
        <application-root Key="false" Type="string" Optional="true"/>
        <locale Key="false" Type="string" Optional="true"/>
        <version Key="false" Type="string" Optional="true"/>
      </Message-Parameters>
    </Method>
    <Method name="GET">
    </Method>
  </Methods>

  <Child-Resources>
    <Child-Resource>http://localhost:4848/management/domain/configs</Child-Resource>
    <Child-Resource>http://localhost:4848/management/domain/resources</Child-Resource>
    <Child-Resource>http://localhost:4848/management/domain/servers</Child-Resource>
    <Child-Resource>http://localhost:4848/management/domain/property</Child-Resource>
    <Child-Resource>http://localhost:4848/management/domain/applications</Child-Resource>
    <Child-Resource>http://localhost:4848/management/domain/system-applications</Child-Resource>
    <Child-Resource>http://localhost:4848/management/domain/stop</Child-Resource>
    <Child-Resource>http://localhost:4848/management/domain/restart</Child-Resource>
    <Child-Resource>http://localhost:4848/management/domain/uptime</Child-Resource>
    <Child-Resource>http://localhost:4848/management/domain/version</Child-Resource>
    <Child-Resource>http://localhost:4848/management/domain/rotate-log</Child-Resource>
    <Child-Resource>http://localhost:4848/management/domain/host-port</Child-Resource>
  </Child-Resources>

</Domain>

HTML リソースの表現

リソースの HTML 表現の形式は Web ページであり、リソースに関して次の情報を提供します。

Web ページの例については、図 2–1 を参照してください。この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。この例のリソースの URL は、http://localhost:4848/management/domain です。