28
Copyright (c)2016 ITOCHU Techno-Solutions Corporation WebLogic Server勉強会@東京 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1) 製品・保守事業推進本部 ミドルウェア技術サポート部 山田 貴裕 2016/10/19

知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

Embed Size (px)

Citation preview

Page 1: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

Copyright (c)2016 ITOCHU Techno-Solutions Corporation

WebLogic Server勉強会@東京

知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

製品・保守事業推進本部 ミドルウェア技術サポート部

山田 貴裕

2016/10/19

Page 2: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 3: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 4: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 5: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

Copyright (c)2016 ITOCHU Techno-Solutions Corporation

アジェンダ

• バージョン体系の変更

• 開発者に役立つであろう新機能・変更点

• 構成や管理に関する新機能・変更点

• まとめ・参考資料

5

Page 6: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

Copyright (c)2016 ITOCHU Techno-Solutions Corporation

アジェンダ

• バージョン体系の変更

• 開発者に役立つであろう新機能・変更点

• 構成や管理に関する新機能・変更点

• まとめ・参考資料

6

Page 7: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 8: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

Copyright (c)2016 ITOCHU Techno-Solutions Corporation

アジェンダ

• バージョン体系の変更

• 開発者に役立つであろう新機能・変更点

• 構成や管理に関する新機能・変更点

• まとめ・参考資料

8

Page 9: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 10: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 11: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 12: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

Copyright (c)2016 ITOCHU Techno-Solutions Corporation

アプリケーション関連のモニタリング (1)

• JAX-RS(REST)監視

– デプロイメント→モニタリング→JAX-RSアプリケーション ...

– デプロイメント→{名前}→モニタリング→JAX-RSアプリケーション ...

• WebSocket監視

12

Page 13: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

Copyright (c)2016 ITOCHU Techno-Solutions Corporation

アプリケーション関連のモニタリング (2)

• WebSocket監視

– デプロイメント→{名前}→モニタリング→WebSocketアプリケーション

13

Page 14: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 15: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 16: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

Copyright (c)2016 ITOCHU Techno-Solutions Corporation

アジェンダ

• バージョン体系の変更

• 開発者に役立つであろう新機能・変更点

• 構成や管理に関する新機能・変更点

• まとめ・参考資料

16

Page 17: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 18: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 19: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 20: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 21: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

Copyright (c)2016 ITOCHU Techno-Solutions Corporation

JDBCデータソース関連の新機能・変更点 (1)

• 3rd PartyのJDBCドライバインストール・アップデート

– $DOMAIN_HOME/lib に配置・再起動するだけで利用可能

• 従来は起動スクリプトなどを編集し、CLASSPATHの先頭に追加する必要があった

• 接続リークプロファイルの拡張

– サービス→データ・ソース→{名前}→構成→診断

...

21

Page 22: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 23: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 24: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 25: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

Copyright (c)2016 ITOCHU Techno-Solutions Corporation

アジェンダ

• バージョン体系の変更

• 開発者に役立つであろう新機能・変更点

• 構成や管理に関する新機能・変更点

• まとめ・参考資料

25

Page 26: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 27: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

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

Page 28: 知られざる WebLogic Server の新機能・変更点 (12.2.1.0/12.2.1.1編)

Copyright (c)2016 ITOCHU Techno-Solutions Corporation