Menu Close

インストールガイド

Red Hat JBoss BPM Suite 6.4

Red Hat Jboss 管理者向けの Red Hat JBoss BPM Suite 6.4 インストールガイド

Red Hat Customer Content Services

Emily Murphy

Gemma Sheldon

Klara Kufova

Marek Czernek

Tomas Radej

Vidya Iyengar

概要

本書は、Red Hat JBoss Developer Studio のプラグインである Red Hat JBoss BPM Suite をインストールする管理者がとるべき手順や、サンプルプロジェクトの実行方法を説明しています。

第1章 はじめに

1.1. Red Hat JBoss BPM Suite について

Red Hat JBoss BPM Suite は、ビジネスプロセス管理とビジネスルール管理を組み合わせるオープンソースのビジネスプロセス管理スイートで、ビジネスおよび IT ユーザーによる、ビジネスプロセスとルールの作成、管理、検証、およびデプロイメントを実現します。

Red Hat JBoss BRMS および Red Hat JBoss BPM Suite は、すべてのリソースが保存される集中リポジトリーを使用します。これにより、ビジネス全体で一貫性や透明性を維持し、監査を行えます。ビジネスユーザーは、IT 担当者のサポートを受けなくてもビジネスロジックおよびビジネスプロセスを編集できます。

ビジネスルールコンポーネントに対応するため、Red Hat JBoss BPM Suite には統合された Red Hat JBoss BRMS が含まれています。

このリリースには、Business Resource Planner が含まれています。

Red Hat JBoss BPM Suite は Red Hat Enterprise Linux 7 (RHEL7) での使用がサポートされています。

1.2. サポートされるプラットフォーム

Red Hat JBoss BPM Suite および Red Hat JBoss BRMS は以下のコンテナーでサポートされます。

  • Red Hat JBoss Enterprise Application Platform 6.4.(7+) *
  • Red Hat JBoss Enterprise Application Platform 7.0 *
  • Apache Tomcat 6.0.(37+)
  • Apache Tomcat 7.0.(59+)
  • Apache Tomcat 8.0.(18+)
  • Red Hat JBoss Fuse 6.2.0、6.2.1 *
  • Red Hat JBoss Web Server 2.1 (Tomcat 7) on JDK 1.7 *
  • Red Hat JBoss Web Server 3.0 (Tomcat 8) *
  • IBM WebSphere Application Server 8.5.(5+) *
  • Oracle WebLogic Server 12.1.(3+) *
注記

Red Hat JBoss Fuse には、Drools、Planner、jBPM エンジンアーティファクトのみがデプロイ可能です。

アステリスク (*) が付いたコンテナーは、完全にサポートおよびテストされています。詳しい情報は、Red Hat ナレッジベースの 「Red Hat JBoss BPM Suite 6 でサポートされる構成」の一覧を参照してください。Red Hat JBoss Enterprise Application Platform 7.0 は、デプロイ可能な ZIP インストールオプションのみに対応します。

1.3. サポートされるコンポーネントバージョン

Red Hat JBoss BPM Suite および Red Hat JBoss BRMS 6.4 は以下のコンポーネントバージョンをサポートします。

表1.1 サポートされている Maven アーティファクト

Red Hat JBoss BPM Suite および Red Hat JBoss BRMS バージョンMaven アーティファクトバージョン

6.4.0

6.5.0.Final-redhat-2

6.4.1

6.5.0.Final-redhat-5

6.4.2

6.5.0.Final-redhat-7

6.4.3

6.5.0.Final-redhat-9

6.4.4

6.5.0.Final-redhat-12

6.4.5

6.5.0.Final-redhat-15

表1.2 サポートされる部品表 (Bill of Material) バージョン

Red Hat JBoss BPM Suite および Red Hat JBoss BRMS バージョンBOM バージョン

6.4.0

6.4.0.GA-redhat-2

6.4.1

6.4.1.GA-redhat-3

6.4.2

6.4.2.GA-redhat-2

6.4.3

6.4.3.GA-redhat-2

6.4.4

6.4.4.GA-redhat-3

6.4.5

6.4.5.GA-redhat-3

以下の部品表 (BOM) の 1 つを使用します。

  • org.jboss.bom.brms:jboss-brms-bpmsuite-platform-bom:$VERSION
  • org.jboss.bom.brms:jboss-brms-bpmsuite-bom:$VERSION

BOM に関する詳しい情報は、『Red Hat JBoss BPM Suite Development Guide』「Dependency Management」の章を参照してください。

1.4. ユースケース: 銀行ローン業界のプロセスベースのソリューション

このセクションでは、Red Hat JBoss BPM Suite をデプロイしてリテールバンクでのビジネスプロセス (ローンの承認プロセスなど) を自動化するユースケースについて説明します。このユースケースは、一般的なプロセスベースのデプロイメントで、Red Hat JBoss BPM Suite を企業全体に展開するための最初のステップである場合があります。このユースケースでは、Red Hat JBoss BPM Suite のビジネスルールおよびプロセスの機能を活用します。

リテールバンクは、期間や資格要件が異なる複数のローン商品を提供します。ローンを必要とする顧客は、銀行へローンの申込書を提出する必要があります。申し込み後、銀行は複数の手順で申し込みを処理し、資格の検証、期間の判断、不正行為の確認、および適切なローン商品の決定を行います。ローンの承認後、銀行は申込者のローン口座を作成し、入金を行います。その後、申込者はその資金を使用できます。銀行は、プロセスの各手順が対象となるすべての銀行規則に適合しているか確認し、ローンのポートフォリオを管理して利益を最大化する必要があります。各手順で意思決定を容易に行えるようにポリシーが使用され、これらのポリシーは銀行の業績を最大化するため管理されます。

銀行のビジネスアナリストは、Red Hat JBoss BPM Suite の BPMN2 オーサリングツール (プロセスデザイナー) を使用して、ローン申し込みプロセスをモデル化します。以下がプロセスフローです。

図1.1 ハイレベルのローン申し込みプロセスフロー

installation guide 3444

ビジネスルールは、ポリシーの実行および意思決定を行うために Red Hat BPM Suite のルールオーサリングツールで開発されます。ルールはプロセスモデルへリンクされ、プロセスの各手順で正しいポリシーが実行されます。

銀行の IT 部門が Red Hat JBoss BPM Suite をデプロイし、ローン申し込みのプロセス全体が自動化されるようにします。

図1.2 ローン申し込みプロセスの自動化

installation guide 3443

銀行のビジネスアナリストは、ローンプロセスおよびルールのすべてをいつでも編集できます。銀行は、変化する規則に常時準拠できます。また、競争優位を保ち、収益を向上させるために、ローンの新商品をすばやく導入し、ローンのポリシーを改善できます。

第2章 インストールオプション

Red Hat JBoss BPM Suite には、以下の 2 つのバージョンがあります。

  • Red Hat JBoss Enterprise Application Platform (EAP) 6.4 にインストールするための実行可能 JAR インストーラー。
  • ZIP ファイルインストール。これ自体も 2 つのバージョンがあります。

    • jboss-bpmsuite-6.4-deployable-eap6.x.zip: Red Hat JBoss Enterprise Application Platform (EAP 6.4) のデプロイメントに対応したバージョン。
    • jboss-bpmsuite-6.4-deployable-generic.zip: Red Hat JBoss Web Server (EWS)、Apache Tomcat 6、および Apache Tomcat 7 上のデプロイメントに適した追加ライブラリーが含まれるデプロイ可能なバージョン。

ご使用の環境に応じて、プロジェクトに最も適したインストールオプションを選択してください。

注記

Red Hat JBoss BPM Suite は、UTF-8 エンコーディングで機能するよう設計されています。基礎となる JVM で別のエンコーディングシステムを使用すると、予期せぬエラーが発生する可能性があります。JVM で UTF-8 を使用するようにするには、"-Dfile.encoding=UTF-8" のシステムプロパティーを使用してください。

重要

Red Hat JBoss BPM Suite 6.1 以降では、Red Hat JBoss BPM Suite をインストールする前に JBoss EAP 6.4 以降がインストールされている必要があります。

2.1. Red Hat JBoss BPM Suite インストーラーのインストール

以下のセクションには、JAR ファイルインストーラーのインストール方法を使用して Red Hat JBoss BPM Suite をインストールするのに必要な手順が記載されています。JAR ファイルは、既存の Red Hat JBoss EAP 6 のシステム環境に Red Hat JBoss BPM Suite をインストールする実行ファイルです。ただし、この JAR インストーラーは Red Hat JBoss EAP 7.0 をサポートしません。Red Hat JBoss EAP 7.0 の場合は、デプロイ可能な ZIP インストールのみをサポートします。

警告

指定の Red Hat JBoss BPM Suite JAR ファイルインストーラーは、yum または RPM パッケージマネージャーでインストールされる Red Hat JBoss EAP ディストリビューションをサポート しない 点に注意してください。このような場合は Red Hat JBoss BPM Suite 6.4.0 Deployable for EAP 6 ファイルをダウンロードして、「Red Hat JBoss BPM Suite の Red Hat JBoss Enterprise Application Platform へのインストール」に記載の手順に従います。

IBM JDK でのインストール

IBM JDK は他の JDK で生成されるキーストアを使用できないので、別の JDK で生成されたキーストアを持つ IBM JDK で実行されている既存の Red Hat JBoss EAP に Red Hat JBoss BPM Suite をインストールすることはできません。

2.1.1. インストーラーを使用した Red Hat JBoss BPM Suite のインストール

Red Hat JBoss BPM Suite のインストーラーは、実行可能な Java JAR ファイルです。このファイルを使用して、既存の Red Hat JBoss EAP 6.4 システム環境に Red Hat JBoss BPM Suite をインストールします。

注記

セキュリティーの理由上、root 以外のユーザーでインストーラーを実行する必要があります。

前提条件

Red Hat JBoss BPM Suite のインストールを試みる前に、Red Hat JBoss EAP 6 バージョン 6.4.7 以降がインストールされていることを確認し、バックアップを作成します。インストールを完了するための権限が指定されていることを確認します。

インストーラーを実行する前に $PATH に JAR バイナリーがあることを確認します。Red Hat Enterprise Linux では java-$JAVA_VERSION-openjdk-devel パッケージ内にあります。

  1. コマンドプロンプトでインストーラーファイルをダウンロードしたフォルダーに移動して、以下のコマンドを実行します。

    java -jar jboss-bpmsuite-VERSION-installer.jar
    注記

    Windows でインストーラーを実行する場合には、インストール時に管理者の認証情報を指定するようにプロンプトが表示される場合があります。これを回避するには、インストールコマンドに izpack.mode=privileged オプションを追加します。

    java -Dizpack.mode=privileged -jar jboss-bpmsuite-VERSION-installer.jar

    さらに 32 ビットの Java Virtual Machine をでインストーラーを実行している場合には、メモリー不足になってしまう可能性があります。この問題を解決するには、以下を実行します。

    java -XX:MaxHeapSize=4g -jar jboss-bpmsuite-VERSION-installer.jar

    グラフィカルインストーラーが実行され、スプラッシュ画面とライセンス同意のページが表示されます。

  2. ライセンスに同意して続行します。
  3. 次の画面で、Red Hat JBoss BPM Suite をインストールする、既存の Red Hat JBoss EAP の親の場所を指定します。
  4. 次の 2 画面では、2 つのユーザーを作成します。1 つ目は Red Hat JBoss EAP (ManagementRealm) の管理コンソールのユーザー、2 つめは Red Hat JBoss BPM Suite 自体 (ApplicationRealm) の管理用ユーザーです。

    1 つ目の Red Hat JBoss EAP の管理コンソールユーザー作成はオプションで、必要でない場合は省略可能です。

    Red Hat JBoss EAP サーバー (作成することにした場合) および Red Hat JBoss BPM Suite アプリケーションそれぞれにアクセスする際に必要になりますので、これらのユーザー名とパスワードをメモしてください。

    詳細な設定を行わない限り、Red Hat JBoss BPM Suite ユーザーのパスワードがクライアントおよびサーバーの JMS SSL キーストアとパスワード Vault キーストアの両方のデフォルトパスワードとして使用されます。

    重要

    すでにあるロールやグループと選択したユーザー名が 競合しない ようにしてください。「ロールの定義」を参照してください。

    たとえば、admin と呼ばれるロールがある場合に、admin という名前のユーザーは作成するべきでは ありません

    注記

    作成するパスワードは 8 文字以上で、数字 1 文字および英数字以外の文字 1 文字以上を含める必要があります (& の文字を含めることは できません)。

    注記

    2 つ目に作成したユーザーに割り当てられるアプリケーションロールは admin ロールです。この段階で、このユーザーに追加のロールを割り当てることができます。

  5. 次に、新規の Red Hat JBoss BPM Suite システム環境のセキュリティー環境を設定します。この手順でチェックボックスをクリックして、Java Security Manager を有効化または無効化してください。Java Security Manager は、システムのセキュリティーを強化できますが、パフォーマンスが低下します。お使いの環境に合わせて意思決定するようにしてください。
  6. インストールが行われるサーバーに純粋な IPv6 設定を行うかどうかを選択します。これにより、あとでランタイム IPv6 固有の設定を行うことができるようになります。
  7. ランタイム環境を設定します。

    この手順で、デフォルトの設定を使用するか、詳細設定を指定するか選択できます。

    1. デフォルト設定

      次の手順で、ランタイム環境の Perform default configuration を選択して、Next をクリックしてインストールの内容を確認します。詳細に問題がなければ、Next をクリックして実際にインストールを開始するか、Previous をクリックして前に戻り、変更を加えます。

    2. 詳細設定

      詳細設定オプションを有効化するように選択します。Perform advanced configuration を選択して、チェックボックスを使用して、お使いの環境で有効化する詳細設定オプションを選択します。

    1. パスワード Vault の設定

      インストールプロセスで生成された Java 秘密鍵を使用するか、手動で keytool を使用して、さまざまなサーバー記述子のパスワードを難読化する際に、Vault パスワードを使用します。これにより、記述子にプレーンテキストでパスワードが保存されないようにします。Iteration count および Salt はいずれも暗号化プロセスに対するパラメーターです。

      Red Hat JBoss BPM Suite の場合は、自身のパラメーターでインストールするように選択した場合でさえも、Vault は常にインストールされます。このような場合には、デフォルト値が使用されます。

      vault パスワードに関する詳細情報は『Red Hat JBoss EAP Security Guide』を参照してください。

    2. SSL セキュリティー

      SSL Security 画面では、指定のキーストアを使用して <ssl> および <truststore> の要素を ManagementRealm セキュリティーレルムに追加することができます。

      • <ssl> 要素は、キーストア内の証明書を ID として表示させ、公式な証明書を適用できるようにします。
      • <truststore> 要素は、Client-Cert 認証を有効化します。つまり、リモートクライアントが ManagementRealm で管理されるリソースに接続使用とすると、クライアントが証明書を提示し、トラストストア内のエントリーが一致すると、ユーザー名/パスワードを入力する必要なく認証がされるようになります。

      最終的に、接続が暗号化され、ManagementRealm のサーバーとクライアント間でセキュリティーが確保されます。

    3. LDAP 接続

      インストーラーでのこの手順により LDAP サーバーを定義できるようになり、ManagementRealm で認証可能であるべきユーザーを定義します。デフォルト設定は、この設定に置き換わります。

      LDAP Connection 画面では、LDAP サーバーへの接続方法を定義することができます。

      • 識別名 (DN): LDAP サーバーに接続可能なユーザー。通常、DN はこの目的のための特別なユーザーを一意に定義します。
      LDAP セキュリティー (管理コンソール)

      Management Console LDAP Configuration 画面では、セキュリティーレルムを設定することができます。これは、記述子に追加される <security-realm> 要素を定義し、以前に定義済みの接続を使用します。

      • Base DN: 通常、ユーザーの検索を開始するための「基本検索」または「root コンテキスト」を定義します。
      • Filter Type: ユーザーを定義する LDAP 属性を検索する方法を Red Hat JBoss EAP に指示します。単純な属性にも、複雑な LDAP フィルターにもなります。
      • Username filter: ユーザー名の値を格納する LDAP 属性。このフィールドに入力されるユーザー名を使用して、uid 属性の値tとして検索クエリーに使用します。フィルターの種類に LDAP Syntax Query を選択した場合には、このフィールドでこのクエリーを指定する必要があります。
      • Recursive directory search: 有効な場合には Red Hat JBoss EAP は LDAP ツリーを再帰的に Base DN からスキャンします。無効な場合には、検索は Base DN のみに制限されます。
      LDAP セキュリティー (Business Central)

      以下のフィールドの大半が基本 DN とよく似ています。コンテキストは、ロールの検索に使用し、認証の他に、承認もできるようになります。それ以外は、コンテキストフィールドは以前の基本 DN とよく似ており、属性フィールドは、ユーザー名属性によく似ています。フィルターを使用すると、属性のどの値を受け入れるのかを細かく制御することができます。

      Red Hat JBoss BPM Suite では、タスクサービスの LDAPUserGroupInfo および LDAPUserInfo コンポーネントが使用する jbpm.usergroup.callback.properties および jbpm.user.info.properties ファイルに、Business Central LDAP Configuration ページで入力した値も入力されます。

      Business Central LDAP Configuration ページで入力した値を使用して、新規セキュリティードメインが設定されます。この際、LdapExtended ログインモジュールが使用されます。このセキュリティードメインは、Business Central のデフォルトの Web アプリケーションとして設定されています。セキュリティードメインとログインモジュールの詳しい情報は『Red Hat JBoss EAP Security Guide』を参照してください。

    4. セキュリティードメインおよび JSSE 設定

      Security Domain 画面では、JSSE 設定など、セキュリティー管理用の <security-domain> セキュリティーサブシステムの全要素を設定することができます。セキュリティードメインの設定に関する詳細情報は、『Red Hat JBoss EAP Security Guide』を参照してください。

    5. JMS SSL キーストアの設定

      Configuring JMS SSL Keystores 画面では、Business Central に送信される JMS メッセージを暗号化することができます。クライアントのキーストアは、サーバーと通信する必要のあるシステムに配信され、暗号化の通信をスムーズに行えるようにします。既存のキーストアをしようするか、新しいキーストアを使用することができます。

    6. クラスタリングの設定

      このオプションを選択すると、クラスタリングの操作で使用できるように Red Hat JBoss BPM Suite がインストールされます。詳しい情報は「Red Hat JBoss EAP のクラスタリング」を参照してください。

    7. Business Central データソース設定

      クラスタリングの設定の後、次の画面では Business Central データソースを設定することができます。

    8. Dashbuilder データソースの設定

      Dashbuilder Datasource Setup 画面では Dashbuilder データソースを設定することができます。

    9. Optaplanner 実行サーバーの設定

      Optaplanner はデフォルトでは有効になっています。Optaplanner を無効にするには、Configure Optaplanner 画面の Configure Optaplanner Execution Server を選択してから Disable Optaplanner Execution Server を選択します。

    10. KIE サーバー管理の設定

      Business Central で Intelligent Process Server を管理して、両実行サーバーに同じデータソースを使用するには Enable KIE server management にチェックを入れます。

      Business Central を使用して Intelligent Process Server を管理するには、パスワード Vault を設定する必要があります。設定しないと、デフォルトの値を使用して Vault が作成されます。詳しい情報は「Configuring Password Vault」を参照してください。キーストアへのパスワードは、bpmsAdmin ユーザーのパスワードと同じです。

  8. インストーラーは、Red Hat JBoss BPM Suite のインストール手順を実行します。Next をクリックするとインストール後の設定手順が実行されます。また、選択したモード (standalone または domain、詳細は「サーバーの起動」を参照) で、Red Hat JBoss BPM Suite サーバーを起動して、接続してインストールを検証することも可能です。Next をクリックして、最後の画面に進みます。この画面では、インストールスクリプトとプロパティーファイルを生成することができます。インストーラーを終了するには、Done をクリックします。

インストーラーを使用して Red Hat JBoss BPM Suite が正常にインストールされました。

2.1.2. CLI モードのインストーラーを使用した Red Hat JBoss BPM Suite のインストール

Red Hat JBoss BPM Suite のインストーラーは、コマンドラインインターフェース (CLI) を使用して実行することも可能です。以下の手順では、Red Hat JBoss BPM Suite のインストールにこのオプションを使用した場合に行っていただく内容を説明します。

前提条件

Red Hat JBoss BPM Suite のインストールを試みる前に、Red Hat JBoss EAP 6 バージョン 6.4.7 以降がインストールされていることを確認し、バックアップを作成します。インストールを完了するための権限が指定されていることを確認します。

インストーラーを実行する前に $PATH に JAR バイナリーがあることを確認します。Red Hat Enterprise Linux では java-$JAVA_VERSION-openjdk-devel パッケージ内にあります。

  1. コマンドプロンプトでインストーラーファイルをダウンロードしたフォルダーに移動して、以下のコマンドを実行します。

    java -jar jboss-bpmsuite-VERSION-installer.jar -console
  2. コマンドラインの対話プロセスが開始され、使用許諾契約書が表示されます。このライセンスの最後で、以下のオプションから選択するようにプロンプトが表示されます。

    press 1 to continue, 2 to quit, 3 to redisplay.
  3. 1 はインストールが開始されます。既存の Red Hat JBoss EAP インストールの親ディレクトリーの場所を入力します。

    The location below must specify the JBOSS_HOME of an existing EAP installation.
    
    [/home/user/BPMSuite-VERSION/jboss-eap-6.4]

    インストーラーは、指定された場所と Red Hat JBoss EAP インストールの場所を検証します。確定して続行するには、1 を入力します。

  4. オプション: Red Hat JBoss EAP (ManagementRealm) の管理コンソールのユーザーを作成します。

    Create an administrative user
    This user will be added to the host container's management realm for administrative purposes. It can be used to access the management console, the management CLI or other applications secured in this realm.

    新しい管理ユーザーの作成を省略するには 0 を、新規作成するには 1 を選択します。新たに作成することにした場合には、以下の手順に従います。

    1. ユーザー名を入力します。

      Admin username: [admin]
    2. EAP 管理コンソールユーザーのパスワードをを作成して、確定します。

      The password must have at least 8 characters, and contain at least one number and one non-alphanumeric symbol (not including the character &).
      
      Admin password: []
      
      Confirm admin password: [******************************]

    このユーザーが正しく作成されたら、次の手順に進みます。

  5. Red Hat JBoss BPM Suite 管理ユーザーを作成します。

    Create a Business Process Management Suite Admin User
    Create a BPM Suite admin user. The user will be added to the ApplicationRealm, and can be used to access the Business Central Console. The User will be assigned the 'admin' application roles. The BPM Suite username cannot be any of the following: 'admin', 'analyst', 'user', 'manager' or 'developer'.
    
    BPM Suite username: [bpmsAdmin]
    重要

    すでにあるロールやグループと選択したユーザー名が 競合しない ようにしてください。

    たとえば、admin と呼ばれるロールがある場合に、admin という名前のユーザーは作成するべきでは ありません

  6. このユーザーのユーザー名を入力して、パスワードを作成、確認します。

    The password must have at least 8 characters, and contain at least one number and one non-alphanumeric symbol (not including the character &).
    
    BPM Suite password: []
    
    Confirm BPM Suite password: [****************]
  7. パスワードを入力して確認した後に、オプションの手順としてこのユーザーに (admin ロールに加えて) 他のロールを割り当てることができます。これらのロールをコンマ区切りのリストで入力するか、Enter を押してこの部分を省略します。

    (Optional) You can add this user to additional roles that will be used for task management.  These roles are custom named and used again when building your processes with human tasks.  Add your custom named roles in a comma separated list below.
    
    Additional user roles: []
  8. Java Security Manager の設定は、1 を押して選択し、0 を押して選択を解除します。

    Configure the Java Security Manager
    A Java security manager offers JVM level security beyond what is provided by the application container. It enforces access rules at the JVM runtime based on one or more security policies.
    
    This installer will place two security policies in the installation directory with the filenames 'security.policy' and 'kie.policy' regardless of choice. Those policies will be enabled at runtime if the option below is selected.
    
    Please note that a security manager imposes a significant performance overhead when enabled. It is suggested the included policies be applied in production if user requirements call for a stronger measure than what is already provided by the application container's authentication and authorization mechanism.
    
    Please see the JBoss Business Process Management Suite administrative documentation for further details and consideration.
    [ ] Enable the Java security manager
    Input 1 to select, 0 to deselect:
  9. Java Security Manager の設定の選択後に、以下のプロンプトのオプションを選択します。

    press 1 to continue, 2 to quit, 3 to redisplay.
  10. IPv6 を使用するかどうかを指定します。

    IPv6 configuration
    
    If this computer is using a pure IPv6 configuration, please check the box below. A pure IPv6 setup requires additional configuration at runtime to ensure the proper bindings of the management and http interfaces.
    [ ] Enable pure IPv6 configuration
    Input 1 to select, 0 to deselect:

    IPv6 設定の選択または選択解除した後に、以下のオプションのいずれかを選択します。

    press 1 to continue, 2 to quit, 3 to redisplay.
  11. デフォルト設定または詳細オプションのいずれかを選択して、ランタイム環境を設定します。

    Configure runtime environment
    Red Hat JBoss Business Process Management Suite can be further customized at this time.
    0  [x] Perform default configuration
    1  [ ] Perform advanced configuration

    1 Perform advanced configuration を選択した場合には、以下の設定を完了します。

    1.   [ ] Install password vault
      Input 1 to select, 0 to deselect:
    2.   [ ] Enable SSL security
      Input 1 to select, 0 to deselect:
    3.   [ ] Secure EAP Management Console with LDAP
      Input 1 to select, 0 to deselect:
    4.   [ ] Secure Business Central and Dashbuilder with LDAP
      Input 1 to select, 0 to deselect:
    5.   [ ] Add a security-domain
      Input 1 to select, 0 to deselect:
    6.   [ ] Generate JMS Client Keystores
      Input 1 to select, 0 to deselect:
    7.   [ ] Install clustered configuration
      Input 1 to select, 0 to deselect:
    8.   [ ] Install Business-Central Datasource
      Input 1 to select, 0 to deselect:
    9.   [ ] Install Dashbuilder Datasource
      Input 1 to select, 0 to deselect:
    10.   [ ] Configure Optaplanner Execution Server
      Input 1 to select, 0 to deselect:
    11.   [ ] Configure KIE Server management
      Input 1 to select, 0 to deselect:
  12. 次に、以下のプロンプトからオプションを選択します。

    press 1 to continue, 2 to quit, 3 to redisplay.
  13. .jar ファイルが展開、設定を開始します。
  14. インストールに成功すると、コマンドラインで自動インストールスクリプトとプロパティーファイルを生成するかどうかを尋ねられます。

    Installation has completed successfully.
    Application installed on /home/user/BPMSuite-VERSION/jboss-eap-6.4
    Would you like to generate an automatic intallation script and properties file?
    (y/n) [n]:
  15. y を選択すると、自動インストールスクリプトへのパスを指定します。

    Select path for the automatic installation script: [/home/user/BPMSuite-VERSION/jboss-eap-6.4/AUTO_SCRIPT_FILENAME]

    生成されたスクリプトにより、今後インストールする際に以下の方法でインストーラーを実行できるようになります。

    java -jar jboss-bpmsuite-VERSION-installer.jar AUTO_SCRIPT_FILENAME
    注記

    この方法でインストーラーを実行すると、自動スクリプトが生成されたインストールと同じインストールが行われます。パスワードなどの機密な値は、外部ファイルか、自動インストールの際に指定する必要がある点に注意してください。以下のオプションの引数で、これらの値を自動的に指定できます。

    -variablefile VARIABLE_FILENAME

    以下の引数を使用して、機密な値を指定することも可能です。

    -variables key1=value1,key2=value2
  16. 自動スクリプトの作成およびコンソールのインストールが成功すると、以下のメッセージがコマンドラインに表示されます。

    XML written successfully.
    [ Console installation done ]
    [BPMS_Installer]$
  17. 「サーバーの起動」に記載されているように Red Hat JBoss EAP を起動します。
  18. Web ブラウザーで http://localhost:8080/business-central にアクセスします。
  19. Red Hat JBoss BPM Suite ユーザーの作成および確認 の手順で Red Hat JBoss BPM Suite ユーザーに指定した正しいユーザー名/パスワードでログインします。

2.1.3. Red Hat JBoss BPM Suite インストーラーのトラブルシューティング

Red Hat JBoss BPM Suite インストールに失敗しました。もう一度 Red Hat JBoss BPM Suite をインストールするにはどうすれば良いですか?

インストーラーが Red Hat JBoss BPM Suite アプリケーションを検出した場合には、インストールは続行されません。インストールに失敗した場合には以下を実行します。

  1. EAP_HOME/standalone/deployments に移動します。
  2. 以下を含む Red Hat JBoss BPM Suite デプロイメントをすべて削除します。

    • business-central.war
    • dashbuilder.war
    • kie-server.war
  3. インストーラーをもう一度起動します。

2.2. Red Hat JBoss BPM Suite の Red Hat JBoss Enterprise Application Platform へのインストール

Red Hat JBoss EAP にデプロイ可能な Red Hat JBoss BPM Suite 6.4 をインストールするには、以下を行います。

  1. Red Hat JBoss Enterprise Application Platform 6.4.0 (以降の) ZIP ファイルを カスタマーポータル からダウンロードします。
  2. ZIP ファイルを展開します。この場所が EAP_HOME になります。
  3. Red Hat JBoss EAP を Red Hat JBoss BPM Suite バージョンでサポートされるバージョンに修正します。

  4. Red Hat JBoss BPM Suite 6.4.0 Deployable for EAP 6 ZIP ファイルをダウンロードします。
  5. ファイルを展開して jboss-eap-6.4/bin/*EAP_HOME/bin/* にコピーします。プロンプトが表示されたらディレクトリーをマージします。

    1. スタンドアロンモードで Red Hat JBoss BPM Suite を実行する場合:

      • jboss-eap-6.4/standalone/configuration/*EAP_HOME/standalone/configuration/ にコピーします。
      • jboss-eap-6.4/standalone/deployments/*EAP_HOME/standalone/deployments/ にコピーします。

        注記

        Red Hat JBoss EAP にすでにデプロイメントがある場合は、現在のデプロイメントが Red Hat JBoss BPM Suite のデプロイメントと同じ名前にならないようにしてください。

    2. ドメインモードで Red Hat JBoss BPM Suite を実行する場合:

      • jboss-eap-6.4/domain/configuration/*EAP_HOME/domain/configuration/ にコピーします。

        警告

        この手順は、Red Hat JBoss EAP のインストールに使用したユーザーアカウントと同じアカウントで実行するようにしてください。このアカウントは、スーパーユーザーアカウント以外を指定する必要があります。

  6. アプリケーションユーザーを追加します。

    ./EAP_HOME/bin/add-user.sh -a --user bpmsAdmin --password password@1 --role kie-server,admin,rest-all,analyst

スタンドアロンモードでの Red Hat JBoss BPM Suite の起動

  1. EAP_HOME/bin に移動します。
  2. 実行:

    Unix 環境の場合:

    ./standalone.sh

    Windows 環境の場合:

    standalone.bat

Web ブラウザーで localhost:8080/business-central から Business Central にログインします。

ドメインモードの設定

「Red Hat JBoss BPM Suite の Red Hat JBoss Enterprise Application Platform へのインストール」の記載どおりに Red Hat JBoss BPM Suite をインストールした場合には、手動で Red Hat JBoss BPM Suite の Web アプリケーションをデプロイします。

business-central.wardashbuilder.warkie-server.war アプリケーションは、Red Hat JBoss BPM Suite 6.4.0 Deployable for EAP 6 ZIP ファイルでディレクトリーとして提供されます。アプリケーションをドメインモードでデプロイするには、以下を行います。

  1. アプリケーションのディレクトリーをアーカイブにパッケージします。

    1. Red Hat JBoss BPM Suite 6.4.0 Deployable for EAP 6 ZIP ファイルから以下のファイルを展開します。

      • jboss-eap-6.4/standalone/deployments/business-central.war
      • jboss-eap-6.4/standalone/deployments/kie-server.war
      • jboss-eap-6.4/standalone/deployments/dashbuilder.war
    2. 以下のように、business-central.warkie-server.warkie-server.war ディレクトリーのコンテンツで ZIP ファイルを作成します。

      1. ディレクトリーに移動します。

         cd business-central.war
      2. zip -r business-central.war . を実行して、business-central.war ディレクトリーのコンテンツの Zip ファイルを作成します。
      3. デプロイする Web アプリケーションすべてに対して、この手順を繰り返します。

        これにより、business-central.warkie-server.wardashbuilder.war はディレクトリーではなくアーカイブになります。

  2. アーカイブをデプロイします。

    1. 管理ユーザーを追加します。

      ./EAP_HOME/bin/add-user.sh -b --user mgmtAdmin --password password@1 --role admin
    2. ./EAP_HOME/bin/domain.sh を実行します。
    3. 管理ユーザーを使用して http://localhost:9990/ にログインします。
    4. DeploymentsContent RepositoryAdd を順にクリックします。
    5. ファイルシステムから Web アーカイブを選択してアップロードします。
    6. デプロイメントを選択して Assign をクリックします。

      注記

      複数の Red Hat JBoss BPM Suite ノードを単一のマシンにデプロイする場合には、サーバーにデプロイメントを割り当てる前にポートとその他のプロパティーを設定してください。詳しい情報は「Red Hat JBoss EAP 向けの Red Hat JBoss BPM Suite の設定」を参照してください。

    7. サーバーグループを選択します。

localhost:8080/business-central から Business Central にログインします。

注記

ホストコントローラー (HC) マシンにデプロイされた Business Central にログインするには、ドメインコントローラーマシンに作成したユーザーをホストコントローラーマシンでも作成する必要があります。「ユーザーの作成」の手順に従ってください。

統合された実行サーバーの設定

Business Central が Intelligent Process Server を管理して同じデータソースを使用するように設定するには、『Red Hat JBoss BPM Suite Administration and Configuration Guide』「Unified Execution Servers」のセクションを参照してください。

手順で参照してた *.xml ファイルの JVM プロパティーがすでに存在しますが、コメントアウトされているので、アンコメントするだけで十分です。

Red Hat JBoss EAP 向けの Red Hat JBoss BPM Suite の設定

Red Hat JBoss BPM Suite で複数の Red Hat JBoss EAP インスタンスを実行する場合には、ベストプラクティスとして以下のプロパティーを設定します。

  • org.uberfire.nio.git.dir
  • org.uberfire.metadata.index.dir
  • org.uberfire.nio.git.ssh.cert.dir

複数の Red Hat JBoss BPM Suite ノードを単一のマシンで使用する場合には、以下のプロパティーを指定する必要があります。

  • org.uberfire.nio.git.daemon.host: localhost でも構いません。
  • org.uberfire.nio.git.daemon.port
  • org.uberfire.nio.git.ssh.host: localhost でも構いません。
  • org.uberfire.nio.git.ssh.port
注記

org.uberfire.nio.git.daemon.port および org.uberfire.nio.git.ssh.port には、異なるポートの値を指定してポートの影向を回避する必要があります。

EAP_HOME/domain/configuration/host.xml ファイルにプロパティーを設定します。

ノード A:

<system-properties>
  <property name="org.uberfire.nio.git.dir" value="/valid/path/.." boot-time="false"/>
  <property name="org.uberfire.metadata.index.dir"
            value="/valid/path/.." boot-time="false"/>
  <property name="org.uberfire.nio.git.ssh.cert.dir"
            value="/valid/path/.." boot-time="false"/>
  <property name="org.uberfire.nio.git.daemon.host"
            value="10.10.10.10" boot-time="false"/>
  <property name="org.uberfire.nio.git.daemon.port" value="9417" boot-time="false"/>
  <property name="org.uberfire.nio.git.ssh.host" value="10.10.10.10" boot-time="false"/>
  <property name="org.uberfire.nio.git.ssh.port" value="8002" boot-time="false"/>
</system-properties>

ノード B:

<system-properties>
  <property name="org.uberfire.nio.git.dir" value="/valid/path/.." boot-time="false"/>
  <property name="org.uberfire.metadata.index.dir"
            value="/valid/path/.." boot-time="false"/>
  <property name="org.uberfire.nio.git.ssh.cert.dir"
            value="/valid/path/.." boot-time="false"/>
  <property name="org.uberfire.nio.git.daemon.host"
            value="10.10.10.10" boot-time="false"/>
  <property name="org.uberfire.nio.git.daemon.port" value="9418" boot-time="false"/>
  <property name="org.uberfire.nio.git.ssh.host" value="10.10.10.10" boot-time="false"/>
  <property name="org.uberfire.nio.git.ssh.port" value="8003" boot-time="false"/>
</system-properties>

上記に記載したシステムのプロパティーは、ホスト、ポート .index または .niogit ファイルの場所を指定する必要があります。適切なノードで使用す必要のあるこれらのファイルは特定のドメインでグループ化されます。

2.3. 汎用デプロイ可能バンドルのインストール

Red Hat JBoss Web Server (EWS) 上に Red Hat JBoss BPM Suite をインストールするには、製品の汎用デプロイ可能パッケージを使用する必要があります。

EWS 上のインストールでは、汎用デプロイ可能パッケージに Red Hat JBoss EWS の一部ではない追加のトランザクションマネージャーとセキュリティーライブラリーが含まれます。

汎用デプロイ可能パッケージをインストールするには、次の zip ファイルが必要になります。

  • jboss-bpmsuite-VERSION-deployable-generic.zip: business-central.wardashbuilder.warkie-server.war Web アプリケーションを含みます。
  • jboss-bpmsuite-VERSION-engine.zip: 汎用デプロイメントに必要なアプリケーションおよび他のライブラリーをエンジンに組み込むための対応実行エンジンライブラリーです。

2.3.1. 汎用デプロイ可能パッケージのダウンロード

JBoss Web Server 用の Red Hat JBoss BPM Suite 汎用デプロイ可能パッケージをダウンロードするには、以下の手順に従います。

  1. Red Hat カスタマーポータル にアクセスし、ログインします。
  2. ページ上部の ダウンロード をクリックします。
  3. 製品一覧から Red Hat JBoss BPM Suite をクリックします。
  4. Version のドロップダウンメニューから、バージョン 6.4 を選択します (まだ選択されていない場合)。
  5. 表示される Software Downloads セクションで、Red Hat JBoss BPM Suite 6.4 Deployable for All Supported Containers の行に移動し、Download をクリックします。
  6. また Red Hat JBoss BPM Suite 6.4 Core Engine の行にも移動し、Download をクリックして JBoss BPM Suite Core Engine ファイルをダウンロードします。

2.3.2. 汎用デプロイ可能パッケージのインストール

汎用デプロイ可能パッケージをインストールするには、基盤のプラットフォーム (Red Hat JBoss WS) をインストールした後に以下を設定する必要があります。

重要

新規インストールした Red Hat JBoss BPM Suite では、例外が発生して以下のようなログが残される可能性があります。

WARNING: Unable to instantiate EJB Asynchronous Bean. Falling back to Executors' CachedThreadPool.

この例外は、Apache Tomcat には存在しない JNDI 名で登録されている Enterprise Java Beans オブジェクトの検索に失敗したコードが原因で発生するため、デフォルトの実装が代わりに使用されます。

これらのメッセージは警告のみで、システムの全体的な機能には影響はありません。

2.3.2.1. Red Hat JBoss Web Server 2.1 (Tomcat 7) 用のトランザクションマネージャーの設定

  1. Red Hat カスタマーポータル からダウンロードした汎用デプロイ可能 ZIP パッケージを一時的な場所に展開します。この ZIP パッケージには、business-central.wardashbuilder.warkie-server.war という 3 つの Web アプリケーションアーカイブが展開された形式で含まれています。これらのフォルダーの名前を変更して、.war 拡張子を削除します。
  2. これらのフォルダーを、$TOMCAT_DIR/webapps フォルダー直下にコピーします。

    これにより、$TOMCAT_DIR/webapps/business-central$TOMCAT_DIR/webapps/dashbuilder$TOMCAT_DIR/webapps/kie-server という 3 つの展開された形式のフォルダーが存在することになります。

    注記

    $TOMCAT_DIR は、ご使用の web サーバーがあるホームディレクトリーを意味します。web サーバーのホームディレクトリーへの実際のパスに置き換えてください (例: /home/john/jboss-ews-2.1/tomcat7/)。

  3. Red Hat JBoss BPM Suite Core Engine ファイルアーカイブのコンテンツを、必要なライブラリーをコピーできる一時的な場所に展開します。展開後には、展開されたフォルダーと lib フォルダー下にすべてのコア Red Hat JBoss BPM Suite ライブラリーが含まれるようになります。
  4. トランザクションマネージャーをインストールします。

    警告

    以下のセクションでは、トランザクションマネージャーである Bitronix の設定について説明しています。これは Red Hat では正式にサポートされていません。

    以下のトランザクションマネージャー jar ライブラリーを lib フォルダーから $TOMCAT_DIR/lib/ ディレクトリーにコピーします。これらの JAR は jboss-bpmsuite-VERSION-deployable-generic.zip および jboss-bpmsuite-VERSION-engine.zip で入手できます。

    • btm-VERSION.jar
    • btm-tomcat55-lifecycle-VERSION.jar
    • h2-VERSION.jar
    • jta-VERSION.jar
    • slf4j-api-VERSION.jar
    • slf4j-jdk14-VERSION.jar

    さらに、以下のライブラリーをダウンロードし、$TOMCAT_DIR/lib/ フォルダーにコピーします (javax.security.jacc-api.jar)。Valve の設定を TOMCAT_HOME/conf/server.xml にある <host> 要素の最後の Valve 定義としてコピーします。

    <Valve className="org.kie.integration.tomcat.JACCValve" />
  5. ドライバーをデータベースにインストールします。

    関連するデータベースドライバーが含まれる JAR ファイルを $TOMCAT_DIR/lib/ にコピーします。

    組み込みの H2 データベースへのドライバー

    組み込みの H2 データベースを使用している場合は、ドライバーは business-central/WEB-INF/lib/ にあります。

  6. トランザクションマネージャー設定ファイルを $TOMCAT_DIR/conf/ に作成します。

    • btm-config.properties

      bitronix.tm.serverId=tomcat-btm-node0
      bitronix.tm.journal.disk.logPart1Filename=${btm.root}/work/btm1.tlog
      bitronix.tm.journal.disk.logPart2Filename=${btm.root}/work/btm2.tlog
      bitronix.tm.resource.configuration=${btm.root}/conf/resources.properties
    • resources.properties (resource.ds1.uniqueName は後で Tomcat リソース定義で使用されるデータソース名を定義します。この値を覚えておいてください)

      ご使用の環境に一致するよう、以下の定義の値を変更してください。

      例2.1 H2 データソース定義

      resource.ds1.className=bitronix.tm.resource.jdbc.lrc.LrcXADataSource
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=10
      resource.ds1.maxPoolSize=20
      resource.ds1.driverProperties.driverClassName=org.h2.Driver
      resource.ds1.driverProperties.url=jdbc:h2:file:~/jbpm
      resource.ds1.driverProperties.user=sa
      resource.ds1.driverProperties.password=
      resource.ds1.allowLocalTransactions=true

      例2.2 MySQL 5.5 データソース定義

      resource.ds1.className=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.URL=jdbc:mysql://localhost:3306/sampledb
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true

      例2.3 DB2 タイプ 4 のデータソース定義

      resource.ds1.className=com.ibm.db2.jcc.DB2Driver
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.URL=jdbc:db2://localhost:50000/sampledb
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true

      例2.4 Oracle データソース定義

      resource.ds1.className=oracle.jdbc.xa.client.OracleXADataSource
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.URL=jdbc:oracle:thin:@//localhost:1521/bpms
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true

      例2.5 Microsoft SQL サーバーのデータソース定義

      resource.ds1.className=com.microsoft.sqlserver.jdbc.SQLServerDriver
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.URL=jdbc:sqlserver://localhost:1433;databaseName=bpms;
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true

      例2.6 PostgreSQL データソース定義

      resource.ds1.className=org.postgresql.xa.PGXADataSource
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.serverName=localhost
      resource.ds1.driverProperties.databaseName=bpm641tomcat
      resource.ds1.driverProperties.portNumber=5432
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true
  7. コンテナの起動および停止時に Bitronix を起動および停止するため、$TOMCAT_DIR/conf/server.xml でトランザクションマネージャーリスナーを設定します。

    以下の要素を最後の <Listener> 要素として <Server> 要素に追加します。

    <Listener className="bitronix.tm.integration.tomcat55.BTMLifecycleListener" />
  8. btm.root システムプロパティーと bitronix 設定ファイルが置かれる場所を定義します。

    $TOMCAT_DIR/bin/ 内に、以下の内容が含まれる読み取り可能な setenv.sh ファイルを作成します。

    CATALINA_OPTS="-Xmx512M -XX:MaxPermSize=512m -Djava.security.auth.login.config=$CATALINA_HOME/webapps/business-central/WEB-INF/classes/login.config -Dbtm.root=$CATALINA_HOME -Dbitronix.tm.configuration=$CATALINA_HOME/conf/btm-config.properties -Dorg.jbpm.designer.perspective=RuleFlow -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry -Dorg.jboss.logging.provider=jdk"

    git リポジトリーの ssh clone が機能するには、java.security.auth.login.config プロパティーを設定する必要があります。

    注記

    -XX:MaxPermSize=512m JVM プロパティーは、JDK 6 および 7 のみに有効で、JDK 8+ には 有効ではありません

    Microsoft Windows システムの Tomcat

    Microsoft Windows システムでは、ファイルコンテンツの $CATALINA_HOME の値を同等の環境変数名に置き換えるか、以下の例のように絶対パスを使用して setenv.bat に値を追加します。

    set "CATALINA_OPTS=-Xmx512m -XX:MaxPermSize=512m -Djava.security.auth.login.config=C:\apache-tomcat\webapps\business-central\WEB-INF\classes\login.config -Dbtm.root=C:\apache-tomcat -Dbitronix.tm.configuration=C:\apache-tomcat\conf\btm-config.properties -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry"

2.3.2.2. Red Hat JBoss Web Server 2.1 (Tomcat 7) 用の Business Central の設定

以下の手順に従って、Business Central を設定します。

  1. Valve を設定して、Tomcat のユーザー設定が Business Central の Web アプリケーションでロードできるようにします。

    1. $TOMCAT_DIR/conf/tomcat-users.xml でユーザーとロールを定義します。Business Central では、ユーザーが adminanalyst として指定されたロールを持つ必要があることに注意してください (ユーザーおよびロール定義の詳細は、Tomcat 7 のドキュメントを参照してください)。

      重要

      すでにあるロールやグループと選択したユーザー名が 競合しない ようにしてください。

      たとえば、admin と呼ばれるロールがある場合に、admin という名前のユーザーは作成するべきでは ありません

      以下のプログラム一覧は、admin および analyst ロールを追加し、bpmsadmin というユーザーにこれらのロールを割り当てる方法の例です。

      <role rolename="admin"/>
      <role rolename="analyst" />
      <user username="bpmsadmin" password="P@ssw0rd" roles="admin,analyst"/>
    2. 展開された jboss-bpmsuite-VERSION-engine.zipから kie-tomcat-integration-VERSION.jar$TOMCAT_DIR/lib/ に移動します (コピーはしないでください)。
    3. $TOMCAT_DIR/webapps/business-central/WEB-INF/lib/ にある jboss-jaxb-api-VERSION.jar$TOMCAT_DIR/lib/ にコピーします。
  2. 基盤の H2 データベースが提供するデフォルト以外のデータソースを使用している場合は、永続性を設定する必要があります。デフォルトの H2 データベースを使用している場合は、これ以降の手順を省略できます。

    この手順では、MySQL オプション向けに定義済みである Bitronix の resources.properties ファイルの uniqueName=jdbc/jbpm プロパティーで定義された JNDI 名 jdbc/myDatasource を用いてデータソースを設定します。

    1. business-central/META-INF/context.xml 内の <Resource> 要素のデータソース JNDI 名 を置き換えます。uniqueName 属性は resources.properties で設定された resource.ds1.uniqueName プロパティーになります。

      <Resource name="jdbc/myDatasource" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource"/>
    2. business-central/WEB-INF/web.xml にて、<res-ref-name> 要素のデータソース JNDI 名を使用するデータソース名に置き換えます。

      <resource-ref>
        <description>Console DS</description>
        <res-ref-name>jdbc/myDatasource</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
    3. business-central/WEB-INF/classes/META-INF/persistence.xml を変更します。

      H2 以外のデータベースを使用している場合、このファイルでデータベースの Hibernate dialect の名前を変更します。以下のコードは、persistence.xml の元のデータベース情報を示しています。

      <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>

      この情報は次のように更新できます (以下は MySQL データベースの場合)。

      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
      注記

      DB2 のダイアレクトは org.hibernate.dialect.DB2Dialect になります。AS/400 上の DB2 の場合は org.hibernate.dialect.DB2400Dialect、Oracle は org.hibernate.dialect.Oracle10gDialect、Microsoft SQL Server は org.hibernate.dialect.SQLServerDialect になります。

    4. business-central/WEB-INF/classes/META-INF/persistence.xml ファイルを変更して、JBoss BPM Suite プロセスエンジンが新しいデータベースを使用できるようにします。

      以下のコードは、persistence.xml の元のデータソース情報を示しています。

      <jta-data-source>java:comp/env/jdbc/jbpm</jta-data-source>

      この値を、以前に定義したデータソースに変更します。

      <jta-data-source>java:comp/env/jdbc/myDatasource</jta-data-source>
  3. これで JBoss Web Server を起動し、Business Central にログインできるようになります。

    1. $TOMCAT_HOME/bin ディレクトリーで startup.sh を実行します。

      ./startup.sh
    2. Web ブラウザーで http://localhost:8080/business-central にアクセスします。
    3. 以前に tomcat-users.xml ファイルで定義したユーザー名とパスワードを使ってログインします。

2.3.2.3. Intelligent Process Server for Red Hat JBoss Web Server 2.0 (Tomcat 7) へのトランザクションマネージャーの設定

Business Central の設定後、Intelligent Process Server (kie-server) のデータソースの設定も必要です。設定しないと、Intelligent Process Server は JNDI jboss/datasources/ExampleDS の配下のデータソースを検索しようとします。この JNDI jboss/datasource/ExampleDS は Red Hat JBoss EAP のみにデフォルトで登録されており、Apache Tomcat には 登録されていません

注記

jBPM 拡張が有効になっている場合には、Intelligent Process Server にはデータソース のみ が必要です。この拡張は、デフォルトで有効になっています。

Intelligent Process Server は専用のデータベースが必要です。そのため、Business Central に登録されたデータソースを再利用できなくなっています。kie-server 専用のデータソースを追加するには、以下を実行します。

  1. 適切なデータベースのドライバーが含まれた JAR ファイルを $TOMCAT_DIR/lib/ にコピーします。H2 データベースを使用する場合は、この手順は Business Central のインストール時にすでに実行されています。
  2. データソースを resources.properties ファイルに追加します。基盤のデータベースにより、実際の値は異なる点に注意してください。

    resource.ds2.className=bitronix.tm.resource.jdbc.lrc.LrcXADataSource
    resource.ds2.uniqueName=jdbc/kieserver
    resource.ds2.minPoolSize=10
    resource.ds2.maxPoolSize=20
    resource.ds2.driverProperties.driverClassName=org.h2.Driver
    resource.ds2.driverProperties.url=jdbc:h2:file:~/bpm630tomcat7kieserver
    resource.ds2.driverProperties.user=sa
    resource.ds2.driverProperties.password=
    resource.ds2.allowLocalTransactions=true
  3. 新しいリソースを kie-server/META-INF/context.xml に登録します。

    <Resource name="jdbc/kieserver"
              uniqueName="jdbc/kieserver"
              auth="Container"
              removeAbandoned="true"
              factory="bitronix.tm.resource.ResourceObjectFactory"
              type="javax.sql.DataSource" />
  4. $TOMCAT_DIR/bin/setenv.sh ファイルを更新します。kie-server に以下のデータソース関連のプロパティーを追加します。

    -Dorg.kie.server.persistence.ds=java:comp/env/jdbc/kieserver
    -Dorg.kie.server.persistence.tm=org.hibernate.service.jta.platform.internal.BitronixJtaPlatform

2.3.2.4. Red Hat JBoss Web Server 2.0 (Tomcat 7) への Dashbuilder の設定

注記

Red Hat JBoss Web Server 上で Dashbuilder を設定する前に、Business Central が「Red Hat JBoss Web Server 2.1 (Tomcat 7) 用の Business Central の設定」の説明にあるように正常にインストールされ、起動することを確認してください。Dashbuilder は履歴ログデータベース表を必要とし、これを提供できるのは Business Central のみであるためです。以下のステップを実行する前にこれらの表がデータベース内に存在しない場合は、初期化エラーが発生する可能性があります。

Red Hat JBoss Web Server 上で Dashbuilder を設定するには、以下の手順に従います。

  1. $TOMCAT_DIR/conf/tomcat-users.xml でユーザーとロールを定義します。Dashbuilder では ユーザーが adminanalyst として指定されたロールを持つ必要があることに注意してください。これらのユーザーを既に Business Central で定義している場合は、再度定義する必要はありません。
  2. $TOMCAT_DIR/conf/server.xml ファイルの以下の行をコメント解除して、Dashbuilder と Business Central の間のシングルサインオンを有効にします。

    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
  3. Business Central の設定と同様に、デフォルトおよび統合された H2 以外のデータベースを使用している場合は、永続性を設定する必要があります。

    ここでは、Bitronix の resources.properties ファイルの uniqueName=jdbc/jbpm で定義された JNDI 名 jdbc/dashbuilderDS を使ってデータソースを設定します。

    1. dashbuilder/META-INF/context.xml 内の <Resource> 要素のデータソース JNDI 名 を置き換えます。uniqueName 属性は resources.properties で設定された resource.ds1.uniqueName プロパティーになります。

      <Resource name="jdbc/dashbuilderDS" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource"/>
      注記

      データベースによっては、ここで他のプロパティーを定義する必要があることもあります。たとえば、Oracle 環境ではこのエントリーは次のようになります。

      <Resource name="jdbc/jbpm" uniqueName="jdbc/jbpm" auth="Container"  removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource" username="username" password="password"  driverClassName="oracle.jdbc.xa.client.OracleXADataSource" url="jdbc:oracle:thin:YOUR-URL:1521:YOUR-DB" maxActive="8" />
    2. dashbuilder/WEB-INF/web.xml にて、<res-ref-name> 要素のデータソース JNDI 名を使用するデータソース名に追加ます。

      <resource-ref>
        <description>Dashboard Builder Datasource</description>
        <res-ref-name>jdbc/dashbuilderDS</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
      </resource-ref>
    3. dashbuilder/META-INF/context.xml でトランザクションファクトリーを定義します。

      <Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory"/>
    4. <session-factory> 要素の dashbuilder/WEB-INF/etc/hibernate.cfg.xml にあるデータソース JNDI 名を更新します。

      <property name="connection.datasource">java:/comp/env/jdbc/dashbuilderDS</property>
  4. Java Web サーバーを再起動し、これらの変更を適用します。再起動したら、Business Central 内からアクセスするか、直接 http://localhost:8080/dashbuilder にアクセスして Dashbuilder を使用します。

第3章 永続性の設定

3.1. Business Central の永続性の設定

Red Hat JBoss BPM Suite は、Java Naming and Directory Interface (JNDI) 名の java:jboss/datasources/ExampleDS のサンプルデータソースを使用するように設定されています。このサンプルのデータソースは、実稼動環境には適していません。

データソースを変更するには、以下を実行します。

  1. データベースを準備します。

    1. カスタマーポータルの 製品ダウンロード に移動して、Red Hat JBoss BPM Suite を選択します。
    2. Red Hat JBoss BPM Suite 6.4.0 Supplementary Tools をダウンロードします。
    3. jboss-brms-bpmsuite-6.4-supplementary-tools/ddl-scripts/tmp/ddl などに展開します。
    4. 以下のように、データベースの DDL スクリプトを使用するデータベースにインポートします。

      psql jbpm < /tmp/ddl/postgresql/postgresql-jbpm-schema.sql
  2. 以下のコマンドを実行して、Java Database Connectivity (JDBC) ドライバーをアプリケーションプラットフォームにインストールします。

    ./jboss-cli.sh (no need to actually connect to the server)
    module add --name=org.postgresql --resources=/path/to/postgresql-jdbc-driver.jar --dependencies=javax.api,javax.transaction.api

    JDBC ドライバーのデプロイメントに関する情報は、『Red Hat JBoss Enterprise Application Platform 管理および設定ガイド』「コアモジュールとしての JDBC ドライバーのインストール」を参照してください。

  3. 以下のように、実行中のサーバーに接続して、ドライバーとデータソースを作成します。

    ./jboss-cli.sh --connect --controller=HOST:PORT
    /subsystem=datasources/jdbc-driver=postgresql:add(driver-name=postgresql,driver-module-name=org.postgresql,driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource)
    xa-data-source add --driver-name=postgresql --password=SOME_PASSWORD --user-name=SOME_USERNAME --xa-datasource-properties=url=jdbc:postgresql://localhost:5432/jbpm --name=PostgresqlDS --jndi-name=java:jboss/datasources/PostgresqlDS
    注記

    JBoss BPM Suite の永続サービスで分散 (XA) データソースを常に使用します。

    一般的に、単一のトランザクションで複数のリソースが関連する場合には、XA データソースを使用します。たとえば、Java Messege Service (JMS) エグゼキューター (非同期タスクが含まれる場合にデフォルトで使用) または Quartz ベースのタイマーを使用する場合は、XA データソースを使用する必要があります。

  4. Business Central にデータソースを登録します。

    1. EAP_HOME/standalone/deployments/business-central.war/WEB-INF/classes/META-INF/persistence.xml を開きます。
    2. <jta-data-source> タグの場所を特定し、データソースの JNDI 名に変更します。

      <jta-data-source>java:jboss/datasources/PostgresqlDS</jta-data-source>
    3. 以下のように、<properties> タグの場所を特定し、hibernate.dialect プロパティーを変更します。

      <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />

3.2. Dashbuilder の永続性の設定

Dashbuilder は Business Central の設定により異なります。Business Central は 「Business Central の永続性の設定」に従い、設定します。

重要

Unix のようなシステムでは、MySQL lower_case_table_names のデフォルト値が 0 から 1 に上書きされます (大文字と小文字の区別あり)。Red Hat JBoss BPM Suite KPI クエリーは小文字で記述されますが、テーブル名は大文字です。lower_case_table_names プロパティーを変更することで、後で例外が発生するのを防ぎます。

Dashbuilder のデータベースを変更するには以下を実行します。

  1. データベースを準備します。

    1. カスタマーポータルの 製品ダウンロード に移動して、Red Hat JBoss BPM Suite を選択します。
    2. Red Hat JBoss BPM Suite 6.4.0 Supplementary Tools をダウンロードします。
    3. jboss-brms-bpmsuite-6.4-supplementary-tools/ddl-scripts/tmp/ddl などに展開します。
    4. 以下のように、データベースの DDL スクリプトを使用するデータベースにインポートします。

      psql jbpm < /tmp/ddl/postgresql/postgres-dashbuilder-schema.sql
  2. Java Database Connectivity (JDBC) ドライバーをアプリケーションプラットフォームにインストールします。詳しい情報は、「Business Central の永続性の設定」を参照してください。
  3. EAP_HOME/standalone/configuration/standalone.xml に新規データソースを作成します。詳しい情報は、「Business Central の永続性の設定」を参照してください。
  4. Dashbuilder のデータソースを登録します。

    1. EAP_HOME/standalone/deployments/dashbuilder.war/WEB-INF/jboss-web.xml を開きます。
    2. 以下のように、<jndi-name> をデータソースの JNDI 名を変更します。

      <jndi-name>java:jboss/datasources/PostgresqlDS</jndi-name>

3.3. Intelligent Process Server の永続性の設定

Intelligent Process Server のデータベースを変更する場合には、Business Central および Dashbuilder アプリケーションとは異なるデータベースを使用することがベストプラクティスです。Intelligent Process Server のデータベースを変更するには、以下を実行します。

  1. EAP_HOME/standalone/configuration/standalone.xml を開き、<system-properties> タグの場所を特定します。
  2. 以下のプロパティーを追加します。

    • org.kie.server.persistence.ds: データソースの JNDI 名
    • org.kie.server.persistence.dialect: データベースの hibernate dialect

      以下に例を示します。

      <system-properties>
          <property name="org.kie.server.repo" value="${jboss.server.data.dir}"/>
          <property name="org.kie.example" value="true"/>
          <property name="org.jbpm.designer.perspective" value="full"/>
          <property name="designerdataobjects" value="false"/>
          <property name="org.kie.server.user" value="bpmsUser"/>
          <property name="org.kie.server.pwd" value="bpms123!"/>
          <property name="org.kie.server.location" value="http://localhost:8080/kie-server/services/rest/server"/>
          <property name="org.kie.server.controller" value="http://localhost:8080/business-central/rest/controller"/>
          <property name="org.kie.server.controller.user" value="kieserver"/>
          <property name="org.kie.server.controller.pwd" value="kieserver1!"/>
          <property name="org.kie.server.id" value="local-server-123"/>
      
          <!-- Data source properties. -->
          <property name="org.kie.server.persistence.ds" value="java:jboss/datasources/KieServerDS"/>
          <property name="org.kie.server.persistence.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
      </system-properties>

3.4. トラブルシューティング

IBM DB2 データベースは、Dashbuilder との間で問題が発生する

Business Central の基盤データソースとして、IBM DB2 データソースを使用する場合は、データベースのページサイズを増やします。デフォルトのページサイズは 4 kB ですが、Dashbuilder のテーブルのコラムサイズには十分ではありません。

データベースの作成時に、ページサイズを強制的に 16384 に設定します。

例3.1 ページサイズの調節

CREATE DATABASE dashb PAGESIZE 16384

Red Hat JBoss BPM Suite を初めて実行する前に、基盤データベースのページサイズを増やす必要があります。

Dashbulder では英語以外の文字は表示されない

UTF 8 を使用して英語以外の文字を表示するには、Dashbuilder のデータベースのレベルでエンコーディングを正しく機能するように設定します。たとえば、MySQL で以下をサーバー設定ファイルを追加します。

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
Microsoft SQL Server でデッドロックが発生
Microsoft SQL Server を使用する場合は、データベースのトランザクションが正しく分離されるように設定してください。そのように設定しない場合には、デッドロックになってしまう可能性があります。推奨の設定は、以下の文字列を入力して、ALLOW_SNAPSHOT_ISOLATION および READ_COMMITTED_SNAPSHOT をオンにしてください。
ALTER DATABASE <DBNAME> SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE <DBNAME> SET READ_COMMITTED_SNAPSHOT ON
Oracle 11 が原因なしに警告を複数回発行する

Oracle 11 をデータソースとして使用する場合に、適切な Business Central アクティビティーが実行されずに複数の警告 (WARN) メッセージがログに作成されます。これは想定通りの動作です。これらのメッセージをオフにするには、standalone.xml ファイルのロガーの org.hibernate.loader カテゴリーレベルを ERROR に設定します。

<logger category="org.hibernate.loader">
  <level name="ERROR"/>
</logger>
Vacuumlo により Red Hat JBoss BPM Suite CLOB データの内有効で大きいオブジェクトが検出される

vacuumlo ユーティリティープロジェクトにより、PostgreSQL データベースから大きいオブジェクトが削除され、それらのオブジェクトの OID は oid または lo のデータコラムで利用できなくなります。Red Hat JBoss BPM Suite では、text コラムが大きいオブジェクトも保持します。vacuumlo は oid または lo 以外のコラムを分析しないので、有効なオブジェクトは削除される可能性があります。

有効で大きいオブジェクトが vacuumlo で削除されないようにするには、postgresql-jbpm-lo-trigger-clob.sql スクリプトを実行します。

  1. Red Hat カスタマーポータル から Red Hat JBoss BPM Suite 6.4.2 Supplementary Tools をダウンロードします。このスクリプトは、ddl-scripts/postgresql/ ディレクトリーに含まれます。
  2. スクリプトを実行するユーザーが Red Hat JBoss BPM Suite テーブルの TRIGGER の権限があり、PL/pgSQL のプロシージャー言語を使用できるように USAGE 権限が指定されていることを確認します。
  3. スクリプトを実行してトリガーと jbpm_active_clob テーブルを作成します。

    \i postgresql-jbpm-lo-trigger-clob.sql

これらの手順を実行した後に、トリガーにより jbpm_active_clob が維持され、CLOB 参照は vacuumlo で削除できます。

第4章 ロールおよびユーザー

4.1. ロールの定義

サーバーを起動し、Business Central へログインする前に、ユーザーアカウントを作成する必要があります。本項では、Red Hat JBoss BPM Suite で使用されるユーザーロールについて説明します。

  • admin: admin ロールを持つユーザーは、アプリケーションの管理者です。管理者は、ユーザーやリポジトリー (作成およびクローン) を管理し、アプリケーションに必要な変更を加えるための完全アクセスがあります。管理者はシステム内のすべてのエリアにアクセスできます。
  • developer: 開発者はほとんどの機能にアクセスでき、ルール、モデル、プロセスフロー、フォーム、およびダッシュボードを管理できます。アセットリポジトリーを管理でき、プロジェクトの作成、構築、およびデプロイが可能です。また、Red Hat JBoss Developer Studio を使用してプロセスを表示できます。developer ロールは、新規リポジトリーの作成やクローンなど、管理機能の一部のみを使用できません。
  • analyst: analyst ロールは、プロジェクトをモデル化するため、すべての高レベル機能へアクセスできますが、analyst ロールを持つユーザーは AuthoringAdministration へアクセスできません。また、DeploymentArtifact Repository ビューなど、開発者を対象とする低レベル機能の一部にもアクセスできませんが、Project Editor を使用すると、Build & Deploy ボタンを使用できます。
  • user: ユーザーまたはビジネスユーザーは、特定プロセスを操作するために使用されるビジネスタスクリストの作業を行います。このロールを持つユーザーは、ダッシュボードへのアクセスやプロセスの管理が可能です。
  • manager: マネージャーはシステムを閲覧し、ビジネスプロセスに関する統計、ビジネスプロセスのパフォーマンス、ビジネス指標、およびシステムのその他のレポート内容に関心があります。このロールを持つユーザーは BAM にのみアクセスできます。
注記

上記のロールは、ユーザー作成のプロセス中に入力します。

4.2. ユーザーの作成

新規ユーザーの追加を開始するには、Unix システムでは add-user.sh スクリプトを、Windows システムでは add-user.bat ファイルを EAP bin ディレクトリーから実行する必要があります。

手順: 新規ユーザーの作成

  1. EAP bin ディレクトリーに移動します。
  2. Unix システムでは、以下のコマンドを実行します。

    ./add-user.sh

    Windows システムでは以下を実行します。

    ./add-user.bat
  3. b を入力して、アプリケーションユーザーを選択し、Enter を押します。
  4. Enter を押して、デフォルトのレルム (ApplicationRealm) を確定します。
  5. ユーザー名入力のプロンプトが表示されたら、ユーザー名を入力し (例: helloworlduser)、確認します。

    重要

    すでにあるロールやグループと選択したユーザー名が 競合しない ようにしてください。

    たとえば、admin と呼ばれるロールがある場合に、admin という名前のユーザーは作成するべきでは ありません

  6. パスワード入力のプロンプトが表示されたらユーザーのパスワードを入力し (例: Helloworld@123)、再入力します。

    注記

    パスワードは 8 文字以上で、アルファベットの大文字と小文字 (A-Z、a-z)、1 文字以上の数字 (0-9)、および 1 文字以上の特殊文字 (~ ! @ # $ % ^ * ( ) - _ + =) が含まれる必要があります。

  7. ロール入力のプロンプトが表示されたら、ユーザーが必要とするロールをコンマ区切りのリストで入力します (「ロールの定義」 を参照)。

    Business Central のユーザーには少なくとも analyst ロールが必要で、Dashboard Builder のユーザーには admin ロールの割り当てが必要となります。ロールはコンマ区切りリストで入力する必要があります。

  8. ユーザーを追加することを確認します。
  9. 次のプロンプトで yes を入力してクラスタリングを有効にします。

第5章 テスト用のインストール

5.1. サーバーの起動

注記

Red Hat Java Web Server に汎用デプロイ可能パッケージを使用して Red Hat JBoss BPM Suite をインストールした場合は、「汎用デプロイ可能バンドルのインストール」にサーバー起動の手順が含まれているため、以下の説明に従う必要はありません。

Red Hat JBoss BPM Suite サーバーが Red Hat JBoss EAP にインストールされると、スタンドアロン または ドメイン モードで実行することができます。

5.1.1. スタンドアロンモード

注記

Red Hat JBoss EAP のデプロイ可能な ZIP パッケージを選択した場合には、設定手順は「Red Hat JBoss BPM Suite の Red Hat JBoss Enterprise Application Platform へのインストール」に記載されています。

デフォルトの起動スクリプト standalone.sh は、パフォーマンス重視で最適化されています。パフォーマンスモードでサーバーを実行する場合は、以下の手順に従います。

  1. コマンドラインで EAP_HOME/bin/ ディレクトリーに移動します。
  2. Unix 環境 の場合は以下を実行します。

    ./standalone.sh

    Windows 環境の場合は以下を実行します。

    ./standalone.bat

5.1.2. ドメインモード

「Red Hat JBoss BPM Suite インストーラーのインストール」を参照して JAR インストーラーを使用した場合には、Red Hat JBoss BPM Suite はすでにドメインモードで実行されるように設定されています。

注記

Red Hat JBoss EAP のデプロイ可能な ZIP パッケージを選択した場合には、ドメインモードの設定手順は「Red Hat JBoss BPM Suite の Red Hat JBoss Enterprise Application Platform へのインストール」に記載されています。

Red Hat JBoss BPM Suite をドメインモードで起動するには、以下の手順を実行します。

  1. コマンドラインで EAP_HOME/bin/ ディレクトリーに移動します。
  2. Unix 環境 の場合は以下を実行します。

    ./domain.sh

    Windows 環境の場合は以下を実行します。

    ./domain.bat

5.2. セキュリティーマネージャーの有効化

Red Hat JBoss BPM Suite には標準のセキュリティーポリシーが同梱されています。このポリシーは kie.policy ファイルに含まれます。このファイルの場所はお使いのディストリビューションにより異なります。Java Security Manager の Kie Policy を使用するには、アプリケーションサーバーでセキュリティーマネージャーを有効にする必要があります。Red Hat JBoss EAP 6.x 以降では、java.security.policy で指定した有効な security.policy ファイルと、kie.security.policy で指定した有効な kie.policy ファイルを使用して起動します。

埋め込みモードでルールおよびプロセスエンジンを使用する場合でも、これはすべてのコンテナーに適用されます。

注記

インストーラーを使用して Red Hat JBoss BPM Suite をインストールした場合は、セキュリティーポリシーを適用するオプションはインストール時に提供されています。インストーラーを使用してセキュリティーポリシーを適用すると、security.policykie.policyJBOSS_HOME/bin フォルダーに含まれるように standalone.conf ファイルが変更されます。これらのポリシーは、standalone.sh を使用すると、ランタイム時に有効化されます。

JBoss EAP 6 でのセキュリティーマネージャーの有効化

Red Hat JBoss BPM Suite には、セキュリティー重視で最適化されている standalone-secure.sh スクリプトも別途含まれています。このスクリプトによって、既知の脆弱性を保護するセキュリティーポリシーがデフォルトで適用されます。

standalone-secure.sh スクリプトは、Red Hat JBoss EAP のデプロイ可能なパッケージを使用した場合のみ利用できます。

重要

実稼動環境では standalone-secure.sh スクリプトの使用を推奨します。

セキュリティーマネージャーを使用すると、パフォーマンスが著しく低下することに注意してください。セキュリティーとパフォーマンスのバランスは、個々の状況を判断して決定する必要があります。「Java Security Manager とパフォーマンス管理」を参照してください。

サーバーをセキュアモードで実行する場合は、以下の手順に従います。

  1. コマンドラインで EAP_HOME_/bin/ ディレクトリーに移動します。
  2. Unix 環境 の場合は以下を実行します。

    ./standalone-secure.sh

    Windows 環境の場合は以下を実行します。

    ./standalone-secure.bat

JBoss EAP 7 でのセキュリティーマネージャーの有効化

Red Hat JBoss EAP バージョン 7 を使用する場合は standalone-secure.sh スクリプトは利用できません。セキュリティーマネージャーを有効化するには -secmgr および -Dkie.security.policy=./kie.policy フラグを指定してサーバーを起動します。以下に例を示します。

./standalone.sh -secmgr -Dkie.security.policy=./kie.policy

Red Hat JBoss EAP 7 での Java Security Manager に関する詳細は、『Red Hat JBoss Enterprise Application Platform: How to Configure Server Security』「Java Security Manager」を参照してください。

Java Security Manager とパフォーマンス管理

前述のとおり、Red Hat JBoss BPM Suite で MVEL スクリプトの評価をサンドボックス化できるように Java Security Manager (JSM) を有効にすると、高負荷環境でのパフォーマンスが低下します。Red Hat JBoss BPM Suite アプリケーションをデプロイする場合は、環境およびパフォーマンスマーカーに留意する必要があります。以下のガイドラインを使用して、セキュアで高パフォーマンスな Red Hat JBoss BPM Suite アプリケーションをデプロイしてください。

  • パフォーマンスが重要な高負荷の環境では、他のシステムで開発され、適切に評価されたアプリケーションのみをデプロイすることが推奨されます。また、このようなシステムでは、analyst のロールを持つユーザーを作成しないことが推奨されます。このような対策が取られた場合には、パフォーマンスが低下しないので JSM を無効にした状態のままでも安全です。
  • 負荷が高くないテストおよび開発環境や、ルールやプロセスのオーサリングが外部ネットワークに公開される環境では、MVEL の評価を適切にサンドボックス化してセキュリティーを強化するため、JSM を有効にすることが推奨されます。

JSM が無効な状態で、analyst ロールを持つユーザーに Business Central コンソールへのログインを許可することは安全でないため、推奨されません。

5.3. Business Central へのログイン

サーバーが正常に起動したら、Business Central へログインします。

  1. Web ブラウザーで http://localhost:8080/business-central にアクセスします。ドメイン名から実行するようユーザーインターフェースが設定されている場合は、http://www.example.com:8080/business-central のように localhost をドメイン名に置き換えます。
  2. インストール中に作成されたユーザー認証情報を使用してログインします (例: ユーザー名 helloworlduser とパスワード Helloworld@123)。
トラブルシューティング
Loading…​ 画面が消えない

Business Central へのログイン時に、Loading…​ 画面が消えない場合があります。これは、Business Central が使用する Server Sent Events (SSE) とお使いのファイアウォールが干渉しているために発生する可能性があります。

この問題を回避するには、Business Central で使用する SSE を無効にします。

  1. errai.bus.enable_sse_support=false を含む ErraiService.properties ファイルを作成します。
  2. このファイルを INSTALL_PATH/standalone/deployments/business-central.war/WEB-INF/classes/ にコピーします。
  3. business-central.war を再デプロイします。

2 種類の Red Hat JBoss BPM Suite クラスターを作成することができます。

デザインタイムクラスタリング

クラスター内の Red Hat JBoss BPM Suite の全ノードを使用して、プロセス、ルール、データオブジェクトなど Git リポジトリーにアセットを共有できます。開発プロセス時に単一障害点 (SPOF) や高可用性に関して懸念がある場合に適していいます。デザインタイムクラスタリングは、Apache HelixApache ZooKeeper を活用します。

デザインタイムクラスタリングは、ランタイムの実行には必要ありません。

ランタイムクラスタリング
Red Hat JBoss EAP など、コンテナーのクラスタリング機能を使用できます。ランタイムクラスタリングでは Apache Helix または Apache ZooKeeper ノードを管理する必要はありません。アプリケーションでタイマーを使用する場合は Quartz Enterprise Job Scheduler をサポートします。
注記

Websphere Application Server を使用する場合は、Quartz の設定は必要ありません。代わりにクラスタリングされた EJB タイマーを使用します。詳しい情報は「How to setup BPM Suite Timers to work in Websphere Application Server clustering」のサポート記事を参照してください。

Red Hat JBoss BPM Suite の以下のコンポーネントをクラスター化できます。

  • デザインタイムクラスター

    • Git リポジトリー: ビジネスアセットを保持する仮想ファイルシステム (VFS) リポジトリー
  • ランタイムクラスター

    • Intelligent Process Server または web applications: Web アプリケーションノードはランタイムデータを共有する必要があります。

      Intelligent Process Server のクラスタリングに関する説明は、「Intelligent Process Server のクラスタリング」またはコンテナーのクラスタリングに関するドキュメントを参照してください。

    • バックエンドデータベース: プロセスインスタンス、KIE セッション、履歴ログなど、状態データを含むデータベース

5.4. Git リポジトリーのクラスタリングメカニズム

Git リポジトリーをクラスタリングするには Red Hat JBoss BPM Suite は以下を使用します。

Apache Helix

クラスター内のノード全体でデータを同期、複製できるようにクラスター管理機能を提供します。Apache Helix クラスターは、Apache Zookeeper により管理されます。Apache Helix では、クラスターの定義、クラスターへのノードの追加、クラスターからのノードの削除、その他のクラスター管理タスクの実行が可能です。

追加情報:

  • Apache Helix は単一ノードのみに設定する必要があります。この設定は ZooKeeper により設定、分散されます。
  • Apache Helix クラスターは helix-admin.sh スクリプトで管理されます。コマンド一覧および Apache Helix のクラスターの別の管理方法については、「Apache Helix ドキュメント」を参照してください。
  • Apache Helix クラスターには 1 つだけコントローラーが必要ですが、全ノードを認識する必要があります。「Apache Helix コントローラー」のドキュメントと「Apache Helix アーキテクチャー」のドキュメントを参照してください。
Apache ZooKeeper

Apache Helix クラスターからのデータを同期、複製することができます。Apache ZooKeeper クラスターは アンサンブル と呼ばれ、サービスを利用するにはサーバーの大半が機能する状態でなければなりません。

ただし、アンサンブルは、どの種類のクラスタリングにも必要ではありません。Red Hat JBoss BPM Suite でデータを複製できるように、ZooKeeper のインスタンス 1 つのみが必要です。ZooKeeper のアンサンブルは、冗長性を提供し、ZooKeeper に障害が発生しないように保護します。

追加情報:

Apache Helix および Apache ZooKeeper の関係:

図5.1 Red Hat JBoss BPM Suite クラスターのスキーマ

3639

一般的なクラスタリング設定では以下を行います。

  1. Apache ZooKeeper および Apache Helix を使用してクラスターを設定します。これは、デザインタイムクラスタリングのみに必要です。
  2. Quartz テーブルでバックエンドデータベースを設定します。これは、タイマーを使用するプロセスにのみ必要です。
  3. コンテナーでクラスタリングを設定します。 『Red Hat JBoss BPM Suite インストールガイド』では、Red Hat JBoss EAP 6 向けのクラスタリングの説明のみ記載しています。

Maven リポジトリーのクラスタリング

さまざまな Business Central の操作により、Business Central の内部 Maven リポジトリーに JAR ファイルが公開されます。

このリポジトリーは、アプリケーションサーバーファイルシステムに通常のファイルとして存在するので、クラスター対応はありません。このフォルダーは、クラスター内のさまざまなノードとは同期されず、rsync などの外部ツールを使用して同期する必要があります。

外部同期ツールを使用する代わりに、各クラスターノードでシステムプロパティー org.guvnor.m2repo.dir を SAN または NAS を参照するように設定することができます。このような場合には、Maven リポジトリーフィルダーをクラスタリングする必要はありません。

5.5. Red Hat JBoss EAP のクラスタリング

クラスターモードで Red Hat JBoss BPM Suite をインストールするために、JAR インストーラーではサンプルの設定が提供されています。EAP 向けのデプロイ可能な ZIP でクラスタリングの設定をすることも可能です。

5.5.1. JAR インストーラーを使用したクラスタリング

注記

JAR インストーラーは、サンプル設定のみを提供します。プロジェクトのニーズに合わせて、設定を調節する必要があります。

「Red Hat JBoss BPM Suite インストーラーのインストール」に記載の JAR インストーラーを使用して、Red Hat JBoss BPM Suite の基本的なクラスタリング設定を行います。

自動設定では以下を作成します。

  • 3 つの ZooKeeper ノードとの ZooKeeper アンサンブル
  • Helix クラスター
  • Quartz データセンター 2 台 (マネージド 1 台、マネージド以外 1 台)

この Red Hat JBoss BPM Suite の設定には、EAP ノードが 2 つ含まれており、Maven リポジトリーを共有し、スケジュールされたタスクの連携に Quartz を使用し、business-central.wardashbuilder.war および kie-server.war をデプロイします。シナリオに適した設定にカスタマイズする方法、またはデプロイ可能な ZIP でクラスタリングを使用する方法は、「カスタム設定 (デプロイ可能な ZIP)」 およびお使いのコンテナークラスタリングのドキュメントを参照してください。

「インストーラーを使用した Red Hat JBoss BPM Suite のインストール」に説明されているインストールプロセスに従います。

  1. Configure runtime environment で、Install clustered configuration を選択して Next をクリックします。
  2. データベースの JDBC ベンダーを選択します。
  3. 適切なドライバーの JAR を指定します。

    • ファイルシステムで 1 つまたは複数のファイルを選択します。
    • 1 つまたは複数の URL を指定します。インストーラーにより、自動的にファイルがダウンロードされます。

    インストーラーにより、EAP_HOME/modules に JAR がコピーされ、適切な module.xml ファイルが作成されます。

    図5.2 JDBC ドライバーのセットアップ

    Configure JDBC provider and drivers
  4. Quartz で使用するデータベースにアクセスするための URL、ユーザー名、パスワードを入力します。

    インストーラーにより、以下が作成されます。

    • EAP_HOME/domain/configuration/quartz-definition.properties の Quartz 定義ファイル
    • EAP_HOME/domain/domain.xml の Quartz データソース 2 つ

      domain.xml ファイルを編集して設定をカスタマイズします。

      注記

      インストール時に、Quartz DDL スクリプトがこの手順で選択したデータベースで実行されます。このスクリプトにより、テーブルの追加など、Quartz の操作に必要な変更が加えられます。EAP_HOME/jboss-brms-bpmsuite-6.4-supplementary-tools/ddl-scripts でスクリプトを表示できます。変更の必要はありません。

      図5.3 Quartz データベース設定

      7215
  5. Next をクリックして、インストールを開始します。

    重要

    JAR インストーラーを使用する場合には、war アーカイブが EAP_HOME/standalone/deployments/ のアプリケーションから自動的に作成されます。そのため、インストール時にはアプリケーションが圧縮された状態、展開された状態の両方でストレージに存在するので追加の容量が必要になります。

    ZooKeeper インスタンス 3 つが EAP_HOME/jboss-brms-bpmsuite-6.4-supplementary-tools/zookeeper-onezookeeper-twozookeeper-three ディレクトリーに作成されます。

インストールの完了後、インストーラーからサーバーを起動しないでください。Apache Helix にクラスターノードと Apache ZooKeeper インスタンスを認識させ、クラスターを起動するには以下を実行します。

  1. EAP_HOME/jboss-brms-bpmsuite-6.4-supplementary-tools/helix-core に移動します。
  2. 以下の起動スクリプトを実行します。

    Unix システムの場合:

    ./startCluster.sh

    Windows の場合:

    ./startCluster.bat
  3. EAP_HOME/bin に移動します。
  4. 以下のスクリプトを実行して Red Hat JBoss EAP を起動します。

    Unix システムの場合:

    ./domain.sh

    Windows の場合:

    ./domain.bat

5.5.2. クラスターの起動

EAP_HOME/jboss-brms-bpmsuite-6.4-supplementary-tools/helix-corestartCluster.sh スクリプトは、クラスターを初期化して起動します。初期化されてから startCluster.sh を更に使用するとエラーが発生してしまいます。インストーラーで Red Hat JBoss BPM Suite クラスターをインストールした場合は各ファイルは以下の場所に存在します。

  • ZOOKEEPER_HOMEEAP_HOME/jboss-brms-bpmsuite-6.4-supplementary-tools/zookeeper-NUMBER に配置されます。
  • HELIX_HOMEEAP_HOME/jboss-brms-bpmsuite-6.4-supplementary-tools/helix-core に配置されます。

クラスターを起動するには、以下を実行します。

  1. 以下のように、ZooKeeper サーバーすべてを起動します。

    Unix システムの場合:

    ./ZOOKEEPER_HOME_ONE/bin/zkServer.sh start &
    ./ZOOKEEPER_HOME_TWO/bin/zkServer.sh start &
    ./ZOOKEEPER_HOME_THREE/bin/zkServer.sh start &

    Windows の場合:

    ZOOKEEPER_HOME_ONE/bin/zkServer.cmd start
    ZOOKEEPER_HOME_TWO/bin/zkServer.cmd start
    ZOOKEEPER_HOME_THREE/bin/zkServer.cmd start
  2. 以下のように、Helix コントローラーで ZooKeeper インスタンスが認識されるようにします。

    ./HELIX_HOME/bin/run-helix-controller.sh --zkSvr localhost:2181,localhost:2182,localhost:2183 --cluster bpms-cluster 2>&1 > /tmp/controller.log &
  3. EAP_HOME/bin に移動し、Red Hat JBoss EAP を起動します。

    Unix システムの場合:

    ./domain.sh

    Windows の場合:

    ./domain.bat
  4. Red Hat JBoss BPM Suite ノードにアクセスできます。たとえば、インストーラーを使用して Red Hat JBoss BPM Suite クラスターを作成した場合には、以下でノードにアクセスできます。

    localhost:8080/business-central
    localhost:8230/business-central

5.5.3. クラスターの停止

クラスターを停止するには、起動時と反対の順序でコンポーネントを停止します。

  1. Red Hat JBoss EAP インスタンスまたは使用するコンテナーを停止します。
  2. Helix コントローラープロセスを停止します。

    Unix システムでプロセスの PID を検索します。

    ps aux|grep HelixControllerMain

    PID を特定し、プロセスを中断します。

    kill -15 <pid of HelixControllerMain>

    Windows ではタスクマネージャーを使用してプロセスを停止します。

  3. ZooKeeper サーバーを停止します。各サーバーインスタンスで以下を実行します。

    Unix システムの場合:

    ./ZOOKEEPER_HOME_ONE/bin/zkServer.sh stop
    ./ZOOKEEPER_HOME_TWO/bin/zkServer.sh stop
    ./ZOOKEEPER_HOME_THREE/bin/zkServer.sh stop

    Windows の場合:

    ZOOKEEPER_HOME_ONE/bin/zkServer.cmd stop
    ZOOKEEPER_HOME_TWO/bin/zkServer.cmd stop
    ZOOKEEPER_HOME_THREE/bin/zkServer.cmd stop

5.5.4. カスタム設定 (デプロイ可能な ZIP)

Red Hat JBoss EAP クラスタリングを使用すると、単一の Red Hat JBoss EAP ドメインコントローラーは、管理ユーザーとして接続している他の Red Hat JBoss EAP スレーブと共に存在します。Business Central および dashbuilder をドメインコントローラーの管理ユーザーとしてデプロイでき、WAR デプロイメントは他の Red Hat JBoss EAP クラスターの他のメンバーに分散されます。

Red Hat JBoss EAP 6 でクラスタリングを設定するには、以下を実行します。

  1. 「クラスターの設定」に従い、ZooKeeper および Helix を設定します。
  2. 「Quartz の設定」に従い、Quartz を設定します。
  3. JDBC ドライバーをインストールします。『Red Hat JBoss EAP 管理および設定ガイド』「管理コンソールを用いた JDBC ドライバーのインストール」の章を参照してください。
  4. サーバーのデータソースを設定します。使用するモードをもとに、EAP_HOME/MODE/configuration にある domain.xml または standalone.xml を開きます。
  5. full プロファイルの場所を特定して、以下を行います。

    1. Red Hat JBoss BPM Suite で使用する主要なデータソースの定義を追加します。

      例5.1 主要な Red Hat JBoss BPM Suite データソースとして定義した PostgreSQL データソース

      <datasource jndi-name="java:jboss/datasources/psbpmsDS"
                  pool-name="postgresDS" enabled="true" use-java-context="true">
        <connection-url>jdbc:postgresql://localhost:5432/jbpm</connection-url>
        <driver>postgres</driver>
        <security>
          <user-name>bpms</user-name>
          <password>bpms</password>
        </security>
      </datasource>
    2. Quartz サービスのデータソースの定義を追加します。

      例5.2 Quartz データソースとして定義した PostgreSQL データソース

      <datasource jta="false" jndi-name="java:jboss/datasources/quartzNotManagedDS"
                  pool-name="quartzNotManagedDS" enabled="true" use-java-context="true">
        <connection-url>jdbc:postgresql://localhost:5432/jbpm</connection-url>
        <driver>postgres</driver>
        <security>
          <user-name>bpms</user-name>
          <password>bpms</password>
        </security>
      </datasource>
    3. データソースのドライバーを定義します。

      例5.3 PostgreSQL ドライバーの定義

      <driver name="postgres" module="org.postgresql">
        <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
      </driver>
    4. Red Hat JBoss EAP 7.0 に Red Hat JBoss BPM Suite をデプロイする場合には、データソースにスキーマが含まれるようにしてください。データソーススキーマを作成するには、jboss-bpmsuite-brms-6.4-supplementary-tools.zip にある DDL スクリプトを使用してください。データソースにスキーマが含まれない場合には、一度に 1 つのノードを起動するようにしてください。

      また、Red Hat JBoss EAP 7.0 にデプロイする場合には、EAP_HOME/domain/business-central.war/WEB-INF/classes/META-INF/persistence.xml を開き、hibernate.hbm2ddl.auto="update" プロパティーを hibernate.hbm2ddl.auto="none" に変更してください。

  6. _cluster_properties_BRMSで定義したプロパティーを使用して、EAP_HOME/domain/configuration/host.xmlmain-server-group 要素で複数の個別要素を設定します。

    Apache ZooKeeper で Red Hat JBoss EAP クラスターを設定する場合には、Red Hat JBoss EAP ノードと Apache ZooKeeper ノード数は同じでなくても構いません。ただし、ベストプラクティスとして、ZooKeeper および Red Hat JBoss EAP のノード数は同じにするようにしてください。

    クラスターノードのプロパティー

    jboss.node.name

    Red Hat JBoss BPM Suite クラスターで一意のノード名

    デフォルト

    文字列

    該当なし

    org.uberfire.cluster.id

    kie-cluster などの Helix クラスターの名前。この値は、Helix コントローラーに定義したものと同じ値に設定する必要があります。

    デフォルト

    文字列

    該当なし

    org.uberfire.cluster.local.id

    Helix クラスターノードの一意の ID。node1_12345 などのように、':' は '_' に置き換える点に注意してください。

    デフォルト

    文字列

    該当なし

    org.uberfire.cluster.vfs.lock

    kie-vfs など、Helix クラスターで定義されるリソース名

    デフォルト

    文字列

    該当なし

    org.uberfire.cluster.zk

    Zookeeper サーバーの場所

    デフォルト

    host1:port1host2:port2host3:port3…​などの形式の文字列

    該当なし

    org.uberfire.metadata.index.dir

    インデックス化および検索の際に Apache Lucene が使用する .index ディレクトリーの場所

    デフォルト

    パス

    現在の作業ディレクトリー

    org.uberfire.nio.git.daemon.host

    Git デーモンが有効な場合には、localhost の識別子としてこのプロパティーを使用します。

    デフォルト

    URL

    localhost

    org.uberfire.nio.git.daemon.hostport

    仮想化環境で実行中の場合はホストは Git デーモンのポート番号以外を使用します。

    デフォルト

    ポート番号

    9418

    org.uberfire.nio.git.daemon.port

    Git デーモンが有効な場合には、ポート番号としてこのプロパティーを使用します。

    デフォルト

    ポート番号

    9418

    org.uberfire.nio.git.dir

    ディレクトリー .niogit の場所。たとえば、バックアップの目的で値を変更します。

    デフォルト

    パス

    現在の作業ディレクトリー

    org.uberfire.nio.git.ssh.host

    SSH デーモンが有効な場合には、localhost の識別子としてこのプロパティーを使用します。

    デフォルト

    URL

    localhost

    org.uberfire.nio.git.ssh.hostport

    仮想化環境で実行中の場合はホストは SSH デーモンのポート番号以外を使用します。

    デフォルト

    ポート番号

    8003

    org.uberfire.nio.git.ssh.port

    SSH デーモンが有効な場合には、ポート番号としてこのプロパティーを使用します。

    デフォルト

    ポート番号

    8001

    例5.4 クラスター nodeOne 設定

    <system-properties>
      <property name="org.uberfire.nio.git.dir" value="/tmp/bpms/nodeone"
                boot-time="false"/>
      <property name="jboss.node.name" value="nodeOne" boot-time="false"/>
      <property name="org.uberfire.cluster.id" value="bpms-cluster" boot-time="false"/>
      <property name="org.uberfire.cluster.zk"
                value="server1:2181,server2:2182,server3:2183" boot-time="false"/>
      <property name="org.uberfire.cluster.local.id" value="nodeOne_12345"
                boot-time="false"/>
      <property name="org.uberfire.cluster.vfs.lock" value="vfs-repo" boot-time="false"/>
      <property name="org.uberfire.nio.git.daemon.host" value="nodeOne"/>
      <property name="org.uberfire.nio.git.daemon.port" value="9418" boot-time="false"/>
      <property name="org.uberfire.nio.git.daemon.hostport" value="9418"
                boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.port" value="8003" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.hostport" value="8003" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.host" value="nodeOne"/>
      <property name="org.uberfire.metadata.index.dir" value="/tmp/jbpm/nodeone"
                boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.cert.dir" value="/tmp/jbpm/nodeone"
                boot-time="false"/>
      <property name="org.quartz.properties"
                value="/tmp/jbpm/quartz/quartz-db-postgres.properties" boot-time="false"/>
    </system-properties>

    例5.5 クラスター nodeTwo 設定

    <system-properties>
      <property name="org.uberfire.nio.git.dir" value="/tmp/bpms/nodetwo"
                boot-time="false"/>
      <property name="jboss.node.name" value="nodeTwo" boot-time="false"/>
      <property name="org.uberfire.cluster.id" value="bpms-cluster" boot-time="false"/>
      <property name="org.uberfire.cluster.zk"
                value="server1:2181,server2:2182,server3:2183" boot-time="false"/>
      <property name="org.uberfire.cluster.local.id" value="nodeTwo_12346"
                boot-time="false"/>
      <property name="org.uberfire.cluster.vfs.lock" value="vfs-repo" boot-time="false"/>
      <property name="org.uberfire.nio.git.daemon.host" value="nodeTwo" />
      <property name="org.uberfire.nio.git.daemon.port" value="9419" boot-time="false"/>
      <property name="org.uberfire.nio.git.daemon.hostport" value="9419"
                boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.port" value="8004" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.hostport" value="8004" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.host" value="nodeTwo" />
      <property name="org.uberfire.metadata.index.dir" value="/tmp/jbpm/nodetwo"
                boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.cert.dir" value="/tmp/jbpm/nodetwo"
                boot-time="false"/>
      <property name="org.quartz.properties"
                value="/tmp/jbpm/quartz/quartz-db-postgres.properties" boot-time="false"/>
    </system-properties>

    例5.6 クラスター nodeThree 設定

    <system-properties>
      <property name="org.uberfire.nio.git.dir" value="/tmp/bpms/nodethree"
                boot-time="false"/>
      <property name="jboss.node.name" value="nodeThree" boot-time="false"/>
      <property name="org.uberfire.cluster.id" value="bpms-cluster" boot-time="false"/>
      <property name="org.uberfire.cluster.zk"
                value="server1:2181,server2:2182,server3:2183" boot-time="false"/>
      <property name="org.uberfire.cluster.local.id" value="nodeThree_12347"
                boot-time="false"/>
      <property name="org.uberfire.cluster.vfs.lock" value="vfs-repo" boot-time="false"/>
      <property name="org.uberfire.nio.git.daemon.host" value="nodeThree" />
      <property name="org.uberfire.nio.git.daemon.port" value="9420" boot-time="false"/>
      <property name="org.uberfire.nio.git.daemon.hostport" value="9420"
                boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.port" value="8005" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.hostport" value="8005" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.host" value="nodeThree" />
      <property name="org.uberfire.metadata.index.dir" value="/tmp/jbpm/nodethree"
                boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.cert.dir" value="/tmp/jbpm/nodethree"
                boot-time="false"/>
      <property name="org.quartz.properties"
                value="/tmp/jbpm/quartz/quartz-db-postgres.properties" boot-time="false"/>
    </system-properties>
  7. Red Hat JBoss EAP 『管理設定ガイド』の説明に従い、管理ユーザーを、『Red Hat JBoss BPM Suite Administration and Configuration Guide』の説明に従い、アプリケーションユーザーを追加してください。
  8. EAP_HOME/bin に移動して、ドメインモードでアプリケーションサーバーを起動します。

    Unix システムの場合:

    ./domain.sh

    Windows の場合:

    ./domain.bat
  9. ノードが利用できることを確認します。

Business Central アプリケーションをサーバーにデプロイします。

  1. アプリケーションに事前定義されている永続性を必要なデータベース (PostgreSQL) に変更します。persistence.xml で以下を変更します。

    1. アプリケーションサーバーで定義したソースに jta-data-source 名前を変更します(java:jboss/datasources/psbpmsDS)。
    2. Hibernate 方言をデータソースの方言に一致させます (org.hibernate.dialect.PostgreSQLDialect)。
  2. 管理ユーザーとして、ドメインのサーバー 管理 コンソールにログインして、コンソールの Runtime view を使用して新規デプロイメントを追加します。デプロイメントがドメインに追加されたら、正しいサーバーグループ (main-server-group) に割り当てます。
注記

全クラスターメンバーの準備が整うまでデプロイメントを明示的に確認することが重要です。

デプロイメントユニットをクラスターノードに作成した場合は、全クラスターメンバーに分散されるまで時間がかかります。デプロイメントの状態は、UI および REST を使用して確認できますが、デプロイメントが作成されたノードにクエリーが出されると、応答は deployed になります。このデプロイメントユニットを対象とする要求が別のクラスターに送信されると、DeploymentNotFoundException で失敗します。

5.5.5. Intelligent Process Server のクラスタリング

Intelligent Process Server は軽量のスケーラブルなコンポーネントです。これをクラスタリングすると、以下のような多数の利点があります。

  • デプロイされたコンテナーをもとに、リソースをパーティショニングすることができます。
  • 各インスタンスを別個にスケーリングできます。
  • ネットワーク全体にクラスターを分散して、単一のコントローラーで管理できます。

    • コントローラーは ZooKeeper アンサンブルにクラスタリングできます。
  • 他のコンポーネントは必要ありません。

基本的なランタイムクラスターは以下で構成されます。

  • Intelligent Process Server が含まれる複数の Red Hat JBoss EAP インスタンス
  • Business Central が含まれるコントローラーインスタンス
kieserver arch

以下のセクションでは、Red Hat JBoss EAP 6.4 上に Intelligent Process Server クラスターを起動する方法を説明します。

Intelligent Process Server クラスターの作成

  1. CONTROLLER_HOME/bin に移動します。
  2. kie-server ロールのユーザーを追加します。

    $ ./add-user.sh -a --user kieserver --password kieserver1! --role kie-server
  3. コントローラーを起動します。

    $ ./standalone.sh
  4. SERVER_1_HOME に移動します。
  5. kie-server.war をデプロイします。クラスターされたサーバーには business-central.war や他のアプリケーションは必要ありません。
  6. 必要なプロパティーの例については、以下の host.xml<servers> 部分を参照してください。

    <server name="server-one" group="main-server-group">
     <system-properties>
      <property name="org.kie.server.location" value="http://localhost:8180/kie-server/services/rest/server"></property> 1
      <property name="org.kie.server.controller" value="http://localhost:8080/business-central/rest/controller"></property> 2
      <property name="org.kie.server.controller.user" value="kieserver"></property> 3
      <property name="org.kie.server.controller.pwd" value="kieserver1!"></property> 4
      <property name="org.kie.server.id" value="HR"></property> 5
     </system-properties>
     <socket-bindings port-offset="100"/>
    </server>
    
    <server name="server-two" group="main-server-group" auto-start="true">
     <system-properties>
      <property name="org.kie.server.location" value="http://localhost:8230/kie-server/services/rest/server"></property>
      <property name="org.kie.server.controller" value="http://localhost:8080/business-central/rest/controller"></property>
      <property name="org.kie.server.controller.user" value="kieserver"></property>
      <property name="org.kie.server.controller.pwd" value="kieserver1!"></property>
      <property name="org.kie.server.id" value="HR"></property>
     </system-properties>
     <socket-bindings port-offset="150"/>
    </server>
    1
    org.kie.server.location: サーバーインスタンスの URL
    2
    org.kie.server.controller: コントローラー URL のコンマ区切りのリスト
    3
    org.kie.server.controller.user: コントローラー認証用に作成されたユーザー名。デフォルトでは kieserver を使用します。
    4
    org.kie.server.controller.pwd: コントローラー認証用のパスワード。デフォルトでは kieserver1! を使用します。
    5
    org.kie.server.id: コントローラーインスタンスで定義されたテンプレート ID に対応するサーバー ID。1 つのテンプレートを表す複数のサーバーインスタンスには同じ ID を指定してください。

    上記の例は、Red Hat JBoss EAP ドメインモードの定義です。ブートストラップスイッチの完全一覧については、『Red Hat JBoss BPM Suite Administration and Configuration Guide』「Bootstrap Switches」を参照してください。

  7. 必要なサーバー数だけ、以前の手順を繰り返します。ドメインモードで Red Hat JBoss EAP を起動するには、以下を実行します。
$ ./SERVER_HOME/bin/domain.sh

コントローラーにサーバーを接続した後に、コントローラーログを確認します。

13:54:40,315 INFO  [org.kie.server.controller.impl.KieServerControllerImpl] (http-localhost/127.0.0.1:8080-1) Server http://localhost:8180/kie-server/services/rest/server connected to controller
13:54:40,331 INFO  [org.kie.server.controller.impl.KieServerControllerImpl] (http-localhost/127.0.0.1:8080-2) Server http://localhost:8230/kie-server/services/rest/server connected to controller
13:54:40,348 INFO  [org.kie.server.controller.rest.RestKieServerControllerImpl] (http-localhost/127.0.0.1:8080-1) Server with id 'HR' connected
13:54:40,348 INFO  [org.kie.server.controller.rest.RestKieServerControllerImpl] (http-localhost/127.0.0.1:8080-2) Server with id 'HR' connected

または、コントローラーの Business Central で検証するには、以下を実行します。

  1. コントローラーの Business Central にログインします。
  2. DeployExecution Servers をクリックします。
  3. 各テンプレートに接続されているリモートサーバーを表示します。

5.6. 一般的なバンドルクラスタリング

5.6.1. クラスターの設定

注記

Business Central を使用しない場合には、以下のセクションはスキップしてください。

Business Central に Git (VFS) リポジトリーをクラスタリングするには、以下を実行します。

  1. Apache ZooKeeper、Apache Helix、Quartz DDL スクリプトが含まれる jboss-bpmsuite-brms-VERSION-supplementary-tools.zip をダウンロードします。
  2. アーカイブを展開します。ZooKeeper ディレクトリー (ZOOKEEPER_HOME) および Helix ディレクトリー (HELIX_HOME) が作成されます。
  3. Apache ZooKeeper を設定します。

    1. ZooKeeper ディレクトリーで conf に移動して、以下を実行します。

      cp zoo_sample.cfg zoo.cfg
    2. zoo.cfg を編集します。

      # The directory where the snapshot is stored.
      dataDir=$ZOOKEEPER_HOME/data/
      
      # The port at which the clients connects.
      clientPort=2181
      
      # Defining ZooKeeper ensemble.
      # server.{ZooKeeperNodeID}={server}:{port:range}
      server.1=localhost:2888:3888
      server.2=localhost:2889:3889
      server.3=localhost:2890:3890
      注記

      クラスタリングには複数の ZooKeeper ノードは必要ありません。

      dataDir の場所が存在し、アクセスできるようにしてください。

    3. ZooKeeper を実行する各メンバーにノード ID を割り当てます。たとえば、ノード 1 には 1、ノード 2 には 2、ノード 3 には3 などを使用します。

      ZooKeeper ノード ID は、各ノードの ZooKeeper のデータディレクトリーの配下にある myid というフィードで指定します。たとえば、ノード 1 の場合には、以下を指定します。

      echo "1" > /zookeeper/data/myid
  4. 必要に応じてさらに ZooKeeper 設定を指定します。
  5. ZOOKEEPER_HOME/bin/ に移動して ZooKeeper を起動します。

    ./zkServer.sh start

    ZOOKEEPER_HOME/bin/zookeeper.out ファイルで ZooKeeper ログを確認できます。このログをチェックしてアンサンブル (クラスター) が正しく形成されていることを確認します。ノードの 1 つをリーダーに選択して、他の 2 つのノードを従属させます。

  6. ZooKeeper アンサンブルが起動したら、Helix を設定、起動します。Helix は、単一のノードから以外は設定しないでください。この設定は、ZooKeeper アンサンブルに保存され、適時共有されます。

    設定のマスターとして ZooKeeper サーバーでクラスターを設定します。

    1. ZooKeeper ホストとポートをコンマ区切りリストで指定してクラスターを作成します。

      $HELIX_HOME/bin/helix-admin.sh --zkSvr ZOOKEEPER_HOST:ZOOKEEPER_PORT --addCluster <clustername>
    2. クラスターにノードを追加します。

      HELIX_HOME/bin/helix-admin.sh --zkSvr ZOOKEEPER_HOST:ZOOKEEPER_PORT --addNode <clustername> <name_uniqueID>

      例5.7 3 つのクラスターノードの追加

      ./helix-admin.sh --zkSvr server1:2181,server2:2182,server3:2183 --addNode bpms-cluster nodeOne:12345
      ./helix-admin.sh --zkSvr server1:2181,server2:2182,server3:2183 --addNode bpms-cluster nodeTwo:12346
      ./helix-admin.sh --zkSvr server1:2181,server2:2182,server3:2183 --addNode bpms-cluster nodeThree:12347
  7. クラスターにリソースを追加します。

    helix-admin.sh --zkSvr ZOOKEEPER_HOST:ZOOKEEPER_PORT  --addResource <clustername> <resourceName> <numPartitions> <stateModelName>

    「Helix Tutorial: State Machine Configuration」で状態マシンの設定について参照してください。

    例5.8 リソースとしての vfs-repo の追加

    ./helix-admin.sh --zkSvr server1:2181,server2:2182,server3:2183 --addResource bpms-cluster vfs-repo 1 LeaderStandby AUTO_REBALANCE
  8. 3 つのノードでクラスターをリバランスします。

    helix-admin.sh --zkSvr ZOOKEEPER_HOST:ZOOKEEPER_PORT --rebalance <clustername> <resourcename> <replicas>

    Helix Tutorial: Rebalancing Algorithms でリバランスについて参照してください。

    例5.9 bpms-cluster のリバランス

    ./helix-admin.sh --zkSvr server1:2181,server2:2182,server3:2183 --rebalance bpms-cluster vfs-repo 3

    このコマンドでは 3 は 3 つの bpms-cluster ノードを表します。

  9. クラスターの全ノードで Helix コントローラーを起動します。

    例5.10 Helix コントローラーの起動

    ./run-helix-controller.sh --zkSvr server1:2181,server2:2182,server3:2183 --cluster bpms-cluster 2>&1 > ./controller.log &
注記

ZooKeeper をクラスタリングする場合には、障害から復帰できるように奇数のインスタンスを追加します。障害の発生後、残りのノードが過半数を形成できる必要があります。たとえば、ZooKeeper ノードが 5 つあるクラスターの場合は、ノード 2 つの障害に耐えると完全に復帰できます。ZooKeepr インスタンスでもレプリケーションは機能しますが、障害が発生すると、復帰の可能性はありません。

5.6.2. クラスターの起動と停止

クラスターを起動する方法は、「クラスターの起動」を、クラスターを停止する方法は「クラスターの停止」を参照してください。

5.6.3. Quartz の設定

注記

ビジネスプロセスで Quartz (タイマー) を使用しない場合または Intelligent Process Server を使用する場合には、このセクションをスキップしてください。ビジネスプロセスでタイマーを複製する場合には Quartz コンポーネントを使用してください。

アプリケーションサーバーにデータベースを設定する前に、Quartz テーブルを作成する Quartz のデータベースを準備する必要があります。このテーブルは、タイマーデータや Quartz 定義ファイルを保持します。

Quartz を設定するには、以下を実行します。

  1. データベースを設定します。サポートされている JTA 以外のデータソースの 1 つを使用します。Quartz は JTA 以外のデータソースが必要であるため、Business Central データソースは使用できません。以下のコードでは、PostgreSQL のユーザーは bpms、パスワードは bpms を使用します。データベースは、アプリケーションサーバーに接続する必要があります。
  2. データベースに Quartz テーブルを作成して、タイマーイベントの同期を許可します。これには、データベースの DDL スクリプトを使用します。QUARTZ_HOME/docs/dbTables の ZIP アーカイブを展開するとスクリプトを入手できます。
  3. JBOSS_HOME/MODE/configuration/ ディレクトリーの Quartz 設定ファイル quartz-definition.properties を作成して、Quartz プロパティーを定義します。

    例5.11 PostgreSQL データベースの Quartz 設定ファイル

    #============================================================================
    # Configure Main Scheduler Properties
    #============================================================================
    
    org.quartz.scheduler.instanceName = jBPMClusteredScheduler
    org.quartz.scheduler.instanceId = AUTO
    
    #============================================================================
    # Configure ThreadPool
    #============================================================================
    
    org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
    org.quartz.threadPool.threadCount = 5
    org.quartz.threadPool.threadPriority = 5
    
    #============================================================================
    # Configure JobStore
    #============================================================================
    
    org.quartz.jobStore.misfireThreshold = 60000
    
    org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreCMT
    org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
    org.quartz.jobStore.useProperties=false
    org.quartz.jobStore.dataSource=managedDS
    org.quartz.jobStore.nonManagedTXDataSource=notManagedDS
    org.quartz.jobStore.tablePrefix=QRTZ_
    org.quartz.jobStore.isClustered=true
    org.quartz.jobStore.clusterCheckinInterval = 20000
    
    #============================================================================
    # Configure Datasources
    #============================================================================
    org.quartz.dataSource.managedDS.jndiURL=jboss/datasources/psbpmsDS
    org.quartz.dataSource.notManagedDS.jndiURL=jboss/datasources/quartzNotManagedDS

    設定済みのデータソースはファイルの最後で Quartz スキーマ 2 つに対応する点に注意してください。

    クラスターノードの確認間隔

    クラスター検出の推奨される間隔は 20 秒で、quartz-definition.properties ファイルの org.quartz.jobStore.clusterCheckinInterval で設定されています。お使いの設定環境によっては、パフォーマンスの影響を考慮し、必要に応じて設定を変更してください。

    データベースの方言を定義する org.quartz.jobStore.driverDelegateClass プロパティー。Oracle を使用する場合には、org.quartz.impl.jdbcjobstore.oracle.OracleDelegate に設定します。

  4. org.quartz.properties プロパティーの quartz-definition.properties ファイルへの絶対パスを指定します。詳細情報は、「_cluster_properties_BRMS」を参照してください。

注記: Quartz トリガーの再試行数および遅延を設定するには、以下のシステムプロパティーを更新してください。

  • org.jbpm.timer.quartz.retries (デフォルト値は 5)
  • org.jbpm.timer.quartz.delay (デフォルト値は 1000、単位はミリ秒)

第6章 Maven リポジトリー

6.1. Maven について

Apache Maven は、ソフトウェアプロジェクトの構築および管理を行う Java アプリケーション開発で利用される分散型構築自動化ツールです。Maven は POM (Project Object Model) と呼ばれる設定 XML ファイルを利用して、プロジェクトプロパティーの定義や構築プロセスの管理を行います。POM ファイルはプロジェクトのモジュールやコンポーネントの依存関係、構築の順番、生成されるプロジェクトパッケージと出力のターゲットを定義します。この結果、プロジェクトは正しく統一された状態で構築されます。

Maven はレポジトリーを使用して Java ライブラリー、プラグイン、および他のビルドアーティファクトを格納します。リポジトリーはローカルまたはリモートのいずれかになります。ローカルリポジトリーは、ローカルマシンにキャッシュされたリモートリポジトリーからのアーティファクトのダウンロードです。リモートリポジトリーは、http:// (HTTP サーバーにある場合) や file:// (ファイルサーバーにある場合) などの一般的なプロトコルを使用してアクセスされる他のリポジトリーです。デフォルトのリポジトリーは、パブリックリモートの Maven 2 Central Repository です。

Maven の設定は、settings.xml ファイルを変更して実行されます。グローバルな Maven 設定は、M2_HOME/conf/settings.xml ファイルまたは USER_HOME/.m2/settings.xml ファイルのユーザーレベル設定で指定できます。

Maven の詳細については、Welcome to Apache Maven のページを参照してください。

Maven リポジトリーの詳細については、Apache Maven Project — Introduction to Repositories の記事を参照してください。

Maven POM ファイルの詳細については Apache Maven Project — POM Reference を参照してください。

注記

Red Hat JBoss 製品は maven 3.0.x でビルドされているので、このバージョンが独自の SwitchYard アプリケーションをビルドするのに推奨される maven バージョンです。

6.2. 提供される Maven リポジトリー

本リリースでは、Red Hat JBoss BPM Suite をベースとするアプリケーションを構築するために必要なアーティファクトが含まれるリポジトリーのセットが提供されます。適切な構築機能を提供するには、これらのリポジトリーと Maven セントラルリポジトリーを使用するよう Maven を設定する必要があります。

同じ機能を提供する、交換可能な 2 つのリポジトリーのセットが提供されます。1 つ目のセットはローカルファイルシステムでダウンロードおよび保存できます。2 つ目のリポジトリーはオンラインでホストされ、リモートリポジトリーとして使用されます。

重要

オンラインリモートリポジトリーのセットは、テクノロジープレビューのコンポーネントのソースです。そのため、パッチの対象ではなく、開発環境の使用のみがサポートされます。実稼働環境でオンラインリポジトリーのセットを使用すると、セキュリティーの脆弱性の原因となる可能性があるためユースケースではサポートされません。詳細は JBoss Enterprise Maven Repository を参照してください。

6.3. ファイルシステムリポジトリーを使用するための Maven を設定

概要

オンラインリポジトリーを使用できない場合は、必要なリポジトリーをローカルにダウンロードして設定する必要があります。

  1. 必要なリポジトリーが含まれる以下の ZIP アーカイブをダウンロードします。

  2. ダウンロードした ZIP ファイルをローカルファイルシステムの任意の場所に展開します。
  3. 展開されていないリポジトリーのエントリーを Maven の settings.xml ファイルに追加します。以下のコード例には、リポジトリーがあるプロファイルと、リポジトリーへのアクセス用の認証設定、プロファイルのアクティベートエントリーが含まれます。

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <localRepository/>
      <profiles>
      <!-- Profile with local repositories required by
           Red Hat JBoss BRMS/Red Hat JBoss BPM Suite -->
        <profile>
          <id>brms-bpms-local-profile</id>
          <repositories>
            <repository>
              <id>jboss-brms-bpmsuite-repository</id>
              <name>BRMS/BPMS 6.4.0 GA Repository</name>
              <url>
                file://<!-- path to the repository -->
                      /jboss-brms-bpmsuite-6.4.0.GA-maven-repository/maven-repository
              </url>
              <layout>default</layout>
              <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
              </releases>
              <snapshots>
                <enabled>false</enabled>
                <updatePolicy>never</updatePolicy>
              </snapshots>
            </repository>
          </repositories>
          <pluginRepositories>
            <pluginRepository>
              <id>jboss-brms-bpmsuite-repository</id>
              <name>BRMS/BPMS 6.4.0.GA Repository</name>
              <url>
                file://<!-- path to the repository -->
                      /jboss-brms-bpmsuite-6.4.0.GA-maven-repository/maven-repository
              </url>
              <layout>default</layout>
              <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
              </releases>
              <snapshots>
                <enabled>false</enabled>
                <updatePolicy>never</updatePolicy>
              </snapshots>
            </pluginRepository>
          </pluginRepositories>
        </profile>
      </profiles>
    
      <servers>
        <!-- Configuring pre-emptive authentication for the repository server -->
        <server>
          <id>brms-bpms-m2-repo</id>
          <username>admin</username>
          <password>admin</password>
          <configuration>
            <wagonProvider>httpclient</wagonProvider>
            <httpConfiguration>
              <all>
                <usePreemptive>true</usePreemptive>
              </all>
            </httpConfiguration>
          </configuration>
        </server>
    
        <!-- Alternative to enabling pre-emptive authentication - configuring
             the Authorization HTTP header with Base64-encoded credentials
        <server>
          <id>brms-bpms-m2-repo</id>
          <configuration>
            <httpHeaders>
              <property>
                <name>Authorization</name>
                <value>Basic YWRtaW46YWRtaW4=</value>
              </property>
            </httpHeaders>
          </configuration>
        </server>
        -->
      </servers>
    
      <activeProfiles>
        <!-- Activation of the Red Hat JBoss BRMS/Red Hat JBoss BPM Suite profile -->
        <activeProfile>brms-bpms-local-profile</activeProfile>
      </activeProfiles>
    </settings>

結果

Maven リポジトリーがダウンロードされ、ローカルファイルシステムで展開された後、Maven の settings.xml ファイルに登録されます。Maven の構築を実行するときに使用できます。

6.3.1. トラブルシューティング

6.3.1.1. アプリケーションを構築またはデプロイするときにまだエラーが表示されます。

プロジェクトをビルドまたはデプロイするときに、以下のエラーの 1 つまたは両方が発生し、失敗します。

  • [ERROR] Failed to execute goal on project PROJECT_NAME
  • Could not find artifact ARTIFACT_NAME

キャッシュされたローカル Maven リポジトリーに古いアーティファクトが含まれている可能性があります。

この問題を解決するには、キャッシュされたローカルディレクトリーを削除します。このディレクトリーは Linux の場合は ~/.m2/repository/ ディレクトリー、Windows の場合は %SystemDrive%\Users\USERNAME\.m2\repository\ ディレクトリーになります。mvn clean install -U を実行します。これにより、次回構築を行うと Maven が必要なアーティファクトの適切なバージョンをダウンロードするようになります。

6.3.1.2. Red Hat JBoss Developer Studio が古い Maven 設定を使用します。

Maven 設定を更新しても、この設定は Red Hat JBoss Developer Studio には反映されません。

Maven の settings.xml ファイルの編集時に Red Hat JBoss Developer Studio が実行されていると、この設定は Red Hat JBoss Developer Studio には反映されません。

IDE で Maven の設定を更新します。メニューから WindowPreferences を選択します。Preferences ウィンドウで、Maven を展開して User Settings を選択します。Update Settings ボタンをクリックして、Red Hat JBoss Developer Studio の Maven ユーザー設定を更新します。

Updating Maven Settings

6.4. オンラインリポジトリーを使用するための Maven を設定

Red Hat JBoss Data Virtualization に必要なオンラインリポジトリーは https://maven.repository.redhat.com/ga/ にあります。

Maven がプロジェクトの POM ファイルを使用してオンラインリポジトリーを設定することができますが、推奨されていません。

手順: オンラインリポジトリーを使用するための Maven を設定

  1. 以下のコードサンプルのように、オンラインリポジトリーと Maven の settings.xml ファイルにアクセスするための認証設定のエントリーを追加します。

    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                                  http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <profiles>
        <!-- Profile with online repositories required by BRMS/BPMS -->
        <profile>
          <id>brms-bpms-online-profile</id>
          <repositories>
            <repository>
              <id>jboss-ga-repository</id>
              <url>https://maven.repository.redhat.com/ga/</url>
              <releases>
                <enabled>true</enabled>
              </releases>
              <snapshots>
                <enabled>false</enabled>
              </snapshots>
            </repository>
          </repositories>
          <pluginRepositories>
            <pluginRepository>
              <id>jboss-ga-plugin-repository</id>
              <url>https://maven.repository.redhat.com/ga/</url>
              <releases>
                <enabled>true</enabled>
              </releases>
              <snapshots>
                <enabled>false</enabled>
              </snapshots>
            </pluginRepository>
          </pluginRepositories>
        </profile>
      </profiles>
    
      <servers>
        <!-- Configuring pre-emptive authentication for the repository server -->
        <server>
          <id>brms-bpms-m2-repo</id>
          <username>admin</username>
          <password>admin</password>
          <configuration>
            <wagonProvider>httpclient</wagonProvider>
            <httpConfiguration>
              <all>
                <usePreemptive>true</usePreemptive>
              </all>
            </httpConfiguration>
          </configuration>
        </server>
    
        <!-- Alternative to enabling pre-emptive authentication - configuring
             the Authorization HTTP header with Base64-encoded credentials
        <server>
          <id>brms-bpms-m2-repo</id>
          <configuration>
            <httpHeaders>
              <property>
                <name>Authorization</name>
                <value>Basic YWRtaW46YWRtaW4=</value>
              </property>
            </httpHeaders>
          </configuration>
        </server>
        -->
      </servers>
    
      <activeProfiles>
        <!-- Activation of the BRMS/BPMS profile -->
        <activeProfile>brms-bpms-online-profile</activeProfile>
      </activeProfiles>
    
    </settings>
  2. Red Hat JBoss Developer Studio の実行中に settings.xml ファイルを編集した場合には、IDE で Maven の設定を更新する必要があります。メニューから WindowPreferences を選択します。Preferences ウィンドウで、Maven を展開して User Settings を選択します。Update Settings ボタンをクリックして、Red Hat JBoss Developer Studio の Maven ユーザー設定を更新します。

    図6.1 Maven ユーザー設定の更新

    128

結果

Red Hat JBoss 製品向けに提供されるオンラインリポジトリーを使用するよう Maven が設定されます。

重要

キャッシュされたローカル Maven リポジトリーに古いアーティファクトが含まれる場合は、プロジェクトをビルドまたはデプロイしたときに以下のいずれかの Maven エラーメッセージが発生することがあります。

  • Could not find artifact ARTIFACT_NAME
  • [ERROR] Failed to execute goal on project PROJECT_NAME; Could not resolve dependencies for PROJECT_NAME

この問題を解決するには、キャッシュされたローカルディレクトリーを削除します。このディレクトリーは Linux の場合は ~/.m2/repository/ ディレクトリー、Windows の場合は %SystemDrive%\Users\USERNAME\.m2\repository\ ディレクトリーになります。mvn clean install -U を実行します。これにより、次回構築を行うと Maven が必要なアーティファクトの適切なバージョンをダウンロードするようになります。

6.5. 依存関係管理

Red Hat JBoss BPM Suite プロジェクトで適切な Maven 依存関係を使用するには、関係する Bill Of Materials (BOM) ファイルをプロジェクトの pom.xml ファイルに追加する必要があります。BOM ファイルを追加し、提供された Maven リポジトリーからの推移的依存関係が適切なバージョンで確実にプロジェクトに含まれるようにします。

Red Hat JBoss BPM Suite Maven アーティファクトを使用するには、以下のいずれかを設定する必要があります。

必須の Maven セントラルオンラインリポジトリーは、Maven にデフォルトで設定されています。ローカルの Maven リポジトリーを選択した場合でも、プロジェクトを正しく機能させるには、オンラインリポジトリーに到達できる必要があります。

プロジェクト要件によっては、POM ファイルの依存関係のセクションで、以下の依存関係の 1 つを宣言します。バージョンに関する詳細情報は「サポートされるコンポーネントバージョン」を参照してください。

  • org.jboss.bom.brms:jboss-brms-bpmsuite-platform-bom:$VERSION
  • org.jboss.bom.brms:jboss-brms-bpmsuite-bom:$VERSION

第7章 Red Hat JBoss Developer Studio

7.1. Red Hat JBoss Developer Studio

Red Hat JBoss Developer Studio は Eclipse を基にした JBoss 統合開発環境 (IDE) です。最新の Red Hat JBoss Developer Studio は Red Hat カスタマーポータル から入手してください。Red Hat JBoss Developer Studio は Red Hat JBoss BRMS および Red Hat JBoss BPM Suite 用のツールおよびインターフェースを持つプラグインを提供します。これらのプラグインはコミュニティーバージョンの製品が基になっています。そのため、BRMS プラグインは Drools プラグインと呼ばれ、BPM Suite プラグインは jBPM プラグインと呼ばれます。

インストールまたは設定の手順は、『Red Hat JBoss Developer Studio』のドキュメントを参照してください。

警告

複数バイトの名前を処理する方法における問題があるので、JBoss Developer Studio のインスタンスは、エンコーディングが UTF-8 に設定されたファイルで開始する必要があります。$JBDS_HOME/studio/jbdevstudio.ini ファイルに "-Dfile.encoding=UTF-8" というプロパティーを追加することでこれが可能になります。

7.2. Red Hat JBoss Developer Studio プラグインのインストール

JBoss Developer Studio の Drools および jBPM プラグインは更新サイトより入手できます。

手順: Drools および jBPM Red Hat JBoss Developer Studio プラグインのインストール

  1. Red Hat JBoss Developer Studio を起動します。
  2. HelpInstall New Software を選択します。
  3. Add をクリックして Add Repository メニューに入ります。
  4. Name フィールドの横にソフトウェアサイトの名前を指定し、Location フィールドに https://devstudio.redhat.com/9.0/stable/updates/integration-stack/ の URL を追加します。
  5. OK をクリックします。
  6. 利用可能なオプションから JBoss Business Process and Rule Development 機能を選択して、Next をクリックし、もう一度 Next をクリックします。
  7. ライセンス内容を確認して、該当のラジオボタンを押してライセンス内容に同意し、Finish をクリックします。
  8. プラグインのインストールが完了したら、Red Hat JBoss Developer Studio を再起動します。

7.3. Drools および jBPM ラインタイム環境

Red Hat JBoss Developer Studio で Red Hat JBoss BRM および Red Hat JBoss BPM Suite プラグインを使用するには、ランタイムを設定する必要があります。

ランタイムは、このソフトウェアの特定のリリースを表す JAR ファイルを集めたもので、ビジネスアセットのコンパイルおよび実行に必要なライブラリーを提供します。

手順: Red Hat JBoss BRMS および Red Hat JBoss BPM Suite ランタイムの設定

  1. jboss-brms-VERSION-engine.zip または jboss-bpmsuite-VERSION-engine.zip アーカイブにあるランタイム jar ファイルを展開します。これは、Red Hat カスタマーポータル からダウンロードできます。
  2. Red Hat JBoss Developer Studio メニューより Window を選択し、Preferences をクリックします。
  3. Drools ランタイムをインストールするには、DroolsInstalled Drools Runtimes を選択します。

    jBPMS ランタイムをインストールするには、jBPMInstalled jBPM Runtimes を選択します。

  4. Add…​ をクリックして、新しいランタイムの名前とバージョンを入力し、Browse をクリックして、最初の手順で展開したランタイムファイルのあるディレクトリーに移動します。OK をクリックして、選択したランタイムを Red Hat JBoss Developer Studio に登録します。
  5. 横にあるチェックボックスをクリックして、作成したランタイムをデフォルトのランタイムとして指定します。
  6. OK をクリックします。既存のプロジェクトがある場合はダイアログボックスが表示され、Red Hat JBoss Developer Studio を再起動してランタイムを更新する必要があることが示されます。

7.4. Red Hat JBoss BPM Suite サーバーの設定

Red Hat JBoss BRM Suite サーバーを実行するように Red Hat JBoss Developer Studio を設定できます。

手順: サーバーの設定

  1. WindowOpen PerspectiveOther の順に選択して jBPM ビューを開きます。jBPM を選択し、OK をクリックします。
  2. WindowShow ViewOther…​ を順に選択してサーバービューを追加し、ServerServers を選択します。
  3. Servers パネルを右クリックしてサーバーメニューを開き、NewServer を選択します。
  4. JBoss Enterprise MiddlewareJBoss Enterprise Application Platform 6.4+ を選択し、Next をクリックして、サーバーを定義します。
  5. Browse ボタンをクリックしてホームディレクトリーを設定します。Red Hat JBoss BPM Suite をインストールした JBoss EAP 6.4 のインストールディレクトリーを選択します。
  6. Name フィールドにサーバーの名前を指定して、設定ファイルが設定されていることを確認し、Finish をクリックします。

7.5. Git リポジトリーから Red Hat JBoss Developer Studio へのプロジェクトのインポート

Red Hat JBoss Developer Studio は、中央の Git アセットリポジトリーへ接続するように設定できます。リポジトリーにはルール、モデル、関数、およびプロセスが保存されます。

ローカルの Git リポジトリーをインポートするか、リモート Git リポジトリーをクローンすることができます。

手順: リモート GIT リポジトリーのクローン

  1. Servers タブから Red Hat JBoss BPM Suite サーバーを選択し、Start アイコンをクリックして起動します。
  2. 同時に、セキュアシェルサーバーが稼働していない場合は、以下のコマンドを使用してこれを起動します。コマンドは、Linux および Mac 固有のものです。これらのプラットフォームで sshd がすでに起動していると、このコマンドに失敗しますが、無視しても問題ありません。

    /sbin/service sshd start
  3. JBoss Developer Studio で FileImport…​ と選択し、Git フォルダーに移動します。Git フォルダーを開き、Projects from Git を選択して Next をクリックします。
  4. Clone URI としてリポジトリーのソースを選択して、Next をクリックします。
  5. 次のウィンドウで Git リポジトリーの詳細を入力して 次へ をクリックします。
  6. 次のウインドウでインポートするブランチを選択し、Next をクリックします。
  7. このプロジェクトのローカルストレージを定義するために、空でないディレクトリーを入力 (または選択) して設定を変更し、Next をクリックします。
  8. 次のウィンドウでプロジェクトを一般プロジェクトとしてインポートし、Next をクリックします。このプロジェクトに名前を付け、Finish をクリックします。

手順: ローカル GIT リポジトリーのインポート

  1. Servers タブから Red Hat JBoss BPM Suite サーバーを選択し、Start アイコンをクリックして起動します。
  2. JBoss Developer Studio で FileImport…​ と選択し、Git フォルダーに移動します。Git フォルダーを開き、Projects from Git を選択して Next をクリックします。
  3. Existing local repository としてリポジトリーのソースを選択して、Next をクリックします。
  4. 使用可能なリポジトリーリストから設定するリポジトリーを選択し、Next をクリックします。
  5. 表示されたダイアログで、Wizard for project import から Import as general project のラジオボタンを選択して、Next をクリックします。プロジェクトの名前を指定して Finish をクリックしてください。

第8章 Red Hat JBoss BPM Suite のパッチおよびアップグレード

8.1. パッチおよびアップグレード

Red Hat JBoss BPM Suite のパッチは非同期更新または計画更新のいずれかです。

  • 非同期更新: 既存製品の通常の更新サイクル以外にリリースされる個別のパッチ。これらには、セキュリティーパッチや、Red Hat Global Support Services (GSS) が特定の問題を修正するために提供する他の個別パッチなどがあります。
  • 計画更新: 製品の該当バージョンに対してすでに開発された更新すべてが含まれる、既存製品の累積パッチ。

Red Hat JBoss BPM Suite パッチをダウンロードするには以下を実行します。

  1. カスタマーポータルの Software Downloads セクションに移動します。
  2. Security Advisories をクリックします。

以下のファイルは、Red Hat JBoss BRMS および Red Hat JBoss BPM Suite のパッチリリースとして含まれます。

  • Red Hat JBoss BRMS をご利用の場合:  jboss-brms-VERSION-patch.zip
  • Red Hat JBoss BPM Suite をご利用の場合: jboss-bpmsuite-VERSION-patch.zip
  • Maven リポジトリーの更新 (Red Hat JBoss BRMS と Red Hat JBoss BPM Suite のいずれを利用する場合も同じ) :  jboss-brms-bpmsuite-VERSION-incremental-maven-repository.zip

8.2. Red Hat JBoss BPM Suite 6.4 へのパッチ適用

重要

6.4 Update 6 では、データベーススキーマに変更が若干加えられています。Red Hat JBoss BPM Suite または Red Hat JBoss BRMS 6.4.6 を実行する前に、bpms-6.4-to-7.0.sql スクリプトをデータベースに適用する必要があります。このスクリプトは、Red Hat JBOSS BPM Suite 6.4 Update 6 および Red Hat JBOSS BRMS 6.4 Update 6 zip ファイルの upgrade-scripts/<database-type> ディレクトリーにあります。これらのファイルは、Red Hat カスタマーポータルからダウンロードできます。

Red Hat JBoss BPM Suite では、クライアントパッチツールは .sh および .bat スクリプトを含む ZIP ファイルとして配信されており、既存の Red Hat JBoss BPM Suite 6.1 (以降) のインストール環境に更新を簡単かつ自動的に適用できるようになっています。

重要

パッチツールは Red Hat JBoss BPM Suite 6.1 以降を対象としており、それ以前のバージョンには使用しないでください。詳しい情報は、Red Hat ナレッジベースの「BRMS および BPM Suite 6.1 以上におけるメンテナンスリリースの変更 」の記事を参照してください。

このスクリプトでは、<path-to-distribution-root><type-of-distribution> の 2 つの必須パラメーターが必要です。たとえば、以下のコマンドでは、指定の Red Hat JBoss EAP バンドルに更新を適用します。

注記

Red Hat JBoss BPM Suite インスタンスの実行中は、パッチの更新は適用しないでください。サーバーがシャットダウンされていることを確認してから以下のコマンドを実行してください。

$ ./apply-updates.sh ~/EAP_HOME/jboss-eap-6.4 eap6.x

以下のディストリビューションタイプがサポートされます。

  • eap6.x
  • eap6.x-bc
  • eap6.x-dashbuilder
  • eap6.x-kie-server
  • generic
  • generic-bc
  • generic-dashbuilder
  • generic-kie-server
  • was8
  • was8-bc
  • was8-dashbuilder
  • was8-kie-server
  • wls12c
  • wls12c-bc
  • wls12c-dashbuilder
  • wls12c-kie-server
  • bpmsuite-engine
  • planner-engine
  • supplementary-tools

クイックスタートおよび移行ツールもパッチに含まれており、Zip ファイルとしてダウンロード可能です。

注記

Red Hat JBoss BRMS または Red Hat JBoss BPM Suite の更新のみがパッチ配信には含まれています。EAP 自体へのパッチは、EAP のパッチメカニズムを使用して適用する必要があります。『Red Hat JBoss EAP インストールガイド』を参照してください。

バックアップ機能

更新の適用前に、クライアントのスクリプトにより指定のディストリビューションをバックアップが作成されます。このスクリプトは、ディストリビューションファイルまたはディレクトリーを backup/CURRENT_TIMESTAMP サブディレクトリーにコピーします。上位のバックアップディレクトリーは、apply-updates スクリプトと同じファイルシステムのレベルで作成されます。

ブラックリストの機能

クライアントの修正ツールにはブラックリスト機能が含まれており、スクリプトに更新を禁止するファイルを指定することができます。これは、更新プロセスの際に自動的に設定ファイルが上書きされないようにする機能です。必要に応じて設定ファイル以外を指定することも可能です。

ブラックリストに追加するファイルを指定するには、パッチディストリビューションに含まれる blacklist.txt ファイルを開きます。更新を禁止するファイルへの相対パスを入力します。この際、1 行ごとに各ファイルを指定する必要があります。

# Lines with a '#' are comment lines, like this one.
# Blank lines are ignored.

# We have made changes to the web.xml that must be preserved:
WEB-INF/web.xml

# This file has custom modifications:
styles/base.css

blacklist.txt ファイルで指定されたファイルは、パッチに更新内容が含まれる場合でも、更新ファイルによりこれらのファイルが操作されることはありません。代わりに、ツールは同じ場所に新規の更新ファイルをコピーし、new と末尾に追加します。たとえば、上記の例の blacklist.txt を続行した場合に、パッチツールの実行後には styles フォルダーにこれらの両ファイルが存在します。

$ ls styles
base.css base.css.new

次に、2 角ファイルの内容を比較して、変更をマージします。

配信が停止されているファイルを保存しておく場合には、それらのファイルを blacklist.txt ファイルに追加します。パッチ更新ツールはこれらのファイルを削除する代わりに、サフィックスとして removed を追加した空のマーカーファイルを作成するので、手動でこれらのファイルを保存するか、削除するか選択することができます。

先程の例に戻ります。base.css ファイルが削除され、blacklist.txt ファイルにこのファイルを追加していた場合には、パッチツールの実行後には styles ディレクトリーの内容は以下のようになるはずです。

$ ls styles
base.css base.css.removed

8.3. 他のプラットフォームとアプリケーションのパッチ

Red Hat JBoss BPM Suite でサポートされる他のプラットフォームや共通のアプリケーションを更新するには、以下のコマンドを実行します。

重要

Microsoft Windows システムをご利用の場合は、./apply-updates.sh ではなく、./apply-updates.bat を実行します。

EAP 6.x Business Central WAR のパッチ

$ ./apply-updates.sh PATH/jboss-eap-6.4/standalone/deployments/business-central.war eap6.x-bc

Generic KIE Server の WAR のパッチ

$ ./apply-updates.sh PATH_TO_TOMCAT_HOME/webapps/kie-server.war generic-kie-server

WebLogic 12c バンドル全体のパッチ

$ ./apply-updates.sh PATH_TO_UNZIPPED_wlsc12c_BUNDLE wls12c

Planner Engine バンドルのパッチ

$ ./apply-updates.sh PATH_TO_UNZIPPED_PLANNER_BUNDLE planner-engine

IBM WebSphere Application Server バンドルのパッチ

$ ./apply-updates.sh PATH_TO_UNZIPPED_WAS_BUNDLE was8

注記

IBM WebSphere Application Server にパッチ修正を追加する場合は、対象の WAR ファイルを展開 しないでください。

詳しい情報は、「Red Hat JBoss BPM Suite 6.4 へのパッチ適用」および「最新のマイナーリリースへのアップグレード」を参照してください。

8.4. 最新のマイナーリリースへのアップグレード

最新のマイクロリリースへのアップグレードのサポート以外に、Red Hat JBoss BPM Suite はマイナーリリース間のサポートもしています。以下に例を示します。

  • Red Hat JBoss BPM Suite 6.2.2 から Red Hat JBoss BPM Suite 6.3.0 へのアップグレード
  • Red Hat JBoss BPM Suite 6.1.5 から Red Hat JBoss BPM Suite 6.3.0 へのアップグレード

Red Hat JBoss BPM Suite アップグレードツールは ZIP ファイルで提供されており、このファイル名はアップグレードパスを指定した命名規則を使用しています。たとえば、jboss-bpmsuite-6.2.2-to-6.3.0-patch.zip はバージョン 6.2.x から 6.3.0 へのアップグレードに使用します。これらの ZIP ファイルは Red Hat カスタマーポータル からダウンロードできます。

  • Red Hat JBoss BPM Suite 6.2.2 から Red Hat JBoss BPM Suite 6.3.0 へのアップグレードは、jboss-bpmsuite-6.2.2-to-6.3.0-patch.zip を使用します。
  • Red Hat JBoss BPM Suite 6.1.5 から Red Hat JBoss BPM Suite 6.3.0 へのアップグレードは jboss-bpmsuite-6.1.5-to-6.3.0-patch.zip を使用します。

各 ZIP ファイルには以下のスクリプトが含まれます。

  • apply-updates.bat
  • apply-updates.sh

これらのアップグレードスクリプトを使用して次のマイナーリリースにアップグレードする場合は、ディストリビューションのパスを示す引数と、アップグレードするディストリビューションのタイプをコマンドで指定する必要があります。

$ ./apply-updates.sh DISTRIBUTION_PATH DISTRIBUTION_NAME

以下に例を示します。

$ ./apply-updates.sh ~/EAP_HOME/jboss-eap-6.4 eap6.x

サポートされるディストリビューションタイプは以下のとおりです。

  • eap6.x
  • eap6.x-bc
  • eap6.x-dashbuilder
  • eap6.x-kie-server
  • generic
  • generic-bc
  • generic-dashbuilder
  • generic-kie-server
  • was8
  • was8-bc
  • was8-dashbuilder
  • was8-kie-server
  • wls12c
  • wls12c-bc
  • wls12c-dashbuilder
  • wls12c-kie-server
  • bpmsuite-engine
  • planner-engine
  • supplementary-tools

アップグレードツールでは、ディストリビューション全体または必要に応じてディストリビューションの一部のみをアップグレードすることができます。たとえば、eap6.x ディストリビューションの場合は eap6.x 全体、またはパッチが含まれるいくつかの war ファイル (eap6.x-bceap6.x-dashbuildereap6.x-kie-server) のいずれかをパッチとして追加するように選択できます。

設定ファイルをカスタマイズした場合には、アップグレードツールを使用すると設定ファイルはアップグレードされません。アップグレードツールは、設定ファイルに変更が加えられているかをチェックします。設定ファイルに変更が加えられていない場合には、アップグレードツールにより、最新のバージョンに置き換えられます。ただし、設定ファイルに変更が加えられていると判断した場合には、ブラックリストにファイルが追加され、最新のバージョンには置き換えられません。カスタムの設定が変更されないように、設定ファイルを手動で比較して、ブラックリストに移動する必要はありません。

注記

新しい Red Hat JBoss BPM Suite バージョンからの変更で、現在の設定ファイルを更新する代わりに、新しい現在の設定ファイルがカスタムの変更は .new ファイルに追加することを推奨します。たとえば、persistence.xml ファイルでデータソース名や場所などをカスタムで変更した場合に、推奨のアプローチは、アップグレードツールで作成された .new ファイルにカスタムの変更が加えられます。.new ファイルに必要な変更すべて加えた後に、ファイルの名前を元の名前に変更してください (.new のサフィックスなし)。こうすることで、アプリケーションによりカスタムの変更が含まれる更新済みの設定ファイルが選択されるようになります。

付録A バージョン情報

本ドキュメントの最終更新日時: 2017 年 10 月 19 日。

法律上の通知

Copyright © 2017 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.