第3章 JBoss EAP を使用したアプリケーションの開発
3.1. 概要
本ガイドは、Red Hat JBoss Developer Studio と JBoss EAP 7 クイックスタートを使用してアプリケーションの開発を始めるための情報を提供します。
Red Hat JBoss Developer Studio は、JBoss アプリケーション開発のプラグインを統合する Eclipse ベースの統合開発環境 (IDE) です。JBoss Developer Studio では、JBoss 固有のウィザードやアプリケーションを JBoss EAP サーバーへデプロイする機能を使用してアプリケーション開発を補助します。異なる Java EE 7 技術を使用してアプリケーションの開発を始められるように、JBoss EAP 7 には多くのクイックスタートコードサンプルが含まれています。
本ガイドには、JBoss Developer Studio の基本インストールを行う手順が記述されています。完全なインストールの手順については Install Red Hat JBoss Developer Studio ガイドを参照してください。
3.2. 開発環境の設定
3.2.1. JBoss Developer Studio のダウンロード
JBoss Developer Studio は Red Hat カスタマーポータルからダウンロードできます。
- Red Hat カスタマーポータルにログインします。
- ダウンロードをクリックします。
- 製品のダウンロードリストで Red Hat JBoss Developer Studio をクリックします。
Version ドロップダウンメニューで希望のバージョンを選択します。
注記JBoss Developer Studio のバージョン 9.1 以上の使用が推奨されます。
- 表で Red Hat JBoss Developer Studio 9.x.x Stand-alone Installer を見つけ、Download をクリックします。
- JAR ファイルを希望の場所に保存します。
3.2.2. JBoss Developer Studio のインストール
- ターミナルを開き、ダウンロードした JAR ファイルが含まれるディレクトリーに移動します。
次のコマンドを実行して GUI インストールプログラムを起動します。
$ java -jar jboss-devstudio-BUILD_VERSION-installer-standalone.jar
注記または、JAR ファイルをダブルクリックしてインストールプログラムを起動することもできます。
- Next をクリックしてインストールプロセスを開始します。
- I accept the terms of this license agreement (ライセンス契約の内容に同意します) を選択し Next をクリックします。
インストールパスを指定し、Next をクリックします。
注記インストールパスのフォルダーが存在しない場合はメッセージが表示されます。OK をクリックしてフォルダーを作成します。
- デフォルトの JVM が選択されます。他の JVM を選択するか、そのまま Next をクリックします。
- プラットフォームとサーバーの選択を要求されたら、Next をクリックします。
- インストールの詳細を確認し、Next をクリックします。
- インストールプロセスが完了したら Next をクリックします。
- JBoss Developer Studio のデスクトップショートカットを設定し、Next をクリックします。
- Done をクリックします。
3.2.3. JBoss Developer Studio の起動
JBoss Developer Studio を起動するには、インストール中に作成されたデスクトップショートカットをダブルクリックするか、コマンドラインから起動します。コマンドラインを使用して JBoss Developer Studio を起動するには、以下の手順に従います。
- ターミナルを開き、JBoss Developer Studio インストールディレクトリーに移動します。
次のコマンドを実行して JBoss Developer Studio を起動します。
$ ./jbdevstudio
注記Windows Server の場合は
jbdevstudio.bat
ファイルを使用します。
3.2.4. JBoss EAP サーバーを JBoss Developer Studio へ追加
この手順では、JBoss EAP サーバーが JBoss Developer Studio に追加されていないことを前提とします。以下の手順に従い、Define New Server ウィザードを使用して JBoss EAP サーバーを追加します。
Servers タブを開きます。
注記Servers タブが表示されていない場合は、Window
Show View Servers と選択してパネルに追加します。 No servers are available. Click this link to create a new server (使用できるサーバーがありません。このリンクをクリックして新しいサーバーを作成してください) のリンクをクリックします
図3.1 新しいサーバーの追加
Red Hat JBoss Middleware を展開し、JBoss Enterprise Application Platform 7.0 を選択します。サーバー名 (例:
JBoss EAP 7.0
) を入力し、Next をクリックします。図3.2 新しいサーバーの定義
サーバーアダプターを作成し、サーバーの起動と停止を管理します。デフォルトの値のままにし、Next をクリックします。
図3.3 新しいサーバーアダプターの作成
名前 (例:
JBoss EAP 7.0 Runtime
) を入力します。Home Directory の横にある Browse をクリックし、JBoss EAP のインストールディレクトリーに移動します。Next をクリックします。図3.4 新しいサーバーランタイム環境の追加
注記一部のクイックスタートでは、異なるプロファイルまたは追加の引数を使用してサーバーを起動する必要があります。たとえば、full プロファイルが必要なクイックスタートをデプロイするには、新しいサーバーを定義し、Configuration file フィールドで
standalone-full.xml
を指定する必要があります。新しいサーバーにはそのサーバーを意味する名前を付けてください。新しいサーバーの既存プロジェクトを設定します。この時点ではプロジェクトは存在しないため Finish をクリックします。
図3.5 新しいサーバーのリソースの変更
JBoss EAP 7.0
サーバーが Servers タブにリストされます。
図3.6 サーバーリスト
3.3. クイックスタートサンプルの使用
JBoss EAP で提供されるクイックスタートサンプルは Maven プロジェクトです。
3.3.1. Maven
Apache Maven は、ソフトウェアプロジェクトの作成、管理、および構築を行う Java アプリケーションの開発で使用される分散型ビルド自動化ツールです。Maven は Project Object Model (POM) と呼ばれる標準の設定ファイルを利用して、プロジェクトの定義や構築プロセスの管理を行います。POM はモジュールやコンポーネントの依存関係、ビルドの順番、結果となるプロジェクトパッケージングのターゲットを記述し、XML ファイルを使用して出力します。こうすることで、プロジェクトが正しく統一された状態で構築されるようにします。
Maven は、リポジトリーを使用してアーカイブを行います。Maven リポジトリーには Java ライブラリー、プラグイン、およびその他のビルドアーティファクトが格納されています。デフォルトのパブリックリポジトリーは Maven 2 Central Repository ですが、複数の開発チームの間で共通のアーティファクトを共有する目的で、社内のプライベートおよび内部リポジトリーとすることが可能です。また、サードパーティーのリポジトリーも利用できます。詳細は Apache Maven プロジェクトおよび Introduction to Repositories ガイドを参照してください。
JBoss EAP には、Java EE 開発者が JBoss EAP 6 でアプリケーションを構築する際に使用する要件の多くが含まれる Maven リポジトリーが含まれます。
JBoss EAP で Maven を使用する方法の詳細は、JBoss EAP Development Guide の Using Maven with JBoss EAP を参照してください。
3.3.2. クイックスタートを用いた Maven の使用
アプリケーションをビルドし、JBoss EAP 7 にデプロイするのに必要なアーティファクトと依存関係はパブリックリポジトリーでホストされます。JBoss EAP 7 のクイックスタートでは、Maven settings.xml
ファイルを設定して、クイックスタートをビルドするときにこれらのリポジトリーを使用する必要がなくなりました。Maven リポジトリーはクイックスタートプロジェクト POM ファイルに設定されるようになりました。この設定方法は、クイックスタートを容易に使えるようにするために提供されますが、ビルドが遅くなる可能性があるため、通常は本番プロジェクトでの使用は推奨されません。
Red Hat JBoss Developer Studio には Maven が含まれるため、個別にダウンロードおよびインストールする必要はありません。JBoss Developer Studio のバージョン 9.1 以上を使用することが推奨されます。
Maven コマンドラインを使用してアプリケーションをビルドおよびデプロイする場合は、最初に Apache Maven プロジェクトから Maven をダウンロードし、Maven のドキュメントに記載されている手順に従ってインストールします。
3.3.3. クイックスタートのダウンロードおよび実行
3.3.3.1. クイックスタートのダウンロード
JBoss EAP には、さまざまな Java EE 7 の技術を使用してアプリケーションを作成するのに役立つ包括的なクイックスタートコードサンプルが含まれています。クイックスタートは Red Hat カスタマーポータルからダウンロードできます。
- Red Hat カスタマーポータルにログインします。
- ダウンロードをクリックします。
- 製品のダウンロードリストで Red Hat JBoss Enterprise Application Platform をクリックします。
- Version ドロップダウンメニューで希望のバージョンを選択します。
- 表で Red Hat JBoss Enterprise Application Platform 7.0.0 Quickstarts を見つけ、Download をクリックします。
- ZIP ファイルを希望の場所に保存します。
- Zip ファイルを展開します。
3.3.3.2. JBoss Developer Studio でのクイックスタートの実行
クイックスタートがダウンロードされたら、JBoss Developer Studio にインポートし、JBoss EAP にデプロイできます。
クイックスタートの JBoss Developer Studio へのインポート
各クイックスタートには、プロジェクトおよび設定情報が含まれる POM ファイルが同梱されています。この POM ファイルを使用すると、簡単にクイックスタートを JBoss Developer Studio にインポートできます。
JBoss Developer Studio へのインポート時にクイックスタートプロジェクトフォルダーが IDE ワークスペース内にある場合、IDE は無効なプロジェクト名と WAR アーカイブ名を生成します。作業を開始する前に、クイックスタートプロジェクトフォルダーが IDE ワークスペースの外部にあることを確認してください。
- JBoss Developer Studio を起動します。
-
File
Import と選択します。 Maven
Existing Maven Projects と選択し、Next をクリックします。 図3.7 既存の Maven プロジェクトのインポート
希望のクイックスタートのディレクトリー (
helloworld
など) を参照し、OK をクリックします。Projects リストボックスに、選択したクイックスタートプロジェクトのpom.xml
ファイルが示されます。図3.8 Maven プロジェクトの選択
- Finish をクリックします。
helloworld クイックスタートの実行
helloworld
クイックスタートを実行すると、JBoss EAP サーバーが適切に設定および実行されたことを簡単に検証できます。
- サーバーを定義していない場合は、JBoss EAP サーバーを JBoss Developer Studio へ追加します。
Project Explorer タブの jboss-helloworld プロジェクトを右クリックし、Run As
Run on Server と選択します。 図3.9 Run As - Run on Server
リストから JBoss EAP 7.0 を選択し、Next をクリックします。
図3.10 Run on Server
jboss-helloworld クイックスタートはすでにリストされ、サーバー上で設定できる状態です。Finish をクイックしてクイックスタートをデプロイします。
図3.11 サーバーで設定されたリソースの変更
結果を検証します。
-
Server タブで、
JBoss EAP 7.0
サーバーの状態がStarted
に代わります。 Console タブに、JBoss EAP サーバーの起動と
helloworld
クイックスタートのデプロイメントに関するメッセージが表示されます。WFLYUT0021: Registered web context: /jboss-helloworld WFLYSRV0010: Deployed "jboss-helloworld.war" (runtime-name : "jboss-helloworld.war")
-
helloworld
アプリケーションは http://localhost:8080/jboss-helloworld で使用でき、Hello World!
というテキストが表示されます。
-
Server タブで、
bean-validation クイックスタートの実行
bean-validation
などの一部のクイックスタートは、ユーザーインターフェースレイヤーの代わりに Arquillian テストを提供して機能を示します。
-
bean-validation
クイックスタートを JBoss Developer Studio にインポートします。 - Servers サーバータブでサーバーを右クリックし、Start を選択して JBoss EAP サーバーを起動します。Servers タブが表示されない場合や、サーバーが定義されていない場合は、JBoss EAP サーバーを Red Hat JBoss Developer Studio へ追加してください。
-
Project Explorer タブで
jboss-bean-validation
プロジェクトを右クリックし、Run AsMaven Build と選択します。 以下を Goals 入力フィールドに入力し、Run を実行します。
clean test -Parq-wildfly-remote
図3.12 設定の編集
結果を検証します。
Console タブに
bean-validation
Arquillian テストの結果が表示されます。------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.jboss.as.quickstarts.bean_validation.test.MemberValidationTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.189 sec Results : Tests run: 5, Failures: 0, Errors: 0, Skipped: 0 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------
3.3.3.3. コマンドラインでのクイックスタートの実行
Maven を使用すると、コマンドラインから簡単にクイックスタートをビルドおよびデプロイできます。Maven がインストールされていない場合は Apache Maven プロジェクトを参照し、ダウンロードとインストールを行ってください。
README.md
ファイルは、システム要件、Maven の設定、ユーザーの追加、およびクイックスタートの実行に関する一般的な情報が含まれるクイックスタートのルートディレクトリーにあります。
各クイックスタートには、クリックスタートを実行するための特定の手順と Maven コマンドが含まれる独自の README.md
ファイルも含まれます。
コマンドラインでの helloworld クイックスタートの実行
-
helloworld クイックスタートのルートディレクトリーにある
README.md
ファイルを確認します。 JBoss EAP サーバーを起動します。
$ EAP_HOME/bin/standalone.sh
- helloworld クイックスタートディレクトリーへ移動します。
クイックスタートの
README.md
ファイルにある Maven コマンドを使用して、クイックスタートをビルドおよびデプロイします。mvn clean install wildfly:deploy
-
helloworld アプリケーションは http://localhost:8080/jboss-helloworld で使用でき、
Hello World!
というテキストが表示されます。