SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
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 EE 6 アプリケーションサーバ
 – Web プロファイルサポート
 – 7.1 で Full プロファイルサポート予定
 – 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
ドキュメントの刷新と拡充
•   スタートガイド
•   アプリケーション開発スタートガイド
•   管理ガイド
•   開発者ガイド
•   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 は「サービス」やより上位のい
  ろいろな機能を定義するなど、もっと
  リッチ ( 言い方を変えると複雑 ) な環
  境を定義したもの
• 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 インスタンス
 – ドメイン管理モデルではサーバは設定を
   ほとんど持たない
テスト容易性
テスト容易性
• 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/summit/2011/presentations/jbossworld/

• JUDCon 2011
  – http://www.jboss.org/events/JUDCon/presentations.html
JBoss AS7 rev3

Weitere ähnliche Inhalte

Was ist angesagt?

MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話Takahiro Okumura
 
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2学 松崎
 
VM ロールで仮想デスクトップ環を作ってみよう
VM ロールで仮想デスクトップ環を作ってみようVM ロールで仮想デスクトップ環を作ってみよう
VM ロールで仮想デスクトップ環を作ってみようMasayuki Ozawa
 
Art of MySQL Replication.
Art of MySQL Replication.Art of MySQL Replication.
Art of MySQL Replication.Mikiya Okuno
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1Ryosuke IWANAGA
 
【 Zabbix 2.2 】zabbix update 2.0 to 2.2
【 Zabbix 2.2 】zabbix update 2.0 to 2.2【 Zabbix 2.2 】zabbix update 2.0 to 2.2
【 Zabbix 2.2 】zabbix update 2.0 to 2.2真乙 九龍
 
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012Mikiya Okuno
 
MySQL 冗長化モデル
MySQL 冗長化モデルMySQL 冗長化モデル
MySQL 冗長化モデルZaki_XL
 
MySQL のオンラインバックアップ & リカバリ
MySQL のオンラインバックアップ & リカバリMySQL のオンラインバックアップ & リカバリ
MySQL のオンラインバックアップ & リカバリk_teru
 
EC-CUBEの設計思想について
EC-CUBEの設計思想についてEC-CUBEの設計思想について
EC-CUBEの設計思想についてKentaro Ohkouchi
 
MySQL負荷分散の方法
MySQL負荷分散の方法MySQL負荷分散の方法
MySQL負荷分散の方法佐久本正太
 
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴Akihiro Kuwano
 
MySQLバックアップの基本
MySQLバックアップの基本MySQLバックアップの基本
MySQLバックアップの基本yoyamasaki
 
Apache 2.4 ChangeLog at 闇Webサーバ勉強会#5
Apache 2.4 ChangeLog at 闇Webサーバ勉強会#5Apache 2.4 ChangeLog at 闇Webサーバ勉強会#5
Apache 2.4 ChangeLog at 闇Webサーバ勉強会#5Naoya Nakazawa
 
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06Mikiya Okuno
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良Shinya Sugiyama
 
What's New in MySQL 5.7 Security
What's New in MySQL 5.7 SecurityWhat's New in MySQL 5.7 Security
What's New in MySQL 5.7 SecurityMikiya Okuno
 
dimSTATから見るベンチマーク
dimSTATから見るベンチマークdimSTATから見るベンチマーク
dimSTATから見るベンチマークhiroi10
 

Was ist angesagt? (19)

MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
 
MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2MySQL Casual Talks in Fukuoka vol.2
MySQL Casual Talks in Fukuoka vol.2
 
MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24
 
VM ロールで仮想デスクトップ環を作ってみよう
VM ロールで仮想デスクトップ環を作ってみようVM ロールで仮想デスクトップ環を作ってみよう
VM ロールで仮想デスクトップ環を作ってみよう
 
Art of MySQL Replication.
Art of MySQL Replication.Art of MySQL Replication.
Art of MySQL Replication.
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
 
【 Zabbix 2.2 】zabbix update 2.0 to 2.2
【 Zabbix 2.2 】zabbix update 2.0 to 2.2【 Zabbix 2.2 】zabbix update 2.0 to 2.2
【 Zabbix 2.2 】zabbix update 2.0 to 2.2
 
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012
 
MySQL 冗長化モデル
MySQL 冗長化モデルMySQL 冗長化モデル
MySQL 冗長化モデル
 
MySQL のオンラインバックアップ & リカバリ
MySQL のオンラインバックアップ & リカバリMySQL のオンラインバックアップ & リカバリ
MySQL のオンラインバックアップ & リカバリ
 
EC-CUBEの設計思想について
EC-CUBEの設計思想についてEC-CUBEの設計思想について
EC-CUBEの設計思想について
 
MySQL負荷分散の方法
MySQL負荷分散の方法MySQL負荷分散の方法
MySQL負荷分散の方法
 
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
 
MySQLバックアップの基本
MySQLバックアップの基本MySQLバックアップの基本
MySQLバックアップの基本
 
Apache 2.4 ChangeLog at 闇Webサーバ勉強会#5
Apache 2.4 ChangeLog at 闇Webサーバ勉強会#5Apache 2.4 ChangeLog at 闇Webサーバ勉強会#5
Apache 2.4 ChangeLog at 闇Webサーバ勉強会#5
 
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
 
MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良MySQL 5.7とレプリケーションにおける改良
MySQL 5.7とレプリケーションにおける改良
 
What's New in MySQL 5.7 Security
What's New in MySQL 5.7 SecurityWhat's New in MySQL 5.7 Security
What's New in MySQL 5.7 Security
 
dimSTATから見るベンチマーク
dimSTATから見るベンチマークdimSTATから見るベンチマーク
dimSTATから見るベンチマーク
 

Ähnlich wie JBoss AS7 rev3

JBoss AS7 rev2
JBoss AS7 rev2JBoss AS7 rev2
JBoss AS7 rev2nekop
 
Mvp road show_0830_rev1
Mvp road show_0830_rev1Mvp road show_0830_rev1
Mvp road show_0830_rev1Takano Masaru
 
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_studyToshiaki Maki
 
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #Eプロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #EShuji Watanabe
 
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~Ryuta Otaki
 
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッションYuichi Hasegawa
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJavaTakashi Ito
 
Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Takakiyo Tanaka
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Dai Utsui
 
AWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCacheAWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCacheAmazon Web Services Japan
 
オンプレのDbaがazureのデータベースを使ってみた
オンプレのDbaがazureのデータベースを使ってみたオンプレのDbaがazureのデータベースを使ってみた
オンプレのDbaがazureのデータベースを使ってみたMasayuki Ozawa
 
Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用Daichi Ogawa
 
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜gree_tech
 
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介Kodai Terashima
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツールtamtam180
 
Java EE 再入門
Java EE 再入門Java EE 再入門
Java EE 再入門minazou67
 
Db2をAWS上に構築する際のヒント&TIPS 2020年6月版
Db2をAWS上に構築する際のヒント&TIPS 2020年6月版Db2をAWS上に構築する際のヒント&TIPS 2020年6月版
Db2をAWS上に構築する際のヒント&TIPS 2020年6月版Akira Shimosako
 

Ähnlich wie JBoss AS7 rev3 (20)

JBoss AS7 rev2
JBoss AS7 rev2JBoss AS7 rev2
JBoss AS7 rev2
 
Mvp road show_0830_rev1
Mvp road show_0830_rev1Mvp road show_0830_rev1
Mvp road show_0830_rev1
 
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
 
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #Eプロビジョニングの今 ーフルマネージド・サービスを目指してー  #cmdevio2016 #E
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
 
Yesod(at FPM2012)
Yesod(at FPM2012)Yesod(at FPM2012)
Yesod(at FPM2012)
 
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
 
Jjug springセッション
Jjug springセッションJjug springセッション
Jjug springセッション
 
今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava今年はJava進化の年!今知っておくべき新しいJava
今年はJava進化の年!今知っておくべき新しいJava
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
AWS Black Belt Techシリーズ Amazon EBS
AWS Black Belt Techシリーズ  Amazon EBSAWS Black Belt Techシリーズ  Amazon EBS
AWS Black Belt Techシリーズ Amazon EBS
 
Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
AWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCacheAWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCache
 
オンプレのDbaがazureのデータベースを使ってみた
オンプレのDbaがazureのデータベースを使ってみたオンプレのDbaがazureのデータベースを使ってみた
オンプレのDbaがazureのデータベースを使ってみた
 
Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用Windows Server 2012 のストレージ強化とエンタープライズへの活用
Windows Server 2012 のストレージ強化とエンタープライズへの活用
 
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
サーバサイドの並行プログラミング〜かんたんマルチスレッドプログラミング〜
 
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツール
 
Java EE 再入門
Java EE 再入門Java EE 再入門
Java EE 再入門
 
Db2をAWS上に構築する際のヒント&TIPS 2020年6月版
Db2をAWS上に構築する際のヒント&TIPS 2020年6月版Db2をAWS上に構築する際のヒント&TIPS 2020年6月版
Db2をAWS上に構築する際のヒント&TIPS 2020年6月版
 

Mehr von nekop

Java Drag Race Tuning
Java Drag Race TuningJava Drag Race Tuning
Java Drag Race Tuningnekop
 
Module classloading
Module classloadingModule classloading
Module classloadingnekop
 
Infinispan - Open Source Data Grid rev2
Infinispan - Open Source Data Grid rev2Infinispan - Open Source Data Grid rev2
Infinispan - Open Source Data Grid rev2nekop
 
CDI, Seam 3 and Forge
CDI, Seam 3 and ForgeCDI, Seam 3 and Forge
CDI, Seam 3 and Forgenekop
 
Infinispan - Open Source Data Grid
Infinispan - Open Source Data GridInfinispan - Open Source Data Grid
Infinispan - Open Source Data Gridnekop
 
Iteratorパターン
IteratorパターンIteratorパターン
Iteratorパターンnekop
 
Proxy
ProxyProxy
Proxynekop
 
ClassLoader Leak Patterns
ClassLoader Leak PatternsClassLoader Leak Patterns
ClassLoader Leak Patternsnekop
 

Mehr von nekop (8)

Java Drag Race Tuning
Java Drag Race TuningJava Drag Race Tuning
Java Drag Race Tuning
 
Module classloading
Module classloadingModule classloading
Module classloading
 
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
 

Kürzlich hochgeladen

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 

Kürzlich hochgeladen (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 

JBoss AS7 rev3

  • 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 EE 6 アプリケーションサーバ – Web プロファイルサポート – 7.1 で Full プロファイルサポート予定 – 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. ドキュメントの刷新と拡充 • スタートガイド • アプリケーション開発スタートガイド • 管理ガイド • 開発者ガイド • Java EE 6 チュートリアル • 高可用性ガイド • AS7 拡張ガイド
  • 17. デモ • 起動 • トップページ • 管理 GUI • 管理 CUI • 設定ファイル
  • 19. JBoss Modules • モジュール? – 一般的な単語 – 外見上は jar
  • 20. JBoss Modules • モジュールベースクラスローディング 環境 • 特定のモジュールの Main クラスとし て指定されているクラスの main メソ ッドの呼び出しを行う • シンプル、かんたん • 超高速スレッドセーフなクラスローダ 実装を提供
  • 21. 階層型クラスローダの問題 • 複数のクラスローダでクラス共有 – 共通の親クラスローダ上に配置しかない – 「配置」という行為が問題の種となる • 移譲モデル – 階層をどのように利用するか – parent-first と child-first – 混ぜると簡単にデッドロックする – もっと複雑な移譲モデルも
  • 22. モジュールベース クラスローダ • 階層型ではなくグラフ型
  • 23. モジュールベース クラスローダ • マニフェストで import, export といっ た移譲関係を定義 – import: モジュール環境のこのパッケージ を使います – export: 自分はこのパッケージをモジュー ル環境へ提供します • 階層型では移譲関係は「配置」と「ク ラスローダの移譲モデル」という二つ の要素により決定されていた
  • 24. なにがうれしいの? • 見えるべきクラスが見える • 見えないべきクラスが見えないように – コンテナの依存ライブラリなど • ライブラリの競合問題を大幅に改善
  • 25. JBoss Modules と OSGi • モジュールベースクラスローディング モデルについては OSGi も同じ • OSGi は「サービス」やより上位のい ろいろな機能を定義するなど、もっと リッチ ( 言い方を変えると複雑 ) な環 境を定義したもの • OSGi はバンドル
  • 26. JBoss Modules と OSGi • JBoss OSGi ? – JBoss Modules 上に OSGi の機能を提供し 、 OSGi バンドルのデプロイを可能に – JBoss AS が OSGi 環境で動いているわけ ではない • Java 8 のモジュール環境は? – JSR-297 Improved Modularity Support – まだまだリリースされません – OSGi と同じく JBoss Modules 上で動く
  • 27. モジュール時代のお約束 • スレッドコンテキストクラスローダか らのクラスロードを最初に試行するの はダメ – Thread.currentThread().getContextClassLo ader() • なぜ? – 大抵単に間違ってる。本当に必要? – モジュールクラスローディングを壊す
  • 28. JBoss MSC • JBoss Modular Service Container • AS7 の新しいカーネル – AS5, 6: JBoss Microcontainer (POJO) – AS3, 4: JBoss Microkernel (JMX) • 軽量であり、サービスの組み立ては Microcontainer より 15 倍くらい速い – Microcontainer は AOP などなんでもでき る機能豊富コンテナだった
  • 30. スタンドアロンとドメイン • スタンドアロン – ふつう • ドメイン – 複数 VM 、複数 JBoss インスタンスをま とめて管理
  • 32. 起動されるモジュール • スタンドアロン – org.jboss.standalone.server • org.jboss.as.server.Main
  • 33. 起動されるモジュール • ドメイン – 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
  • 34. ドメイン用語 • ドメイン – 複数のホストおよびサーバを管理するた めの枠組み • ドメインコントローラ – ホストやサーバのマネージャ
  • 35. ドメイン用語 • プロセスコントローラ – プロセス起動停止を行う Java プロセス – ホストコントローラを起動する • ホストコントローラ – ホスト = 物理、もしくは仮想マシン – 単一のホストを管理するプロセス – ドメインコントローラを兼務
  • 36. ドメイン用語 • サーバグループ – 同じ設定 / アプリを持つべきサーバのグル ープ • サーバ – 単一の JBoss AS インスタンス – ドメイン管理モデルではサーバは設定を ほとんど持たない
  • 38. テスト容易性 • Java EE はテストサポートが貧弱 • Java EE はコンテナが重い
  • 39.
  • 40. Arquillian • Java EE テスティングフレームワーク • JBoss AS 7 はコンテナが超軽量
  • 41. JBoss AS 7 まとめ • Java EE 6 • 超高速 • 超軽量 • 管理容易性 • テスト容易性
  • 42. 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