glass fish v3.1 public
TRANSCRIPT
![Page 1: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/1.jpg)
1
NetBeans
Java EE 6Open Source
OpenJDKGlassFish
EJB DI/CDI ManagedBean
Grizzly
lightweight
JPA
JMSJTAJAX-RSOSGi
Com
et
Web
Soc
kets
Web
Soc
kets
Clo
ud
HK
2
BeanValidationJSF
clustering
WebService
Eclipse
Web Profile
Web Profile Embedded
NIO
Update Center
![Page 2: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/2.jpg)
2
エンタープライズ Java をリードする GlassFish v3.1
新しい飼育・繁殖方法のご紹介Blog: http://yoshio3.comTwitter: @yoshioterada
![Page 3: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/3.jpg)
3
アジェンダ
● GlassFish v3 の概要● 飼育方法のご紹介
● GlassFish v3.1 の新機能紹介● 繁殖方法のご紹介
● デモ
![Page 4: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/4.jpg)
4
GlassFish v3概要
![Page 5: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/5.jpg)
5
GlassFish v3の概要● Java EE 6 の参照実装
● Java EE 6 の仕様に完全準拠
● 軽量、高速起動
● かんたん開発/かんたん管理
● プロファイルに対応
● Webプロファイル版
● Full Platform プロファイル版を提供
● 先進的アプリケーションサーバ
● RESTfulの管理インタフェースを提供
● OSGiモジュールサブシステム対応
● 進化した非同期 I/O サーバ
● かんたんな操作
● zip インストール(Tomcatと同様)
● Oracle JRockit VM 正式対応
![Page 6: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/6.jpg)
6
Java EE 6の参照実装● Servlet 3.0
● JSP 2.2
● JSF 2.0
● EJB 3.1
● JTA 1.1
● JPA 2.0
● JAX-WS 2.2
● JAXB 2.2
● JAX-RS 1.1
● JMS 1.1
● JavaMail 1.4
● EL 2.2
● Common Annotations 1.1
● Managed Bean 1.0
● Interceptors 1.1
● JACC 1.4
● その他
![Page 7: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/7.jpg)
7
高速起動
● たった数秒で起動● 最小限のモジュールをロードして起動
– OSGiのメリット
– 管理画面モジュールは起動時無効化(アクセス時有効)
● 開発時における再起動待ち時間を軽減● 運用時における運用・保守性向上
![Page 8: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/8.jpg)
8
かんたん開発
● Java EE 6● アノテーションベース● POJO
● 統合開発連携● NetBeans 7.0● Eclipse Plugin
![Page 9: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/9.jpg)
9
プロファイル
● Java EE 全機能のサブセットを提供● Web の開発に特化した Webプロファイル● Java EE の全機能を網羅した Enterprise Platform
● 各プロファイルに対応したインストーラを提供● latest-glassfish-unix.sh
● latest-glassfish-windows.exe
● latest-glassfish.zip
● latest-web-unix.sh
● latest-web-windows.exe
● latest-web.zip
http://glassfish.java.net/public/downloadsindex.html
![Page 10: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/10.jpg)
10
GlassFish v3.1飼育方法
![Page 11: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/11.jpg)
11
かんたんな操作● インストーラ
● zip 版、専用 GUI インストーラ (sh, exe) を提供
● 管理操作● GUI 管理コンソール● CLI コンソール● RESTful 管理チャネル● AMX/JMX 管理チャネル
![Page 12: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/12.jpg)
12
● インストール● unzip latest-web.zip
● 起動● cd glassfish3/bin ● asadmin start-domain
zip 版を使用したインストールと起動
たった3ステップで起動まで完了
![Page 13: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/13.jpg)
13
管理ツール
● GUI管理コンソール
● CLI(コマンドライン)管理コンソール
● RESTful 管理チャネル
● AMX/JMX 管理チャネル
![Page 14: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/14.jpg)
14
GUI管理コンソール
● Web ブラウザを使用した管理
● ウィザードベースでかんたん
● 直感的な操作が可能
![Page 15: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/15.jpg)
15
CLI 管理コンソール
● GlassFish 管理用コマンドを提供● $GLASSFISH_INSTALL/bin/asadmin
● > asadmin [オプション] コマンド名 *[[--パラメータ 値]]
● シェルスクリプトを記載し管理の自動化も可能
● コマンドラインからのみ実施可能な操作
● ドメインの作成・削除
● ドメインのバックアップ・リストア
![Page 16: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/16.jpg)
16
RESTful 管理チャネル● RESTful による管理・監視
● v3 から追加された追加管理機能
● HTML, JSON, XML フォーマットによる出力が可能
● HTTP ヘッダ:
– Accept: application/html
– Accept: application/json
– Accept: application/xml
● JAX-RS から管理・監視
● GET/POST で参照・更新
![Page 17: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/17.jpg)
17
GlassFish v3.1新機能
![Page 18: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/18.jpg)
18
GlassFish v3.1の新機能● アプリケーションバージョニング
● クラスタ対応● SSH プロビジョニング(Node Agentの廃止)
● ローリングアップグレード機能の提供
● WebSocket 対応
● WebLogic との互換性を提供
● WebLogicのデプロイメント記述子をサポート
● 管理・監視機能の強化 (Oracle GlassFish Server v3)● Dtraceを使用したモニタ(Java SE 7使用時)
![Page 19: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/19.jpg)
19
アプリケーションバージョニング● 同一アプリケーションの複数配備が可能
● MS1, Beta1, RC1, GA 版等複数を配備可能● 単一バージョンのみ有効● アプリのアップグレード・ロールバックが可能● 配備数に上限無し
![Page 20: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/20.jpg)
20
アプリケーションバージョニング
> asadmin deploy --name=HelloWorld:MS1 ./HelloWorldWeb-MS1.war
> asadmin deploy --enabled=false --name=HelloWorld:Beta ./HelloWorldWeb-Beta.war Application deployed with name HelloWorld:Beta.Command deploy executed successfully.
> asadmin deploy --enabled=false --name=HelloWorld:GA ./HelloWorldWeb-GA.war Application deployed with name HelloWorld:GA.Command deploy executed successfully.
● 同一アプリケーションの複数配備
![Page 21: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/21.jpg)
21
アプリケーションバージョニング
> asadmin enable HelloWorld:GACommand enable executed successfully.
> asadmin list-applications -lNAME TYPE STATUS HelloWorld:MS1 <web> disabled HelloWorld:Beta <web> disabled HelloWorld:GA <web> enabled Command list-applications executed successfully.
● アプリケーションの有効化と確認
![Page 22: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/22.jpg)
22
GlassFish v3.1繁殖方法
![Page 23: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/23.jpg)
23
GlassFish v3.1クラスタ
● ドメイン管理サーバが稼働するOSと同一環境● 例:DAS:がWindowsでNodeがUnixは未サポート
● 対象ノードではsshdの起動が必須● Windows 環境は Cygwin を利用
● 対象ノードへのインストールはSSH経由で実施
![Page 24: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/24.jpg)
24
GlassFish のドメイン● 管理用の構成単位
● ドメイン管理のコンポーネント● ドメイン管理サーバ(DAS)
● サーバインスタンス
● クラスタインスタンス
● リソース管理(JDBC, JMS, JNDI その他)
● 単一インストールで複数のドメインを作成可能
● ドメイン間の設定は独立
![Page 25: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/25.jpg)
25
ドメイン管理の基本
ドメイン管理サーバインスタンス
システム管理者
管理機能アプリケーション
開発したアプリケーション
開発者
デフォルトドメイン
![Page 26: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/26.jpg)
26
1インストール複数ドメイン
ドメイン管理サーバインスタンス
システム管理者 システム管理者
システム管理者組織A用ドメイン 組織B用ドメイン
サービス利用者 サービス利用者
サーバインスタンス
ドメイン管理サーバインスタンス
サーバインスタンス
![Page 27: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/27.jpg)
27
GlassFish v2.1のクラスタ
● ノードエージェント方式● 各物理ノードにGlassFishのインストールが必要
● ノードエージェントの起動・停止はログインが必要
● DAS から各インスタンスを管理
![Page 28: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/28.jpg)
28
GlassFish v3.1のクラスタ
● SSHプロビジョニング● 各ノードは sshdが起動しているだけでよい
● インストール・インスタンス作成・起動・停止は全てDASから実施
![Page 29: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/29.jpg)
29
DemoGlassFish SSH プロビジョニング
● 全ての管理は管理サーバから
GlassFish-DAS GlassFish-node1
sshd
① GlassFish DASへインストール
② ドメイン起動
③ クラスタ作成
④ SSH鍵生成
⑤ リモートのノードへGlassFishをインストール
⑥ リモートノードの作成
⑦ リモートでインスタンス生成
⑧ リモートのインスタンス起動
⑨ サンプルアプリの動作確認リモートノードはsshdが起動しているだけインストールから各種操作は全て DAS から
![Page 30: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/30.jpg)
30
クラスタ環境のログ収集
> asadmin collect-log-files –-target cluster1
Log files are downloaded for instance1.
Log files are downloaded for instance2.
Created Zip file under
/GlassFishv3.1/glassfish3/glassfish/domains/
domain1/collected-logs/log_2010-12-19_18-42-07.zip.
Command collect-log-files executed successfully.
● 異なるノード上のログを収集可能
![Page 31: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/31.jpg)
31
GlassFish v3.1WebSocket対応
![Page 32: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/32.jpg)
32
WebSocket とは?
● WebSocket は単一の TCPソケットで、双方向、全2重(Full Duplex)の通信チャネルの技術を提供し、Web ブラウザ、Web サーバの双方で実装されるプロトコル
![Page 33: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/33.jpg)
33
Comet のアプローチ
![Page 34: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/34.jpg)
34
Comet Long Pollingの利点・欠点● 利点
● HTTP 1.1 準拠
● クライアントサイド APIの標準化– Hidden iframe, XMLHttpRequest
● 広範囲への適用
● 欠点● HTTPヘッダによる負荷
– ネットワーク帯域、CPU
![Page 35: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/35.jpg)
35
Comet Streamingの利点・欠点● 利点
● HTTP 1.1 準拠
● クライアントサイドAPIの標準化– Hidden iframe, XMLHttpRequest
● Long polling に比べ高効率
● 欠点● ブラウザ毎の対応が困難
● Proxy Server 導入時の問題発生の可能性大
![Page 36: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/36.jpg)
36
WebSocket の特徴● 双方向通信
● 全2重
● 単一 TCP ソケットを利用した操作
● プレイン/SSL ソケット共に利用可能
● HTTP に類似● ws://HOST:PORT/CONTEXT
![Page 37: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/37.jpg)
37
WebSocket の利点・欠点● 利点
● 効果的な双方向、全2重通信● 単一TCPソケット● Proxy/Firewall環境で利用可能
● 欠点● クライアントブラウザの対応● プロトコル自体継続議論中
![Page 39: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/39.jpg)
39
1000イベントのデータ転送容量
WebSocket が最も高効率
![Page 40: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/40.jpg)
40
WebSocket のサンプルgrizzly-websockets-chat-1.9.26-javadoc.jargrizzly-websockets-chat-1.9.26-javadoc.jar.md5grizzly-websockets-chat-1.9.26-javadoc.jar.sha1grizzly-websockets-chat-1.9.26-sources.jargrizzly-websockets-chat-1.9.26-sources.jar.md5grizzly-websockets-chat-1.9.26-sources.jar.sha1grizzly-websockets-chat-1.9.26.pomgrizzly-websockets-chat-1.9.26.pom.md5grizzly-websockets-chat-1.9.26.pom.sha1grizzly-websockets-chat-1.9.26.wargrizzly-websockets-chat-1.9.26.war.md5grizzly-websockets-chat-1.9.26.war.sha1
● http://tinyurl.com/2aejyfa
![Page 41: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/41.jpg)
41
まとめ● GlassFish v3.1
● アプリケーションバージョニング対応● クラスタ対応● WebSocket対応
![Page 42: Glass Fish V3.1 Public](https://reader031.vdocuments.site/reader031/viewer/2022020307/559a9dc01a28ab02098b45c4/html5/thumbnails/42.jpg)
42
NetBeans
Java EE 6Open Source
OpenJDKGlassFish
EJB DI/CDI ManagedBean
Grizzly
lightweight
JPA
JMSJTAJAX-RSOSGi
Com
et
Web
Soc
kets
Web
Soc
kets
Clo
ud
HK
2
BeanValidationJSF
clustering
WebService
Eclipse
Web Profile
Web Profile Embedded
NIO
Update Center