LoginSignup
0
5

More than 5 years have passed since last update.

Libertyで 1 minuteデプロイ (1 minute deploy with Liberty)

Last updated at Posted at 2016-09-30

はじめに

Java EE アプリケーションサーバー WebSphereの新しいランタイムのインストールからアプリ稼働までを行う。Eclipseを使用することも可能だが,そちらは本家を参考にしてもらい,本稿ではzip展開による導入を行う。
きっと従来のWAS(WebSphere Application Server)を知っている人は驚くに違いない。それはこの後の手順を試せば一目瞭然なのでお楽しみに。

WebSphere Liberty

従来からIBMが提供していたWAS(フルプロファイル)は,WebSphere traditionalと呼ばれ,新しいランタイムはWebSphere Libertyと呼ばれている。

今回は,誰でもWebサイトから取得でき,簡単に,すぐに使えるWebSphere Libertyを使ってみる。というか紹介する。

※便利な使い方しってる人は是非教えてください!

しかも,開発用途であれば無償で使えるという・・・従来のWASを本番で使うケースでも,開発時に重宝する。

WebSphere Libertyの主な特長は8つ

  1. Java EE 7 完全対応 & 継続的デリバリー対応(四半期ごとに新機能追加)
  2. 軽量・高速起動
  3. Unzipで簡単導入
  4. シンプルなサーバー構成ファイル
  5. 無償で使える開発ツール (Eclipseプラグイン)
  6. Jenkinsなどの自動化ツールと簡単連携
  7. オンプレからIaaS/PaaS,Dockerどこでも動く
  8. JAX-RSコードからAPI公開で必要になるSwagger自動生成

環境

  • Mac : OS X El Capitan 10.11.6
  • Java : 1.8.0_65
  • Liberty : 16.0.0.3 (このあと導入)

本題: Libertyの導入からアプリ稼働まで

Libertyのダウンロード

  • WASdev.net からLibertyを取得しよう

    • 次のURLにアクセス。https://developer.ibm.com/wasdev/
    • "Download Latest Stable Release" をクリック スクリーンショット 2016-09-30 20.48.00.png
    • "Download Liberty (16.0.0.3) with Java EE 7 Web Profile" をクリック スクリーンショット 2016-09-30 20.49.39.png
    • License Agreementを確認し,"Accept and download"をクリック
    • これで "wlp-webProfile7-16.0.0.3.zip" のダウンロードが開始される

WASdevは,WebSphere Libertyのナレッジが詰め込まれたWebサイトで,最新情報が逐一公開されている。Libertyのインストールイメージだけでなく,サンプルコードや,マニュアル,最新情報が得られるサイトだ。

Libertyのインストール

  • ダウンロードした "wlp-webProfile7-16.0.0.3.zip" を任意のディレクトリで展開
$ unzip wlp-webProfile7-16.0.0.3.zip
  • すると以下のように, "wlp" というディレクトリが生成される
    スクリーンショット 2016-09-30 21.30.07.png

  • wlp以下に,Libertyを操作するコマンド群(bin)や,LibertyやJava EEのクラスなど(lib)が入っている
    スクリーンショット 2016-09-30 21.32.24.png

この後作成するサーバーや,アプリなど,ユーザーがコマンドなどで用意するものは "usr" 以下のディレクトリに配置したり,生成される (重要)

新規サーバーの作成

  • 以下のコマンドでサーバーを作成する
$ bin/server create server1

すると,シンプルに1行出力される。
スクリーンショット 2016-09-30 21.35.27.png

どこに生成されたかなーと,usrディレクトリを見てみよう
スクリーンショット 2016-09-30 21.37.50.png
usr/serversの下に, "server1" というのが出来た模様

サーバーの起動

  • 以下のコマンドでサーバーを起動する
$ bin/server run server1

以下のような出力が確認できる
スクリーンショット 2016-09-30 21.39.24.png
末尾の "server1 は、Smarter Planet に対する準備ができました。"
これを発見できれば,あなたのLibertyは起動している

Smarter Planet・・・ふむ。まぁ良しとしよう

  • http://localhost:9080/ にアクセスしてみよう スクリーンショット 2016-09-30 21.45.31.png "Welcome to Liberty !!" ちゃんとLibertyが稼働している!

アプリの作成

  • 超シンプルなアプリケーションを作成する
    • "Hello World!!" と出力するjspの入った.warをつくるだけ
  • Libertyは起動したまま作業してみることにして,ターミナルで新規タブを開く (Macなら⌘+Tとかで)
  • 以下を素直にタイピング
$ cd usr/servers/server1/dropins     // wlp以下にusrがある
$ mkdir myApp.war
$ cd myApp.war
$ vi index.jsp
index.jsp
<html><body>Hello World!!</body></html>

これでアプリは完成!!

アプリのデプロイ

  • 作成したアプリケーションをLibertyサーバーにデプロイする
    • というか・・・実はすでにデプロイは終わっている
    • ん?どういうこと?

Libertyには,dropinsというディレクトリがあり,その中に.warや.earなどアプリケーションを配置するだけで良いのだ

(今回は,アプリを作成した手順でdropinsにmyApp.warを作ったから配置済)

もし手元に何らかのアプリがあるなら,以下のようにdropinsにコピーしてみるといい

$ cp あなたのアプリ.war wlp/usr/servers/server1/dropins/

アプリの稼働確認 (ブラウザ上)

  • 手順の中でつくったmyApp.warの場合は,以下のようにアクセスする

まとめ

早い。とにかく早い。
インストール用のzipさえダウンロードしておけば,1分でサーバーのインストール,構成,アプリのデプロイ,稼働確認までできてしまう。
しかも,アプリサーバーの起動も早い。1秒ほどで起動してくる。
さらに,使用しているディスクサイズやメモリを見ても驚き。

正直言って,Java EE アプリケーションサーバーってこんなに早いの?こんなに簡単だったっけ?ベンダー製品だよね?
これが私の最初の感想でした。同感の人もきっといるでしょう。

Dockerでも使えるし,CIで流行りのJenkinsとか自動化ツールとも相性が良い。

なるほど,クラウドに適しているわけだ。

ちなみに,今回WASdevからダウンロードしたのは,Java EE 7 WebProfileに対応したものだが, Full Platformに対応したもの(Liberty with Java EE 7 Full Platform)もある。

JMSやJava Batch,JAX-WSを使いたい場合は,Full Platform版。
JSP,Servlet,JAX-RSなどを使いたい場合は,Web Profile版を使うと良い。

次回は,クラウド環境かなー。

0
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
5