Upload
oracle-fusion-middleware
View
1.406
Download
4
Embed Size (px)
Citation preview
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
WebLogic Server勉強会@東京
知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)
製品・保守事業推進本部 ミドルウェア技術サポート部
山田 貴裕
2016/10/19
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
はじめに
• 発表する内容は個人の見解であり、所属する組織の公式な見解ではありません。
• 資料の内容は正確を期するよう注意しておりますが、妥当性や正確性について保証するものではありません。
• 姉妹編として以下も併せて参照ください。 – 『全部知っていたら“WebLogic博士”!?WebLogic Server 12cの新機能/変更点』
https://blogs.oracle.com/wlc/entry/javaee_c118 (後半)
– 『知られざる WebLogic Server の新機能・変更点 (12.1.2/12.1.3編)』
http://www.slideshare.net/OracleMiddleJP/wlstudy-201412unknown-features
2
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
自己紹介
• 自己紹介
– 山田 貴裕 (Twitter: @yamadamn)
– 伊藤忠テクノソリューションズ株式会社(CTC)
• 製品・保守事業推進本部 ミドルウェア技術サポート部
– Java EE開発者やDBAを経て、ミドルウェアのサポートエンジニアに
• Oracle Fusion Middleware が主担当
– WebLogic Server, Coherence など
• 大規模案件にも従事し、設計や構築を担当
–Oracle ACE (Middleware & SOA) • ミドルウェア分野では日本で現状1人のみ
• この勉強会を通じて、Oracle ACEに推薦
3
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
前提
• WebLogic Server(WLS) 12.2.1.0/12.2.1.1の新機能・変更点のうち、マイナーな部分をいくつか取り上げます。
– 特に注意書きがないものは、WLS 12.2.1.0/12.2.1.1の両バージョンに該当します。
– 公式マニュアルに記載されていない機能もいくつかあり、将来バージョンで予告なく変更される場合も考えられます。
• 本日基本的に触れない内容
– マルチテナント対応
– 継続的可用性
– Docker対応
– 第57回勉強会『ココが変わった Oracle WebLogic Server 12.2.1』で 取り上げられた新機能・変更点 http://www.slideshare.net/OracleMiddleJP/oracle-weblogic-server-1221
4
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
アジェンダ
• バージョン体系の変更
• 開発者に役立つであろう新機能・変更点
• 構成や管理に関する新機能・変更点
• まとめ・参考資料
5
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
アジェンダ
• バージョン体系の変更
• 開発者に役立つであろう新機能・変更点
• 構成や管理に関する新機能・変更点
• まとめ・参考資料
6
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
バージョン体系の変更
• WLS 12.2.1.1.0 から変更
– 今まで使われていなかった4桁目(Patch Set Release)の利用
• [参考] "Oracle" WebLogic Serverの5桁のバージョン体系
– 12.2.1.0.0
– 12.2.1.1.0
表記例 説明 補足
12.2 メジャーバージョン 原則ライフタイムの単位
12.2.1 マイナーバージョン 従来(12.2.1.0)まではこの単位のリリース
12.2.1.1 Patch Set Release (PSR)
パッチ提供のベースとなるリリース
12.2.1.1.161018 Patch Set Update (PSU)
累積的な推奨パッチで、四半期単位にリリース opatch lsinventoryでパッチ適用状況確認
参考『WebLogic Server Compatibility』- About WebLogic Server Version Numbers https://docs.oracle.com/middleware/12211/wls/INTRO/compatibility.htm
7
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
アジェンダ
• バージョン体系の変更
• 開発者に役立つであろう新機能・変更点
• 構成や管理に関する新機能・変更点
• まとめ・参考資料
8
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
GZIP圧縮のサポート
• 従来は、Webサーバ側の機能や、アプリで独自フィルタなど利用
– ドメイン→構成→Webアプリケーション
Webアプリケーション単位(weblogic.xml)でも設定、オーバーライド可能
<weblogic-web-app> <container-descriptor> <gzip-compression> <enabled>true</enabled> <min-content-length>8192</min-content-length> <content-type>text/html</content-type> <content-type>text/plain</content-type> </gzip-compression> </container-descriptor> </weblogic-web-app> 9
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
アプリケーション設定の新機能・変更点 (1)
• Concurrency Utilities for Java EE に関する設定
– 同時管理対象オブジェクト(CMO)を構成
• ManagedExecutorService (MES), ManagedScheduledExecutorService (MSES), ManagedThreadFactory (MTF)
– 環境→同時テンプレート
– ドメイン、サーバ、アプリケーションレベルでも設定できる
参考『Oracle Blogs 日本語のまとめ: [Java, WLS] Concurrency Utilities support in WebLogic Server 12.2.1』
https://orablogs-jp.blogspot.jp/2015/12/concurrency-utilities-support-in.html
10
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
アプリケーション設定の新機能・変更点 (2)
• CDIに関する互換性設定
– weblogic.xml, weblogic-application.xml, weblogic-ejb-jar.xmlで設定
• EL式に関する互換性設定
– weblogic.xmlで設定
– 参考『[UEL-38] Implement an EL 2.2 backward compatible switch in RI - Java.net JIRA』 https://java.net/jira/browse/UEL-38
<cdi-descriptor> <pojo-annotation-enabled>true</pojo-annotation-enabled> <implicit-bean-discovery-enabled>true</implicit-bean-discovery-enabled> </cdi-descriptor>
<weblogic-web-app> <jsp-descriptor> <el-2.2-backward-compatible>false</el-2.2-backward-compatible> </jsp-descriptor> </weblogic-web-app>
11
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
アプリケーション関連のモニタリング (1)
• JAX-RS(REST)監視
– デプロイメント→モニタリング→JAX-RSアプリケーション ...
– デプロイメント→{名前}→モニタリング→JAX-RSアプリケーション ...
• WebSocket監視
12
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
アプリケーション関連のモニタリング (2)
• WebSocket監視
– デプロイメント→{名前}→モニタリング→WebSocketアプリケーション
13
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
開発者に役立つであろう新機能・変更点 - その他(1)
• ThreadLocalクリーンアウト
– クラスローダリークの原因になりがちなThreadLocalを自動的に破棄
• 参考『WebLogic Server 12.2.1のThreadLocal Clean Out機能を検証してみる #javaee #jpoug』 http://d.hatena.ne.jp/yamadamn/20151212/1449917871
• 管理コンソールで本番モードから開発モードへ変更
– 従来はWLSTでしか戻すことができなかった
• 参考『WebLogic Serverの開発モードと本番モードの使い分け』 http://www.slideshare.net/OracleMiddleJP/weblogic-server-22423176
– ドメイン→構成→一般
14
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
開発者に役立つであろう新機能・変更点 - その他(2)
• 開発者用Quick Installer (OTN Only)
– OUIベースのインストーラ (ただしGUIは利用しない)
– 従来はZIP形式で、展開してconfigure(.sh|.cmd)を実行
• 以下は詳細不明だが新機能として記載あり
– FastSwapのCDI対応
– ReadyAppフレームワーク
$ java -jar fmw_12.2.1.1.0_wls_quick.jar ORACLE_HOME={dir}
15
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
アジェンダ
• バージョン体系の変更
• 開発者に役立つであろう新機能・変更点
• 構成や管理に関する新機能・変更点
• まとめ・参考資料
16
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
共通で利用されるツール・スクリプトの新機能・変更点
• commEnv(.sh|.cmd)
– oracle_common/common/binに移動
• その他、wlserver/common/binに配置されていたスクリプトが、ほぼ移動
– 実体も、commBaseEnv(.sh|.cmd)とcommExtEnv(.cmd|.sh)に分離
• configWallet(.sh|.cmd)
– unpack(.sh|.cmd)ユーティリティなどで使用するウォレットを構成
• WLSTでの新しいノードマネージャコマンド
– ノードマネージャ管理以外のコマンドも多数追加
– nmRestart: ノードマネージャを再起動 (nmSoftRestartとの違いに注意)
– nmExecScript: ノードマネージャ経由でスクリプトを実行
17
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
ドメイン配下のスクリプトの新機能・変更点 (1)
• startWebLogic(.sh|.cmd)
– ポリシークラスローダを利用して起動を高速化
• WLS 10.3.3以降で開発モードのみで利用できたクラス・キャッシングを置換 参考『起動・停止スクリプトを極める』- [Tips] クラス・キャッシュの有効化 http://www.slideshare.net/OracleMiddleJP/ss-16168237#22
• 本番モードでもサポートされる
• 環境変数「USE_JVM_SYSTEM_LOADER」をtrueに設定すると従来通り
– 動的デバッグパッチのサポート
• 動的デバッグパッチ自体は、WLSTにて管理・適用
• 起動スクリプトに引数「disableDebugPatches」を追加すると無効化
• startManagedWebLogic(.sh|.cmd)
– -Dweblogic.security.SSL.trustedCAKeyStore の設定削除 (12.2.1.1)
-Djava.system.class.loader=com.oracle.classloader.weblogic.LaunchClassLoader
-javaagent:$WL_HOME/server/lib/debugpatch-agent.jar
18
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
ドメイン配下のスクリプトの新機能・変更点 (2)
• stopWebLogic(.sh|.cmd)
– 停止に失敗した場合、終了コード「1」を返す
• setDomainEnv(.sh|.cmd)
– JDK 8のみ対応のため、-XX:PermSize, -XX:MaxPermSize削除
• setStartupEnv(.sh|.cmd)
– stop(Managed)WebLogic.shで読込まれないように変更 (12.2.1.1)
• 内部的にはsetDomainEnv(.sh|.cmd)内でstopFlagをtrueに設定して制御
# Set server startup configuration, if available. Only called if starting if [ "${stopFlag}" != "true" ] ; then if [ -f ${DOMAIN_HOME}/bin/setStartupEnv.sh ] ; then . ${DOMAIN_HOME}/bin/setStartupEnv.sh fi fi
19
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
ロギング関連の新機能・変更点
• ログフォーマットの互換性設定
– マルチテナント対応で、デフォルトでは次のようなフィールドが追加
– 従来と同じ形式に変更可能
• ドメイン→構成→一般
• 過剰なロギングの防止
– 繰り返し出力されるログを抑止して、負荷を軽減
• 詳細『WebLogicロギング・サービスの構成』- 過剰なロギングの防止 http://docs.oracle.com/cd/E72987_01/wls/WLLOG/config_logs.htm#A1036726
<[severity-value: 32] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] >
20
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
JDBCデータソース関連の新機能・変更点 (1)
• 3rd PartyのJDBCドライバインストール・アップデート
– $DOMAIN_HOME/lib に配置・再起動するだけで利用可能
• 従来は起動スクリプトなどを編集し、CLASSPATHの先頭に追加する必要があった
• 接続リークプロファイルの拡張
– サービス→データ・ソース→{名前}→構成→診断
...
21
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
JDBCデータソース関連の新機能・変更点 (2)
• システムプロパティでの変数利用
– サービス→データ・ソース→{名前}→構成→接続プール
• 詳細『JDBCデータ・ソースの構成』- 接続ベースのシステム・プロパティの有効化 http://docs.oracle.com/cd/E72987_01/wls/JDBCA/jdbc_datasources.htm#CHDJJEHB
• 参考『Oracle Blogs 日本語のまとめ: [WLS] Setting V$SESSION for a WLS Datasource』 https://orablogs-jp.blogspot.jp/2014/08/setting-vsession-for-wls-datasource.html
• デフォルトデータソースのオーバーライド
– 初期はバンドルされたDerbyを利用
– サーバー→{名前}→構成→一般
• 詳細『デフォルト・データ・ソースの使用』 http://docs.oracle.com/cd/E72987_01/wls/JDBCA/default_datasource.htm
別途定義されたデータソースのJNDIを指定
22
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
セキュリティ関連の新機能・変更点
• Webアプリケーションでのセキュリティ関連設定
– auth-cookie-id-length
• 認証CookieのID長設定 (12.2.1.1)
– referer-validation
• CSRF対策の一環?
• NONE, LENIENT, STRICT
• TLSの最小バージョンが「1.1」に変更
• 乱数ジェネレータの強化
– ツールやWLS起動が遅くなる可能性があるため、OSの乱数生成ツールや、起動オプション「-Djava.security.egd=file:///dev/urandom」追加
• 詳細『WebLogic Server 12.2.1の旧リリースとの互換性』- 乱数ジェネレータ http://docs.oracle.com/cd/E72987_01/wls/WLUPG/compat.htm#BABJGGHC
<weblogic-web-app> <session-descriptor> <auth-cookie-id-length>20</auth-cookie-id-length> </session-descriptor> <container-descriptor> <referer-validation>LENIENT</referer-validation> </container-descriptor> </weblogic-web-app>
23
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
その他廃止・非推奨の機能
• weblogic.Adminの廃止
– WLS 9.xから非推奨だったが、ついに廃止 参考『Oracle Blogs 日本語のまとめ: [misc.] リリースノートやWhat's Newのチェックをお忘れなく』https://orablogs-jp.blogspot.jp/2016/05/read-release-notes-or-whats-new.html
• JAX-RPCの非推奨
– Java EE 6から非推奨で、Java EE 7ではオプショナル扱い
– Webサービスは、JAX-WSやJAX-RSの利用を推奨
• Oracle DB接続時フェイルオーバー記載削除
– WLS 10.3.6から非推奨と記載されていたが、マニュアル自体を削除
– 代わりにマルチデータソースやGridLinkデータソースを利用
• -Dweblogic.system.StoreBootIdentityの復活
– WLS 12.1.3で一旦動作しなくなった(廃止された?)が復活
24
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
アジェンダ
• バージョン体系の変更
• 開発者に役立つであろう新機能・変更点
• 構成や管理に関する新機能・変更点
• まとめ・参考資料
25
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
まとめ
• WLS 12cR2 (12.2) はメジャーバージョンの扱いです。
– 今後の当面のリリースは、Patch Set Release(12.2.1.x)として出ることが予想されます。
– Oracle OpenWorld 2016のセッション資料も参照 『Oracle WebLogic Server Roadmap: Innovating On-Premises and in the Cloud [CON7093]』
• 目玉となる新機能(マルチテナント対応、継続的可用性)以外にも、中規模や小規模の新機能・変更点が多くあります。
– Java EE 7対応も含め、開発~運用を便利に楽にしていきましょう。
26
Copyright (c)2016 ITOCHU Techno-Solutions Corporation
参考資料
• Oracle WebLogic Server 12.2.1の新機能 – http://docs.oracle.com/cd/E72987_01/wls/NOTES/whatsnew.htm
• What's New in Oracle WebLogic Server 12.2.1.1.0 – http://docs.oracle.com/middleware/12211/wls/NOTES/whatsnew.htm
• WebLogic Server 12.2.1の旧リリースとの互換性 – http://docs.oracle.com/cd/E72987_01/wls/WLUPG/compat.htm
• WebLogic Server 12.2.1.1.0 Compatibility with Previous Releases – https://docs.oracle.com/middleware/12211/wls/WLUPG/compat.htm
27
Copyright (c)2016 ITOCHU Techno-Solutions Corporation