0
JBoss AS7#@*%ing fast.                             Red HatSenior Software Maintenance Engineer                    Takayosh...
JBoss AS 7•   歴史•   概要•   デモ•   JBoss Modules•   スタンドアロンとドメイン•   まとめ
History• JBoss AS7          • JBoss AS 4.2  – 2011-07            – 2007-05-11• JBoss AS 6.0       • JBoss AS 4.0  – 2010-1...
History• 1999 年 JBoss 始動• 2001 年 JBoss Group 設立• 2006 年初め、 Oracle による買収 – 失敗。 Oracle は 2008 年に BEA 買収• 2006 年 4 月 10 日 Red...
JBoss AS7 の概要• Java EE 6 アプリケーションサーバ – Web プロファイルサポート – 7.1 で Full プロファイルサポート予定 – Full はあまり需要 / 人気が高くはないので   後回し
JBoss AS7 の概要• 開発アプローチ変更 – 既存の資産である AS6 を一旦考慮から外   して要件やユーザストーリーを洗い出し• そしてメジャーリライト – 「こんなこといいな♪できたらいいな   ♪」を全て実現するために – AS...
JBoss AS7 の 3 つの特徴
超高速
超高速 - 起動時間の比較• JBoss AS7      • JBoss EAP 5.1  – 1.6 秒          – 15.0 秒• JBoss AS6        – 起動ではなくラ  – 12.0 秒           ン...
超高速 - 起動時間の比較• 計測に用いたラップトップのスペック – Dell Latitude E6320 – Intel(R) Core(TM) i7-2620M CPU @   2.70GHz / 8GB mem / 7200rpm HD...
超軽量
超軽量• 起動に必要なメモリは 12M – 64bit 上での実績 – 32bit だともう少し低いかも• Tomcat 7.0.14 は 8M で起動する – 機能セットの大きさがかなり違うので妥当• Glassfish 3.1 は 32M ...
かんたん
管理容易性の向上• 豊富で洗練されたマネジメントインタ  フェース – シンプルな単一の設定ファイル – Java API – Web API – GUI Web 管理コンソール – CUI
ドキュメントの刷新と拡充•   スタートガイド•   アプリケーション開発スタートガイド•   管理ガイド•   開発者ガイド•   Java EE 6 チュートリアル•   高可用性ガイド•   AS7 拡張ガイド
デモ•   起動•   トップページ•   管理 GUI•   管理 CUI•   設定ファイル
JBoss Modules
JBoss Modules• モジュール? – 一般的な単語 – 外見上は jar
JBoss Modules• モジュールベースクラスローディング  環境• 特定のモジュールの Main クラスとし  て指定されているクラスの main メソ  ッドの呼び出しを行う• シンプル、かんたん• 超高速スレッドセーフなクラスローダ...
階層型クラスローダの問題• 複数のクラスローダでクラス共有 – 共通の親クラスローダ上に配置しかない – 「配置」という行為が問題の種となる• 移譲モデル – 階層をどのように利用するか – parent-first と child-first...
モジュールベース     クラスローダ• 階層型ではなくグラフ型
モジュールベース      クラスローダ• マニフェストで import, export といっ  た移譲関係を定義 – import: モジュール環境のこのパッケージ   を使います – export: 自分はこのパッケージをモジュー   ル...
なにがうれしいの?• 見えるべきクラスが見える• 見えないべきクラスが見えないように – コンテナの依存ライブラリなど• ライブラリの競合問題を大幅に改善
JBoss Modules と OSGi• モジュールベースクラスローディング  モデルについては OSGi も同じ• OSGi は「サービス」やより上位のい  ろいろな機能を定義するなど、もっと  リッチ ( 言い方を変えると複雑 ) な環 ...
JBoss Modules と OSGi• JBoss OSGi ?  – JBoss Modules 上に OSGi の機能を提供し    、 OSGi バンドルのデプロイを可能に  – JBoss AS が OSGi 環境で動いているわけ ...
モジュール時代のお約束• スレッドコンテキストクラスローダか  らのクラスロードを最初に試行するの  はダメ – Thread.currentThread().getContextClassLo   ader()• なぜ? – 大抵単に間違って...
JBoss MSC• JBoss Modular Service Container• AS7 の新しいカーネル  – AS5, 6: JBoss Microcontainer (POJO)  – AS3, 4: JBoss Microkern...
スタンドアロンとドメイン
スタンドアロンとドメイン• スタンドアロン – ふつう• ドメイン – 複数 VM 、複数 JBoss インスタンスをま   とめて管理
ドメイン
起動されるモジュール• スタンドアロン – org.jboss.standalone.server   • org.jboss.as.server.Main
起動されるモジュール• ドメイン – org.jboss.as.process-conroller    • org.jboss.as.process.Main – org.jboss.as.host-controller    • org.j...
ドメイン用語• ドメイン – 複数のホストおよびサーバを管理するた   めの枠組み• ドメインコントローラ – ホストやサーバのマネージャ
ドメイン用語• プロセスコントローラ – プロセス起動停止を行う Java プロセス – ホストコントローラを起動する• ホストコントローラ – ホスト = 物理、もしくは仮想マシン – 単一のホストを管理するプロセス – ドメインコントローラ...
ドメイン用語• サーバグループ – 同じ設定 / アプリを持つべきサーバのグル   ープ• サーバ – 単一の JBoss AS インスタンス – ドメイン管理モデルではサーバは設定を   ほとんど持たない
テスト容易性
テスト容易性• Java EE はテストサポートが貧弱• Java EE はコンテナが重い
Arquillian• Java EE テスティングフレームワーク• JBoss AS 7 はコンテナが超軽量
JBoss AS 7 まとめ•   Java EE 6•   超高速•   超軽量•   管理容易性•   テスト容易性
References• AS7 管理ガイド  – https://docs.jboss.org/author/display/AS7/Admin+Guide• JBoss World 2011  – http://www.redhat.com/...
JBoss AS7 rev3
JBoss AS7 rev3
JBoss AS7 rev3
Upcoming SlideShare
Loading in...5
×

JBoss AS7 rev3

1,165

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,165
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "JBoss AS7 rev3"

  1. 1. JBoss AS7#@*%ing fast. Red HatSenior Software Maintenance Engineer Takayoshi Kimura
  2. 2. JBoss AS 7• 歴史• 概要• デモ• JBoss Modules• スタンドアロンとドメイン• まとめ
  3. 3. History• JBoss AS7 • JBoss AS 4.2 – 2011-07 – 2007-05-11• JBoss AS 6.0 • JBoss AS 4.0 – 2010-12-28 – 2004-09-20• JBoss AS 5.1 • JBoss AS 3.2 – 2009-05-23 – 2003-06-02• JBoss AS 5.0 • JBoss AS 3.0 – 2008-12-05 – 2002-05-29
  4. 4. History• 1999 年 JBoss 始動• 2001 年 JBoss Group 設立• 2006 年初め、 Oracle による買収 – 失敗。 Oracle は 2008 年に BEA 買収• 2006 年 4 月 10 日 Red Hat による買収 – 成立
  5. 5. JBoss AS7 の概要• Java EE 6 アプリケーションサーバ – Web プロファイルサポート – 7.1 で Full プロファイルサポート予定 – Full はあまり需要 / 人気が高くはないので 後回し
  6. 6. JBoss AS7 の概要• 開発アプローチ変更 – 既存の資産である AS6 を一旦考慮から外 して要件やユーザストーリーを洗い出し• そしてメジャーリライト – 「こんなこといいな♪できたらいいな ♪」を全て実現するために – AS6 とは異なる新しいカーネルの開発
  7. 7. JBoss AS7 の 3 つの特徴
  8. 8. 超高速
  9. 9. 超高速 - 起動時間の比較• JBoss AS7 • JBoss EAP 5.1 – 1.6 秒 – 15.0 秒• JBoss AS6 – 起動ではなくラ – 12.0 秒 ンタイムの速度 に最適化• JBoss AS 5.1 • Glassfish 3.1 – 19.0 秒 –3秒• JBoss AS 4.2 – JBoss AS7 出現 – 6.2 秒 までは最速
  10. 10. 超高速 - 起動時間の比較• 計測に用いたラップトップのスペック – Dell Latitude E6320 – Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz / 8GB mem / 7200rpm HDD – Fedora 15 (Lovelock) 64-bit – OpenJDK (IcedTea6 1.10.2) (fedora- 58.1.10.2.fc15-x86_64)
  11. 11. 超軽量
  12. 12. 超軽量• 起動に必要なメモリは 12M – 64bit 上での実績 – 32bit だともう少し低いかも• Tomcat 7.0.14 は 8M で起動する – 機能セットの大きさがかなり違うので妥当• Glassfish 3.1 は 32M では起動しない – OutOfMemoryError
  13. 13. かんたん
  14. 14. 管理容易性の向上• 豊富で洗練されたマネジメントインタ フェース – シンプルな単一の設定ファイル – Java API – Web API – GUI Web 管理コンソール – CUI
  15. 15. ドキュメントの刷新と拡充• スタートガイド• アプリケーション開発スタートガイド• 管理ガイド• 開発者ガイド• Java EE 6 チュートリアル• 高可用性ガイド• AS7 拡張ガイド
  16. 16. デモ• 起動• トップページ• 管理 GUI• 管理 CUI• 設定ファイル
  17. 17. JBoss Modules
  18. 18. JBoss Modules• モジュール? – 一般的な単語 – 外見上は jar
  19. 19. JBoss Modules• モジュールベースクラスローディング 環境• 特定のモジュールの Main クラスとし て指定されているクラスの main メソ ッドの呼び出しを行う• シンプル、かんたん• 超高速スレッドセーフなクラスローダ 実装を提供
  20. 20. 階層型クラスローダの問題• 複数のクラスローダでクラス共有 – 共通の親クラスローダ上に配置しかない – 「配置」という行為が問題の種となる• 移譲モデル – 階層をどのように利用するか – parent-first と child-first – 混ぜると簡単にデッドロックする – もっと複雑な移譲モデルも
  21. 21. モジュールベース クラスローダ• 階層型ではなくグラフ型
  22. 22. モジュールベース クラスローダ• マニフェストで import, export といっ た移譲関係を定義 – import: モジュール環境のこのパッケージ を使います – export: 自分はこのパッケージをモジュー ル環境へ提供します• 階層型では移譲関係は「配置」と「ク ラスローダの移譲モデル」という二つ の要素により決定されていた
  23. 23. なにがうれしいの?• 見えるべきクラスが見える• 見えないべきクラスが見えないように – コンテナの依存ライブラリなど• ライブラリの競合問題を大幅に改善
  24. 24. JBoss Modules と OSGi• モジュールベースクラスローディング モデルについては OSGi も同じ• OSGi は「サービス」やより上位のい ろいろな機能を定義するなど、もっと リッチ ( 言い方を変えると複雑 ) な環 境を定義したもの• OSGi はバンドル
  25. 25. JBoss Modules と OSGi• JBoss OSGi ? – JBoss Modules 上に OSGi の機能を提供し 、 OSGi バンドルのデプロイを可能に – JBoss AS が OSGi 環境で動いているわけ ではない• Java 8 のモジュール環境は? – JSR-297 Improved Modularity Support – まだまだリリースされません – OSGi と同じく JBoss Modules 上で動く
  26. 26. モジュール時代のお約束• スレッドコンテキストクラスローダか らのクラスロードを最初に試行するの はダメ – Thread.currentThread().getContextClassLo ader()• なぜ? – 大抵単に間違ってる。本当に必要? – モジュールクラスローディングを壊す
  27. 27. JBoss MSC• JBoss Modular Service Container• AS7 の新しいカーネル – AS5, 6: JBoss Microcontainer (POJO) – AS3, 4: JBoss Microkernel (JMX)• 軽量であり、サービスの組み立ては Microcontainer より 15 倍くらい速い – Microcontainer は AOP などなんでもでき る機能豊富コンテナだった
  28. 28. スタンドアロンとドメイン
  29. 29. スタンドアロンとドメイン• スタンドアロン – ふつう• ドメイン – 複数 VM 、複数 JBoss インスタンスをま とめて管理
  30. 30. ドメイン
  31. 31. 起動されるモジュール• スタンドアロン – org.jboss.standalone.server • org.jboss.as.server.Main
  32. 32. 起動されるモジュール• ドメイン – org.jboss.as.process-conroller • org.jboss.as.process.Main – org.jboss.as.host-controller • org.jboss.as.host.controller.Main – org.jboss.as.server • org.jboss.as.server.DomainServerMain
  33. 33. ドメイン用語• ドメイン – 複数のホストおよびサーバを管理するた めの枠組み• ドメインコントローラ – ホストやサーバのマネージャ
  34. 34. ドメイン用語• プロセスコントローラ – プロセス起動停止を行う Java プロセス – ホストコントローラを起動する• ホストコントローラ – ホスト = 物理、もしくは仮想マシン – 単一のホストを管理するプロセス – ドメインコントローラを兼務
  35. 35. ドメイン用語• サーバグループ – 同じ設定 / アプリを持つべきサーバのグル ープ• サーバ – 単一の JBoss AS インスタンス – ドメイン管理モデルではサーバは設定を ほとんど持たない
  36. 36. テスト容易性
  37. 37. テスト容易性• Java EE はテストサポートが貧弱• Java EE はコンテナが重い
  38. 38. Arquillian• Java EE テスティングフレームワーク• JBoss AS 7 はコンテナが超軽量
  39. 39. JBoss AS 7 まとめ• Java EE 6• 超高速• 超軽量• 管理容易性• テスト容易性
  40. 40. References• AS7 管理ガイド – https://docs.jboss.org/author/display/AS7/Admin+Guide• JBoss World 2011 – http://www.redhat.com/summit/2011/presentations/jbossworld/• JUDCon 2011 – http://www.jboss.org/events/JUDCon/presentations.html
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×