3.2. 管理アプリケーションプログラミングインターフェース (API)
HTTP API
管理コンソールは、Google Web Toolkit(GWT)で構築された Web インターフェースです。HTTP 管理インターフェースを使用してサーバーと通信します。
HTTP API エンドポイントは、管理レイヤーと統合するために HTTP プロトコルに依存する管理クライアントのエントリーポイントです。
HTTP プロトコルに依存する管理クライアントは、JSON でエンコードされたプロトコルとデタイプを使用しない RPC スタイルの API を使用して、管理対象ドメインまたはスタンドアロンサーバーに対して管理操作を記述および実行します。
HTTP API は管理コンソールによって使用されますが、他のクライアントの統合機能も提供します。
HTTP API エンドポイントはドメインコントローラーまたはスタンドアロンサーバーインスタンスと同じ場所に置かれます。管理操作を実行するコンテキストと、Web インターフェースにアクセスするためのコンテキストが 2 つあります。デフォルトでは、HTTP API エンドポイントはポート 9990 で実行されます。
例3.1 HTTP API 設定ファイルの例
<management-interfaces>
[...]
<http-interface security-realm="ManagementRealm">
<socket-binding http="management-http"/>
</http-interface>
</management-interfaces>
管理コンソールは、HTTP 管理 API と同じポートで提供されます。デフォルトの localhost でアクセスされる管理コンソール、特定のホストとポートの組み合わせによってリモートでアクセスされる管理コンソール、および公開されるドメイン API を区別することが重要です。
| URL | 説明 |
|---|---|
http://localhost:9990/console | ローカルホストでアクセスされる管理コンソール (管理対象ドメイン設定を制御します)。 |
http://hostname:9990/console | リモートでアクセスされる管理コンソール (ホストを指定し、管理対象ドメイン設定を制御します)。 |
http://hostname:9990/management | HTTP 管理 API は管理コンソールと同じポートで実行され、API に公開された raw 属性と値を表示します。 |
例3.2 HTTP API を使用した属性値の取得
以下の URL は HTTP Web コネクター属性値を取得します(デフォルトの操作は
read-resourceです)。
http://hostname:9990/management/subsystem/web/connector/http
例3.3 HTTP API を使用した単一の属性値の取得
以下の URL は、ExampleDS データソースの
enabled 属性を取得します。
http://hostname:9990/management/subsystem/datasources/data-source/ExampleDS?operation=attribute&name=enabled
HTTP API を使用してアプリケーションをデプロイする方法は、「HTTP API を使用したアプリケーションのデプロイ」 を参照してください。
ネイティブ API
管理 CLI はネイティブ API ツールです。これは管理対象ドメインまたはスタンドアロンサーバーインスタンスで利用でき、管理者はドメインコントローラーまたはスタンドアロンサーバーインスタンスに接続し、デタイプな管理モデルを介して利用可能な管理操作を実行できます。
ネイティブ API エンドポイントは、ネイティブプロトコルに依存して管理レイヤーと統合する管理クライアントのエントリーポイントです。管理操作の記述および実行には、非常に少数の Java タイプに基づいた、オープンバイナリープロトコルと RPC スタイルの API を使用します。これは、管理 CLI 管理ツールによって使用されますが、他のクライアントの統合機能も提供します。
ネイティブ API エンドポイントはホストコントローラーまたはスタンドアロンサーバーと共存します。管理 CLI を使用するには、これを有効にする必要があります。デフォルトでポート 9999 で実行されます。
例3.4 ネイティブ API 設定ファイルの例
<management-interfaces>
<native-interface security-realm="ManagementRealm">
<socket-binding native="management-native"/>
</native-interface>
[...]
</management-interfaces>