第2章 従業員勤務表スターターアプリケーションの構築と実行
ソースコードから従業員勤務表スターターアプリケーションを構築して、JBoss EAP または WildFly アプリケーションサーバーを使用して実行します。
コマンドラインを使用してアプリケーションを構築してから、スタンドアロンサーバーにインストールします。
または、Eclipse (Red Hat JBoss Developer Studio を含む) などの IDE を使用して、アプリケーションを構築し、実行します。
このアプリケーションの使用に関する情報は、「Red Hat OpenShift Container Platform での Red Hat Business Optimizer 向け従業員勤務表スターターアプリケーションのデプロイと使用」を参照してください。
2.1. デプロイメントファイルの準備 リンクのコピーリンクがクリップボードにコピーされました!
デプロイメントファイルをダウンロードし、準備してから、アプリケーションの構築、デプロイを行う必要があります。
手順
-
Red Hat Decision Manager 7.1 の Software Downloads ページから
rhdm-7.1.0-add-ons.zipファイルをダウンロードします。 - ダウンロードしたアーカイブを展開します。
-
アドオンアーカイブから展開した従業員勤務表の zip ファイル (
rhdm-7.1.0-employee-rostering.zip) を展開します。
結果
従業員勤務表 zip ファイルを展開すると、optashift-employee-rostering-7.11.0.Final-redhat-00002 ディレクトリーが作成されます。このディレクトリーは、後続の手順でベースフォルダーになります。
ファイルおよびディレクトリーの名前で使用されるバージョン番号は、本書で使用するバージョンよりも新しい場合があります。
2.2. コマンドラインからの従業員勤務表スターターアプリケーションの構築と実行 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインを使用して、従業員勤務表スターターアプリケーションを構築し、実行することができます。
この手順を使用する場合は、データはメモリーに保存されるので、サーバーが停止するとデータが失われます。データベースサーバーを使用してアプリケーションを構築し、実行して永続的に保存する方法は、「コマンドラインからの永続データストレージを使用した従業員勤務表スターターアプリケーションの構築と実行」 を参照してください。
前提条件
- Java 開発キットをインストールしておく必要があります。
- Maven をインストールしておく必要があります。
- ホストにはインターネットアクセスが必要です (外部のリポジトリーから Maven パッケージをダウンロードするため)。
手順
-
ターミナルウィンドウで、
sourcesディレクトリーに移動します。 以下のコマンドを実行します。
mvn clean install
mvn clean installCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ビルドプロセスが完了するまで待ちます。
以下のいずれかの方法を使用して、アプリケーションを実行します。
ビルドプロセスの一部としてデプロイされた WildFly サーバーを実行します。
-
local/appserver/wildfly-11.0.0-final/standalone/deploymentsサブディレクトリーで、optashift-employee-rostering-webapp-<version>.war.dodeployファイルを作成します。<version>は、同じディレクトリーにある既存のoptashift-employee-rostering-webapp-<version>.warシンボリックリンクと同じでなければなりません。 -
local/appserver/wildfly-11.0.0-final/binサブディレクトリーで./standalone.shコマンドを実行します。
-
-
既存の WildFly または JBoss EAP サーバーに
optashift-employee-rostering-webapp/target/optaweb-employee-rostering-*.warファイルをデプロイして、アプリケーションサーバーを起動します。 以下のコマンドで、Maven を使用してサーバーを実行します。
mvn -N wildfly:start wildfly:deploy mvn gwt:codeserver
mvn -N wildfly:start wildfly:deploy mvn gwt:codeserverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Maven を使用してサーバーを起動した場合には、UI は gwt コードサーバーを使用して gwtui ソースを監視します。このような場合には、gwtui コードを変更すると、コードサーバーで自動的に変更を検出します。gwtui コードの変更には、アプリケーションの再構築は必要ありません。
後ほど、このサーバーを停止するには、以下のコマンドを使用します。
mvn -N wildfly:shutdown
mvn -N wildfly:shutdownCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- http://localhost:8080/gwtui/gwtui.html でアプリケーションにアクセスします。
2.3. コマンドラインからの永続データストレージを使用した従業員勤務表スターターアプリケーションの構築と実行 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインで従業員勤務表スターターアプリケーションを構築し、実行する場合には、データベースサーバーを指定して、永続的にデータを保存することができます。
前提条件
- Java 開発キットをインストールしておく必要があります。
- Maven をインストールしておく必要があります。
- ホストにはインターネットアクセスが必要です (外部のリポジトリーから Maven パッケージをダウンロードするため)。
- デプロイした WildFly または Red Hat JBoss EAP アプリケーション・サーバーと、MySQL または PostrgeSQL データベースサーバーが必要です。
- データベースサーバー用に、アプリケーションサーバーで JDBC データソースを設定しておく必要があります。
手順
-
ターミナルウィンドウで、
sourcesディレクトリーに移動します。 以下のコマンドを実行します。
mvn clean install -DproductizedOpenshift -Dorg.optaweb.employeerostering.persistence.datasource=<dsname> -Dorg.optaweb.employeerostering.persistence.dialect=<dialect>
mvn clean install -DproductizedOpenshift -Dorg.optaweb.employeerostering.persistence.datasource=<dsname> -Dorg.optaweb.employeerostering.persistence.dialect=<dialect>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドでは、以下の値に置き換えてください。
- <dsname> は、アプリケーションサーバーのデータソース名に置き換え、
<dialect> は、データベースサーバーの種類によって以下の文字列のいずれかに置き換えます。
-
MySQL の場合は
org.hibernate.dialect.MySQL5Dialectを、 -
PostgreSQL の場合は
org.hibernate.dialect.PostgreSQLDialectを使用します。
-
MySQL の場合は
- ビルドプロセスが完了するまで待ちます。
-
optashift-employee-rostering-webapp/target/optaweb-employee-rostering-7.11.1-SNAPSHOT.warディレクトリーをアプリケーションサーバーにデプロイして、アプリケーションサーバーを起動します。 - http://localhost:8080/gwtui/gwtui.html でアプリケーションにアクセスします。
2.4. Eclipse を使用した従業員勤務表スターターアプリケーションの構築と実行 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat JBoss Development Studio を含む Eclipse を使用して、従業員勤務表スターターアプリケーションを構築して実行できます。
前提条件
- Eclipse をインストールしておく必要があります。
- ホストにはインターネットアクセスが必要です (外部のリポジトリーから Maven パッケージをダウンロードするため)。
- 推奨の設定でアプリケーションを実行するには、Google Chrome をインストールしておく必要がありますが、設定を変更して別の Web ブラウザーを使用できます。
手順
- Eclipse を起動します。
- メインメニューから File > Import… を選択します。
- Maven > Existing Maven projects ウィザードを選択します。
- root ディレクトリーでは、アプリケーションソースの root ディレクトリーを選択します。
- Finish をクリックします。
オプションで、Eclipse で多くのエラーが表示されるのを回避するには、以下を行います。
-
アプリケーションソースの root ディレクトリーで、
mvn clean installコマンドを実行して、ビルドが完了するのを待ちます。 -
Eclipse ナビゲーションツリーで、
employee-rostering-sharedを右クリックして、Build Path > Configure Build Path… を選択します。 - Source タブをクリックしてから、Add Folder… をクリックします。
-
employee-rostering-shared/target/generated-sourcesフォルダーをクリックして、OK をクリックします。
-
アプリケーションソースの root ディレクトリーで、
- メインメニューから Run > External Tools > External Tools Configurations… を選択します。
Program で以下の起動設定を作成します。
Chrome で OptaWeb 従業員勤務表を開く設定:
-
名前:
Open OptaWeb Employee Rostering in Chrome -
場所:
/usr/bin/google-chrome -
作業ディレクトリー:
${workspace_loc:/employee-rostering} 引数:
--incognito http://localhost:8080/gwtui/gwtui.html注記Chrome の代わりに別のブラウザーを使用する場合には、名前、場所、引数を変更できます。
-
名前:
コードサーバーを終了する設定:
-
名前:
Kill Code Server -
場所:
/usr/sbin/fuser -
作業ディレクトリー:
${workspace_loc:/employee-rostering} -
引数:
fuser -k 9876/tcp
-
名前:
- メインメニューから Run > Run Configurations… を選択します。
Maven Build で以下の起動設定を作成します。
OptaWeb 従業員勤務表のビルド:
-
名前:
OptaWeb Employee Rostering Build -
ベースのディレクトリー:
${workspace_loc:/employee-rostering} -
目標:
clean install -
パラメーター:
gwt:skipCompilationValue:true
-
名前:
OptaWeb 従業員勤務表の起動コードサーバー:
-
名前:
OptaWeb Employee Rostering Start Code Server -
ベースのディレクトリー:
${workspace_loc:/employee-rostering} -
目標:
gwt:codeserver -
パラメーター:
gwt:skipCompilationValue:true
-
名前:
OptaWeb 従業員勤務表の起動の Webserver:
-
名前:
OptaWeb Employee Rostering Start Webserver -
ベースのディレクトリー:
${workspace_loc:/employee-rostering} -
目標:
wildfly:start wildfly:deploy -
パラメーター:
gwt:skipCompilationValue:true
-
名前:
OptaWeb Employee Rostering の停止の Webserver:
-
名前:
OptaWeb Employee Rostering Stop Webserver -
ベースのディレクトリー:
${workspace_loc:/employee-rostering} -
目標:
wildfly:shutdown -
パラメーター:
gwt:skipCompilationValue:true
-
名前:
Launch Group で、
OptaWeb Employee Rostering Runという名前の起動グループを作成し、このグループに以下の起動を追加します。-
Program::Kill Code Server起動モード: 継承 起動後のアクション: 中断されるまで待機 -
Maven Build::OptaWeb Employee Rostering Stop Webserver起動モード: 継承 起動後のアクション: 中断されるまで待機 -
Maven Build::OptaWeb Employee Rostering Build起動モード: 継承 起動後のアクション: 中断されるまで待機 -
Maven Build::OptaWeb Employee Rostering Start Webserver起動モード: 継承 起動後のアクション: なし -
Maven Build::OptaWeb Employee Rostering Start Code server起動モード: 継承 起動後のアクション: コンソールの出力を待つ (regexp):The code server is ready at -
Program::Open OptaWeb Employee Rostering in Chrome起動モード: 継承 起動後のアクション: なし
-
アプリケーションをビルドして実行し、すぐにアクセスするには、
OptaWeb Employee Rostering Run起動グループを実行します。次にアプリケーションを変更して、起動グループに戻り、変更をテストします。注記この方法を使用してアプリケーションを起動した場合には、UI は gwt コードサーバーを使用して gwtui ソースを監視します。gwtui コードを変更すると、コードサーバーで自動的に変更を検出します。gwtui コードの変更には、アプリケーションの再構築は必要ありません。