glass fishv3
TRANSCRIPT
1
次世代アプリケーションサーバGlassFish v3
Yoshio TeradaGlassFish エバンジェリストSun Microsystems K.K.http://blogs.sun.com/yosshi
1
2
Agenda
• はじめに• GlassFish v3 のご紹介• 参考情報
3
はじめに
4
Sun SPARCEnterprise M Series
GlassFish: 先進的アプリケーションサーバ
glassfish.dev.java.net
• オープンソースコミュニティ• アプリケーションサーバ• Java EE 5 完全準拠• Web 2.0 対応
> Ajax, Comet
> Web サービス• ハイパフォーマンス
• サポート> コミュニティサポート> 商用サポート
5
2005年 6月JavaOne'05
2006年 5月JavaOne'06
GlassFishProject Launch
1.0
2007年 9月
2.01.0u1
3.0
2009年秋頃2009年 01月
2.1 3.1
2010年
GlassFish Enterprise Server の歴史
6
パフォーマンス監視ツール
実行時のヒープダンプやスレッドダンプの取得も可
有償ユーザに提供される負荷価値
7
パフォーマンスアドバイザー
閾値を設定しアラートを管理者にメールで自動通知可能
有償ユーザに提供される負荷価値
8
SNMP 監視対応例1:サーバの状態の監視# snmpwalk -c public -v 1 -m ./J2EE-MIB localhost:10161 J2EE-MIB::j2eeSrvSMStateJ2EE-MIB::j2eeSrvSMState.1.1 = INTEGER: running(4)
例2:デプロイされているアプリケーション数# snmpwalk -c public -v 1 -m ./J2EE-MIB localhost:10161 J2EE-MIB::j2eeAppMoName.1J2EE-MIB::j2eeAppMoName.1.2 = STRING: "name=__JWSappclients,server=server"J2EE-MIB::j2eeAppMoName.1.3 = STRING: "name=MEjbApp,server=server"
例3:アプリケーションが起動した時間# snmpwalk -c public -v 1 -m ./J2EE-MIB localhost:10161 J2EE-MIB::j2eeAppSMStartTime.1J2EE-MIB::j2eeAppSMStartTime.1.2 = STRING: "Fri Feb 13 16:43:11 JST 2009"
有償ユーザに提供される負荷価値
9
http://blogs.sun.com/storiesGlassFish の豊富な導入事例
10
さまざまな統合開発環境と実行環境をサポート開発環境と実行環境
11
GlassFish v3 テーマ
12
進化したアプリケーションサーバ
• 次世代アプリケーション• かんたん• より進化した機能
GlassFish v3 のテーマ
13
• Java EE 6 のリファレンス実装> 軽量、高速、モジュール化
• Web 2.0 の実現に最適なコンテナ> Java 言語、スクリプト言語 (JRuby 等 ) のサポート> Java EE 6 のプロファイルに対応
• かんたんな操作> 入手、インストール、管理、拡張、設定変更、開発
• Java EE も動作するアプリケーションサーバ> Java EE 対応だけではない > SOA の実現に最適
GlassFish v3 の特徴
14
GlassFish v3 Prelude
• Web 2.0 開発 & 配備
• JRuby を完全サポート
• OSGi によるモジュール化> 高速起動 / リソース軽減
• Java EE 6 の事前検証
• 開発者向け機能を提供
GlassFish v3 Prelude( 今すぐ利用可能 )
15
• かんたんインストール> GUI インストーラ付属
• 進化したアップデートセンター> 管理画面との統合
• Ruby on Rails のネィティブサポート> war へのアーカイブ必要無
• 無停止でアプリケーションの再配備> asadmin redeploy --properties keepSessions=true
GlassFish v3 の一部機能を先取りでリリースGlassFish v3 Prelude
16
• Sun の商用サポートを提供
• 埋め込み GlassFish API の提供
• サポートテクノロジー> Java EE 5 ベース ( 一部 Java EE 6 を利用可能 )> Servlet 2.5> Java Persisntence API 1.0> JAX-WS> JavaServer Faces 1.2> JavaServer Pages 2.1, JSTL 1.2> Streaming API for XML (StAX)
GlassFish v3 の一部機能を先取りでリリースGlassFish v3 Prelude
17
• モジュール化 / 拡張性
• 各種フレームワークサポート
• 多言語サポート
• リッチクライアントサポート
• Java EE 6 完全準拠
• SOA/Web サービス
• Microsoft .NET 3.5相互運用
進化したアプリケーションサーバ
GlassFish v3
18
WebContainer
GlassFish V3 Core(Module Subsystem)
NamingService
SecurityService
TransactionManagement
Configuration
Deployment
Monitoring/Serviceability/
LoggingInjectionManager
SecurityService Clustering
Java SENetBeans JavaWebStart
JSF ConnectionPooling (JCA)
JavaPersistence
Metro EJB Container
PortletContainer Groovy JRuby OpenMQ
JMS OpenESB OpenSSO
Grizzly Framework
Management Console Management CLIUpdate Center
OSGi
GlassFish v3 は OSGi アプリケーションGlassFish v3 アーキテクチャ
19
GlassFish v2.x GlassFish v3.x( 予定 )
Ajax を使用したユーザフレンドリーな管理画面
管理画面の進化
20
その他の管理機能のアップデート
• 管理画面のカスタマイズが可能
• 管理画面からバグ登録、フィードバックの受付が可能
• 管理画面の拡張が可能> Spring/Struts 等の設定が可能
• 複数管理者による管理が可能> 同時変更に対する排他制御
• トラブルシューティングガイドやフォーラムへのリンクの提供
管理画面の進化
21
• 約 2~ 3秒で起動> 開発環境では起動、終了、 deploy 、 undeploy の速度が重要
• 使われてない機能を初期化しないIIOP, JMS, web service, …
• 開発環境・テスト環境で使いやすいものに
MacBook での実際の起動時間Sun GlassFish Enterprise Server v3 Prelude startup time : Felix(2751ms) startup services(1204ms) total(3955ms)
起動時間の劇的な短縮
22
• GlassFish をライブラリとして利用可能> JVM の主人としてではなく> GlassFish をインストールせずにモジュールを起動
• 携帯電話には載りません
• 内部的には異なる環境> OSGi なし、モジュールなし、インストールディレクトリなし
> asadmin なし、 JMX なし、自動 deploy なし(勿論、必要があれば使えます)
例: java -jar MyApplication.jar
埋め込み GlassFish
23
• ひとつの jar にまとめられた GlassFish
• 管理ツールに代わるプログラム API を提供> 起動 / 停止 / 設定 / 配備
• Maven プラグインも利用可能> Unit テストも容易
GlassFish glassfish = new GlassFish(); glassfish.minimallyConfigure(8080); GFApplication app = glassfish.deploy(new File("path/to/simple.war")); ... app.undeploy(); glassfish.stop();
埋め込み GlassFish
24
• モジュール化> マイクロモジュールカーネル、 OSGi 対応
• 軽量、高速起動、スケーラブル
• 埋め込み可能 / 拡張可能
• JavaEE 6 対応 / 他フレームワークの利用
• スクリプト言語対応 (JRuby, Jython 等 )
• 開発から本番環境まで
• ソースコードとドキュメントがオープン> 現在 Technology Preview 2 を利用可能
GlassFish v3 のまとめ
25
参考情報
26
ここで紹介する参考情報は、 2009 年 03 月現在の情報です。GlassFish v3 は現在開発中で今後仕様が変更する可能性があります。また、すべての機能をリストしているわけではありません。すべての実装予定の機能は GlassFish の Wiki に記載されています。http://wiki.glassfish.java.net/Wiki.jsp?page=PlanForGlassFishV3
本内容は GlassFish v3, GlassFish v3.1 の内容を含みます。GlassFish v3 リリース時にリストするすべての機能は利用できません。
参考情報に関する注意事項
27
全体的な拡張
• GlassFish v2 との互換性
• 起動時間の短縮
• メモリー消費量の軽減
• unzip によるインストール対応> Tomcat と同様
• 複数のアップデートセンターへの接続
• リソースのプライオリティ付けとスケジューリングが可能
GlassFish v3 で拡張される管理機能
28
管理系に対する拡張
• 超大規模環境への対応
• 管理サーバの高可用性対応
• ロールベースのアクセスコントロール
• ネットワーク設定の簡略化
• ファイアウォール環境でかんたん管理> RMI 管理を排除
• 軽量プロビジョニング> 全システムのインストールは不必要
GlassFish v3 で拡張される管理機能
29
アプリケーション配備に関する拡張
• Java 以外の言語の配備に対する拡張
• 繰り返しのデプロイに対する改良
• アプリケーションのバージョン化> バージョン化を行うことで、変更したプログラムに不具合があった場合に即時にロールバック可能
• アプリケーションを配備した後のアプリケーション設定の変更> Servlet の init-param, env-entry 等の編集など
GlassFish v3 で拡張される管理機能
30
開発関連での拡張
• Java EE 6, JRuby, PHP 等対応
• Dtrace 対応> ボトルネックの原因究明
• JavaFX/JavaScript 対応
• ACC サイズの軽量化> jar の分割ダウンロード
• 複数のアップデートセンターへ接続可能
GlassFish v3 で拡張される管理機能
31
GlassFish に関する参考情報• GlassFish コミュニティ・サイト(日本語)
> https://glassfish.dev.java.net/ja
• GlassFish 関連ニュース・ブログ(日本語)> http://blogs.sun.com/theaquarium_ja/
• GlassFish ブログ(英語・日本語)> http://blogs.sun.com/main/tags/glassfish
• ドキュメント> http://docs.sun.com/app/docs/coll/1343.4
• GlassFish Enterprise Server 製品情報> http://jp.sun.com/products/software/appsrvr/
3232
次世代アプリケーションサーバGlassFish v3
Yoshio TeradaGlassFish エバンジェリストSun Microsystems K.K.http://blogs.sun.com/yosshi