20
GlassFish RESTful management September 24, 2012 HASUNUMA Kenji Vice president, GlassFish Users Group Japan E-mail: [email protected] Twitter: @btnrouge © U.S.Navy : http://www.navy.mil/viewGallery.asp

GlassFish RESTful management

Embed Size (px)

DESCRIPTION

GlassFish Users Group Japan 勉強会 2012 Autumn 「GlassFish REST管理チャネル入門」発表資料

Citation preview

Page 1: GlassFish RESTful management

GlassFish RESTful managementSeptember 24, 2012

HASUNUMA KenjiVice president, GlassFish Users Group Japan

E-mail: [email protected]: @btnrouge

© U.S.Navy : http://www.navy.mil/viewGallery.asp

Page 2: GlassFish RESTful management

GlassFishの管理ツール

1.管理コンソール (Web UI)

2.asadmin

3.REST管理チャネル

Page 3: GlassFish RESTful management

What’s REST?

© U.S.Navyhttp://www.navy.mil/viewGallery.asp

Page 4: GlassFish RESTful management

RESTの3原則•リソース•メソッド (リソースの操作)•URI (リソースの識別)

Page 5: GlassFish RESTful management

RESTなもの(RESTful)の例

• Amazon.co.jp

• facebook

• Movable Type

→RESTの3原則=メソッドの使い分け

Page 6: GlassFish RESTful management

RESTでないものの例

• Apache Struts

• JavaServer Faces

• SOAPベースのWebサービスすべて

→何でもかんでもPOSTで処理

Page 7: GlassFish RESTful management

REST管理チャネルのリソース(URI):

http://localhost:4848 /management/domain

Page 8: GlassFish RESTful management

リソース(URI): JDBCコネクションプール

/management/domain /resources /jdbc-connection-pool /DerbyPool /__TimerPool

Page 9: GlassFish RESTful management

リソース(URI): list-jvm-options

※コマンド: それ自身は情報を持たない(GETメソッドによるアクション実行)

/management/domain /list-jvm-options

Page 10: GlassFish RESTful management

GETメソッド

•リソース(URI)の状態を取得する•子リソースへのアクセス手段を得る(有効なメソッド、データ形式)

Page 11: GlassFish RESTful management

POSTメソッド

•リソースの状態を変更する•設定変更 & 子リソースの作成(方法→事前にGETで調べておく)

Page 12: GlassFish RESTful management

PUTメソッド

•リソース(URI)を作成する•基本的に使用しない→親リソースへのPOSTで代用する

Page 13: GlassFish RESTful management

DELETEメソッド

•リソース(URI)を削除する•サーバーリソース(JDBCコネクションプール等)の削除に用いる

Page 14: GlassFish RESTful management

How to use it?

© U.S.Navyhttp://www.navy.mil/viewGallery.asp

Page 15: GlassFish RESTful management

必要なもの: HTTPクライアント

•Webブラウザ

• HTTPクライアントアプリケーション(有償でも良いものを選択すること!)

• HTTPクライアントライブラリ(Jersey Client API、JAX-RS 2.0 等)

Page 16: GlassFish RESTful management

REST管理チャネルの入出力

• HTML … Webブラウザ用

• XML … DOM、StAX、JAXB等

• JSON … JavaScript、JSR 353等

Page 17: GlassFish RESTful management

messageメッセージがあれば設定(通常は空文字列)

exit_code 通常は “SUCCESS”

extraProperties取得・設定するキー/値※ ”methods”リスト

childResources子リソースのリスト(存在する場合)

commandPOSTメソッド識別用の値(最上位entry要素のキー)

Page 18: GlassFish RESTful management

HTML フォームを含むHTML(Webブラウザからの操作が前提)

XML

<entry> : key, value 属性<map> : <entry> <map> の集合

<list> : <map> の配列※トップレベル要素は <map>

JSON 全体が object ( { ... } ) で構成される、一般的なJSON形式

Page 19: GlassFish RESTful management

REST管理チャネルの用途

•独自の管理/監視ソリューション• GlassFish管理の自動化•アプリケーションからの設定変更

Page 20: GlassFish RESTful management

GlassFish RESTful managementHASUNUMA [email protected]

© U.S.Navyhttp://www.navy.mil/viewGallery.asp