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 メソッドは、ノードの追加情報も表示します。詳細については、「ツリー内のノードのデータを取得する」を参照してください。
ツリー内のノードがサポートするメソッドおよびメソッドパラメータは、ノードを表す REST リソースによって決まります。
監視用の REST リソースは、GET メソッドのみをサポートします。
構成用の REST リソースはすべて、GET メソッドおよび OPTIONS メソッドをサポートします。ただし、構成用の一部の REST リソースは、POST メソッドと DELETE メソッドもサポートします。
ツリーのノードで操作を実行する前に、そのノードがサポートするメソッドおよびメソッドパラメータを判定します。
この情報の表示形式を指定できます。詳細については、「リソースの表現形式」を参照してください。
サーバーが実行されていることを確認します。
Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。
ノードを表す REST リソースに対して、適切なメソッドを使用します。
GET メソッドと OPTIONS メソッドは、リソースがサポートするメソッドのリストを返します。各メソッドについて、使用できるメッセージパラメータのリスト、または使用できるクエリーパラメータのリストが返されます。
この例は、cURL ユーティリティーを使用して、ドメインのリソースがサポートするメソッドおよびメソッドパラメータを判定します。この例は、cURL ユーティリティーの次に示すオプションを使用します。
-X: OPTIONS メソッドを使用していることを示します
-H: リソースが JavaScript Object Notation (JSON) で記述されていることを示します
この例では、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" } } } |
ツリー内のノードのデータを取得すると、そのノードを表す REST リソースに関する次の情報が得られます。
リソースがサポートする REST メソッドのリスト
リソースの属性とその値のリスト
リソースの子の URL のリスト
この情報の表示形式を指定できます。詳細については、「リソースの表現形式」を参照してください。
サーバーが実行されていることを確認します。
Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。
ノードを表す REST リソースに対して、GET メソッドを使用します。
この例は、cURL ユーティリティーを使用して、ドメインのリソースデータを取得します。この例は、cURL ユーティリティーの次に示すオプションを使用します。
-X: GET メソッドを使用していることを示します
-H: リソースが JavaScript Object Notation (JSON) で記述されていることを示します
この例では、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" ] |
サーバーが実行されていることを確認します。
Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。
ノードの親を表すリソースの POST メソッドについて、使用できるメッセージパラメータを調べます。
この手順の実行方法については、「ツリー内のノードがサポートするメソッドおよびメソッドパラメータを判定する」を参照してください。
追加するノードの親を表す REST リソースに対して、POST メソッドを使用します。
ノードが追加されたことを確認します。
追加したノード (親ではない) を表すリソースに対してこの手順を実行します。この手順の実行方法については、「ツリー内のノードのデータを取得する」を参照してください。
この例は、cURL ユーティリティーを使用して、JDBC リソースを表す REST リソースを作成することにより、ツリーに JDBC リソースを追加します。
この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。
改行は読みやすくするためです。
この手順は、リソース jdbc-resource の POST メソッドに使用できるメッセージパラメータを調べます。
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" } } } |
この手順は、jdbc-resource リソースの子としてリソースを追加します。cURL ユーティリティーのオプション -d は、必要なメッセージパラメータを次のように設定します。
id が jdbc/myjdbcresource に設定されます。
connectionpoolid が DerbyPool に設定されます。
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. |
この手順は、ノードを表す 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"} } } } } |
サーバーが実行されていることを確認します。
Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。
ノードを表すリソースの POST メソッドについて、使用できるメッセージパラメータを判定します。
この手順の実行方法については、「ツリー内のノードがサポートするメソッドおよびメソッドパラメータを判定する」を参照してください。
更新するノードを表す REST リソースに対して、POST メソッドを使用します。
ノードが更新されたことを確認します。
この手順の実行方法については、「ツリー内のノードのデータを取得する」を参照してください。
この例は、cURL ユーティリティーを使用して、JDBC リソースを表す REST リソースを変更することにより、ツリーの JDBC リソースを更新します。
この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。
改行は読みやすくするためです。
この手順は、リソース jdbc-myjdbcresource の POST メソッドに使用できるメッセージパラメータを調べます。
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"} } } } } |
この手順は、jdbc-myjdbcresource が表す JDBC リソースを無効にするように、REST リソース jdbc-myjdbcresource を更新します。cURL ユーティリティーのオプション -d は、メッセージパラメータ enabled を disabled に設定します。
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. |
この手順は、ノードを表す 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"} } } } } |
サーバーが実行されていることを確認します。
Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。
ノードが削除できることを確認します。
この手順の実行方法については、「ツリー内のノードがサポートするメソッドおよびメソッドパラメータを判定する」を参照してください。
ノードが削除されたことを確認します。
削除したノードを表すリソースに対してこの手順を実行します。この手順の実行方法については、「ツリー内のノードのデータを取得する」を参照してください。
この例は、cURL ユーティリティーを使用して、JDBC リソースを表す REST リソースを削除することにより、ツリーから JDBC リソースを削除します。
この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。
改行は読みやすくするためです。
この手順は、リソース 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"} } } } } |
この手順は、リソース jdbc-myjdbcresource を削除します。
curl -X DELETE http://localhost:4848/management/domain/resources/ jdbc-resource/jdbc-myjdbcresource |
この手順は、ノードの親を表す 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" ] |