@2022 IBM Corporation IBM Automation Software ⾃⼰紹介 n ⽥中 孝清 n ⽇本アイ・ビー・エム株式会社 オートメーションソフトウェア テクニカルセールス n WebSphere Application Serverなどの テクニカルセールスを20年以上担当 n Twitter @TTakakiyo 2
@2022 IBM Corporation IBM Automation Software 本⽇のアジェンダ n Get started –JDK,Git,Maven –EclipseとLiberty Developer Tools –Liberty starter n 基本情報 –Libertyのディレクトリ構成 –構成ファイルの種類 n server.xmlの基本 –デフォルトベースの構成 –時間の記述⽅法 –変数の使⽤ –別のファイルの読み込み n server.xmlの構成例 –Featureの管理 –アプリケーションのデプロイ –データベース接続の構成 n server.xml以外の構成ファイル –server.env –jvm.options –bootstrap.properties 3
@2022 IBM Corporation IBM Automation Software Libertyを利⽤する前に⽤意するといいもの(1) n JDK(Java SE 8 / 11 / 17などのバージョン) 例) – IBM Semeru Runtimes︓ IBM Developerサイトから⼊⼿ https://developer.ibm.com/languages/java/semeru-runtimes/downloads/ – Eclipse Temurin︓ Adoptiumプロジェクトページから⼊⼿ https://adoptium.net/temurin/releases n Git n ビルドツール – Maven – Gradle 5
@2022 IBM Corporation IBM Automation Software Libertyを利⽤する前に⽤意するといいもの(2) n Eclipse IDE for Enterprise Java and Web Developers – https://www.eclipse.org/downloads/packages/ n IBM Liberty Developer Tools – Eclipse IDE上で,メニューから [Help] → [Eclipse Marketplace...]で マーケットプレイスを開き, 検索してInstallする 6
@2022 IBM Corporation IBM Automation Software EclipseのServersにLibertyを登録 n プロジェクトの「Maven」のメニューから 「Create WebSphere Liberty runtime and server」選ぶと登録される 10 サーバー名の右クリックメニューから 様々な操作ができるようになる。
@2022 IBM Corporation IBM Automation Software 変数でのディレクトリの参照 n server.xml内では ${変数名}で値を参照できる n 環境変数などで, 場所をデフォルトと変えた場合も, 変数で参照すれば,追随できる n ${server.config.dir} – ${server.config.dir}/server.xml や ${server.config.dir}/jvm.options などが 構成ファイルとして使われる n ${server.output.dir} – ${server.output.dir}/logs や ${server.output.dir}/workarea などに ファイルが出⼒される – 実⾏されているサーバーの (デフォルトの)カレントディレクトリ 15 n ${wlp.install.dir} – wlp n ${wlp.user.dir} – wlp/usr n ${server.config.dir} – wlp/usr/servers/サーバー名 n ${server.output.dir} – wlp/usr/servers/サーバー名 n ${shared.app.dir} – wlp/usr/shared/apps n ${shared.config.dir} – wlp/usr/shared/config n ${shared.resource.dir} – wlp/usr/shared/resouces
@2022 IBM Corporation IBM Automation Software Eclipse上のLiberty Developer Toolによるserver.xmlの編集 n LDTを使うと,server.xmlをGUIを使って編集することができる – 「Source」のタブで,XML形式のファイルを直接編集 – 「Design」のタブで,GUIでファイルを編集 n 構⽂チェックにも対応 – エラーがあると,サーバーを動かす前に,問題として報告される 18
@2022 IBM Corporation IBM Automation Software server.xmlでの時間の設定項⽬ n 時間を設定する項⽬には,単位をつける – d ⽇ – h 時間 – m 分 – s 秒 – ms ミリ秒 n 複数の単位を併⽤することもできる – 「1m30s」→ 1分30秒(90秒) 21
@2022 IBM Corporation IBM Automation Software 変数の使⽤例 n デフォルトの値をdefaultValueに構成しておいて,実⾏時に環境変数などでカスタマイズできる – 例)デフォルトではhttpPortとして9080番,httpsPortとして9443番ポートが使⽤されるが, 「HTTP_PORT」などの環境変数で設定を上書きできる n 数値の変数には,+や*などの数値演算が使⽤できる – 例)httpPortとして,9000+80で9080番ポートが使⽤される 23
@2022 IBM Corporation IBM Automation Software idによる参照 n 設定する要素の中には,他の要素の設定を参照しなければいけないものがある – 例)DataSourceはJDBCドライバーが必要,JDBCドラーバーはライブラリ,ファイルセットが必要 n 他の要素の参照は,ネストするか,idを使⽤して参照する 24
@2022 IBM Corporation IBM Automation Software パスワードの難読化 n パスワードを設定する属性には XORやAESで難読化することができる – Liberty Developer Toolsで「Set...」をおす – ダイアログボックスでパスワードを⼊⼒し 難読化のEncodingを指定する 27
@2022 IBM Corporation IBM Automation Software server.xmlの動的更新 n Libertyのプロセス起動中にserver.xmlの内容を更新して保存した場合, 変更結果は即座に反映される n したファイル,configDropinsのファイルが更新された場合も,即座に反映される n 動的更新を無効にするには要素のupdateTrigger属性にmbeanを設定する – MBean経由でトリガーされたときにのみ,再読み込みするようになる 28
@2022 IBM Corporation IBM Automation Software の⼦要素に設定できるものの例 n ︓アプリケーション・スコープ・プロパティ – アプリケーションから参照される初期化パラメーターを設定する n ︓クラス・ローダー – アプリケーションが参照する外部ライブラリを設定する n ︓アプリケーション・バインディング – アプリケーション内で定義されているリソース参照やセキュリティ・ロールなどに サーバーで構成されたリソースやロールをマップする n ︓Webアプリケーション拡張 – IBMの独⾃拡張機能の構成をおこなう 35
@2022 IBM Corporation IBM Automation Software データベース・アクセスの構成例 n 「jdbc/myDS」というJDNI名でアプリケーションから利⽤ n wlp/usr/shared/resources/derbyディレクトリに置いたderby.jarでJDBC接続 n サーバーの出⼒ディレクトリのresources/myDSディレクトリ以下にDBを作成 n コネクションプールの最⼤数は30 37
@2022 IBM Corporation IBM Automation Software Libertyで使われる主な環境変数 n JAVA_HOME – Libertyを起動するために使⽤するJava実⾏環境の場所を設定する n WLP_USER_DIR – ユーザー構成のディレクトリ${wlp.user.dir}をデフォルトの場所から変更する n WLP_OUTPUT_DIR – サーバーの出⼒先${server.output.dir}をデフォルトの場所から変えたい場合に設定する – 新しいサーバーの出⼒先は「${WLP_OUTPUT_DIR}/サーバー名」になる n LOG_DIR – ログの出⼒先を,デフォルトの${server.output.dir}/logsから変更したいときに設定する n SERVER_WORKING_DIR – 実⾏中のサーバーのカレントディレクトリを,デフォルトの${server.output.dir}から変更したいときに設定する 41