SlideShare a Scribd company logo
JBoss AS7
JBoss AS7


                             Red Hat
Senior 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-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
History

• 1999 年 JBoss 始動
• 2001 年 JBoss Group 設立
• 2006 年初め、 Oracle による買収
 – 失敗。 Oracle は 2008 年に BEA 買収
• 2006 年 4 月 10 日 Red Hat による買収
 – 成立
JBoss AS7 の概要
• Java EE6 アプリケーションサーバ
 – Web プロファイルサポート
 – 7.1 で Full プロファイルサポート予定
 – ここでの「サポート」というのはテスト
   完了、という意味であり、機能がまったく
   7.0 に入っていない、というわけではない
 – Full はあまり需要 / 人気が高くはないので
   ちょっと後回し
JBoss AS7 の概要
• 開発アプローチ変更
 – 既存の資産である AS6 を一旦考慮から外
   して要件やユーザストーリーを洗い出し
• そしてメジャーリライト
 – 「こんなこといいな♪できたらいいな
   ♪」を全て実現するために
 – AS6 とは異なる新しいカーネルの開発
JBoss AS7 の 3 つの特徴
超高速
超高速 - 起動時間の比較
• 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 秒            までは最速
超高速 - 起動時間の比較
• 計測に用いたラップトップのスペック
 – 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)
超軽量
超軽量
• 起動に必要なメモリは 12M
 – 64bit 上での実績
 – 32bit だともう少し低いかも
• Tomcat 7.0.14 は 8M で起動する
 – 機能セットの大きさがかなり違うので妥当
• Glassfish 3.1 は 32M では起動しない
 – OutOfMemoryError
かんたん
管理容易性の向上
• 豊富で洗練されたマネジメントインタ
  フェース
 – シンプルな単一の設定ファイル
 – API
 – GUI
 – CUI
3 つの特徴の裏にあるもの
クラウド
スタンドアロンとドメイン
• スタンドアロン
 – ふつう
• ドメイン
 – 複数 VM 、複数 JBoss インスタンスを起
   動
 – まとめて管理
 – 今回は省略
デモ
•   起動
•   トップページ
•   管理 GUI
•   管理 CUI
•   設定ファイル
人類ニ告グ・・・

・・・全テヲテストセヨ!
JBoss AS7
Arquillian

• EJB とかコンテナを伴うテストは面倒
  、遅い、難しい
  – というのは神話になりました
• テスト容易性の実現
• May the container be with you!
  – remote
  – managed
  – embedded
JBoss Modules

• モジュール?
 – 一般的な単語
 – 外見上は jar
• その正体は?
 – 続きは Web で!
モジュールベース
クラスローディング環境
JBoss Modules

• もう少し詳しく?
 – JBoss Modules はモジュールベースクラス
   ローディング環境上で、特定のモジュール
   の Main クラスとして指定されているクラ
   スの main メソッドの呼び出しを行うもの
 – シンプル、かんたん
• 超高速スレッドセーフなクラスローダ
  実装を提供
階層型クラスローダの問題
• 複数のクラスローダでクラス共有
 – 共通の親クラスローダ上に配置しかない
 – 「配置」という行為が問題の種となる
• 移譲モデル
 – 階層をどのように利用するか
 – parent-first と child-first
 – 混ぜると簡単にデッドロックする
 – もっと複雑な移譲モデルも
モジュールベース
     クラスローダ
• 階層型ではなくグラフ型
モジュールベース
      クラスローダ
• マニフェストで import, export といっ
  た移譲関係を定義
 – import: モジュール環境のこのパッケージ
   を使います
 – export: 自分はこのパッケージをモジュー
   ル環境へ提供します
• 階層型では移譲関係は「配置」と「ク
  ラスローダの移譲モデル」という二つ
  の要素により決定されていた
JBoss Modules と OSGi
• モジュールベースクラスローディング
  モデルについては OSGi も同じ
• OSGi は「サービス」やより上位のい
  ろいろな機能を定義するなど、もっと
  リッチ ( 言い方を変えると複雑 ) な環
  境を定義したもの
• OSGi はバンドル
JBoss Modules と OSGi
• JBoss OSGi って?
 – JBoss Modules 上に OSGi の機能を提供し
   、 OSGi バンドルのデプロイを可能に
 – JBoss AS が OSGi 環境で動いているわけ
   ではない
• Java 7 のモジュール環境は?
 – JSR-297 Improved Modularity Support
 – 当然まだリリースされていません
 – OSGi と同じく JBoss Modules 上で動くよ
モジュール時代のお約束
• スレッドコンテキストクラスローダか
  らのクラスロードを最初に試行すると
  かやっちゃダメ絶対
 – Thread.currentThread().getContextClassLo
   ader()
• なぜ?
 – 大抵単に間違ってる。本当に必要?
 – モジュールクラスローディングを壊す
JBoss MSC

• JBoss Modular Service Container
• AS7 の新しいカーネル
  – AS5, 6: JBoss Microcontainer (POJO)
  – AS3, 4: JBoss Microkernel (JMX)
• 軽量であり、サービスの組み立ては
  Microcontainer より 15 倍くらい速い
  – Microcontainer は AOP などなんでもでき
    る機能豊富コンテナだった
まとめ
•   Java EE6
•   超高速
•   超軽量
•   管理容易性
•   テスト容易性
全ては開発者の幸せと
クラウドという時代のために
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
JBoss AS7

More Related Content

PDF
JBoss AS7 rev2
PDF
JBoss AS7 rev3
PDF
Module classloading
PDF
JBoss AS 7 / EAP 6 modules and class loading
PDF
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
PPTX
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
PDF
VM ロールで仮想デスクトップ環を作ってみよう
PDF
S10 日本東西リージョンでのディザスタ リカバリ環境の実現
JBoss AS7 rev2
JBoss AS7 rev3
Module classloading
JBoss AS 7 / EAP 6 modules and class loading
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
VM ロールで仮想デスクトップ環を作ってみよう
S10 日本東西リージョンでのディザスタ リカバリ環境の実現

What's hot (20)

PPTX
Summary of SQL Database Updates
PPTX
innodb_thread_concurrencyとtransparent hugepageの影響
PPTX
MySQL 冗長化モデル
PPTX
2011/12/3 わんくま同盟
PDF
MySQLバックアップの基本
PPTX
無料セミナー20170321 awsから始めるlinux入門
PDF
MySQL のオンラインバックアップ & リカバリ
PPTX
2011/11/26 Dot netlab
PPTX
Sql server2014復習とsqlserver2016の紹介
PDF
Modulemaking
PPT
Hatena's Infrastructure from the beginning
PDF
Windows Server 2012 のストレージ強化とエンタープライズへの活用
PPT
EC-CUBEの設計思想について
PPTX
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
PPTX
SCVMM2008 と SCDPM 2008 と Hyper-V(2008)の思い出
PPTX
Sql azure database copy
PPTX
20160625 cloud samuai_final
PDF
S13 Oracle Database を Microsoft Azure 上で運用する為に~基本事項とベストプラクティス
PPT
Fusion io
PDF
S14 azure site recovery を利用したオンプレミスから azure のサイト回復
Summary of SQL Database Updates
innodb_thread_concurrencyとtransparent hugepageの影響
MySQL 冗長化モデル
2011/12/3 わんくま同盟
MySQLバックアップの基本
無料セミナー20170321 awsから始めるlinux入門
MySQL のオンラインバックアップ & リカバリ
2011/11/26 Dot netlab
Sql server2014復習とsqlserver2016の紹介
Modulemaking
Hatena's Infrastructure from the beginning
Windows Server 2012 のストレージ強化とエンタープライズへの活用
EC-CUBEの設計思想について
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
SCVMM2008 と SCDPM 2008 と Hyper-V(2008)の思い出
Sql azure database copy
20160625 cloud samuai_final
S13 Oracle Database を Microsoft Azure 上で運用する為に~基本事項とベストプラクティス
Fusion io
S14 azure site recovery を利用したオンプレミスから azure のサイト回復
Ad

Viewers also liked (14)

PDF
Introduction to WildFly Swarm
PDF
JBoss Application Server 入門 ~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
PDF
次世代Webコンテナ Undertowについて
PDF
Jbossとtomcatの性能を比べてみた
PDF
手作業なしの安定環境実現に向けたZabbix活用方法紹介+Zabbix2.4最新機能紹介
PDF
RedHat MW 2015
PDF
Wicket + EJB3 on JBoss (Japanese)
PPTX
Beginning Java EE 6 勉強会(5) #bje_study
PDF
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
PDF
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ
PDF
JBoss.org – SwitchYardコミュニティ開発者の日常 - JJUG CCC 2014 Spring - R1-4 - #ccc_r14
PDF
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
PDF
WildFly Swarm - Rightsize Your Java EE Apps
PDF
Javaアプリケーションサーバ 構築・運用の勘所
Introduction to WildFly Swarm
JBoss Application Server 入門 ~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
次世代Webコンテナ Undertowについて
Jbossとtomcatの性能を比べてみた
手作業なしの安定環境実現に向けたZabbix活用方法紹介+Zabbix2.4最新機能紹介
RedHat MW 2015
Wicket + EJB3 on JBoss (Japanese)
Beginning Java EE 6 勉強会(5) #bje_study
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ
JBoss.org – SwitchYardコミュニティ開発者の日常 - JJUG CCC 2014 Spring - R1-4 - #ccc_r14
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
WildFly Swarm - Rightsize Your Java EE Apps
Javaアプリケーションサーバ 構築・運用の勘所
Ad

Similar to JBoss AS7 (20)

PDF
Application Server 紹介 #glassfishjp
PDF
試して学べるクラウド技術! OpenShift
PDF
Spring.project
PDF
Jjug springセッション
PDF
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
PPTX
Continuous delivery 6
PDF
OSvのご紹介 in 
Java 8 HotSpot meeting
PDF
Java EE から Quarkus による開発への移行について
PDF
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
PDF
29 Tips in 40 Minitues for GlassFish Fans #glassfishjp
PPTX
DevLOVE 20100823 EnterpriseOSGi
PDF
Java によるクラウドネイティブ の実現に向けて
PDF
Oracle code one 2018 報告会概要
PDF
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
PPT
JRuby on Rails
KEY
関ジャバ JavaOne Tokyo 2012報告会
PDF
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
PDF
Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~
PDF
自分色のLinuxホームサーバーを作ってみよう
PDF
Solaris 11 ディープダイブセミナー インストール編
Application Server 紹介 #glassfishjp
試して学べるクラウド技術! OpenShift
Spring.project
Jjug springセッション
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Continuous delivery 6
OSvのご紹介 in 
Java 8 HotSpot meeting
Java EE から Quarkus による開発への移行について
JRoRの力をJava EE技術を使ってさらに高める10の方法(発動編)
29 Tips in 40 Minitues for GlassFish Fans #glassfishjp
DevLOVE 20100823 EnterpriseOSGi
Java によるクラウドネイティブ の実現に向けて
Oracle code one 2018 報告会概要
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
JRuby on Rails
関ジャバ JavaOne Tokyo 2012報告会
成長できるエンタープライズシステムを目指して-OSGiによるモジュール型アーキテクチャの実現-
Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~
自分色のLinuxホームサーバーを作ってみよう
Solaris 11 ディープダイブセミナー インストール編

More from nekop (8)

PDF
Java Drag Race Tuning
PDF
Infinispan - Open Source Data Grid rev2
PDF
CDI, Seam 3 and Forge
PDF
Infinispan - Open Source Data Grid
PDF
Iteratorパターン
PDF
Proxy
PDF
ClassLoader Leak Patterns
PDF
mod_cluster
Java Drag Race Tuning
Infinispan - Open Source Data Grid rev2
CDI, Seam 3 and Forge
Infinispan - Open Source Data Grid
Iteratorパターン
Proxy
ClassLoader Leak Patterns
mod_cluster

JBoss AS7

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