ibmが新しいjava eeコンテナを作っているらしい -libertyプロファイルとは-
DESCRIPTION
JJUG CCC 2013 Fallの発表資料です。 #jjug #jjug_ccc #ccc_r11TRANSCRIPT
© 2013 IBM Corporation
WebSphere Software
WebSphere Software!1
IBMが新しいJava EEコンテナを作っているらしい
Libertyプロファイル
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!2
IBMのJava EEコンテナ: WebSphere Application Server
19992000
2001
2002
2008
EJB Java 2 マルチOSサポート
1998
2003
J2EE 1.3 JDK1.3 分散環境の新しいトポロジー WS-I Basic Profile 1.0WAS V2.0
WAS V3.0
WAS V3.5WAS V4.0
WAS V5.0
WAS V5.1
JDK1.4 JSF PME 最新のWS*
WAS V6.1
20042005
WAS V6.0 2006
J2EE 1.4 HA機能拡張 SOA対応 新メッセージングエンジン 混合バージョンセル 全エディションJ2EE, PMEサポート 最新のWS*
WAS V6.1 Feature Pack
JDK 5 SIPサポート Portletサポート スクリプト拡張 開発ツール(AST) 最新のWS*
2007
J2EE 1.2J2EE 1.3
J2EE 1.4
J2EE 1.2 Webサービスサポート 動的キャッシュ リソースアナライザー
WAS V8.5.5 2013
WAS V7Java EE 5
20092010WAS V7 FP
Java EE 5 / JDK 6 柔軟な管理 コードとFixの集中管理 Java高速化(参照圧縮)
WAS V8.0
Java EE 6
Java EE 6 / JDK 6 Servlet 3.0、JSF 2.0、 JAX-RS 、 JPA 2.0、 Bean Validation、CDI バッチ実行環境 ログ・トレース高速化 集中インストレーション管理 Web2.0 & Mobile Dynamic Scripting
2011WAS V8.5 2012
WAS V1.1
じつは15年もやってます
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!3
WASの特徴
▪ 高機能 – Java EE完全対応
– OSGi,SCA,Portlet,SIP,etc. – メッセージング・エンジン,Javaバッチ,etc.
▪ 高可用性 – クラスタリング,死活監視,各種モニタリング機能
– 各種サービスのFailover,HttpSessionのVM間コピー
▪ パフォーマンス – ダイナミック・キャッシュ,チャネルフレームワーク
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!4
サーバー環境と開発環境
機能限定高機能
短時間で起動 少ないフットプリント 簡単な構成 動的な更新
起動に時間がかかる 導入イメージが大きい 詳細な構成項目
サーバーではこちらが重要
開発者にはこちらが重要
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!5
Libertyプロファイル
▪ 約50Mバイトのインストールイメージ
▪ 簡単な導入・構成 ▪ 数秒で起動 ▪ 少ないメモリ使用量 ▪ 動的更新 ▪ フィーチャーによる
機能選択
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!6
デモ
▪自己展開JARファイルを実行するだけでインストール
▪構成作成も起動も数秒で実行
▪WindowsやLinuxだけでなくMax OS XのJava上でも実行可能
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!7
“Liberty” プロファイルとは
Java EEなどの標準仕様に定義されたAPIやサーバーが提供する多くの機能のうち
Servlet JSP JSF SSL
JAX-RS JSON JPA
JAX-WS JAX-B JDBC JTA
JMS CDI JNDI
EJB lite EJB MDB Blueprint WAB
ユーザーが必要な機能だけを自由に組み合わせることができる
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!8
APIやサーバー機能をFeatureとして定義
▪ 構成ファイルに利用するものだけを記述 – 最小限の起動時間・メモリー使用
ServletJSPJDBCSSL
JAX-RS
sessionDatabase
<featureManager> <feature>jsp-2.2</feature> <feature>jdbc-4.0</feature> <feature>jaxrs-1.1</feature> <feature>sessionDatabase-1.0</feature> <feature>ssl-1.0</feature> </featureManager>
構成ファイル server.xml依存関係も自動的に解決
JSON
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!9
最新版のLibertyプロファイルで提供されるAPI
Servlet JSP JSF JSON
Beanvalidation JPA JAX-RS
Blueprint OSGi-JPA WAB JDBC
JNDIEJB lite CDI
JAX-WS JAX-B wsSecurity wasJmsSecurity
wmqJmsClient wasJmsServer wasJmsClient
jmsMdb OAuth concurrent mongodb
V8.5 Libertyプロファイルで提供されていたAPI
V8.5.5 Libertyプロファイルで追加されたAPI
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!10
シンプルで柔軟な構成
▪単一のファイル(server.xml)で構成が可能 ▪デフォルトを変更する場合にのみ記述 ▪変更は動的に反映
<server description="new server">" <!-- Enable features -->" <featureManager>" <feature>jsp-2.2</feature>" </featureManager>"</server>
最小構成の例
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!11
簡単なアプリケーション導入
▪dropinディレクトリーにファイルを置くだけ –EARファイル –WARファイル –EAR/WARを展開した
ディレクトリー・ファイル 動的デプロイのモニターディレクトリ
サーバー構成ファイル(server.xml)に記述することも可能
<application id="SupportTools" location="SupportTools.war" name="Support Tools" type="war" context-root="/support" />
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!12
ダイナミック・アップデート
▪変更は即座に反映 –サーバー構成の変更 –アプリケーションの更新
JDK 6.0 +
Libertyランタイム
OSGi フレームワーク
feature更新 config更新 application更新
servlet-3.0
jsp-2.2 jsf-2.0
jndi-1.0 jdbc-4.0
sessionDatabase-1.0
monitor-1.0serverStatus-1.0
ssl-1.0
dropinsserver.xml
features applications resources application
applicationapplication
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!13
Eclipseと連携する開発者ツール
▪WebSphere Application Server V8.5.5 Liberty ProfileDeveloper Tools for Eclipseを無償で提供
WebSphere Application Server Developer Tools
Eclipse (Indigo/Juno)
Web Tools PlatformWAS V8.5.5
Libertyプロファイル
連携
▪ Libertyプロファイル 実行環境の自動ダウンロード
▪ サーバー構成の作成・GUIによる編集
▪ テストサーバーへのアプリケーションの自動デプロイ
▪ アプリケーションのデバッグ・ステップ実行
▪ サーバー構成・アプリケーションのパッケージング
Java EEアプリケーションの開発・テスト環境を無償で構築
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!14
デモ
▪開発者ツールの導入 –Eclipse Market Placeで「websphere liberty」で検索 –「IBM WebSphere Application Server V8.5.5
Liberty Profile Developer Tools for Eclipse」を選んでInstall ▪Libertyプロファイルの導入
–新規Server作成で「download or install」をクリック
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!15
Liberty Repository
▪ 管理スクリプト ▪ 追加機能 ▪ Open source
Integration ▪ サンプルコード
– JMX,EJB lite, JPA, etc ▪ 構成サンプル
https://www.ibmdw.net/wasdev/repo/
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!16
パッケージ
▪開発環境で実装したものをそのままZIPにパッケージ – アプリケーション – サーバー構成 – Libertyプロファイル実行環境
▪展開しただけでサーバーの導入・構成が可能
DepOpsにも最適
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!17
ミニファイ・パッケージ
▪パッケージを作成する際に必要なフィーチャーの実装だけを含んだZIPを作成することも可能 !▪Servlet / JSPだけを使うアプリをパッケージした場合
–通常のパッケージ 52,756,854バイト
–ミニファイしたパッケージ 22,214,935バイト
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!18
Libertyプロファイルが使用できるWASのエディション
▪WAS for Developerエディション –Mongo DBをはじめとした全てのAPIを利用可能 –開発用途に無償で使用できます !
▪WAS Base / Network Deploymentエディション –Mongo DBをはじめとした全てのAPIを利用可能 –Network Deploymentエディションでは
Collective Controllerを利用して複数サーバーを管理 !
▪WAS Liberty Coreエディション –Java EE 6 Webプロファイルで定義されたCore APIを使用可能
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!19
本番使用にも耐えるパフォーマンス
▪Tomcatより47%高いスループット
!!!!!!!!!!!▪DBによるHttpSession共有や
Webサーバーから複数サーバーのディスパッチもサポート
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!20
2014年: 大きく飛躍するLibertyプロファイル
▪ WAS V8.5.5.Next Libertyプロファイル ▪ さらに対応APIを追加
– Java EE 7 Webプロファイル対応予定 – Web Sockets – Concurrency Utilities for Java EE 7 – Java EE Connector Architecture (JCA) 1.6 – Open ID 2.0認証プロトコル
▪ 2013年11月1日 Alpha版が公開
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!21
さらに知りたい方は
http://wasdev.net
© 2013 IBM Corporation
セッション番号. セッションタイトル
WebSphere Software!22
ぜひお試しください
▪ IBMの新しいJava EEコンテナを 実際に使ってみてください !
▪ 開発者の方は無料でお使い頂けます !
▪ Eclipseとネットワークがあれば 使い始められます