SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
© 2013 IBM Corporation
Liberty  Profile  Technical  Deepdive
IBMの新しいアプリケーションサーバーの実⼒力力
2015/4/11
⽇日本アイ・ビー・エム株式会社
⽥田中  孝清
JJUG  CCC  2015  Spring
© 2015 IBM Corporation
#ccc_f4
2
Libertyプロファイル登場の背景
© 2015 IBM Corporation
#ccc_f4
エンタープライズ・ビジネスの広がり
3
クラウド・ベース
サービス	
Systems  of  Engagement
(人とかかわりあうシステム)	
Systems  of  Record
(基幹システム)	
Internet  of  Things
(“モノ”のインターネット)	
CRM HR
DB ERP
© 2015 IBM Corporation
#ccc_f4
わかりやすく⾔言うと...
4
© 2015 IBM Corporation
#ccc_f4
SIerもWeb系企業の領領域に対応する必要が
5
クラウド・ベース
サービス	
Systems  of  Engagement
(人とかかわりあうシステム)	
Systems  of  Record
(基幹システム)	
Internet  of  Things
(“モノ”のインターネット)	
Web系企業の世界      .
SIerの世界
© 2015 IBM Corporation
#ccc_f4
何よりの違いは変化の速さ
§ デスクトップOSの変更更頻度度
– Windows  XP(2001年年  〜~  2014年年)
– Windows  7    (2009年年  〜~  2020年年)
§ モバイルOSの変更更頻度度
– iOS  6  (2012年年〜~)
– iOS  7  (2013年年〜~)
– iOS  8  (2014年年〜~)
6
§ 典型的な基幹業務
– 設計・開発  2〜~5年年
– 更更新頻度度    年年に数回
§ 典型的なWebアプリ
– 設計・開発  数ヶ⽉月
– 更更新頻度度    数⽇日〜~数週間ごと
© 2015 IBM Corporation
#ccc_f4
アジャイル開発の必然性
⾃自分たちが
アジャイル開発を実践している
という意識識はまったくありません。
今のビジネスの中で開発と運⽤用を
うまく回そうとすれば、
⾃自然と「アジャイルな」姿勢に
なっているのです。
倉貫義⼈人・著
「納品」をなくせばうまくいく
  より
7
© 2015 IBM Corporation
#ccc_f4
Java  EEサーバーを取り巻く環境も変化
8
ビジネスへの即応性
変化への柔軟性
⾼高パフォーマンス
⾼高信頼性
q  ユーザーの声を即座に反映
¦  モバイル・アプリケーション
¦  エンド・ユーザーと関わるシステム
q  試行錯誤による継続的な改善
q  早期のシステム構築
¦  クラウド上で必要に応じて作成・破棄
q  環境を「コード」として管理する	
q  ビジネス差別化につながるシステム
¦  例) トレーディング・システム
q  ビジネス要件の変化が少ない
基幹システム
q  長期に渡るシステム構築
¦  構築した環境は数年以上利用
q  厳密な「手順書」による運用	
新たな要件には、新たなアプローチが必要
© 2015 IBM Corporation
#ccc_f4
Java  EEサーバーに要求される機能
§ 製品の導⼊入
– ⼤大きな製品導⼊入イメージ  →  最⼩小限の導⼊入イメージ
– 専⽤用のGUIインストーラーの実⾏行行  →  ファイルの展開
§ 製品の管理理
– GUIツールや専⽤用コマンドによる構成  →  ファイルの直接編集
– GUIツールによる起動・停⽌止  →  CUIツールやAPIによる管理理
§ 製品の動作
– 多くのメモリ  →  最⼩小限のメモリ・フットプリント
– ⻑⾧長い時間をかけた起動・初期化  →  ⾼高速な起動
9
© 2015 IBM Corporation
#ccc_f4
10
WASの新しいランタイム:Libertyプロファイル
WAS V8.5.5 Liberty & WDT
Web Profile準拠
Java EE 6のWeb Profile標準に
準拠したアプリを完全サポート
JAX-WS, JAX-RS, JMSもサポート
Unzipによる導⼊入とデプロイ
パッケージをした
サーバー  + アプリ  + 構成情報を
Unzipでデプロイ可能
簡単な構成と動的変更更
最低限必要な構成ファイルは
server.xmlひとつだけ
デフォルトベースで簡単構成
構成変更更は再起動なしに反映
軽量量ランタイム
メモリー使⽤用量量が⼩小さい: 60MB程度度〜~
ディスク使⽤用量量も100MB以下
起動が速い
起動時間: 5秒程度度
統合ツール(WDT)
⾼高機能なEclipse⽤用の連携ツールを無償で提供
Eclipseから簡単に使⽤用可能
⾃自動化ツールとの連携
多くのOSSツールに
無償でプラグインを提供
© 2015 IBM Corporation
#ccc_f4
11
Libertyプロファイルの詳細
© 2015 IBM Corporation
#ccc_f4
WASの三つのライセンス
WAS Network Deployment
セキュアでパフォーマンスの高いトランザクション・エンジン
を提供	
最大で5つのアプリケーション・サーバー・プロファイル間に
て,Web層のクラスタリングとフェイルオーバー機能を提供。
アプリケーション・サーバー

(Full プロファイル)	
WAS (Base)
アプリケーション・サーバー

(Full プロファイル)	
アプリケーション・サーバー

(Full プロファイル)	
アプリケーション・サーバー

(Full プロファイル)	
アプリケーション・サーバー

Liberty プロファイル	
Intelligent
Mgmt
アプリケーション・サーバー

Liberty プロファイル	
アプリケーション・サーバー

Liberty プロファイル	
アプリケーション・サーバー

Liberty プロファイル	
8.5 New
8.5 New
8.5 New
WXS
WAS Liberty Core
アプリケーション・サーバー

Liberty プロファイル	
アプリケーション・サーバー

Liberty プロファイル	
8.5.5 New
8.5.5 New
© 2015 IBM Corporation
#ccc_f4
無償の開発者ライセンス  WAS  for  Developer
§ 開発⽤用のユーザーライセンス
– WAS  Baseと同じ機能を提供
– ユーザー登録などは不不要・使⽤用期限もなし
– 複数ユーザーが同時使⽤用するサーバー⽤用途には使⽤用不不可
§ Eclipse⽤用の開発者ツールも提供
– Java  EEアプリケーションの開発環境を無償で構築
13
WebSphere  Application  Server
Developer  Tools
Eclipse  (Indigo/Juno)
Web  Tools  Platform
WAS  V8.5.5
Libertyプロファイル
連携
© 2015 IBM Corporation
#ccc_f4
簡単なダウンロード・導⼊入
§ Java  EE  6  Web  Profile  +  αの
導⼊入ファイルが,わずか57.5MB
– サイトからのダウンロードに
ログインやアドレス登録は不不要
§ ファイル展開はコマンドラインで以下を実⾏行行するだけ
– java  –jar  wlp-‐‑‒runtime-‐‑‒8.5.5.5.jar
§ Eclipseの開発者ツールも,
Eclipse  Marketplaceから
簡単に導⼊入
14
© 2015 IBM Corporation
#ccc_f4
ダウンロードはWASDevサイトから
§ http://wasdev.net
15
https://developer.ibm.com/wasdev/
© 2015 IBM Corporation
#ccc_f4
⾼高速なサーバー起動
16
© 2015 IBM Corporation
#ccc_f4
少ないメモリ使⽤用量量
17
© 2015 IBM Corporation
#ccc_f4
⼗十分な性能
18
© 2015 IBM Corporation
#ccc_f4
柔軟なJava実⾏行行環境のサポート
§ JDK  6/7/8上で稼働
– 他社製のJDK/JRE環境上での実⾏行行もサポート
§ 製品版にはIBM  JDKがサポート付きで提供
19
Mac OS X上の
JDK でも
実⾏行行可能
© 2015 IBM Corporation
#ccc_f4
必要な機能(Feature)だけを組み合わせて利利⽤用
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
Servlet JSP JSF SSL
JAX-RS JSON JPA
JAX-WS JAX-B JDBC JTA
JMS CDI JNDI
EJB lite EJB MDB Blueprint WAB
© 2015 IBM Corporation
#ccc_f4
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
© 2015 IBM Corporation
#ccc_f4
新しいFeatureを,順次Liberty  Repositoryで提供
§ Liberty  Repositoryで新しいFeatureを⼊入⼿手可能
– Java  EE  7を構成する
仕様も順次公開
•  JCA  1.7
•  WebSocket  1.0
•  Servlet  3.1
•  JSP  2.3
•  EL  3.0
– その他のAPIも提供
•  OpenID  2.0
•  CouchDB
– GUI管理理画⾯面や
z/OS  Connectなども
22
https://developer.ibm.com/wasdev/downloads/
© 2015 IBM Corporation
#ccc_f4
各エディションで提供されているフィーチャー
23
zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0
zosConnect-1.0
zosLocalAdapters-1.0
scalingController-1.0
scalingMember-1.0
dynamicRouting-1.0
collectiveController-1.0 clusterMember-1.0
mongodb-2.0wsSecurity-1.1
wmqJmsClient-1.1
wasJmsServer-1.0
jmsMdb-3.1
wasJmsClient-1.1jaxws-2.2
jaxb-2.2
wasJmsSecurity-1.0 jca-1.6couchdb-1.0
jcaInboundSecurity-1.6mdb-3.1
jms-1.1
zOS
ND
webProfile-6.0wab-1.0
concurrent-1.0
collectiveMember-1.0
restConnector-1.0
sessionDatabase-1.0
ldapRegistry-3.0
webCache-1.0
jaxrs-1.1
distributedMap-1.0
osgiConsole-1.0
json-1.0
timedOperations-1.0monitor-1.0
oauth-2.0
blueprint-1.0
adminCenter-1.0
openid-2.0
openidConnectServer-1.0
openidConnectClient-1.0
serverStatus-1.0 spnego-1.0
osgiAppIntegration-1.0Core
servlet-3.0
jsp-2.2
jsf-2.0
ejbLite-3.1 jdbc-4.0
jndi-1.0
appSecurity-2.0
managedBeans-1.0
ssl-1.0
beanValidation-1.0
cdi-1.0
jpa-2.0 jsp-2.3
el-3.0
websocket-1.1
jdbc-4.1
servlet-3.1
websocket-1.0
jsonp-1.0
Base
New in
1Q15
New in
4Q14
spnego-1.0
osgiAppIntegration-1.0
jsp-2.3
el-3.0
websocket-1.1
jdbc-4.1
zosConnect-1.0
zosLocalAdapters-1.0
scalingController-1.0
scalingMember-1.0
dynamicRouting-1.0
couchdb-1.0
openid-2.0
openidConnectServer-1.0
openidConnectClient-1.0
servlet-3.1
websocket-1.0
jsonp-1.0
Repository のみで提供Install and Repository
© 2015 IBM Corporation
#ccc_f4
ゼロ・マイグレーション
§ 新しい仕様のバージョンに対応するフィーチャーが
追加されても,従来のバージョンも
– 例例)  現在はServlet  3.1フィーチャーが提供されていますが,
Servlet  3.0フィーチャーも引き続き利利⽤用できます
– 新機能が必要がなければ従来の機能を使い続けることも可能
§ 構成ファイルも上位互換性を維持
24
servlet-3.0
servlet-3.1
servlet-3.0 servlet-3.1
新バージョン
新バージョン
⼀一般的なアプリケーションサーバー WAS Libertyプロファイル
© 2015 IBM Corporation
#ccc_f4
共存が不不可能なフィーチャーもあるので注意
§ 同⼀一のフィーチャーの異異なるバージョンを
同時に有効にするとエラー
§ 前提となるフィーチャーで衝突することも
§ フィーチャーによってはJDKのバージョンに制限が
– JSONP  1.0はJDK  7以上が必要,等
25
<featureManager>	
  
	
  	
  	
  	
  <feature>jsp-­‐2.2</feature>	
  
	
  	
  	
  	
  <feature>jsp-­‐2.3</feature>	
  
</featureManager>	
  
×
<featureManager>	
  
	
  	
  	
  	
  <feature>websocket-­‐1.0</feature>	
  
	
  	
  	
  	
  <feature>servlet-­‐3.0</feature>	
  
</featureManager>	
  
servlet-­‐3.1が前提
×
© 2015 IBM Corporation
#ccc_f4
シンプルで容易易な構成
§ 基本はserver.xmlという単⼀一のファイル
– ${wlp.install.dir}/usr/servers/server_̲name/server.xml
§ 全ての構成項⽬目がデフォルトの値をもつ
– デフォルトから変更更する場合にのみ記述
§ 内部IDなどはない簡潔な記述
– バージョン管理理システム等での管理理も容易易
26
<?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
<security:Security	
  xmi:version="2.0"	
  xmlns:xmi="http://www.omg.org/XMI"	
  
xmlns:orb.securityprotocol="http://www.ibm.com/websphere/appserver/schemas/5.0/
orb.securityprotocol.xmi"	
  xmlns:security="http://www.ibm.com/websphere/appserver/schemas/5.0/
security.xmi"	
  xmi:id="Security_1"	
  useLocalSecurityServer="true"	
  useDomainQualifiedUserNames="false"	
  
enabled="true"	
  cacheTimeout="600"	
  issuePermissionWarning="true"	
  activeProtocol="BOTH"	
  
enforceJava2Security="false"	
  enforceFineGrainedJCASecurity="false"	
  appEnabled="false"	
  
dynamicallyUpdateSSLConfig="true"	
  allowBasicAuth="true"	
  activeAuthMechanism="LTPA_1"	
  
activeUserRegistry="WIMUserRegistry_1"	
  defaultSSLSettings="SSLConfig_1">	
  
	
  	
  <authMechanisms	
  xmi:type="security:KRB5"	
  xmi:id="KRB5_1"	
  OID="oid:1.2.840.113554.1.2.2"	
  
authContextImplClass="com.ibm.ISecurityLocalObjectTokenBaseImpl.Krb5WSSecurityContextImpl"	
  
authConfig="system.KRB5"	
  simpleAuthConfig="system.KRB5"	
  authValidationConfig="system.KRB5"	
  
krb5Realm=""	
  krb5Config=""	
  krb5Keytab=""	
  krb5Spn="WAS/${HOST}"	
  trimUserName="true"	
  
enabledGssCredDelegate="true"/>	
  
	
  	
  <authMechanisms	
  xmi:type="security:LTPA"	
  xmi:id="LTPA_1"	
  OID="oid:1.3.18.0.2.30.2"	
  
authContextImplClass="com.ibm.ISecurityLocalObjectTokenBaseImpl.WSSecurityContextLTPAImpl"	
  
authConfig="system.LTPA"	
  simpleAuthConfig="system.LTPA"	
  authValidationConfig="system.LTPA"	
  
timeout="120"	
  keySetGroup="KeySetGroup_1">	
  
	
  	
  	
  	
  <trustAssociation	
  xmi:id="TrustAssociation_1"	
  enabled="false">	
  
	
  	
  	
  	
  	
  	
  <interceptors	
  xmi:id="TAInterceptor_1"	
  
interceptorClassName="com.ibm.ws.security.web.TAMTrustAssociationInterceptorPlus"/>	
  
	
  	
  	
  	
  	
  	
  <interceptors	
  xmi:id="TAInterceptor_2"	
  
interceptorClassName="com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl"/>	
  
	
  	
  	
  	
  </trustAssociation>	
  
	
  	
  	
  	
  <singleSignon	
  xmi:id="SingleSignon_1"	
  requiresSSL="false"	
  domainName=""	
  enabled="true"/>	
  
	
  	
  </authMechanisms>	
  
	
  	
  <authMechanisms	
  xmi:type="security:SPNEGO"	
  xmi:id="SPNEGO_1"	
  OID="oid:1.3.6.1.5.5.2"	
  
authContextImplClass="com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl"	
  
allowAppAuthMethodFallback="false"/>	
  
<?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
<security:Security	
  xmi:version="2.0"	
  xmlns:xmi="http://www.omg.org/XMI"	
  
xmlns:orb.securityprotocol="http://www.ibm.com/websphere/appserver/schemas/5.0/
orb.securityprotocol.xmi"	
  xmlns:security="http://www.ibm.com/websphere/appserver/schemas/5.0/
security.xmi"	
  xmi:id="Security_1"	
  useLocalSecurityServer="true"	
  useDomainQualifiedUserNames="false"	
  
enabled="true"	
  cacheTimeout="600"	
  issuePermissionWarning="true"	
  activeProtocol="BOTH"	
  
enforceJava2Security="false"	
  enforceFineGrainedJCASecurity="false"	
  appEnabled="false"	
  
dynamicallyUpdateSSLConfig="true"	
  allowBasicAuth="true"	
  activeAuthMechanism="LTPA_1"	
  
activeUserRegistry="WIMUserRegistry_1"	
  defaultSSLSettings="SSLConfig_1">	
  
	
  	
  <authMechanisms	
  xmi:type="security:KRB5"	
  xmi:id="KRB5_1"	
  OID="oid:1.2.840.113554.1.2.2"	
  
authContextImplClass="com.ibm.ISecurityLocalObjectTokenBaseImpl.Krb5WSSecurityContextImpl"	
  
authConfig="system.KRB5"	
  simpleAuthConfig="system.KRB5"	
  authValidationConfig="system.KRB5"	
  
krb5Realm=""	
  krb5Config=""	
  krb5Keytab=""	
  krb5Spn="WAS/${HOST}"	
  trimUserName="true"	
  
enabledGssCredDelegate="true"/>	
  
	
  	
  <authMechanisms	
  xmi:type="security:LTPA"	
  xmi:id="LTPA_1"	
  OID="oid:1.3.18.0.2.30.2"	
  
authContextImplClass="com.ibm.ISecurityLocalObjectTokenBaseImpl.WSSecurityContextLTPAImpl"	
  
authConfig="system.LTPA"	
  simpleAuthConfig="system.LTPA"	
  authValidationConfig="system.LTPA"	
  
timeout="120"	
  keySetGroup="KeySetGroup_1">	
  
	
  	
  	
  	
  <trustAssociation	
  xmi:id="TrustAssociation_1"	
  enabled="false">	
  
	
  	
  	
  	
  	
  	
  <interceptors	
  xmi:id="TAInterceptor_1"	
  
interceptorClassName="com.ibm.ws.security.web.TAMTrustAssociationInterceptorPlus"/>	
  
	
  	
  	
  	
  	
  	
  <interceptors	
  xmi:id="TAInterceptor_2"	
  
interceptorClassName="com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl"/>	
  
	
  	
  	
  	
  </trustAssociation>	
  
	
  	
  	
  	
  <singleSignon	
  xmi:id="SingleSignon_1"	
  requiresSSL="false"	
  domainName=""	
  enabled="true"/>	
  
	
  	
  </authMechanisms>	
  
	
  	
  <authMechanisms	
  xmi:type="security:SPNEGO"	
  xmi:id="SPNEGO_1"	
  OID="oid:1.3.6.1.5.5.2"	
  
authContextImplClass="com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl"	
  
allowAppAuthMethodFallback="false"/>	
  
<?xml	
  version="1.0"	
  encoding="UTF-­‐8"?>	
  
<security:Security	
  xmi:version="2.0"	
  xmlns:xmi="http://www.omg.org/XMI"	
  
xmlns:orb.securityprotocol="http://www.ibm.com/websphere/appserver/schemas/5.0/
orb.securityprotocol.xmi"	
  xmlns:security="http://www.ibm.com/websphere/appserver/schemas/5.0/
security.xmi"	
  xmi:id="Security_1"	
  useLocalSecurityServer="true"	
  useDomainQualifiedUserNames="false"	
  
enabled="true"	
  cacheTimeout="600"	
  issuePermissionWarning="true"	
  activeProtocol="BOTH"	
  
enforceJava2Security="false"	
  enforceFineGrainedJCASecurity="false"	
  appEnabled="false"	
  
dynamicallyUpdateSSLConfig="true"	
  allowBasicAuth="true"	
  activeAuthMechanism="LTPA_1"	
  
activeUserRegistry="WIMUserRegistry_1"	
  defaultSSLSettings="SSLConfig_1">	
  
	
  	
  <authMechanisms	
  xmi:type="security:KRB5"	
  xmi:id="KRB5_1"	
  OID="oid:1.2.840.113554.1.2.2"	
  
authContextImplClass="com.ibm.ISecurityLocalObjectTokenBaseImpl.Krb5WSSecurityContextImpl"	
  
authConfig="system.KRB5"	
  simpleAuthConfig="system.KRB5"	
  authValidationConfig="system.KRB5"	
  
krb5Realm=""	
  krb5Config=""	
  krb5Keytab=""	
  krb5Spn="WAS/${HOST}"	
  trimUserName="true"	
  
enabledGssCredDelegate="true"/>	
  
	
  	
  <authMechanisms	
  xmi:type="security:LTPA"	
  xmi:id="LTPA_1"	
  OID="oid:1.3.18.0.2.30.2"	
  
authContextImplClass="com.ibm.ISecurityLocalObjectTokenBaseImpl.WSSecurityContextLTPAImpl"	
  
authConfig="system.LTPA"	
  simpleAuthConfig="system.LTPA"	
  authValidationConfig="system.LTPA"	
  
timeout="120"	
  keySetGroup="KeySetGroup_1">	
  
	
  	
  	
  	
  <trustAssociation	
  xmi:id="TrustAssociation_1"	
  enabled="false">	
  
	
  	
  	
  	
  	
  	
  <interceptors	
  xmi:id="TAInterceptor_1"	
  
interceptorClassName="com.ibm.ws.security.web.TAMTrustAssociationInterceptorPlus"/>	
  
	
  	
  	
  	
  	
  	
  <interceptors	
  xmi:id="TAInterceptor_2"	
  
interceptorClassName="com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl"/>	
  
	
  	
  	
  	
  </trustAssociation>	
  
	
  	
  	
  	
  <singleSignon	
  xmi:id="SingleSignon_1"	
  requiresSSL="false"	
  domainName=""	
  enabled="true"/>	
  
	
  	
  </authMechanisms>	
  
	
  	
  <authMechanisms	
  xmi:type="security:SPNEGO"	
  xmi:id="SPNEGO_1"	
  OID="oid:1.3.6.1.5.5.2"	
  
authContextImplClass="com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl"	
  
allowAppAuthMethodFallback="false"/>	
  
従来のWASの構成ファイルの例	
<server	
  description="server	
  1">	
  
  <!-­‐-­‐	
  Enable	
  features	
  -­‐-­‐>	
  
  <featureManager>	
  
    <feature>jsp-­‐2.2</feature>	
  
  </featureManager>	
  
</server>	
  
Libertyプロファイルの最小構成ファイルの例	
……
© 2015 IBM Corporation
#ccc_f4
個別の環境に依存しない構成
§ メインの構成ファイルから共通ファイルの参照
§ 構成ファイルでは変数を参照可能
§ 変数は様々な場所で定義可能
27
<server	
  description="new	
  server">	
  
	
  	
  <featureManager>	
  
	
  	
  	
  	
  <feature>jsp-­‐2.2</feature>	
  
	
  	
  </featureManager>	
  
	
  	
  <include	
  location="${shared.config.dir}common-­‐config.xml"	
  />	
  	
  
</server>	
  
<fileset	
  id="DerbyFileset"	
  
	
  	
  dir="${derbypath}"	
  includes="derby-­‐10.10.1.1.jar"	
  />	
  	
  
${wlp.install.dir}/usr/servers/server_name/server.xml
${wlp.install.dir}/usr/servers/shared/config/common-config.xml
derbypath=/usr/derby
bootstrap.propertiesファイル
<variable	
  name=”derbypath"	
  
	
  	
  value="/usr/derby"	
  />	
  	
  
server.xmlやインクルードされる
他のXMLファイル
export	
  derbypath=/usr/derby
環境変数
© 2015 IBM Corporation
#ccc_f4
テスト・本番環境
テスト・本番環境
サーバーのパッケージング
§ 開発環境で作成した
– サーバー構成
– アプリケーション
– Libertyプロファイルの実⾏行行イメージ
      をまとめてZIPにパッケージすることが可能
§ ZIPファイルを展開するだけで他の環境にインストール
28
Java SDK
Liberty Profile
サーバー構成
アプリ
①インストール
ディスク	
②サーバー構成
③アプリ開発
テスト・本番環境
Java SDK
Liberty Profile
サーバー構成
アプリ
ディスク	
ZIPファイル	
④パッケージ ⑤展開
© 2015 IBM Corporation
#ccc_f4
パッケージの  -‐‑‒-‐‑‒include=minify  オプション
§ パッケージを作成する際に指定すると
アプリケーションで使⽤用しているフィーチャーの
実⾏行行に必要なファイルのみをZIPにパッケージ
– Servlet/JSP/JDBCのみを使⽤用する
アプリケーションをパッケージすると
20数Mバイトの導⼊入イメージになることも
29
server –package <サーバー名> --include=minify
© 2015 IBM Corporation
#ccc_f4
各種ツールとの連携
§ 各種CI・Buildツールとの
  連携機能をGitHubで公開
– サーバーの起動・停⽌止や
構成の作成
パッケージを実⾏行行可能
30
h"ps://github.com/wasdev
© 2015 IBM Corporation
#ccc_f4
広がるLibertyプロファイルのECOシステム
31
© 2015 IBM Corporation
#ccc_f4
Dockerのサポート
§ 開発⽤用途で利利⽤用可能なWAS  Liberty  イメージを
Docker  Hubから提供・⼿手元にpullするだけで使⽤用可能
– 最新版  WAS  V8.5.5.  Liberty  ドライバー
– Java  EE  7対応のWAS  Liberty  V9  Beta
§ WASdev  GitHubでDockerfilesを提供  :
– Liberty  Core,  Base,  NDの商⽤用ライセンスを使⽤用し,  
Docker  Hubにあるイメージを本番⽤用にアップグレード可能
32
https://registry.hub.docker.com/_/websphere-liberty/
© 2015 IBM Corporation
#ccc_f4
どこでも稼働可能な柔軟性
33
Build Your Own Cloud
既存のH/W上に、仮想化された
WebSphere Application Server
を使用可能
Amazon
BYOS&L - WebSphere App Server
Blue Mix
組立可能なサービス
Liberty Buildpack
PureApplication
System & Software
再利用 & 再デプロイ可能な
パターンとしてWebSphere
App Serverが使用可能
Cloud Foundry
Liberty Buildpack
SoftLayer/Bluemix
BYOS&L - WebSphere App Server
パブリッククラウド・エコノミー
Time to Market
パッケージ・サービス
⾼高速開発
全体の管理理
柔軟性の最⼤大化
オンプレミス IaaS PaaS
Microsoft Azure
BYOS&L - WebSphere App Server
Pay-as-you-Go WAS VMs
© 2015 IBM Corporation
#ccc_f4
34
Libertyプロファイル最新情報
© 2015 IBM Corporation
#ccc_f4
GUIベースの管理理ツール  Admin  Center
§ ブラウザを使⽤用してLiberty環境を操作
35
監視
パフォーマンスとヘル
ス・メトリック
ログ分析
デプロイ
サーバー・パッケージ
管理理
ブラウズ/サーチ/フィルター
タグとメタデータ
運⽤用ステータス
サーバー構成(Beta)
© 2015 IBM Corporation
#ccc_f4
モニタリングとログ分析
§  アプリケーション・サーバーの
健康状態をアセス
-  アプリケーション基盤の情報を取得
-  情報の集約・検索・分析
-  問題原因の特定
§  Admin Centerからアクセス
36
モニター:
•  使用ヒープ・メモリー
•  ロードされたクラス
•  アクティブなJVMスレッド
•  CPU使用率
•  Liberty MXBeans
データ解析の元資料:
•  アクセス・ログ
•  ログ・メッセージ、FFDC & トレース
© 2015 IBM Corporation
#ccc_f4
Java  EE  7にむけて
§ Java EE 7に対応した

Betaコードを公開中	
– 毎月Betaコードを更新	
– OpenIDや

WebRTCなども実装	
– 開発者ツールBetaも

併せて提供	
§ Java EE 7対応は,

Libertyプロファイルが

先行する予定です	
– Java EE 7仕様全体に対応します	
– Java EE 7対応した

Fullプロファイルも

出荷される予定です	
37
IBM Confidential
https://developer.ibm.com/wasdev/
© 2015 IBM Corporation
#ccc_f4
Liberty  Baseの無償利利⽤用オファリング
38
一つの企業につき2GバイトのJavaヒープメモリに限定し,
テストおよび本番でのLibertyプロファイルを無償で使用が可能
ü  小規模な開発を無償ではじめて,
必要に応じて拡張
ü  現在の無償の開発者オプションに加え
実際の本番環境での利用を確認できる
ü  パフォーマンスや機能拡張に優れた
WAS Liberty Base エディションの
全機能を利用可能
ü  オンプレミスとパブリッククラウドの
開発オプションを柔軟に選択可能
Libertyプロファイル無償提供の意義 無償オプションの利用用法
§  WASdev.netから開発者版をダウンロード
提供されるライセンスファイルを適用
§  WASdev上の文章やForumを利用して
問題の解決が可能
© 2015 IBM Corporation
#ccc_f4
まとめ
§ まずは試してみて下さい
– Java  EE  6を使⽤用したい⽅方はGA版を
– Java  EE  7を使⽤用したい⽅方はBeta版を
§ http://wasdev.net
    または
§ EclipseのMarketplaceでLibertyと検索索
39
© 2015 IBM Corporation
#ccc_f4
40

Weitere ähnliche Inhalte

Was ist angesagt?

Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APImaruyama097
 
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてJava EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてShigeru Tatsuta
 
Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Takakiyo Tanaka
 
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発 夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発 Takakiyo Tanaka
 
20170624 interact2017 open shift on azure
20170624 interact2017 open shift on azure20170624 interact2017 open shift on azure
20170624 interact2017 open shift on azureTakayoshi Tanaka
 
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新Masatoshi Tada
 
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側賢 秋穂
 
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4Takakiyo Tanaka
 
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)Akio Katayama
 
Java EEの話(仮)
Java EEの話(仮)Java EEの話(仮)
Java EEの話(仮)Satoshi Kubo
 
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57Toshiaki Maki
 
ASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さSho Okada
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft AzureYoshio Terada
 
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編なべ
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をTech Summit 2016
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をTech Summit 2016
 
Spring bootでweb 基本編
Spring bootでweb 基本編Spring bootでweb 基本編
Spring bootでweb 基本編なべ
 
Essentials of container
Essentials of containerEssentials of container
Essentials of containerToru Makabe
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkinsKohsuke Kawaguchi
 

Was ist angesagt? (20)

Google Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline APIGoogle Compute EngineとGAE Pipeline API
Google Compute EngineとGAE Pipeline API
 
Java EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行についてJava EE から Quarkus による開発への移行について
Java EE から Quarkus による開発への移行について
 
Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界Java EE 6で復活するエンタープライズJavaの世界
Java EE 6で復活するエンタープライズJavaの世界
 
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発 夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
 
20170624 interact2017 open shift on azure
20170624 interact2017 open shift on azure20170624 interact2017 open shift on azure
20170624 interact2017 open shift on azure
 
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
 
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
20160521 大規模映像配信サービスの Java8による全面リニューアルの裏側
 
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
エンタープライズJava環境におけるマイクロサービス・アーキテクチャーの必要性 #natsumiB4
 
AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)AWSマイスターシリーズReloaded(AWS Beanstalk)
AWSマイスターシリーズReloaded(AWS Beanstalk)
 
Java EEの話(仮)
Java EEの話(仮)Java EEの話(仮)
Java EEの話(仮)
 
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
MVC 1.0 JSR-371を通してAdopt a JSRに知ろう #jjug_ccc #ccc_r57
 
ASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さ
 
Java on Microsoft Azure
Java on Microsoft AzureJava on Microsoft Azure
Java on Microsoft Azure
 
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
 
App012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_をApp012 linux java_にも対応!_azure_service_fabric_を
App012 linux java_にも対応!_azure_service_fabric_を
 
Spring bootでweb 基本編
Spring bootでweb 基本編Spring bootでweb 基本編
Spring bootでweb 基本編
 
Essentials of container
Essentials of containerEssentials of container
Essentials of container
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
 
BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 

Andere mochten auch

クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?Takakiyo Tanaka
 
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-Takakiyo Tanaka
 
ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427Nobuhiro Sue
 
Amazon Aurora 最新アップデートと日本のお客様の移行事例
Amazon Aurora 最新アップデートと日本のお客様の移行事例Amazon Aurora 最新アップデートと日本のお客様の移行事例
Amazon Aurora 最新アップデートと日本のお客様の移行事例Amazon Web Services Japan
 
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。Takakiyo Tanaka
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Koichi Sakata
 

Andere mochten auch (7)

クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
 
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
タイムマシン採用:明日のエンタープライズJavaの世界を予想する -Java EE7/クラウド/Docker/etc.-
 
ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427
 
AWS Database Migration Service ご紹介
AWS Database Migration Service ご紹介AWS Database Migration Service ご紹介
AWS Database Migration Service ご紹介
 
Amazon Aurora 最新アップデートと日本のお客様の移行事例
Amazon Aurora 最新アップデートと日本のお客様の移行事例Amazon Aurora 最新アップデートと日本のお客様の移行事例
Amazon Aurora 最新アップデートと日本のお客様の移行事例
 
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
Javaプログラマーももう逃げられない。マイクロサービスとAPIの世界。
 
Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今Seasar2で作った俺たちのサービスの今
Seasar2で作った俺たちのサービスの今
 

Ähnlich wie JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの実力 #jjug #jjug_ccc #ccc_f4

Microsoft Azure Update 20151112
Microsoft Azure Update 20151112Microsoft Azure Update 20151112
Microsoft Azure Update 20151112Ayako Omori
 
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナーIMJ Corporation
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe APImaruyama097
 
OpsWorks aws-cli#11
OpsWorks aws-cli#11OpsWorks aws-cli#11
OpsWorks aws-cli#11Yuta Shimada
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践真吾 吉田
 
クラウド & STAR-CCM+ を活用するための勘ドコロ
クラウド & STAR-CCM+ を活用するための勘ドコロクラウド & STAR-CCM+ を活用するための勘ドコロ
クラウド & STAR-CCM+ を活用するための勘ドコロRescale Japan株式会社
 
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかChihiro Ito
 
IBM SoftLayer @ Osc tokyo-2014-fall
IBM SoftLayer @ Osc tokyo-2014-fallIBM SoftLayer @ Osc tokyo-2014-fall
IBM SoftLayer @ Osc tokyo-2014-fallYasushi Osonoi
 
見せます! 半歩先のクラウド型アプリケーション開発
見せます! 半歩先のクラウド型アプリケーション開発見せます! 半歩先のクラウド型アプリケーション開発
見せます! 半歩先のクラウド型アプリケーション開発Tatsuki Manchu
 
Bluemixの概要とアプリの作り方
Bluemixの概要とアプリの作り方Bluemixの概要とアプリの作り方
Bluemixの概要とアプリの作り方BMXUG
 
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介Tadahiro Higuchi
 
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践de:code 2017
 
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはたった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはRina Owaki
 
パブリック クラウド担当の現場も注目している System center 2012 ~その理由は? tokyo
パブリック クラウド担当の現場も注目している System center 2012 ~その理由は?   tokyoパブリック クラウド担当の現場も注目している System center 2012 ~その理由は?   tokyo
パブリック クラウド担当の現場も注目している System center 2012 ~その理由は? tokyoKeiji Kamebuchi
 
App controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウドApp controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウドTakashi Kanai
 
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発Naoki (Neo) SATO
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...Masahiro Tomisugi
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Shotaro Suzuki
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Masatomo Ito
 

Ähnlich wie JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの実力 #jjug #jjug_ccc #ccc_f4 (20)

Microsoft Azure Update 20151112
Microsoft Azure Update 20151112Microsoft Azure Update 20151112
Microsoft Azure Update 20151112
 
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
 
Google Compute EngineとPipe API
Google Compute EngineとPipe APIGoogle Compute EngineとPipe API
Google Compute EngineとPipe API
 
OpsWorks aws-cli#11
OpsWorks aws-cli#11OpsWorks aws-cli#11
OpsWorks aws-cli#11
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
 
クラウド & STAR-CCM+ を活用するための勘ドコロ
クラウド & STAR-CCM+ を活用するための勘ドコロクラウド & STAR-CCM+ を活用するための勘ドコロ
クラウド & STAR-CCM+ を活用するための勘ドコロ
 
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
 
IBM SoftLayer @ Osc tokyo-2014-fall
IBM SoftLayer @ Osc tokyo-2014-fallIBM SoftLayer @ Osc tokyo-2014-fall
IBM SoftLayer @ Osc tokyo-2014-fall
 
見せます! 半歩先のクラウド型アプリケーション開発
見せます! 半歩先のクラウド型アプリケーション開発見せます! 半歩先のクラウド型アプリケーション開発
見せます! 半歩先のクラウド型アプリケーション開発
 
Bluemixの概要とアプリの作り方
Bluemixの概要とアプリの作り方Bluemixの概要とアプリの作り方
Bluemixの概要とアプリの作り方
 
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介
 
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
 
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはたった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
 
パブリック クラウド担当の現場も注目している System center 2012 ~その理由は? tokyo
パブリック クラウド担当の現場も注目している System center 2012 ~その理由は?   tokyoパブリック クラウド担当の現場も注目している System center 2012 ~その理由は?   tokyo
パブリック クラウド担当の現場も注目している System center 2012 ~その理由は? tokyo
 
App controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウドApp controllerとSPFで実現するハイブリッドクラウド
App controllerとSPFで実現するハイブリッドクラウド
 
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
[Microsoft Tech Summit] Linux/Java にも対応! Azure Service Fabric を使ったマイクロサービス開発
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 

Mehr von Takakiyo Tanaka

JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」Takakiyo Tanaka
 
MicroProfile Starterで簡単スタート Open Liberty
MicroProfile Starterで簡単スタート Open LibertyMicroProfile Starterで簡単スタート Open Liberty
MicroProfile Starterで簡単スタート Open LibertyTakakiyo Tanaka
 
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについてオープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM JavaについてTakakiyo Tanaka
 
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築Takakiyo Tanaka
 
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57Takakiyo Tanaka
 

Mehr von Takakiyo Tanaka (6)

JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
JJUGナイトセミナー OpenJDK祭り「OpenJ9+OpenJDK」
 
OutOfMemoryErrorとは
OutOfMemoryErrorとは OutOfMemoryErrorとは
OutOfMemoryErrorとは
 
MicroProfile Starterで簡単スタート Open Liberty
MicroProfile Starterで簡単スタート Open LibertyMicroProfile Starterで簡単スタート Open Liberty
MicroProfile Starterで簡単スタート Open Liberty
 
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについてオープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
オープンソースで提供される第二のJVM:OpenJ9 VMとIBM Javaについて
 
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
自分のDocker/Kubernetes環境を手に入れる ICP Community Editionで簡単構築
 
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
JJUG CCC 2014 Spring IBM SDK for Java 8の全貌 #jjug_ccc #ccc_r57
 

JJUG CCC 2015 Spring: Liberty Profile Technical Deepdive:IBMの新しいアプリケーションサーバーの実力 #jjug #jjug_ccc #ccc_f4

  • 1. © 2013 IBM Corporation Liberty  Profile  Technical  Deepdive IBMの新しいアプリケーションサーバーの実⼒力力 2015/4/11 ⽇日本アイ・ビー・エム株式会社 ⽥田中  孝清 JJUG  CCC  2015  Spring
  • 2. © 2015 IBM Corporation #ccc_f4 2 Libertyプロファイル登場の背景
  • 3. © 2015 IBM Corporation #ccc_f4 エンタープライズ・ビジネスの広がり 3 クラウド・ベース サービス Systems  of  Engagement (人とかかわりあうシステム) Systems  of  Record (基幹システム) Internet  of  Things (“モノ”のインターネット) CRM HR DB ERP
  • 4. © 2015 IBM Corporation #ccc_f4 わかりやすく⾔言うと... 4
  • 5. © 2015 IBM Corporation #ccc_f4 SIerもWeb系企業の領領域に対応する必要が 5 クラウド・ベース サービス Systems  of  Engagement (人とかかわりあうシステム) Systems  of  Record (基幹システム) Internet  of  Things (“モノ”のインターネット) Web系企業の世界      . SIerの世界
  • 6. © 2015 IBM Corporation #ccc_f4 何よりの違いは変化の速さ § デスクトップOSの変更更頻度度 – Windows  XP(2001年年  〜~  2014年年) – Windows  7    (2009年年  〜~  2020年年) § モバイルOSの変更更頻度度 – iOS  6  (2012年年〜~) – iOS  7  (2013年年〜~) – iOS  8  (2014年年〜~) 6 § 典型的な基幹業務 – 設計・開発  2〜~5年年 – 更更新頻度度    年年に数回 § 典型的なWebアプリ – 設計・開発  数ヶ⽉月 – 更更新頻度度    数⽇日〜~数週間ごと
  • 7. © 2015 IBM Corporation #ccc_f4 アジャイル開発の必然性 ⾃自分たちが アジャイル開発を実践している という意識識はまったくありません。 今のビジネスの中で開発と運⽤用を うまく回そうとすれば、 ⾃自然と「アジャイルな」姿勢に なっているのです。 倉貫義⼈人・著 「納品」をなくせばうまくいく  より 7
  • 8. © 2015 IBM Corporation #ccc_f4 Java  EEサーバーを取り巻く環境も変化 8 ビジネスへの即応性 変化への柔軟性 ⾼高パフォーマンス ⾼高信頼性 q  ユーザーの声を即座に反映 ¦  モバイル・アプリケーション ¦  エンド・ユーザーと関わるシステム q  試行錯誤による継続的な改善 q  早期のシステム構築 ¦  クラウド上で必要に応じて作成・破棄 q  環境を「コード」として管理する q  ビジネス差別化につながるシステム ¦  例) トレーディング・システム q  ビジネス要件の変化が少ない 基幹システム q  長期に渡るシステム構築 ¦  構築した環境は数年以上利用 q  厳密な「手順書」による運用 新たな要件には、新たなアプローチが必要
  • 9. © 2015 IBM Corporation #ccc_f4 Java  EEサーバーに要求される機能 § 製品の導⼊入 – ⼤大きな製品導⼊入イメージ  →  最⼩小限の導⼊入イメージ – 専⽤用のGUIインストーラーの実⾏行行  →  ファイルの展開 § 製品の管理理 – GUIツールや専⽤用コマンドによる構成  →  ファイルの直接編集 – GUIツールによる起動・停⽌止  →  CUIツールやAPIによる管理理 § 製品の動作 – 多くのメモリ  →  最⼩小限のメモリ・フットプリント – ⻑⾧長い時間をかけた起動・初期化  →  ⾼高速な起動 9
  • 10. © 2015 IBM Corporation #ccc_f4 10 WASの新しいランタイム:Libertyプロファイル WAS V8.5.5 Liberty & WDT Web Profile準拠 Java EE 6のWeb Profile標準に 準拠したアプリを完全サポート JAX-WS, JAX-RS, JMSもサポート Unzipによる導⼊入とデプロイ パッケージをした サーバー  + アプリ  + 構成情報を Unzipでデプロイ可能 簡単な構成と動的変更更 最低限必要な構成ファイルは server.xmlひとつだけ デフォルトベースで簡単構成 構成変更更は再起動なしに反映 軽量量ランタイム メモリー使⽤用量量が⼩小さい: 60MB程度度〜~ ディスク使⽤用量量も100MB以下 起動が速い 起動時間: 5秒程度度 統合ツール(WDT) ⾼高機能なEclipse⽤用の連携ツールを無償で提供 Eclipseから簡単に使⽤用可能 ⾃自動化ツールとの連携 多くのOSSツールに 無償でプラグインを提供
  • 11. © 2015 IBM Corporation #ccc_f4 11 Libertyプロファイルの詳細
  • 12. © 2015 IBM Corporation #ccc_f4 WASの三つのライセンス WAS Network Deployment セキュアでパフォーマンスの高いトランザクション・エンジン を提供 最大で5つのアプリケーション・サーバー・プロファイル間に て,Web層のクラスタリングとフェイルオーバー機能を提供。 アプリケーション・サーバー
 (Full プロファイル) WAS (Base) アプリケーション・サーバー
 (Full プロファイル) アプリケーション・サーバー
 (Full プロファイル) アプリケーション・サーバー
 (Full プロファイル) アプリケーション・サーバー
 Liberty プロファイル Intelligent Mgmt アプリケーション・サーバー
 Liberty プロファイル アプリケーション・サーバー
 Liberty プロファイル アプリケーション・サーバー
 Liberty プロファイル 8.5 New 8.5 New 8.5 New WXS WAS Liberty Core アプリケーション・サーバー
 Liberty プロファイル アプリケーション・サーバー
 Liberty プロファイル 8.5.5 New 8.5.5 New
  • 13. © 2015 IBM Corporation #ccc_f4 無償の開発者ライセンス  WAS  for  Developer § 開発⽤用のユーザーライセンス – WAS  Baseと同じ機能を提供 – ユーザー登録などは不不要・使⽤用期限もなし – 複数ユーザーが同時使⽤用するサーバー⽤用途には使⽤用不不可 § Eclipse⽤用の開発者ツールも提供 – Java  EEアプリケーションの開発環境を無償で構築 13 WebSphere  Application  Server Developer  Tools Eclipse  (Indigo/Juno) Web  Tools  Platform WAS  V8.5.5 Libertyプロファイル 連携
  • 14. © 2015 IBM Corporation #ccc_f4 簡単なダウンロード・導⼊入 § Java  EE  6  Web  Profile  +  αの 導⼊入ファイルが,わずか57.5MB – サイトからのダウンロードに ログインやアドレス登録は不不要 § ファイル展開はコマンドラインで以下を実⾏行行するだけ – java  –jar  wlp-‐‑‒runtime-‐‑‒8.5.5.5.jar § Eclipseの開発者ツールも, Eclipse  Marketplaceから 簡単に導⼊入 14
  • 15. © 2015 IBM Corporation #ccc_f4 ダウンロードはWASDevサイトから § http://wasdev.net 15 https://developer.ibm.com/wasdev/
  • 16. © 2015 IBM Corporation #ccc_f4 ⾼高速なサーバー起動 16
  • 17. © 2015 IBM Corporation #ccc_f4 少ないメモリ使⽤用量量 17
  • 18. © 2015 IBM Corporation #ccc_f4 ⼗十分な性能 18
  • 19. © 2015 IBM Corporation #ccc_f4 柔軟なJava実⾏行行環境のサポート § JDK  6/7/8上で稼働 – 他社製のJDK/JRE環境上での実⾏行行もサポート § 製品版にはIBM  JDKがサポート付きで提供 19 Mac OS X上の JDK でも 実⾏行行可能
  • 20. © 2015 IBM Corporation #ccc_f4 必要な機能(Feature)だけを組み合わせて利利⽤用 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 Servlet JSP JSF SSL JAX-RS JSON JPA JAX-WS JAX-B JDBC JTA JMS CDI JNDI EJB lite EJB MDB Blueprint WAB
  • 21. © 2015 IBM Corporation #ccc_f4 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
  • 22. © 2015 IBM Corporation #ccc_f4 新しいFeatureを,順次Liberty  Repositoryで提供 § Liberty  Repositoryで新しいFeatureを⼊入⼿手可能 – Java  EE  7を構成する 仕様も順次公開 •  JCA  1.7 •  WebSocket  1.0 •  Servlet  3.1 •  JSP  2.3 •  EL  3.0 – その他のAPIも提供 •  OpenID  2.0 •  CouchDB – GUI管理理画⾯面や z/OS  Connectなども 22 https://developer.ibm.com/wasdev/downloads/
  • 23. © 2015 IBM Corporation #ccc_f4 各エディションで提供されているフィーチャー 23 zosSecurity-1.0 zosTransaction-1.0 zosWlm-1.0 zosConnect-1.0 zosLocalAdapters-1.0 scalingController-1.0 scalingMember-1.0 dynamicRouting-1.0 collectiveController-1.0 clusterMember-1.0 mongodb-2.0wsSecurity-1.1 wmqJmsClient-1.1 wasJmsServer-1.0 jmsMdb-3.1 wasJmsClient-1.1jaxws-2.2 jaxb-2.2 wasJmsSecurity-1.0 jca-1.6couchdb-1.0 jcaInboundSecurity-1.6mdb-3.1 jms-1.1 zOS ND webProfile-6.0wab-1.0 concurrent-1.0 collectiveMember-1.0 restConnector-1.0 sessionDatabase-1.0 ldapRegistry-3.0 webCache-1.0 jaxrs-1.1 distributedMap-1.0 osgiConsole-1.0 json-1.0 timedOperations-1.0monitor-1.0 oauth-2.0 blueprint-1.0 adminCenter-1.0 openid-2.0 openidConnectServer-1.0 openidConnectClient-1.0 serverStatus-1.0 spnego-1.0 osgiAppIntegration-1.0Core servlet-3.0 jsp-2.2 jsf-2.0 ejbLite-3.1 jdbc-4.0 jndi-1.0 appSecurity-2.0 managedBeans-1.0 ssl-1.0 beanValidation-1.0 cdi-1.0 jpa-2.0 jsp-2.3 el-3.0 websocket-1.1 jdbc-4.1 servlet-3.1 websocket-1.0 jsonp-1.0 Base New in 1Q15 New in 4Q14 spnego-1.0 osgiAppIntegration-1.0 jsp-2.3 el-3.0 websocket-1.1 jdbc-4.1 zosConnect-1.0 zosLocalAdapters-1.0 scalingController-1.0 scalingMember-1.0 dynamicRouting-1.0 couchdb-1.0 openid-2.0 openidConnectServer-1.0 openidConnectClient-1.0 servlet-3.1 websocket-1.0 jsonp-1.0 Repository のみで提供Install and Repository
  • 24. © 2015 IBM Corporation #ccc_f4 ゼロ・マイグレーション § 新しい仕様のバージョンに対応するフィーチャーが 追加されても,従来のバージョンも – 例例)  現在はServlet  3.1フィーチャーが提供されていますが, Servlet  3.0フィーチャーも引き続き利利⽤用できます – 新機能が必要がなければ従来の機能を使い続けることも可能 § 構成ファイルも上位互換性を維持 24 servlet-3.0 servlet-3.1 servlet-3.0 servlet-3.1 新バージョン 新バージョン ⼀一般的なアプリケーションサーバー WAS Libertyプロファイル
  • 25. © 2015 IBM Corporation #ccc_f4 共存が不不可能なフィーチャーもあるので注意 § 同⼀一のフィーチャーの異異なるバージョンを 同時に有効にするとエラー § 前提となるフィーチャーで衝突することも § フィーチャーによってはJDKのバージョンに制限が – JSONP  1.0はJDK  7以上が必要,等 25 <featureManager>          <feature>jsp-­‐2.2</feature>          <feature>jsp-­‐2.3</feature>   </featureManager>   × <featureManager>          <feature>websocket-­‐1.0</feature>          <feature>servlet-­‐3.0</feature>   </featureManager>   servlet-­‐3.1が前提 ×
  • 26. © 2015 IBM Corporation #ccc_f4 シンプルで容易易な構成 § 基本はserver.xmlという単⼀一のファイル – ${wlp.install.dir}/usr/servers/server_̲name/server.xml § 全ての構成項⽬目がデフォルトの値をもつ – デフォルトから変更更する場合にのみ記述 § 内部IDなどはない簡潔な記述 – バージョン管理理システム等での管理理も容易易 26 <?xml  version="1.0"  encoding="UTF-­‐8"?>   <security:Security  xmi:version="2.0"  xmlns:xmi="http://www.omg.org/XMI"   xmlns:orb.securityprotocol="http://www.ibm.com/websphere/appserver/schemas/5.0/ orb.securityprotocol.xmi"  xmlns:security="http://www.ibm.com/websphere/appserver/schemas/5.0/ security.xmi"  xmi:id="Security_1"  useLocalSecurityServer="true"  useDomainQualifiedUserNames="false"   enabled="true"  cacheTimeout="600"  issuePermissionWarning="true"  activeProtocol="BOTH"   enforceJava2Security="false"  enforceFineGrainedJCASecurity="false"  appEnabled="false"   dynamicallyUpdateSSLConfig="true"  allowBasicAuth="true"  activeAuthMechanism="LTPA_1"   activeUserRegistry="WIMUserRegistry_1"  defaultSSLSettings="SSLConfig_1">      <authMechanisms  xmi:type="security:KRB5"  xmi:id="KRB5_1"  OID="oid:1.2.840.113554.1.2.2"   authContextImplClass="com.ibm.ISecurityLocalObjectTokenBaseImpl.Krb5WSSecurityContextImpl"   authConfig="system.KRB5"  simpleAuthConfig="system.KRB5"  authValidationConfig="system.KRB5"   krb5Realm=""  krb5Config=""  krb5Keytab=""  krb5Spn="WAS/${HOST}"  trimUserName="true"   enabledGssCredDelegate="true"/>      <authMechanisms  xmi:type="security:LTPA"  xmi:id="LTPA_1"  OID="oid:1.3.18.0.2.30.2"   authContextImplClass="com.ibm.ISecurityLocalObjectTokenBaseImpl.WSSecurityContextLTPAImpl"   authConfig="system.LTPA"  simpleAuthConfig="system.LTPA"  authValidationConfig="system.LTPA"   timeout="120"  keySetGroup="KeySetGroup_1">          <trustAssociation  xmi:id="TrustAssociation_1"  enabled="false">              <interceptors  xmi:id="TAInterceptor_1"   interceptorClassName="com.ibm.ws.security.web.TAMTrustAssociationInterceptorPlus"/>              <interceptors  xmi:id="TAInterceptor_2"   interceptorClassName="com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl"/>          </trustAssociation>          <singleSignon  xmi:id="SingleSignon_1"  requiresSSL="false"  domainName=""  enabled="true"/>      </authMechanisms>      <authMechanisms  xmi:type="security:SPNEGO"  xmi:id="SPNEGO_1"  OID="oid:1.3.6.1.5.5.2"   authContextImplClass="com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl"   allowAppAuthMethodFallback="false"/>   <?xml  version="1.0"  encoding="UTF-­‐8"?>   <security:Security  xmi:version="2.0"  xmlns:xmi="http://www.omg.org/XMI"   xmlns:orb.securityprotocol="http://www.ibm.com/websphere/appserver/schemas/5.0/ orb.securityprotocol.xmi"  xmlns:security="http://www.ibm.com/websphere/appserver/schemas/5.0/ security.xmi"  xmi:id="Security_1"  useLocalSecurityServer="true"  useDomainQualifiedUserNames="false"   enabled="true"  cacheTimeout="600"  issuePermissionWarning="true"  activeProtocol="BOTH"   enforceJava2Security="false"  enforceFineGrainedJCASecurity="false"  appEnabled="false"   dynamicallyUpdateSSLConfig="true"  allowBasicAuth="true"  activeAuthMechanism="LTPA_1"   activeUserRegistry="WIMUserRegistry_1"  defaultSSLSettings="SSLConfig_1">      <authMechanisms  xmi:type="security:KRB5"  xmi:id="KRB5_1"  OID="oid:1.2.840.113554.1.2.2"   authContextImplClass="com.ibm.ISecurityLocalObjectTokenBaseImpl.Krb5WSSecurityContextImpl"   authConfig="system.KRB5"  simpleAuthConfig="system.KRB5"  authValidationConfig="system.KRB5"   krb5Realm=""  krb5Config=""  krb5Keytab=""  krb5Spn="WAS/${HOST}"  trimUserName="true"   enabledGssCredDelegate="true"/>      <authMechanisms  xmi:type="security:LTPA"  xmi:id="LTPA_1"  OID="oid:1.3.18.0.2.30.2"   authContextImplClass="com.ibm.ISecurityLocalObjectTokenBaseImpl.WSSecurityContextLTPAImpl"   authConfig="system.LTPA"  simpleAuthConfig="system.LTPA"  authValidationConfig="system.LTPA"   timeout="120"  keySetGroup="KeySetGroup_1">          <trustAssociation  xmi:id="TrustAssociation_1"  enabled="false">              <interceptors  xmi:id="TAInterceptor_1"   interceptorClassName="com.ibm.ws.security.web.TAMTrustAssociationInterceptorPlus"/>              <interceptors  xmi:id="TAInterceptor_2"   interceptorClassName="com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl"/>          </trustAssociation>          <singleSignon  xmi:id="SingleSignon_1"  requiresSSL="false"  domainName=""  enabled="true"/>      </authMechanisms>      <authMechanisms  xmi:type="security:SPNEGO"  xmi:id="SPNEGO_1"  OID="oid:1.3.6.1.5.5.2"   authContextImplClass="com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl"   allowAppAuthMethodFallback="false"/>   <?xml  version="1.0"  encoding="UTF-­‐8"?>   <security:Security  xmi:version="2.0"  xmlns:xmi="http://www.omg.org/XMI"   xmlns:orb.securityprotocol="http://www.ibm.com/websphere/appserver/schemas/5.0/ orb.securityprotocol.xmi"  xmlns:security="http://www.ibm.com/websphere/appserver/schemas/5.0/ security.xmi"  xmi:id="Security_1"  useLocalSecurityServer="true"  useDomainQualifiedUserNames="false"   enabled="true"  cacheTimeout="600"  issuePermissionWarning="true"  activeProtocol="BOTH"   enforceJava2Security="false"  enforceFineGrainedJCASecurity="false"  appEnabled="false"   dynamicallyUpdateSSLConfig="true"  allowBasicAuth="true"  activeAuthMechanism="LTPA_1"   activeUserRegistry="WIMUserRegistry_1"  defaultSSLSettings="SSLConfig_1">      <authMechanisms  xmi:type="security:KRB5"  xmi:id="KRB5_1"  OID="oid:1.2.840.113554.1.2.2"   authContextImplClass="com.ibm.ISecurityLocalObjectTokenBaseImpl.Krb5WSSecurityContextImpl"   authConfig="system.KRB5"  simpleAuthConfig="system.KRB5"  authValidationConfig="system.KRB5"   krb5Realm=""  krb5Config=""  krb5Keytab=""  krb5Spn="WAS/${HOST}"  trimUserName="true"   enabledGssCredDelegate="true"/>      <authMechanisms  xmi:type="security:LTPA"  xmi:id="LTPA_1"  OID="oid:1.3.18.0.2.30.2"   authContextImplClass="com.ibm.ISecurityLocalObjectTokenBaseImpl.WSSecurityContextLTPAImpl"   authConfig="system.LTPA"  simpleAuthConfig="system.LTPA"  authValidationConfig="system.LTPA"   timeout="120"  keySetGroup="KeySetGroup_1">          <trustAssociation  xmi:id="TrustAssociation_1"  enabled="false">              <interceptors  xmi:id="TAInterceptor_1"   interceptorClassName="com.ibm.ws.security.web.TAMTrustAssociationInterceptorPlus"/>              <interceptors  xmi:id="TAInterceptor_2"   interceptorClassName="com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl"/>          </trustAssociation>          <singleSignon  xmi:id="SingleSignon_1"  requiresSSL="false"  domainName=""  enabled="true"/>      </authMechanisms>      <authMechanisms  xmi:type="security:SPNEGO"  xmi:id="SPNEGO_1"  OID="oid:1.3.6.1.5.5.2"   authContextImplClass="com.ibm.ws.security.spnego.TrustAssociationInterceptorImpl"   allowAppAuthMethodFallback="false"/>   従来のWASの構成ファイルの例 <server  description="server  1">     <!-­‐-­‐  Enable  features  -­‐-­‐>     <featureManager>       <feature>jsp-­‐2.2</feature>     </featureManager>   </server>   Libertyプロファイルの最小構成ファイルの例 ……
  • 27. © 2015 IBM Corporation #ccc_f4 個別の環境に依存しない構成 § メインの構成ファイルから共通ファイルの参照 § 構成ファイルでは変数を参照可能 § 変数は様々な場所で定義可能 27 <server  description="new  server">      <featureManager>          <feature>jsp-­‐2.2</feature>      </featureManager>      <include  location="${shared.config.dir}common-­‐config.xml"  />     </server>   <fileset  id="DerbyFileset"      dir="${derbypath}"  includes="derby-­‐10.10.1.1.jar"  />     ${wlp.install.dir}/usr/servers/server_name/server.xml ${wlp.install.dir}/usr/servers/shared/config/common-config.xml derbypath=/usr/derby bootstrap.propertiesファイル <variable  name=”derbypath"      value="/usr/derby"  />     server.xmlやインクルードされる 他のXMLファイル export  derbypath=/usr/derby 環境変数
  • 28. © 2015 IBM Corporation #ccc_f4 テスト・本番環境 テスト・本番環境 サーバーのパッケージング § 開発環境で作成した – サーバー構成 – アプリケーション – Libertyプロファイルの実⾏行行イメージ       をまとめてZIPにパッケージすることが可能 § ZIPファイルを展開するだけで他の環境にインストール 28 Java SDK Liberty Profile サーバー構成 アプリ ①インストール ディスク ②サーバー構成 ③アプリ開発 テスト・本番環境 Java SDK Liberty Profile サーバー構成 アプリ ディスク ZIPファイル ④パッケージ ⑤展開
  • 29. © 2015 IBM Corporation #ccc_f4 パッケージの  -‐‑‒-‐‑‒include=minify  オプション § パッケージを作成する際に指定すると アプリケーションで使⽤用しているフィーチャーの 実⾏行行に必要なファイルのみをZIPにパッケージ – Servlet/JSP/JDBCのみを使⽤用する アプリケーションをパッケージすると 20数Mバイトの導⼊入イメージになることも 29 server –package <サーバー名> --include=minify
  • 30. © 2015 IBM Corporation #ccc_f4 各種ツールとの連携 § 各種CI・Buildツールとの   連携機能をGitHubで公開 – サーバーの起動・停⽌止や 構成の作成 パッケージを実⾏行行可能 30 h"ps://github.com/wasdev
  • 31. © 2015 IBM Corporation #ccc_f4 広がるLibertyプロファイルのECOシステム 31
  • 32. © 2015 IBM Corporation #ccc_f4 Dockerのサポート § 開発⽤用途で利利⽤用可能なWAS  Liberty  イメージを Docker  Hubから提供・⼿手元にpullするだけで使⽤用可能 – 最新版  WAS  V8.5.5.  Liberty  ドライバー – Java  EE  7対応のWAS  Liberty  V9  Beta § WASdev  GitHubでDockerfilesを提供  : – Liberty  Core,  Base,  NDの商⽤用ライセンスを使⽤用し,   Docker  Hubにあるイメージを本番⽤用にアップグレード可能 32 https://registry.hub.docker.com/_/websphere-liberty/
  • 33. © 2015 IBM Corporation #ccc_f4 どこでも稼働可能な柔軟性 33 Build Your Own Cloud 既存のH/W上に、仮想化された WebSphere Application Server を使用可能 Amazon BYOS&L - WebSphere App Server Blue Mix 組立可能なサービス Liberty Buildpack PureApplication System & Software 再利用 & 再デプロイ可能な パターンとしてWebSphere App Serverが使用可能 Cloud Foundry Liberty Buildpack SoftLayer/Bluemix BYOS&L - WebSphere App Server パブリッククラウド・エコノミー Time to Market パッケージ・サービス ⾼高速開発 全体の管理理 柔軟性の最⼤大化 オンプレミス IaaS PaaS Microsoft Azure BYOS&L - WebSphere App Server Pay-as-you-Go WAS VMs
  • 34. © 2015 IBM Corporation #ccc_f4 34 Libertyプロファイル最新情報
  • 35. © 2015 IBM Corporation #ccc_f4 GUIベースの管理理ツール  Admin  Center § ブラウザを使⽤用してLiberty環境を操作 35 監視 パフォーマンスとヘル ス・メトリック ログ分析 デプロイ サーバー・パッケージ 管理理 ブラウズ/サーチ/フィルター タグとメタデータ 運⽤用ステータス サーバー構成(Beta)
  • 36. © 2015 IBM Corporation #ccc_f4 モニタリングとログ分析 §  アプリケーション・サーバーの 健康状態をアセス -  アプリケーション基盤の情報を取得 -  情報の集約・検索・分析 -  問題原因の特定 §  Admin Centerからアクセス 36 モニター: •  使用ヒープ・メモリー •  ロードされたクラス •  アクティブなJVMスレッド •  CPU使用率 •  Liberty MXBeans データ解析の元資料: •  アクセス・ログ •  ログ・メッセージ、FFDC & トレース
  • 37. © 2015 IBM Corporation #ccc_f4 Java  EE  7にむけて § Java EE 7に対応した
 Betaコードを公開中 – 毎月Betaコードを更新 – OpenIDや
 WebRTCなども実装 – 開発者ツールBetaも
 併せて提供 § Java EE 7対応は,
 Libertyプロファイルが
 先行する予定です – Java EE 7仕様全体に対応します – Java EE 7対応した
 Fullプロファイルも
 出荷される予定です 37 IBM Confidential https://developer.ibm.com/wasdev/
  • 38. © 2015 IBM Corporation #ccc_f4 Liberty  Baseの無償利利⽤用オファリング 38 一つの企業につき2GバイトのJavaヒープメモリに限定し, テストおよび本番でのLibertyプロファイルを無償で使用が可能 ü  小規模な開発を無償ではじめて, 必要に応じて拡張 ü  現在の無償の開発者オプションに加え 実際の本番環境での利用を確認できる ü  パフォーマンスや機能拡張に優れた WAS Liberty Base エディションの 全機能を利用可能 ü  オンプレミスとパブリッククラウドの 開発オプションを柔軟に選択可能 Libertyプロファイル無償提供の意義 無償オプションの利用用法 §  WASdev.netから開発者版をダウンロード 提供されるライセンスファイルを適用 §  WASdev上の文章やForumを利用して 問題の解決が可能
  • 39. © 2015 IBM Corporation #ccc_f4 まとめ § まずは試してみて下さい – Java  EE  6を使⽤用したい⽅方はGA版を – Java  EE  7を使⽤用したい⽅方はBeta版を § http://wasdev.net     または § EclipseのMarketplaceでLibertyと検索索 39
  • 40. © 2015 IBM Corporation #ccc_f4 40