Spring Bootハンズオン ~Spring Bootで作る マイクロサービスアーキテクチャ! #jjug_ccc #ccc_r53
WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
-
Upload
takakiyo-tanaka -
Category
Software
-
view
1.809 -
download
1
description
Transcript of WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51
Software
WebSphere Application Server V8.5.5Libertyプロファイルのご紹介
Software
WebSphere Application Serverとは
Software
3
WebSphere Application Server (WAS) とは
§ Java EEに準拠したアプリケーション・サーバー
§ ワールドワイドおよび日本において高いシェア
ü 世界中で19,000社以上がWASを採用
ü 世界の上位 100 社のうちの 90% が WAS を採用
(対象: Fortune の Global 500 Index 掲載企業)
§ 1998年の出荷開始から、15年以上の歴史を持つ製品
§ 1998年以来 700件の特許を取得
§ 9,000 以上のISVアプリケーションがWAS上で稼動
§ Java EE やWebサービス等の業界標準技術にいち早く対応
§ 幅広いプログラミング・モデルに対応
§ 柔軟かつ強力な運用管理機能を提供
§ 高いスケーラビリティと可用性を提供
§ 多くの大規模サイトで高いパフォーマンスを実証
ü 業界標準ベンチマークSPEC jEnterpriseでも
高クラスのスループットを記録
Software
WAS V8.5Libertyプロファイル
インテリジェント・マネジメントJavaSE 7
15年間以上のあいだJava EEサーバーをリード
4
1999 2000
2001
2002
2008
EJB Java 2 マルチOSサポート
1998
2003
J2EE 1.3 JDK1.3 分散環境の新しいトポロジー WS-I Basic Profile 1.0
WAS V2.0
WAS V3.0
WAS V3.5 WAS V4.0
WAS V5.0
WAS V5.1
JDK1.4 JSF PME
新のWS*
WAS V6.1
2004 2005
WAS V6.0 2006
WAS V6.1J2EE 1.4 HA機能拡張 SOA対応 新メッセージングエンジン 混合バージョンセル 全エディションJ2EE, PMEサポート
新のWS*JDK 5 SIPサポート Portletサポート スクリプト拡張 開発ツール(AST)
新のWS*
WAS V6.1 Feature Pack
2007
J2EE 1.2 J2EE 1.3
J2EE 1.4
J2EE 1.2 Webサービスサポート 動的キャッシュ リソースアナライザー
2013
WAS V7 Java EE 5
2009 2010 WAS V7 FP
WAS V7.0Java EE 5 / JDK 6 柔軟な管理 ランタイム・プロビジョニング コードとFixの集中管理 Java高速化(参照圧縮)
WAS V8.0
Java EE 6
WAS V8.0 Java EE 6 / JDK 6 Servlet 3.0、JSF 2.0、JAX-RS JPA 2.0、Bean Validation、CDI バッチ実行環境 ログ・トレース高速化 集中インストレーション管理 Web2.0 & Mobile Dynamic Scripting
2011
WAS V8.5
WAS V8.5.5
2012
WAS V8.5.5 LibertyプロファイルのJavaEE Web Prof対応
Liberty Coreエディションの提供WXSをBASE/NDに同梱
Webサーバー・プラグイン・インテリジェント・マネジメント
WAS V1.1
Software
WAS V8.5.5のエディション構成
WAS CEはなくなります
WAS for Developers
WAS ND WAS for z/OS WAS Hypervisor Edition
実働環境のWASで稼動させるアプリを効率よく開発するためのランタイム
開発者向けに無償版を提供。Eclipseアダプターも提供。
Pure Application System, VMware, PowerVM, zVM やその他の仮想化環境上で稼動するために 適化されたWAS ND環境を提供。
ミッション・クリティカルなアプリ向けに、24時間365日に近い可用性、高いパフォーマンス、高度な運用管理機能を提供。
z/OSのシスプレックスの機能を活用して、高いセキュリティー、高信頼性、優れたリソース活用を実現。
WAS Web層のクラスタリングと、5つのアプリケーション・サーバー・プロファイル間でのフェイル・オーバー機能の提供により、ある程度の規模の環境において、高いセキュリティーと高パフォーマンスを提供するトランザクション・エンジン。
Tools Edition
Intelligent
Mgmt Tools Edition
Libertyプロファイル
Tools Edition
動的Webアプリケーションを稼動するために、低コストですぐに使える環境を提供。 Liberty プロファイルと、フル・プロファイルの両方を提供。PVU数に制限あり。
WAS Express WAS と WDT は開発者のデスクトップ環境用に無償で提供。また、本番環境のライセンスでサポートも提供。
Libertyプロファイル (Web Profile only)
WAS Liberty Core
軽量で低コストのLibertyプロファイル・ベースの製品(フル・プロファイルのWASとは異なる)。 Java EEの全機能を必要としないWebアプリケーションの稼動環境を迅速に構築することが可能。
ISV向け無償版あり
Full profile (完全プロファイル) = 従来から提供されていたWAS。 WDT= WAS Developer Tools for Eclipse
Fullプロファイル
Libertyプロファイル
Fullプロファイル
Libertyプロファイル
Fullプロファイル
Libertyプロファイル
Fullプロファイル
Intelligent
Mgmt
Libertyプロファイル
Fullプロファイル
Intelligent
Mgmt
Libertyプロファイル
Fullプロファイル
+WXS WXSのHTTP セッション・キャッシングと動的キャッシュが利用可能
+WXS +WXS +WXS
WXSの全機能が利用可能
+WXS Client
WXS z/OS クライアント機能が利用可能
Software
各エディションの比較 内容 WAS Liberty Core WAS (Base) WAS ND
導入可能プロセッサー数 無制限 無制限 無制限
課金体系 PVU課金 PVU/ ソケット課金 PVU課金
64bit対応 ○ ○ ○
インテリジェント管理(旧WVE) × × ○
バッチ・サポート × ○ ○*
WebSphere eXtreme Scale × ○** ○
Java EE 6サポート (EJB 含む) ×(Web Profile) ○ ○
Web2.0 and mobile × ○ ○
IBM HTTP Server /Web Server plug-inの同梱 ○ ○ ○
Edgeコンポーネント同梱 × × ○
Proxy Server / Secure Proxy Server 同梱 × × ○
複数サーバーの集中管理 × × ○
クラスター構成とフェイルオーバー
セッションのフェイルオーバー ○ 5サーバーまで○
方法DB or WXS
○ 制限なし
方法:DB or メモリー間複製 or WXS
2PCコミットにおけるトランザクションのフェイルオーバー × × ○
メッセージングのフェイルオーバー × × ○
Job Manager同梱 ×**** ×**** ○
DB2 同梱 *** ○ ○ ○
Tivoli Directory Server 同梱 *** × ○ ○
Tivoli Access Manager同梱 *** × ○ ○
Libertyプロファイル同梱 n/a ○ ○
* 旧WCGの高機能バッチサポート クラスター構成のサポート ** セッション複製、動的キャッシュとの連携のみ *** 同梱されるDB2、Tivoli製品には使用に制限があります。詳細はライセンス証書をご確認ください**** Job Managerの管理対象にはなれます
Software
ND/Base/Liberty Coreに含まれるコンポーネント
WebSphere Application Server Network Deployment エディション
WebSphere Application Server (Base エディション)
WebSphere Application Server Liberty Core エディション
Liberty Profile App Server (Web Profile)
Liberty Profile App Server (Web Profile + α)
Liberty Profile App Server (Web Profile + α)
Full Profile App Server (Java EE 6 + α)
Full Profile App Server (Java EE 6 + α)
Intelligent Mgmt WXS Edge
Component
IBM HTTP Server + WebSrv Plug-in
IBM HTTP Server + WebSrv Plug-in
IBM HTTP Server + WebSrv Plug-in
Deployment Manager Cluster Management / JOB Manager
Developer Tools Support
Developer Tools Support
Developer Tools Support
WXS (limited)
Java SDK
Java SDK
Java SDK
Software
Libertyプロファイル
Software
Liberty プロファイルの特徴
動的サーバー・プロファイル
アプリケーションに必要な機能を自動で判断して追加
Developer First にフォーカス シンプルかつ共有可能なサーバー構成
構成情報の共有や再利用を容易にするため1つのXMLファイル(複数も可)で管理
軽量ランタイム
メモリー使用量が小さい:
60MB程度~
通常のWASとの高い親和性
同じ信頼性の高いコンテナとQOSを採用
開発から運用に簡単に移行 シンプルな構成・動的構成変更
構成情報は1個のXMLファイル
構成変更時にサーバーの再起動が不
要
起動が速い
起動時間: 5秒程度
コンパクト・サイズ
ディスク使用量が小さい
50M~130MB程度
Unzipによる導入とデプロイ
Installation Manager か unzip で導入サー
バー + アプリ + 構成情報をUnzipでデプロイ可能
WAS V8.5.5 Liberty
Web Profile準拠
Java EEのWeb Profile標準に準拠したアプリを完全サポート
JAX-WS, JAX-RS, JMSプログラミング・モデルもサポート(Coreエディションを除く)
「集合」による高いスケーラビリティー
管理可能なサーバー個数の上限が大幅に向上(従来WAS比較)
複数サーバーを「集合」として管理
「集合(Collective)」機能により、複数サーバーを一括管理可能、かつ、高可用性のコントローラー
Liberty製品拡張
Liberty拡張インターフェースを利用して、開発したフィーチャーや3rd Partyコンポーネントを追加可能
コンパクト・サイズ
ディスク使用量が小さい
50M~130MB程度
Software
10
軽量ランタイム ・ 高速起動
§ 数秒で起動
§ わずかなJavaヒープサイズで稼働
• TradeLite でも60M バイト程度
§ 50Mバイト程度のダウンロードファイル
• JDKは含まず
• Java SE 1.6以降のJava実行環境で稼働
• Mac OS XのJDK上での開発・テストをサポート
§ 事前構成が不要
• デフォルト構成の自動生成
• ディレクトリにコピーするだけのアプリケーション導入
Software
シンプルで柔軟な構成と動的反映
§ 全ての構成項目がデフォルトの値をもつ
ü デフォルトから変更する場合にのみ記述
ü 簡潔な構成ファイル
§ 各項目に固有のUUIDなどはなし
ü 手動での編集も容易
§ 開発ツールからGUIを使った構成
§ 構成変更は再起動なしに動的に反映
<server description="new server"> <!-‐-‐ Enable features -‐-‐> <featureManager> <feature>jsp-‐2.2</feature> </featureManager> </server>
小構成の例
開発者の負荷を軽減
生産性の向上
Software
API・サーバー機能をFeatureとして定義
§ 必要なものだけを構成
ü 設定されたものだけがメモリにロード・初期化される→ 小限の起動時間・メモリー使用
Servlet JSP JDBC SSL
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
Software
各エディションのLibertyプロファイルで利用可能なFeature
jpa servlet
jsp
jsf
jndi jdbc
sessionDatabase monitor
wab
blueprint
jaxrs
json
restConnector
osgi.jpa
appSecurity
ssl
localConnector beanvalidation
ejblite cdi managedBeans
oauth collectiveMember ldapRegistry webCache
wasJmsClient wasJmsServer
wasJmsSecurity jmsMdb
jaxws
clusterMember
concurrent
wmqJmsClient wsSecurity
mongodb jaxb
collectiveController
Liberty Core
Base
ND
Software
使用可能なJava EE 6 APIs
Web Services Technologies JSR 311: JAX-RS: The Java API for RESTful Web Services 1.1 JSR 224: Java API for XML-Based
Web Services (JAX-WS) 2.2 JSR 222: Java Architecture for XML Binding (JAXB) 2.2 JSR 109: Implementing Enterprise Web Services 1.3 JSR 181: Web Services Metadata for the Java Platform JSR 101: Java APIs for XML based RPC 1.1 JSR 67: Java APIs for XML Messaging 1.3 JSR 93: Java API for XML Registries 1.0 (JAXR) 1.0 Management and Security Technologies JSR 196: Java Authentication Service Provider Interface for Containers 1.0 JSR 115: Java Authorization Contract for Containers 1.3 JSR 88: Java EE Application Deployment 1.2 JSR 77: J2EE Management 1.1
Web Profile
Web Application Technologies JSR 315: Java Servlet 3.0 JSR 314: JavaServer Faces (JSF) 2.0 JSR 245: JavaServer Pages 2.2 and Expression Language (EL) 1.2 JSR 52: A Standard Tag Library for JavaServer Pages 1.2 JSR-45: Debugging Support for Other Languages 1.0 Enterprise Application Technologies JSR 299: Contexts and Dependency Injection for the Java EE Platform 1.0 JSR 330: Dependency Injection for Java JSR 318: Enterprise JavaBeans 3.1 (EJB Lite) JSR 317: Java Persistence API 2.0 JSR 250: Common Annotations for the Java Platform 1.1 JSR 907: Java Transaction API (JTA) 1.1 JSR 303: Bean Validation 1.0 JSR 914: Java Message Service (JMS) API 1.1 JSR 318: Enterprise JavaBeans 3.1 JSR 322: Java EE Connector Architecture 1.6 JSR 919: JavaMail 1.4
Java EE full Profile
Libertyプロファイル Libertyプロファイル Libertyプロファイル Libertyプロファイル Libertyプロファイル
Software
Eclipse向けに統合ツールLiberty Profile Developer Toolsを無償提供
WebSphere Application Server Developer Tools
Eclipse (Kepler / Juno)
Web Tools Platform
WAS V8.5.5 Libertyプロファイル
for Developer
連携
§ Libertyプロファイル 実行環境の自動ダウンロード
§ サーバー構成の作成・GUIによる編集
§ テストサーバーへのアプリケーションの自動デプロイ
§ アプリケーションのデバッグ・ステップ実行
§ サーバー構成・アプリケーションのパッケージング
Java EEアプリケーションの開発・テスト環境を無償で構築
Software
Eclipse Marketplaceから簡単導入
§ メニューの「ヘルプ」→「Marketplace」から「websphere liberty」で検索してインストールするだけ
Software
無償で利用できるWAS for Developerエディションも提供
§ WAS Baseエディションと同じ機能を提供
ü FullプロファイルとLibertyプロファイルのそれぞれがダウンロード可能
§ Libertyプロファイルは https://www.ibmdw.net/wasdev/downloads/ またはDeveloper Tools for Eclipseから直接ダウンロード
Software
18
本番使用にも耐える十分なパフォーマンス
軽量サーバー間での 起動時間&フットプリント比較
軽量サーバー間での スループット比較
Tomcat , JBoss, and GlassFishはHot Spot JDKを使用。Liberty ProfileはIBMJDKを使用
JBossよりも20%,Tomcatよりも25%高いスループット
Tomcatと同等, JBoss, Glassfish と比較して, 起動時間,フットプリントは半分
Software
19
商用製品ならではのサポート体制
§ IBMのサポート体制は万全です
海外WebSphereラボ
東京基礎研究所
PAサポート窓口
System Technology Service Center
WebSphere事業部
お客様担当営業
重要度1の障害に関しては、
24時間365日のサポートを提供
(インシデント制限なし)
日本での障害解析 日本での製品サポート 日本での開発拠点
更なる解析、Fix作成
日本IBMはこれ以外にも、大規模Webサイトを専門とする部署や、WebSphereのデリバリーを専門に行う部署など、国内にも数多くのWebSphereに関するエンジニアを揃えております。
多くのWebSphere技術者がお客様を全面サポート
日本語でOK
問題解析に必要なログ・ト
レースをガイド
製品機能やオペレーションの
質問もOK
Software
多くのサンプル等がダウンロードできるLiberty Repository
§ 管理スクリプト
§ 追加機能
§ Open sourceIntegration
§ サンプルコード
ü JMX,EJB lite, JPA, etc
§ 構成サンプル
https://www.ibmdw.net/wasdev/repo/
Software
次期バージョンのαを公開中
§ WAS V8.5.5 April Beta
ü Java SE 8 toleration
ü Web sockets 1.0 extensions for web components
ü Non-persistent EJB timers for EJB Lite 3.2
ü Concurrency Utilities for Java EE 7
ü Java EE Connector Architecture (JCA) 1.6
ü Open ID 2.0 authentication protocol
Software
Libertyプロファイルのユースケース
Software
WAS Fullプロファイルの開発環境として
§ Webコンテナや,JPA実装,Webサービス実装などは,従来のWASのFullプロファイルのものをそのまま搭載
ü 高い信頼性
ü Libertyプロファイル上で稼働しているアプリケーションは基本的にそのままFullプロファイル上でも実行可能
ü 互換性のためのカスタムプロパティは多くがLibertyプロファイルでも利用可能
§ WAS上で稼働するアプリケーションの開発用途として 適
ü 「開発時はTomcatでテストして本番はWASで稼働」からの脱却
Liberty Profile App Server (Web Profile + α)
Full Profile App Server (Java EE 6 + α)
Java EE Application Java EE Application
開発・テスト 本番実行
Software
DevOpsを実現する軽量ランタイムとして
§ 開発環境のLibertyプロファイル+構成ファイル+アプリケーションを丸ごとZipファイルとしてパッケージすることが可能
ü Zipを展開するだけで本番環境に導入
ü Libertyプロファイルの実行環境や構成情報なども開発環境で変更管理(Platform as a Code)
§ 使用するFeatureだけをパッケージすることによりさらにちいさな導入イメージを作成可能
ü Servlet/JSP/JDBCのみを使用するアプリケーションをパッケージすると20数Mバイトの導入イメージも
Software
Better Tomcatとして
§ Tomcatでは標準で提供していない多くの機能を提供
ü JDBCコネクションプール
ü DBによる複数サーバー間のHttpSession共有
ü JAX-RSによるRESTful Webサービスの実現
ü トランザクション・マネージャー標準実装・JPAの提供
§ メーカーによるサポートの提供
ü JRE/Java SDKのサポートもあわせて提供
§ より高いパフォーマンス
Software
ISVのソリューション・コアとして
§ ISVにはランタイムを無償で提供,期間制限もなし
§ Liberty拡張により,独自機能をFeatureとして実装可能
ü サーバー構成による機能の追加・構成が容易に
§ Java EEベースのアプリケーション製品の実行環境として 適
§ IBM自身も,多くのSoftwareでベースの実行環境として利用
ü Worklightサーバーなど
Software
まとめ
クラウド時代に対応した軽量なランタイム
Agile Dev
Dev Ops
頻繁な変更・テスト耐えうる環境の提供 自動化による継続的な運用・保守品質の向上
安心して利用できるOSSの代替として
新しいパラダイムに対応した新の仕様をいち早く提供