JBoss AS7                             Red HatSenior Software Maintenance Engineer                    Takayoshi Kimura
はじめに• このスライドは JBoss AS 7.0.0.Alpha3  リリースから 2011/06/25 までの AS7  について述べています。 7.0 のファイ  ナルリリースなど、このスライド作成  時とは状況が異なっている可能性がご...
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 EE6 アプリケーションサーバ – Web プロファイルサポート – 7.1 で Full プロファイルサポート予定 – ここでの「サポート」というのはテスト   完了、という意味であり、機能がまったく ...
JBoss AS7 の概要• 開発アプローチ変更 – 既存の資産である AS6 を一旦考慮から外   して要件やユーザストーリーを洗い出し• そしてメジャーリライト – 「こんなこといいな♪できたらいいな   ♪」を全て実現するために – AS...
JBoss AS7 の 3 つの特徴
超高速
超高速 - 起動時間の比較• JBoss AS7      • JBoss EAP 5.1  – 1.5 秒          – 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 ...
かんたん
管理容易性の向上• 豊富で洗練されたマネジメントインタ  フェース – シンプルな単一の設定ファイル – API – GUI – CUI
3 つの特徴の裏にあるもの
クラウド
スタンドアロンとドメイン• スタンドアロン – ふつう• ドメイン – 複数 VM 、複数 JBoss インスタンスを起   動 – まとめて管理 – 今回は省略
デモ•   起動•   トップページ•   管理 GUI•   管理 CUI•   設定ファイル
人類ニ告グ・・・・・・全テヲテストセヨ!
Arquillian• EJB とかコンテナを伴うテストは面倒  、遅い、難しい  – というのは神話になりました• テスト容易性の実現• May the container be with you!  – remote  – managed ...
JBoss Modules• モジュール? – 一般的な単語 – 外見上は jar• その正体は? – 続きは Web で!
モジュールベースクラスローディング環境
JBoss Modules• もう少し詳しく? – 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...
まとめ•   Java EE6•   超高速•   超軽量•   管理容易性•   テスト容易性
全ては開発者の幸せとクラウドという時代のために
References• AS7 管理ガイド  – https://docs.jboss.org/author/display/AS7/Admin+Guide• JBoss World 2011  – http://www.redhat.com/...
JBoss AS7
JBoss AS7
JBoss AS7
Upcoming SlideShare
Loading in...5
×

JBoss AS7

3,838

Published on

A slide used for Okayama OpenLab Vol.19

http://openlab.okaya.ma/wiki.cgi?page=%CA%D9%B6%AF%B2%F1%2F%C2%E8019%B2%F3

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

No Downloads
Views
Total Views
3,838
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
36
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "JBoss AS7"

  1. 1. JBoss AS7 Red HatSenior Software Maintenance Engineer Takayoshi Kimura
  2. 2. はじめに• このスライドは JBoss AS 7.0.0.Alpha3 リリースから 2011/06/25 までの AS7 について述べています。 7.0 のファイ ナルリリースなど、このスライド作成 時とは状況が異なっている可能性がご くわずかですがあることをご了承くだ さい。
  3. 3. JBoss AS 7• 歴史• 概要• スタンドアロンとドメイン• デモ• JBoss Modules• まとめ
  4. 4. 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
  5. 5. History• 1999 年 JBoss 始動• 2001 年 JBoss Group 設立• 2006 年初め、 Oracle による買収 – 失敗。 Oracle は 2008 年に BEA 買収• 2006 年 4 月 10 日 Red Hat による買収 – 成立
  6. 6. JBoss AS7 の概要• Java EE6 アプリケーションサーバ – Web プロファイルサポート – 7.1 で Full プロファイルサポート予定 – ここでの「サポート」というのはテスト 完了、という意味であり、機能がまったく 7.0 に入っていない、というわけではない – Full はあまり需要 / 人気が高くはないので ちょっと後回し
  7. 7. JBoss AS7 の概要• 開発アプローチ変更 – 既存の資産である AS6 を一旦考慮から外 して要件やユーザストーリーを洗い出し• そしてメジャーリライト – 「こんなこといいな♪できたらいいな ♪」を全て実現するために – AS6 とは異なる新しいカーネルの開発
  8. 8. JBoss AS7 の 3 つの特徴
  9. 9. 超高速
  10. 10. 超高速 - 起動時間の比較• JBoss AS7 • JBoss EAP 5.1 – 1.5 秒 – 15.0 秒• JBoss AS6 – 起動ではなくラ – 12.0 秒 ンタイムの速度 に最適化• JBoss AS 5.1 • Glassfish 3.1 – 19.0 秒 –3秒• JBoss AS 4.2 – JBoss AS7 出現 – 6.2 秒 までは最速
  11. 11. 超高速 - 起動時間の比較• 計測に用いたラップトップのスペック – 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)
  12. 12. 超軽量
  13. 13. 超軽量• 起動に必要なメモリは 12M – 64bit 上での実績 – 32bit だともう少し低いかも• Tomcat 7.0.14 は 8M で起動する – 機能セットの大きさがかなり違うので妥当• Glassfish 3.1 は 32M では起動しない – OutOfMemoryError
  14. 14. かんたん
  15. 15. 管理容易性の向上• 豊富で洗練されたマネジメントインタ フェース – シンプルな単一の設定ファイル – API – GUI – CUI
  16. 16. 3 つの特徴の裏にあるもの
  17. 17. クラウド
  18. 18. スタンドアロンとドメイン• スタンドアロン – ふつう• ドメイン – 複数 VM 、複数 JBoss インスタンスを起 動 – まとめて管理 – 今回は省略
  19. 19. デモ• 起動• トップページ• 管理 GUI• 管理 CUI• 設定ファイル
  20. 20. 人類ニ告グ・・・・・・全テヲテストセヨ!
  21. 21. Arquillian• EJB とかコンテナを伴うテストは面倒 、遅い、難しい – というのは神話になりました• テスト容易性の実現• May the container be with you! – remote – managed – embedded
  22. 22. JBoss Modules• モジュール? – 一般的な単語 – 外見上は jar• その正体は? – 続きは Web で!
  23. 23. モジュールベースクラスローディング環境
  24. 24. JBoss Modules• もう少し詳しく? – JBoss Modules はモジュールベースクラス ローディング環境上で、特定のモジュール の Main クラスとして指定されているクラ スの main メソッドの呼び出しを行うもの – シンプル、かんたん• 超高速スレッドセーフなクラスローダ 実装を提供
  25. 25. 階層型クラスローダの問題• 複数のクラスローダでクラス共有 – 共通の親クラスローダ上に配置しかない – 「配置」という行為が問題の種となる• 移譲モデル – 階層をどのように利用するか – parent-first と child-first – 混ぜると簡単にデッドロックする – もっと複雑な移譲モデルも
  26. 26. モジュールベース クラスローダ• 階層型ではなくグラフ型
  27. 27. モジュールベース クラスローダ• マニフェストで import, export といっ た移譲関係を定義 – import: モジュール環境のこのパッケージ を使います – export: 自分はこのパッケージをモジュー ル環境へ提供します• 階層型では移譲関係は「配置」と「ク ラスローダの移譲モデル」という二つ の要素により決定されていた
  28. 28. JBoss Modules と OSGi• モジュールベースクラスローディング モデルについては OSGi も同じ• OSGi は「サービス」やより上位のい ろいろな機能を定義するなど、もっと リッチ ( 言い方を変えると複雑 ) な環 境を定義したもの• OSGi はバンドル
  29. 29. JBoss Modules と OSGi• JBoss OSGi って? – JBoss Modules 上に OSGi の機能を提供し 、 OSGi バンドルのデプロイを可能に – JBoss AS が OSGi 環境で動いているわけ ではない• Java 7 のモジュール環境は? – JSR-297 Improved Modularity Support – 当然まだリリースされていません – OSGi と同じく JBoss Modules 上で動くよ
  30. 30. モジュール時代のお約束• スレッドコンテキストクラスローダか らのクラスロードを最初に試行すると かやっちゃダメ絶対 – Thread.currentThread().getContextClassLo ader()• なぜ? – 大抵単に間違ってる。本当に必要? – モジュールクラスローディングを壊す
  31. 31. JBoss MSC• JBoss Modular Service Container• AS7 の新しいカーネル – AS5, 6: JBoss Microcontainer (POJO) – AS3, 4: JBoss Microkernel (JMX)• 軽量であり、サービスの組み立ては Microcontainer より 15 倍くらい速い – Microcontainer は AOP などなんでもでき る機能豊富コンテナだった
  32. 32. まとめ• Java EE6• 超高速• 超軽量• 管理容易性• テスト容易性
  33. 33. 全ては開発者の幸せとクラウドという時代のために
  34. 34. 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.

×