IBM Cloud Software WASユーザー向け: Bluemix上のWAS ご紹介セミナー ~クラウドのWASを利用してビジネスを拡大~ 3. Liberty for Java 2016年2月17日 (水) 日本アイ・ビー・エム株式会社 クラウド・ソフトウェア事業部 アプリケーション・プラットフォーム テクニカル・セールス © IBM Corporation 1 WAS Libertyプロファイルの特長 text ①Java EE 7対応 ⑤統合ツール(WDT) Java EE 7 標準に準拠したアプリを完全サポート JAX-WS, JAX-RS, JMSもサポート 新機能も継続的に提供 高機能なEclipse用の連携ツール を無償で提供 Eclipseから簡単に使用可能 ②軽量ランタイム ⑥自動化ツールとの連携 メモリー使用量が小: 60MB程度~ ディスク使用量も100MB以下 起動が速い:5秒程度 多くのOSSツールに 無償でプラグインを提供 ③Unzipによる導入とデプロイ パッケージをした サーバー + アプリ + 構成情報を Unzipでデプロイ可能 ⑦様々な環境で稼動 WAS V8.5.5.x Liberty & WDT オンプレ、クラウド(IaaS、 PaaS)で稼動可能 ④簡単な構成と動的変更 最低限必要な構成ファイルはserver.xmlひとつだけ デフォルトベースで簡単構成 構成変更は再起動なしに反映 © IBM Corporation 2 API・サーバー機能をFeatureとして定義 –text個別のAPIやサーバー機能ごとに,独立したFeatureとして実装 • 四半期ごとに新機能がFeature単位で追加されて提供 • 新仕様が出ても旧仕様のFeatureは継続して提供 – アプリケーションで使用するAPIなど,必要なものだけ構成 • 設定されたものだけがメモリにロード・初期化される → 最小限の起動時間・メモリー使用 <featureManager> <feature>jsp-2.3</feature> <feature>jdbc-4.1</feature> <feature>jaxrs-2.0</feature> <feature>sessionDatabase-1.0</feature> <feature>ssl-1.0</feature> </featureManager> 構成ファイル server.xml 依存関係も 自動的に解決 sessionDatabase JAX-RS JSON SSL JDBC JSP Servlet © IBM Corporation 3 各種自動化ツールとの連携 –text各種CI・Buildツールとの連携機能を提供 – IBM UrbanCodeには連携プラグインを提供 • https://developer.ibm.com/urbancode/plugin/websphere-liberty-ibmucd/ – OSSツールは連携機能をGitHubで公開 • 継続的インテグレーション: UrbanCode,Jenkins • ビルドツール: Ant、Maven、gradle • 構成管理ツール:CHEF、Puppet https://github.com/wasdev © IBM Corporation 4 開発者ツール・WDTの無償提供 –textWebSphere Developer Tools for Eclipseとは? • 無償で提供される WebSphere開発者向けの軽量Eclipseプラグイン – Java EEアプリケーション開発、アセンブル、デプロイ – Libertyプロファイルのサーバー構成に利用 • wasdev.netサイトからダウンロード可能 – https://developer.ibm.com/wasdev/downloads/ • 直接Eclipse Marketplaceからも検索・導入が可能 © IBM Corporation 5 Liberty for Java –textBluemix上で提供されているJavaアプリケーション実行環境 • Bluemixのベータ公開時点から提供 – 製品版のWAS Libertyプロファイルと同じ実行環境 • 一般的なJava EEアプリケーションがそのまま稼働 © IBM Corporation 6 Liberty for Java環境 – text Libertyプロファイルが構成されたCloud FoundryのBuild Packとして提供 • Build Packの内容は定期的に更新される – リソース • 4core(非公開) • メモリサイズ – 64M~ (無償アカウントでは2Gバイトまで) • インスタンス – 1~ • メモリサイズ×インスタンス数×時間による従量課金 – 1ヶ月に375GB・時間までは無料 – OS • Ubuntu 14.x(2016年2月現在:基本的に最新版が使用されます) – リモートログインはできません – WAS • 8.5.x(2016年2月現在:基本的に最新版が使用されます) – 個別にFixpackをあてたりFeatureを追加したりはできません – JDK • IBM JDK 1.8と1.7が選択できます – Cloud FoundryでJBP_CONFIG_IBMJDK環境変数を設定することで選択 © IBM Corporation 7 Liberty for Javaのディレクトリ構造 text – Bluemixのダッシュボードから参照可能 – Java実行環境 (ユーザーによる書き換え不可) – Libertyプロファイル実行環境 (ユーザーによる書き換え不可) – サーバー構成 および導入アプリケーション • CFコマンド・Eclipseツールで 自由に構成が可能 MiddleWare環境(JDK+WAS)は 意識する必要がない © IBM Corporation 8 Liberty for Javaで使用可能なFeature –textデフォルトではJava EE 7 Web Profileに含まれる仕様が構成 • Java EE 6 Web Profile/Java EE 7 Full Platformの仕様も構成可能 appSecurity-1.0 batchManagement-1.0 blueprint-1.0 concurrent-1.0 ejbHome-3.2 ejbRemote-3.2* jacc-1.5 jaxb-2.2 jaxws-2.2 jdbc-4.0 jmsMdb-3.1 jpa-2.1 jsonp-1.0 localConnector-1.0 mdb-3.2 openid-2.0 osgiConsole-1.0 rtcomm-1.0 servlet-3.1 timedOperations-1.0 wasJmsSecurity-1.0 webProfile-7.0 wmqJmsClient-2.0 appSecurity-2.0 beanValidation-1.0 cdi-1.0 couchdb-1.0 ejbLite-3.1 el-3.0 jaspic-1.1 jaxrs-1.1 jca-1.6 jdbc-4.1 jmsMdb-3.2 jsf-2.0 jsp-2.2 logAnalysis-1.0 mongodb-2.0 openidConnectClient-1.0 osgi.jpa-1.0 rtcommGateway-1.0 sessionDatabase-1.0 wab-1.0 wasJmsServer-1.0 websocket-1.0 wsSecurity-1.1 appState-1.0 beanValidation-1.1 cdi-1.2 distributedMap-1.0 ejbLite-3.2 eventLogging-1.0 javaee-7.0 jaxrs-2.0 jca-1.7 jms-1.1 jndi-1.0 jsf-2.2 jsp-2.3 managedBeans-1.0 monitor-1.0 openidConnectServer-1.0 restConnector-1.0 samlWeb-2.0 sipServlet-1.1 wasJmsClient-1.1 webCache-1.0 websocket-1.1 batch-1.0 bells-1.0 cloudAutowiring-1.0 ejb-3.2* ejbPersistentTimer-3.2 j2eeManagement-1.1 javaMail-1.5 jaxrsClient-2.0 jcaInboundSecurity-1.0 jms-2.0 jpa-2.0 json-1.0 ldapRegistry-3.0 mdb-3.1 oauth-2.0 osgiAppIntegration-1.0 requestTiming-1.0 servlet-3.0 ssl-1.0 wasJmsClient-2.0 webProfile-6.0 wmqJmsClient-1.1 © IBM Corporation 9 cfコマンドによるアップロード –textCould Foundryのコマンドラインツールをローカルに導入 • GitHubから最新版をダウンロード – WAR/EARファイルのアップロード • コンテキスルートは,EARはファイル内でを指定したもの WARは/に自動構成される $ cf push <yourappname> -p myapp.war – ローカルのサーバー構成ディレクトリを直接アップロード $ cf push <yourappname> -p wlp/usr/servers/defaultServer – ローカルのサーバーからパッケージを作成してアップロード $ wlp/bin/server package defaultServer ––include=usr --archive="./defaultServer.zip" $ cf push <yourappname> -p defaultServer.zip その他,多くの環境構成がcfコマンドから可能 © IBM Corporation 10 IBM Bluemix Tools for Eclipseによるアップロード – Eclipseから直接Bluemixに接続するためのPlugin text • Eclipse Marketplaceから検索・導入が可能 – Eclipse上で開発しているアプリケーションを 直接Bluemix上にアップロードして実行することが可能 © IBM Corporation 11 WAS for Bluemix と Liberty for Java の違い WAS for Bluemix Liberty for Java 用途 最新Fix・バージョンのテスト環境 Cloud NativeなSoEアプリの新規開発 課金 従量課金 従量課金 HW ・SoftLayer上の仮想マシン ・意識しない ・SoftLayer上の Cloud FoundryベースのPaaS ・意識しない ・共有 ・共有 ・OS設定、パッケージインストールなど可能 ・意識しない(変更できない) ・Fixの適用も可能 ・意識しない(変更できない) ・OS以上は従来と同様の運用が可能 ・WAS for Bluemixは定期的にFix適用されるため、 新しいインスタンスを作り直すことも可能 ・MiddleWare以下はほぼ自動運用 ・OpenVPNでの接続前提 ・従来のWASと同機能 ・管理コンソールへのアクセス可能 ・数十秒~数分で構築 ・決まったトポロジー ・Internetからのアクセス ・cfコマンド利用可能 ・管理コンソールへのアクセス不可 ・数秒で構築 ・他Bluemixサービスと容易に連携(VCAP) text リソース共有 OS MiddleWare 運用 特徴 © IBM Corporation 12 IBM Cloud Software © IBM Corporation 13