WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

27
Software WebSphere Application Server V8.5.5 Libertyプロファイルのご紹介

description

JJUG CCC 2014 Spring R5-1 Eclipse/Liberty Java EEハンズオンで使用した説明資料です。 ハンズオンの手順書はこちら→ http://www.slideshare.net/takakiyo/liberty-developmentlab なぜかP12/13が正常に表示されませんが,ダウンロードしたPDFでは普通に見えますので,気になる方はダウンロードしてからご参照ください。

Transcript of WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Page 1: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

WebSphere Application Server V8.5.5Libertyプロファイルのご紹介

Page 2: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

WebSphere Application Serverとは

Page 3: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

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でも

高クラスのスループットを記録

Page 4: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

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

Page 5: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

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 クライアント機能が利用可能

Page 6: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

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の管理対象にはなれます

Page 7: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

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

Page 8: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

Libertyプロファイル

Page 9: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

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程度

Page 10: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

10

軽量ランタイム ・ 高速起動

§  数秒で起動

§  わずかなJavaヒープサイズで稼働

•  TradeLite でも60M バイト程度

§  50Mバイト程度のダウンロードファイル

•  JDKは含まず

•  Java SE 1.6以降のJava実行環境で稼働

•  Mac OS XのJDK上での開発・テストをサポート

§  事前構成が不要

•  デフォルト構成の自動生成

•  ディレクトリにコピーするだけのアプリケーション導入

Page 11: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

シンプルで柔軟な構成と動的反映

§  全ての構成項目がデフォルトの値をもつ

ü デフォルトから変更する場合にのみ記述

ü 簡潔な構成ファイル

§  各項目に固有のUUIDなどはなし

ü 手動での編集も容易

§  開発ツールからGUIを使った構成

§  構成変更は再起動なしに動的に反映

<server  description="new  server">    <!-­‐-­‐  Enable  features  -­‐-­‐>    <featureManager>      <feature>jsp-­‐2.2</feature>    </featureManager>  </server>  

小構成の例

開発者の負荷を軽減

生産性の向上

Page 12: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

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

Page 13: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

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

Page 14: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

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プロファイル

Page 15: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

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アプリケーションの開発・テスト環境を無償で構築

Page 16: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

Eclipse Marketplaceから簡単導入

§  メニューの「ヘルプ」→「Marketplace」から「websphere liberty」で検索してインストールするだけ

Page 17: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

無償で利用できるWAS for Developerエディションも提供

§  WAS Baseエディションと同じ機能を提供

ü  FullプロファイルとLibertyプロファイルのそれぞれがダウンロード可能

§  Libertyプロファイルは https://www.ibmdw.net/wasdev/downloads/ またはDeveloper Tools for Eclipseから直接ダウンロード

Page 18: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

18

本番使用にも耐える十分なパフォーマンス

軽量サーバー間での 起動時間&フットプリント比較

軽量サーバー間での スループット比較

Tomcat , JBoss, and GlassFishはHot Spot JDKを使用。Liberty ProfileはIBMJDKを使用

JBossよりも20%,Tomcatよりも25%高いスループット

Tomcatと同等, JBoss, Glassfish と比較して, 起動時間,フットプリントは半分

Page 19: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

19

商用製品ならではのサポート体制

§  IBMのサポート体制は万全です

海外WebSphereラボ

東京基礎研究所

PAサポート窓口

System Technology Service Center

WebSphere事業部

お客様担当営業

重要度1の障害に関しては、

24時間365日のサポートを提供

(インシデント制限なし)

日本での障害解析 日本での製品サポート 日本での開発拠点

更なる解析、Fix作成

日本IBMはこれ以外にも、大規模Webサイトを専門とする部署や、WebSphereのデリバリーを専門に行う部署など、国内にも数多くのWebSphereに関するエンジニアを揃えております。

多くのWebSphere技術者がお客様を全面サポート

日本語でOK

問題解析に必要なログ・ト

レースをガイド

製品機能やオペレーションの

質問もOK

Page 20: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

多くのサンプル等がダウンロードできるLiberty Repository

§  管理スクリプト

§  追加機能

§  Open sourceIntegration

§  サンプルコード

ü JMX,EJB lite, JPA, etc

§  構成サンプル

https://www.ibmdw.net/wasdev/repo/

Page 21: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

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

Page 22: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

Libertyプロファイルのユースケース

Page 23: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

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

開発・テスト 本番実行

Page 24: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

DevOpsを実現する軽量ランタイムとして

§  開発環境のLibertyプロファイル+構成ファイル+アプリケーションを丸ごとZipファイルとしてパッケージすることが可能

ü Zipを展開するだけで本番環境に導入

ü Libertyプロファイルの実行環境や構成情報なども開発環境で変更管理(Platform as a Code)

§  使用するFeatureだけをパッケージすることによりさらにちいさな導入イメージを作成可能

ü Servlet/JSP/JDBCのみを使用するアプリケーションをパッケージすると20数Mバイトの導入イメージも

Page 25: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

Better Tomcatとして

§  Tomcatでは標準で提供していない多くの機能を提供

ü JDBCコネクションプール

ü DBによる複数サーバー間のHttpSession共有

ü JAX-RSによるRESTful Webサービスの実現

ü トランザクション・マネージャー標準実装・JPAの提供

§  メーカーによるサポートの提供

ü JRE/Java SDKのサポートもあわせて提供

§  より高いパフォーマンス

Page 26: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

ISVのソリューション・コアとして

§  ISVにはランタイムを無償で提供,期間制限もなし

§  Liberty拡張により,独自機能をFeatureとして実装可能

ü サーバー構成による機能の追加・構成が容易に

§  Java EEベースのアプリケーション製品の実行環境として 適

§  IBM自身も,多くのSoftwareでベースの実行環境として利用

ü Worklightサーバーなど

Page 27: WebSphere Application Server V8.5.5Libertyプロファイルのご紹介 #jjug_ccc #ccc_r51

Software

まとめ

クラウド時代に対応した軽量なランタイム

Agile Dev

Dev Ops

頻繁な変更・テスト耐えうる環境の提供 自動化による継続的な運用・保守品質の向上

安心して利用できるOSSの代替として

新しいパラダイムに対応した新の仕様をいち早く提供