Glass Fish V3.1 Public
-
Upload
oracle-fusion-middleware -
Category
Documents
-
view
6.583 -
download
2
Transcript of Glass Fish V3.1 Public
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
2
エンタープライズ Java をリードする GlassFish v3.1
新しい飼育・繁殖方法のご紹介Blog: http://yoshio3.comTwitter: @yoshioterada
3
アジェンダ
● GlassFish v3 の概要● 飼育方法のご紹介
● GlassFish v3.1 の新機能紹介● 繁殖方法のご紹介
● デモ
4
GlassFish v3概要
5
GlassFish v3の概要● Java EE 6 の参照実装
● Java EE 6 の仕様に完全準拠
● 軽量、高速起動
● かんたん開発/かんたん管理
● プロファイルに対応
● Webプロファイル版
● Full Platform プロファイル版を提供
● 先進的アプリケーションサーバ
● RESTfulの管理インタフェースを提供
● OSGiモジュールサブシステム対応
● 進化した非同期 I/O サーバ
● かんたんな操作
● zip インストール(Tomcatと同様)
● Oracle JRockit VM 正式対応
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
● その他
7
高速起動
● たった数秒で起動● 最小限のモジュールをロードして起動
– OSGiのメリット
– 管理画面モジュールは起動時無効化(アクセス時有効)
● 開発時における再起動待ち時間を軽減● 運用時における運用・保守性向上
8
かんたん開発
● Java EE 6● アノテーションベース● POJO
● 統合開発連携● NetBeans 7.0● Eclipse Plugin
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
10
GlassFish v3.1飼育方法
11
かんたんな操作● インストーラ
● zip 版、専用 GUI インストーラ (sh, exe) を提供
● 管理操作● GUI 管理コンソール● CLI コンソール● RESTful 管理チャネル● AMX/JMX 管理チャネル
12
● インストール● unzip latest-web.zip
● 起動● cd glassfish3/bin ● asadmin start-domain
zip 版を使用したインストールと起動
たった3ステップで起動まで完了
13
管理ツール
● GUI管理コンソール
● CLI(コマンドライン)管理コンソール
● RESTful 管理チャネル
● AMX/JMX 管理チャネル
14
GUI管理コンソール
● Web ブラウザを使用した管理
● ウィザードベースでかんたん
● 直感的な操作が可能
15
CLI 管理コンソール
● GlassFish 管理用コマンドを提供● $GLASSFISH_INSTALL/bin/asadmin
● > asadmin [オプション] コマンド名 *[[--パラメータ 値]]
● シェルスクリプトを記載し管理の自動化も可能
● コマンドラインからのみ実施可能な操作
● ドメインの作成・削除
● ドメインのバックアップ・リストア
16
RESTful 管理チャネル● RESTful による管理・監視
● v3 から追加された追加管理機能
● HTML, JSON, XML フォーマットによる出力が可能
● HTTP ヘッダ:
– Accept: application/html
– Accept: application/json
– Accept: application/xml
● JAX-RS から管理・監視
● GET/POST で参照・更新
17
GlassFish v3.1新機能
18
GlassFish v3.1の新機能● アプリケーションバージョニング
● クラスタ対応● SSH プロビジョニング(Node Agentの廃止)
● ローリングアップグレード機能の提供
● WebSocket 対応
● WebLogic との互換性を提供
● WebLogicのデプロイメント記述子をサポート
● 管理・監視機能の強化 (Oracle GlassFish Server v3)● Dtraceを使用したモニタ(Java SE 7使用時)
19
アプリケーションバージョニング● 同一アプリケーションの複数配備が可能
● MS1, Beta1, RC1, GA 版等複数を配備可能● 単一バージョンのみ有効● アプリのアップグレード・ロールバックが可能● 配備数に上限無し
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.
● 同一アプリケーションの複数配備
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.
● アプリケーションの有効化と確認
22
GlassFish v3.1繁殖方法
23
GlassFish v3.1クラスタ
● ドメイン管理サーバが稼働するOSと同一環境● 例:DAS:がWindowsでNodeがUnixは未サポート
● 対象ノードではsshdの起動が必須● Windows 環境は Cygwin を利用
● 対象ノードへのインストールはSSH経由で実施
24
GlassFish のドメイン● 管理用の構成単位
● ドメイン管理のコンポーネント● ドメイン管理サーバ(DAS)
● サーバインスタンス
● クラスタインスタンス
● リソース管理(JDBC, JMS, JNDI その他)
● 単一インストールで複数のドメインを作成可能
● ドメイン間の設定は独立
25
ドメイン管理の基本
ドメイン管理サーバインスタンス
システム管理者
管理機能アプリケーション
開発したアプリケーション
開発者
デフォルトドメイン
26
1インストール複数ドメイン
ドメイン管理サーバインスタンス
システム管理者 システム管理者
システム管理者組織A用ドメイン 組織B用ドメイン
サービス利用者 サービス利用者
サーバインスタンス
ドメイン管理サーバインスタンス
サーバインスタンス
27
GlassFish v2.1のクラスタ
● ノードエージェント方式● 各物理ノードにGlassFishのインストールが必要
● ノードエージェントの起動・停止はログインが必要
● DAS から各インスタンスを管理
28
GlassFish v3.1のクラスタ
● SSHプロビジョニング● 各ノードは sshdが起動しているだけでよい
● インストール・インスタンス作成・起動・停止は全てDASから実施
29
DemoGlassFish SSH プロビジョニング
● 全ての管理は管理サーバから
GlassFish-DAS GlassFish-node1
sshd
① GlassFish DASへインストール
② ドメイン起動
③ クラスタ作成
④ SSH鍵生成
⑤ リモートのノードへGlassFishをインストール
⑥ リモートノードの作成
⑦ リモートでインスタンス生成
⑧ リモートのインスタンス起動
⑨ サンプルアプリの動作確認リモートノードはsshdが起動しているだけインストールから各種操作は全て DAS から
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.
● 異なるノード上のログを収集可能
31
GlassFish v3.1WebSocket対応
32
WebSocket とは?
● WebSocket は単一の TCPソケットで、双方向、全2重(Full Duplex)の通信チャネルの技術を提供し、Web ブラウザ、Web サーバの双方で実装されるプロトコル
33
Comet のアプローチ
34
Comet Long Pollingの利点・欠点● 利点
● HTTP 1.1 準拠
● クライアントサイド APIの標準化– Hidden iframe, XMLHttpRequest
● 広範囲への適用
● 欠点● HTTPヘッダによる負荷
– ネットワーク帯域、CPU
35
Comet Streamingの利点・欠点● 利点
● HTTP 1.1 準拠
● クライアントサイドAPIの標準化– Hidden iframe, XMLHttpRequest
● Long polling に比べ高効率
● 欠点● ブラウザ毎の対応が困難
● Proxy Server 導入時の問題発生の可能性大
36
WebSocket の特徴● 双方向通信
● 全2重
● 単一 TCP ソケットを利用した操作
● プレイン/SSL ソケット共に利用可能
● HTTP に類似● ws://HOST:PORT/CONTEXT
37
WebSocket の利点・欠点● 利点
● 効果的な双方向、全2重通信● 単一TCPソケット● Proxy/Firewall環境で利用可能
● 欠点● クライアントブラウザの対応● プロトコル自体継続議論中
39
1000イベントのデータ転送容量
WebSocket が最も高効率
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
41
まとめ● GlassFish v3.1
● アプリケーションバージョニング対応● クラスタ対応● WebSocket対応
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