SlideShare a Scribd company logo
1 of 39
Download to read offline
JBoss AS7
#@*%ing fast.

                             Red Hat
Senior Software Maintenance Engineer
                    Takayoshi Kimura
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.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 秒            までは最速
超高速 - 起動時間の比較
• 計測に用いたラップトップのスペック
 – 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
かんたん
管理容易性の向上
• 豊富で洗練されたマネジメントインタ
  フェース
 – シンプルな単一の設定ファイル
 – Java API
 – Web API
 – GUI Web 管理コンソール
 – CUI
デモ
•   起動
•   トップページ
•   管理 GUI
•   管理 CUI
•   設定ファイル
JBoss Modules
JBoss Modules

• モジュール?
 – 一般的な単語
 – 外見上は jar
• その正体は?
モジュールベース
クラスローディング環境
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 8 のモジュール環境は?
 – 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 などなんでもでき
    る機能豊富コンテナだった
スタンドアロンとドメイン
スタンドアロンとドメイン
• スタンドアロン
 – ふつう
• ドメイン
 – 複数 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.jboss.as.host.controller.Main
 – org.jboss.as.server
    • org.jboss.as.server.DomainServerMain
ドメイン用語
• ドメイン
 – 複数のホストおよびサーバを管理するた
   めの枠組み
• ドメインコントローラ
 – ホストやサーバのマネージャ
ドメイン用語
• プロセスコントローラ
 – プロセス起動停止を行う Java プロセス
 – ホストコントローラを起動する
• ホストコントローラ
 – ホスト = 物理、もしくは仮想マシン
 – 単一のホストを管理するプロセス
 – ドメインコントローラを兼務
ドメイン用語
• サーバグループ
 – 同じ設定 / アプリを持つべきサーバのグル
   ープ
• サーバ
 – 単一の JBoss AS インスタンス
 – ドメイン管理モデルではサーバは設定を
   ほとんど持たない
  • ほとんどサーバグループで設定する
Arquillian
まとめ
•   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 rev2

More Related Content

What's hot

WordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオンWordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオン
Masaki Takeda
 
S10 日本東西リージョンでのディザスタ リカバリ環境の実現
S10 日本東西リージョンでのディザスタ リカバリ環境の実現S10 日本東西リージョンでのディザスタ リカバリ環境の実現
S10 日本東西リージョンでのディザスタ リカバリ環境の実現
Microsoft Azure Japan
 
Word pressをweb上でインストールする
Word pressをweb上でインストールするWord pressをweb上でインストールする
Word pressをweb上でインストールする
Shota Watanabe
 
Windows azure webサイトの紹介
Windows azure webサイトの紹介Windows azure webサイトの紹介
Windows azure webサイトの紹介
Daisuke Abe
 

What's hot (20)

MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24
 
MySQL 冗長化モデル
MySQL 冗長化モデルMySQL 冗長化モデル
MySQL 冗長化モデル
 
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
 
EWD 3トレーニングコース#3 EWD 3 モジュールの概要
EWD 3トレーニングコース#3 EWD 3 モジュールの概要EWD 3トレーニングコース#3 EWD 3 モジュールの概要
EWD 3トレーニングコース#3 EWD 3 モジュールの概要
 
Website build exercise_opsguide_japanese
Website build exercise_opsguide_japaneseWebsite build exercise_opsguide_japanese
Website build exercise_opsguide_japanese
 
Modulemaking
ModulemakingModulemaking
Modulemaking
 
innodb_thread_concurrencyとtransparent hugepageの影響
innodb_thread_concurrencyとtransparent hugepageの影響innodb_thread_concurrencyとtransparent hugepageの影響
innodb_thread_concurrencyとtransparent hugepageの影響
 
WordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオンWordPress アジュール部 ハンズオン
WordPress アジュール部 ハンズオン
 
S10 日本東西リージョンでのディザスタ リカバリ環境の実現
S10 日本東西リージョンでのディザスタ リカバリ環境の実現S10 日本東西リージョンでのディザスタ リカバリ環境の実現
S10 日本東西リージョンでのディザスタ リカバリ環境の実現
 
Word pressをweb上でインストールする
Word pressをweb上でインストールするWord pressをweb上でインストールする
Word pressをweb上でインストールする
 
レンタルサーバーとVPSそしてクラウド
レンタルサーバーとVPSそしてクラウドレンタルサーバーとVPSそしてクラウド
レンタルサーバーとVPSそしてクラウド
 
EWD 3トレーニング・コース #3 EWD 3 モジュールの概要
EWD 3トレーニング・コース #3 EWD 3 モジュールの概要EWD 3トレーニング・コース #3 EWD 3 モジュールの概要
EWD 3トレーニング・コース #3 EWD 3 モジュールの概要
 
仮想環境によるLinux
仮想環境によるLinux仮想環境によるLinux
仮想環境によるLinux
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
 
20160625 cloud samuai_final
20160625 cloud samuai_final20160625 cloud samuai_final
20160625 cloud samuai_final
 
Windows azure webサイトの紹介
Windows azure webサイトの紹介Windows azure webサイトの紹介
Windows azure webサイトの紹介
 
ファイルサーバーをクラウド化したい
ファイルサーバーをクラウド化したいファイルサーバーをクラウド化したい
ファイルサーバーをクラウド化したい
 
Art of MySQL Replication.
Art of MySQL Replication.Art of MySQL Replication.
Art of MySQL Replication.
 
20180123 power shell
20180123 power shell20180123 power shell
20180123 power shell
 
Alfrescoクラスタリング入門
Alfrescoクラスタリング入門Alfrescoクラスタリング入門
Alfrescoクラスタリング入門
 

Viewers also liked

JBoss Application Server 入門 ~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
JBoss Application Server 入門~ Seasar2を動かして見よう!~ on Seasar Conference 2009 WhiteJBoss Application Server 入門~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
JBoss Application Server 入門 ~ Seasar2を動かして見よう!~ on Seasar Conference 2009 White
bose999
 
Wicket + EJB3 on JBoss (Japanese)
Wicket + EJB3 on JBoss (Japanese)Wicket + EJB3 on JBoss (Japanese)
Wicket + EJB3 on JBoss (Japanese)
bose999
 
Beginning Java EE 6 勉強会(5) #bje_study
Beginning Java EE 6 勉強会(5) #bje_studyBeginning Java EE 6 勉強会(5) #bje_study
Beginning Java EE 6 勉強会(5) #bje_study
zuisener .
 
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ
2 TomcatによるWebアプリケーションサーバ構築 第4章 Tomcatの構成(4)-稼働確認、クラスローダ
Enpel
 
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
2 TomcatによるWebアプリケーションサーバ構築 第3章 Apacheの構成
Enpel
 
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
2 TomcatによるWebアプリケーションサーバ構築 第1章 Tomcatのインストールと設定
Enpel
 

Viewers also liked (14)

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

Similar to JBoss AS7 rev2

Beginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_studyBeginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_study
Toshiaki Maki
 
オンプレのDbaがazureのデータベースを使ってみた
オンプレのDbaがazureのデータベースを使ってみたオンプレのDbaがazureのデータベースを使ってみた
オンプレのDbaがazureのデータベースを使ってみた
Masayuki Ozawa
 

Similar to JBoss AS7 rev2 (20)

Beginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_studyBeginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_study
 
Mvp road show_0830_rev1
Mvp road show_0830_rev1Mvp road show_0830_rev1
Mvp road show_0830_rev1
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava
 
Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界
 
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #Eプロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
 
dimSTATから見るベンチマーク
dimSTATから見るベンチマークdimSTATから見るベンチマーク
dimSTATから見るベンチマーク
 
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Aurora Deep Dive (db tech showcase 2016)
 
Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用
 
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
 
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
Db2をAWS上に構築する際のヒント&TIPS 2019年7月版
 
オンプレのDbaがazureのデータベースを使ってみた
オンプレのDbaがazureのデータベースを使ってみたオンプレのDbaがazureのデータベースを使ってみた
オンプレのDbaがazureのデータベースを使ってみた
 
Db2をAWS上に構築する際のヒント&TIPS 2020年6月版
Db2をAWS上に構築する際のヒント&TIPS 2020年6月版Db2をAWS上に構築する際のヒント&TIPS 2020年6月版
Db2をAWS上に構築する際のヒント&TIPS 2020年6月版
 
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッション
 
Solaris 11 に見る、次世代ファイルシステムZFS
Solaris 11 に見る、次世代ファイルシステムZFSSolaris 11 に見る、次世代ファイルシステムZFS
Solaris 11 に見る、次世代ファイルシステムZFS
 
Java EE 再入門
Java EE 再入門Java EE 再入門
Java EE 再入門
 
AWS Black Belt Techシリーズ Amazon EBS
AWS Black Belt Techシリーズ  Amazon EBSAWS Black Belt Techシリーズ  Amazon EBS
AWS Black Belt Techシリーズ Amazon EBS
 
Yesod(at FPM2012)
Yesod(at FPM2012)Yesod(at FPM2012)
Yesod(at FPM2012)
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL
 
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
 

More from nekop (7)

Java Drag Race Tuning
Java Drag Race TuningJava Drag Race Tuning
Java Drag Race Tuning
 
Infinispan - Open Source Data Grid rev2
Infinispan - Open Source Data Grid rev2Infinispan - Open Source Data Grid rev2
Infinispan - Open Source Data Grid rev2
 
CDI, Seam 3 and Forge
CDI, Seam 3 and ForgeCDI, Seam 3 and Forge
CDI, Seam 3 and Forge
 
Infinispan - Open Source Data Grid
Infinispan - Open Source Data GridInfinispan - Open Source Data Grid
Infinispan - Open Source Data Grid
 
Iteratorパターン
IteratorパターンIteratorパターン
Iteratorパターン
 
Proxy
ProxyProxy
Proxy
 
ClassLoader Leak Patterns
ClassLoader Leak PatternsClassLoader Leak Patterns
ClassLoader Leak Patterns
 

Recently uploaded

Recently uploaded (11)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

JBoss AS7 rev2

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