JBoss AS7 rev2
Upcoming SlideShare
Loading in...5
×
 

JBoss AS7 rev2

on

  • 1,992 views

 

Statistics

Views

Total Views
1,992
Views on SlideShare
1,992
Embed Views
0

Actions

Likes
0
Downloads
29
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

JBoss AS7 rev2 JBoss AS7 rev2 Presentation Transcript

  • JBoss AS7#@*%ing fast. Red HatSenior 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