BRMS 管理者ガイド
JBoss 管理者向け
エディッション 5.3.1
概要
前書き
第1章 はじめに リンクのコピーリンクがクリップボードにコピーされました!
1.1. JBoss Enterprise Business Rules Management System Platform リンクのコピーリンクがクリップボードにコピーされました!
第2章 データベースの設定 リンクのコピーリンクがクリップボードにコピーされました!
2.1. JBoss Enterprise BRMS および Apache Jackrabbit リンクのコピーリンクがクリップボードにコピーされました!
2.2. レポジトリの場所の指定 リンクのコピーリンクがクリップボードにコピーされました!
components.xml 設定ファイルを編集して行います。
手順2.1 レポジトリの場所の指定
- アプリケーションサーバーを終了します。
deploy/jboss-brms.war/WEB-INF/にあるcomponents.xmlファイルを開き、repository.root.directory Key-Value 属性をアンコメントします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - レポジトリの場所を repository.root.directory Key-Value 属性部分に追加します (このディレクトリは予め存在していなければなりません)。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - JBoss Enterprise BRMS Platform は、すでにデータストアがない場合はこの場所に新しく作成します。既存のデータストアを継続して使用するには、アプリケーションサーバーを再起動する前に既存のファイルを新しい場所にコピーします。
- アプリケーションサーバーを再起動します。既存のデータストアを新しい場所に移動していない場合は、新しいデータストアが作成されます。
2.3. 外部の RDBMS の設定 リンクのコピーリンクがクリップボードにコピーされました!
手順2.2 Repository Configuration Tool を使った外部 RDBMS の設定
- JBoss Enterprise BRMS Platform のユーザーインターフェースにログインします。
- 左側のナビゲーションパネルから、 → を選択します。
- Select RDBMS type: のドロップダウンメニューから RDBMS タイプを選択します。
- JNDI が設定されている場合、USE JNDI を確認して、JNDI 名を入力します。
- JNDI が設定されていない場合、必要なデータベース情報を入力します。
- ドライバー
- URL
- ユーザー
- パスワード
- Generate repository config をクリックして
repository.xmlファイルを生成します。 - Save Configuration をクリックして、生成した
repository.xmlファイルをダウンロードして、components.xmlファイルで指定した場所にあるrepository.xmlを置き換えます。
2.4. 外部キーのインデックス作成 リンクのコピーリンクがクリップボードにコピーされました!
ヒューマンタスクスキーマ:
- Task.processinstanceid
- task.processid
- task.status
- task.archived
- task.workitem
- i18ntext.language
コアエンジンスキーマ:
- eventtables.instanceid
2.5. JBoss Enterprise Web Server のデータソースの設定 リンクのコピーリンクがクリップボードにコピーされました!
jbpm-human-task.war と business-central-server.war を設定する必要があります。
手順2.3 JBoss Enterprise Web Server のデータソースの設定
- MySQL ドライバーを
tomcat6/lib/にコピーします。 tomcat6/conf/context.xmlにあるデータソースリソースの設定:<Resource name="jdbc/jbpmDS" auth="Container" type="javax.sql.DataSource" factory="bitronix.tm.resource.ResourceObjectFactory" uniqueName="jdbc/jbpmDS"/><Resource name="jdbc/jbpmTasksDS" auth="Container" type="javax.sql.DataSource" factory="bitronix.tm.resource.ResourceObjectFactory" uniqueName="jdbc/jbpmTasksDS"/>
<Resource name="jdbc/jbpmDS" auth="Container" type="javax.sql.DataSource" factory="bitronix.tm.resource.ResourceObjectFactory" uniqueName="jdbc/jbpmDS"/><Resource name="jdbc/jbpmTasksDS" auth="Container" type="javax.sql.DataSource" factory="bitronix.tm.resource.ResourceObjectFactory" uniqueName="jdbc/jbpmTasksDS"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow tomcat6/webapps/business-central-server.war/WEB-INF/Classes/META-INF/persistence.xmlファイルを編集して、context.xmlからの一意名を含めます。<jta-data-source>java:/comp/env/jdbc/jbpmDS</jta-data-source> ... <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/><property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.BTMTransactionManagerLookup" />
<jta-data-source>java:/comp/env/jdbc/jbpmDS</jta-data-source> ... <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/><property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.BTMTransactionManagerLookup" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow tomcat6/webapps/jbpm-human-task.war/WEB-INF/classes/META-INF/persistence.xmlファイルを編集して、context.xmlからの一意名を含めます。<jta-data-source>java:/comp/env/jdbc/jbpmTasksDS</jta-data-source> ... <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/><property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.BTMTransactionManagerLookup" />
<jta-data-source>java:/comp/env/jdbc/jbpmTasksDS</jta-data-source> ... <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/><property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.BTMTransactionManagerLookup" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow - JBoss Enterprise Web Server にはトランザクションマネージャーが含まれていません。以下の例は、Bitronix 向けの設定で、評価目的のためだけに提供されています。Bitronix は http://docs.codehaus.org/display/BTM/Home からダウンロードしていただけます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Bitronix トランザクションマネージャーを設定するには、
tomcat6/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.propertiesbitronix.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.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の行をtomcat6/conf/context.xmlに追加します。<Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory"/>
<Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の行をtomcat6/conf/server.xmlに追加します。<Listener className="bitronix.tm.integration.tomcat55.BTMLifecycleListener"/>
<Listener className="bitronix.tm.integration.tomcat55.BTMLifecycleListener"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定プロパティファイルを作成します。Unix ベースのシステムでは、このファイルはtomcat6/setenv.sh、Windows システムではtomcat6/setenv.batとしてください。CATALINA_OPTS="-Dbtm.root=$CATALINA_HOME -Dbitronix.tm.configuration=$CATALINA_HOME/conf/btm-config.properties"
CATALINA_OPTS="-Dbtm.root=$CATALINA_HOME -Dbitronix.tm.configuration=$CATALINA_HOME/conf/btm-config.properties"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6. JBoss Enterprise Application Platform 6 のデータソース設定 リンクのコピーリンクがクリップボードにコピーされました!
手順2.4 JBoss Enterprise Platform 6 のデータソース設定
- JBoss Enterprise Application Platform 6 ディレクトリ構造ににデータベースのディレクトリを追加します。このディレクトリは、使用予定のデータベース向けに名前を設定してください。例えば、PostgreSQL データベースには、以下の構造で作成してください。
jboss-eap-6.0/modules/org/postgresql/MySQL データベースに対しては、以下の構造で作成してください。jboss-eap-6.0/modules/com/mysql/ - データベースに適した JDBC ドライバーをダウンロードします。
- データベース用に作成したディレクトリに、
mainディレクトリを作成します。jboss-eap-6.0/modules/org/postgresql/main/JBDC ドライバーをjboss-eap-6.0/modules/org/postgresql/main/ディレクトリにコピーします。 module.xmlファイルを作成して、以下の内容を含めてjboss-eap-6.0/modules/org/postgresql/main/に保存してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - プロファイル設定ファイルを編集します。例えば、
jboss-eap-6.0/standalone/configuration/standalone.xmlはbrmsDSと呼ばれる PostgreSQL データベース、ユーザー名 brms、パスワード brms を設定しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow jboss-eap-6.0/standalone/deployments/business-central-server.war/WEB-INF/classes/META-INF/persistence.xmlファイルを編集して、DefaultDSからbrmsDSへデータソース名を、Hibernate 方言を PostgreSQL に変更します。<jta-data-source>java:jboss/datasources/brmsDS</jta-data-source> . . <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<jta-data-source>java:jboss/datasources/brmsDS</jta-data-source> . . <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow jboss-eap-6.0/standalone/deployments/jbpm-human-task.war/WEB-INF/classes/META-INF/persistence.xmlファイルを編集して、DefaultDSからbrmsDSへデータソース名を、Hibernate 方言を PostgreSQL に変更します。<non-jta-data-source>java:jboss/datasources/brmsDS</non-jta-data-source> . . <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<non-jta-data-source>java:jboss/datasources/brmsDS</non-jta-data-source> . . <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7. Jackrabbit での JBoss BRMS のクラスタリング リンクのコピーリンクがクリップボードにコピーされました!
手順2.5 Jackrabbit でのクラスタリングの設定
- JBoss Enterprise Application Platform クラスターの設定については、『管理設定ガイド』にある JBoss Enterprise Application Platform 5 『クラスタリングガイド』を参照してください。
- ロードバランサーの設定については、JBoss Enterprise Application Platform 5 『HTTP コネクター負荷分散ガイド』 を参照してください。
- jboss-brms.war のコピーをアプリケーションサーバークラスターの各ノード
$JBOSS_HOME/server/nodeX/deploy/にデプロイします。 - デフォルト設定では、実稼働環境に適していないか、サポートされていない組み込みデータベースを使用しています。実稼働環境へのデプロイの前に、この環境を対応のデータベースに変更するようにしてください。設定に関する説明は、本章の別のセクションを参照してください。
- クラスター内のノードごとに、個別のワークスペース、バージョン、検索インデックスを
repository.xmlファイルに設定する必要があります。JBoss Enterprise BRMS ユーザーインターフェースにログインして、 → を選択し、必要なデータベース向けにrepository.xmlを生成します。 repository.xmlファイルをクラスターの各ノードのjboss-brms.war/WEB-INF/components.xmlで指定したレポジトリの場所にコピーします。- クラスターのノードごとに一意の ID を設定する必要があります。これは、
repository.xmlファイルの各ノードのコピーに設定します。例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow web-appの子要素として<distributable/>要素をjboss-brms.war/WEB-INF/web.xmlファイルに追加します。- JBoss Enterprise BRMS ユーザーインターフェースにログインすることで、クラスターノードが機能しているかを検証します。ターミナルの出力を検証して、どのノードがセッションを処理しているか確認します。そのノードを終了し、しばらくすると、クラスター内の別のノードがこのセッションを引き継ぐはずです。
2.8. JCR としての Modeshape の使用 リンクのコピーリンクがクリップボードにコピーされました!
- BRMS スタンドアローンパッケージのダウンロードとインストールが済んでいること。方法については、『JBoss Enterprise BRMS Getting Started Guide』 を参照してください。
- Apache Ant がインストールされていること。インストール方法については、本章の最後の付録を参照してください。
- 実稼働デプロイには、対応データベースサーバーが必要。対応データベースサーバーの完全一覧は、https://access.redhat.com/knowledge/articles/119933 を参照してください。
- 使用予定のデータベースインスタンスがすでに作成されていること。
- データベースを変更できるパーミッションを持つデータベースユーザーが存在すること。
- データベースの JDBC ドライバー JAR ファイルがサーバー設定の
lib/ディレクトリにあること。
手順2.6 ModeShape の設定
- ModeShape ディレクトリから ant インストーラーを実行して、ModeShape のインストール先のサーバープロファイルを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ユーザーアカウント
adminとmailmanを追加して、以下で指定したロールを割り当てます。デフォルト設定はテキストファイルを使用してユーザー名、パスワード、割り当てたロールを保存します。ここでは、認証設定を変更していないとの前提で説明を進めています。認証設定を変更した場合は、その設定に従いユーザーを追加してください。- テキストエディターで
PROFILE/conf/props/brms-users.propertiesファイルを開き、改行してユーザーadminとmailmanをusername=passwordの構文で追加します。admin=s3kr3t5 mailman=53cur3m@1l
admin=s3kr3t5 mailman=53cur3m@1lCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下で指定したロールをこれら 2 つのユーザーに割り当てるには、テキストエディターで
PROFILE/conf/props/brms-roles.propertiesを開き、ユーザーごとにusername=role1, role2, role3の構文で新しく行を追加していきます。adminユーザーには、JBossAdmin、HttpInvoker、user、adminのロールを割り当てる必要があります。mailmanユーザーには、JBossAdminとreadwriteのロールを割り当てる必要があります。admin=JBossAdmin, HttpInvoker, user, admin mailman=JBossAdmin, readwrite
admin=JBossAdmin, HttpInvoker, user, admin mailman=JBossAdmin, readwriteCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 任意で、プレーンテキストではなくエンコード形式でパスワードを保存することができます。方法は、アプリケーションサーバーのディレクトリ (
jboss-asまたはjboss-as-web) で以下のコマンドを実行して、エンコード形式のパスワードを作成します。PASSWORD は実際のパスワードで置き換えてください。java -cp client/jboss-logging-spi.jar:lib/jbosssx.jar org.jboss.resource.security.SecureIdentityLoginModule PASSWORD Encoded password: 5f78dc15b9a559cbdf8592078de921bc
[localhost]$ java -cp client/jboss-logging-spi.jar:lib/jbosssx.jar org.jboss.resource.security.SecureIdentityLoginModule PASSWORD Encoded password: 5f78dc15b9a559cbdf8592078de921bcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次に、PROFILE/conf/props/brms-users.propertiesに格納されているパスワードをエンコードしたもので置き換えます。
- ModeShape のデフォルト設定では、実稼働環境に適していないか、サポートされていないデータベースを使用しています。実稼働環境へのデプロイの前に、この環境を対応のデータベースに変更するようにしてください。デフォルトの Modeshape レポジトリ設定は、JNDI データソース —
ModeShapeBRMSRepo— をデータソースに使用します。これは、PROFILE/deploy/modeshape-brms-store-ds.xmlファイルで設定します。このファイルを編集して、Hypersonice から任意のデータベースにデータソースの設定を変更します。このファイルは、標準の JBoss データソース設定ファイルです。JBoss データソース設定の詳細については、アプリケーションサーバー文書のデータソース設定の章を参照してください。 jboss-brms.war/WEB-INF/components.xmlファイルを編集して、Apache Jackrabbit 設定を削除し ModeShape 設定を追加します。Apache Jackrabbit 設定を削除するには、以下のセクションをコメントアウトしてください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルト設定では、ModeShape 設定はコメントアウトされています。以下のようにこの設定をアンコメントしてください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ModeShape には、2 種のユーザーアカウント
adminとmailmanが必要です。これらのアカウントのパスワードは、以前の手順の ModeShape 設定にて指定しておく必要があります。<key>org.drools.repository.secure.passwords</key><value>false</value> <key>org.drools.repository.admin.password</key><value>password</value> <key>org.drools.repository.mailman.password</key><value>password</value>
<key>org.drools.repository.secure.passwords</key><value>false</value> <key>org.drools.repository.admin.password</key><value>password</value> <key>org.drools.repository.mailman.password</key><value>password</value>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - サーバーを再起動します。
2.9. 検索とインデックス作成 リンクのコピーリンクがクリップボードにコピーされました!
repository.xml ファイルの <SearchIndex> 要素を変更してください。
第3章 データ管理 リンクのコピーリンクがクリップボードにコピーされました!
3.1. データバックアップ リンクのコピーリンクがクリップボードにコピーされました!
3.2. データのインポートおよびエクスポート リンクのコピーリンクがクリップボードにコピーされました!
3.2.1. データ移行 リンクのコピーリンクがクリップボードにコピーされました!
警告
- インポート時は、データベース内の既存のコンテンツをすべて削除されます。
- データベースの使用中には、エクスポート/インポートの操作は行わないようにしてください。
- サーバーで利用できるメモリやデータベースのサイズにより、パフォーマンスは大きく左右されます。インポートは、メモリがかなり消費されるプロセスとなっています。
- レポジトリのバージョン履歴はエクスポートされず、ルールは Creation Date 属性がインポートされた日付で再設定されます。
3.2.2. レポジトリのエクスポート リンクのコピーリンクがクリップボードにコピーされました!
手順3.1 レポジトリのエクスポート
- BRMS ユーザーインターフェースの左側のナビゲーションパネルから、 → を選択します。
- Export をクリックします。
3.2.3. レポジトリのインポート リンクのコピーリンクがクリップボードにコピーされました!
手順3.2 レポジトリのインポート
- ナビゲーションパネルから → を選択します。
- エクスポートデータを含む XML ファイルを選択するには、Browse ボタンをクリックして、ローカルファイルシステムを参照します。
- Import をクリックして、確認ダイアログで OK を選択します。
第4章 セキュリティ リンクのコピーリンクがクリップボードにコピーされました!
4.1. 認証 リンクのコピーリンクがクリップボードにコピーされました!
4.1.1. 認証 リンクのコピーリンクがクリップボードにコピーされました!
4.1.2. 認証の設定 リンクのコピーリンクがクリップボードにコピーされました!
jboss-brms.war/WEB-INF/components.xml ファイルから設定します。デフォルト設定では、多くがコメントアウトされていますが、実際の設定は以下のようになります。
<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="jmx-console"/><component name="org.jboss.seam.security.roleBasedPermissionResolver"><property name="enableRoleBasedAuthorization">false</property></component>
<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="jmx-console"/><component name="org.jboss.seam.security.roleBasedPermissionResolver"><property name="enableRoleBasedAuthorization">false</property></component>
注記
<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="jmx-console"/><security:role-based-permission-resolver enable-role-based-authorization="false"/>
<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="jmx-console"/><security:role-based-permission-resolver enable-role-based-authorization="false"/>
重要
jmx-console 認証ポリシーにて定義されているアカウント名、パスワード、ロールを使用します。Red Hat は、このファイルを編集してお使いの環境に合わせてカスタマイズするよう推奨しています。
- アプリケーションサーバーの適切な JBoss ログインモジュールを編集します。
- このモジュールを使用するように、JBoss Enterprise BRMS Platform を設定します。
注記
警告
4.1.3. JAAS のパスワード設定 リンクのコピーリンクがクリップボードにコピーされました!
brms-users.properties ファイルに追加した場合は、Process Designer と Business Central コンソールとも同期する必要があります。
手順4.1 ユーザー名とパスワードの同期
- Process Designer: Process Designer とは JBoss Enterprise BRMS に統合された別のアプリケーションですが、このアプリケーションのユーザー名とパスワードを編集するには、
designer.war/profiles/jbpm.xmlファイルを開き、usrとpwdプロパティを編集します。usr="admin" pwd="admin"
usr="admin" pwd="admin"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Business Central コンソール: Business Central コンソールのユーザー名とパスワードを編集するには、
business-central-server.war/WEB-INF/classes/jbpm.console.propertiesファイルを開き、guvnor.usrとguvnor.pwdプロパティを編集します。guvnor.usr=admin guvnor.pwd=admin
guvnor.usr=admin guvnor.pwd=adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.4. 認証の例: UserRolesLoginModule リンクのコピーリンクがクリップボードにコピーされました!
props/brms-users.properties と props/brms-roles.properties ファイルに保存されているユーザーアカウントへアクセスするための org.jboss.security.auth.spi.UsersRolesLoginModule ログインモジュールの使用方法を説明しています。
手順4.2 認証の例: UserRolesLoginModule
認証システムが正しく設定されていることを確認します。
このログインモジュールは、2 つのファイルを使用して、ログイン名、パスワード、各ユーザーに割り当てたロールを保存します。jboss-as-web/server/PROFILE/conf/props/ディレクトリにbrms-users.propertiesとbrms-roles.propertiesファイルを作成して、username=passwordの形式でbrms-users.propertiesに少なくとも 1 つ以上のユーザーを指定します (brms-roles.propertiesファイルは空のままでも構いません)。シャットダウン
アプリケーションサーバーをシャットダウンしてから変更を行います。JBoss ログインモジュールの設定
JBoss ログインモジュールを設定するには、テキストエディターでjboss-as-web/server/PROFILE/conf/login-config.xmlを開きます。これは、XML ファイルで<policy>要素と複数の<application-policy>子要素が含まれています。各<application-policy>要素は、様々な認証スキームを定義します。以下の<application-policy>XML スニペットを<policy>要素の新しい子として追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログインモジュールを使用するための BRMS Platform の設定
jboss-as-web/server/PROFILE/deploy/JBoss-BRMS.war/WEB-INF/components.xmlファイルを開きます。ここには、<components>要素が 1 つと、<security:identity>などの複数の子要素が含まれています。矛盾が起こらないように、既存の<security:identity>要素をコメントアウトします。以下の<security:identity>要素を追加します。<security:identity authenticate- method="#{authenticator.authenticate}" jaas-config-name="brms"/><security:identity authenticate- method="#{authenticator.authenticate}" jaas-config-name="brms"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow jaas-config-name プロパティは、application-policy と同じでなければなりません。以前の手順で application-policy プロパティを変更した場合は、ここで同じになるように jaas-config-name プロパティを変更します。再起動
アプリケーションサーバーを再起動します。
4.1.5. 認証の例: LDAP リンクのコピーリンクがクリップボードにコピーされました!
手順4.3 認証の例 2: LDAP
LDAP サーバーが正しく設定されていることを確認
ファイアウォールとネットワーク構成設定がアプリケーションサーバーと LDAP サーバーの通信を妨害していないことを確認します。シャットダウン
アプリケーションサーバーをシャットダウンしてから変更を行います。JBoss ログインモジュールの設定
JBoss ログインモジュールを設定するには、テキストエディターでjboss-as-web/server/PROFILE/conf/login-config.xmlを開きます。これは、XML ファイルで<policy>要素と複数の<application-policy>子要素が含まれています。各<application-policy>要素は、様々な認証スキームを定義します。以下の<application-policy>XML スニペットを<policy>要素の新しい子として追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この設定ファイルの値をお使いの LDAP サーバーに適した値に変更します。ログインモジュールを使用するための BRMS Platform の設定
jboss-as-web/server/PROFILE/deploy/jboss-brms.war/WEB-INF/components.xmlファイルを開きます。ここには、<components>要素が 1 つと、<security:identity>などの複数の子要素が含まれています。矛盾が起こらないように、既存の<security:identity>要素をコメントアウトします。以下の<security:identity>要素を追加します。<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="brms"/><security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="brms"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow jaas-config-name プロパティは、application-policy と同じでなければなりません。以前の手順で application-policy プロパティを変更した場合は、ここで同じになるように jaas-config-name プロパティを変更します。再起動
アプリケーションサーバーを再起動します。
4.2. ユーザーの管理 リンクのコピーリンクがクリップボードにコピーされました!
4.2.1. ロールベースのパーミッション リンクのコピーリンクがクリップボードにコピーされました!
- Admin 権限
- admin ロールを割り当てられたユーザーは、JBoss Enterprise BRMS Platform へのすべてのエリアに完全なアクセス権限を持ち、他のユーザーのパーミッションも管理することができます。
- analyst 権限
- analyst 権限は、ルールの管理を担当するユーザー向けです。開発者とビジネスアナリストの両方にこの analyst 権限を割り当てるとよいでしょう。analyst 権限は、カテゴリと関連付けられており、analyst 権限を割り当てられたルールユーザーを管理することができます。analyst 権限に加え、analyst read-only 権限を割り当てることもできます。これは、カテゴリ内のルールを参照できますが、ルールの編集や変更はできません。
- Package 権限
- Package 権限には 3 種類あります。
- Package Administrator
- Package Administrator 権限は、パッケージのデプロイなど、指定のパッケージに対して完全な権限を持つことになります。Package Administrator 権限には、パッケージ部分以外の JBoss Enterprise BRMS Platform への管理者権限は含まれていません。
- Package Developer
- Package Developer は、指定のパッケージ内でアイテムの作成や編集が可能です。つまり、テストの作成や実行はできますが、パッケージのデプロイ権限は含まれていません。
- Package Read-only
- Package read-only 権限は、パッケージへの読み取り専用権限が割り当てられ、パッケージを参照することができます。
4.2.2. 新規ユーザーの追加 リンクのコピーリンクがクリップボードにコピーされました!
手順4.4 BRMS への新規ユーザーの追加
- ナビゲーションパネルから Administration を選択してから、User Permissions を選択します。
- ボタンをクリックして、ユーザーマッピングを追加します。ユーザー名を表示されたダイアログボックスに入力して、 をクリックします。
注記
ロールに指定されたユーザー名は、認証サービスのユーザー名と一致する必要があり、一致していない場合は、機能しません。
4.2.3. ユーザーパーミッションの管理 リンクのコピーリンクがクリップボードにコピーされました!
手順4.5 ユーザーパーミッションの管理
- navigation pane から Administration を選択してから、User Permissions を選択します。
- ユーザー名の横の Open をクリックします。
- ユーザーパーミッションの割り当ては、プラスのアイコンをクリックして、Permission type ドロップダウンメニューから該当のパーミッションを選択します。OK を押して確定します。
ユーザーパーミッションの削除
ユーザーパーミッションの削除は、削除したいパーミッションの横にあるマイナスアイコンをクリックし、OK で確定します。
4.3. ルールパッケージの署名 リンクのコピーリンクがクリップボードにコピーされました!
4.3.1. ルールパッケージの署名 リンクのコピーリンクがクリップボードにコピーされました!
4.3.2. ルールパッケージ署名用のサーバー設定 リンクのコピーリンクがクリップボードにコピーされました!
- 秘密署名鍵と対応する公開デジタル証明書の作成
- キーストアに秘密署名鍵と対応の公開デジタル証明書を置き、サーバーから入手できるようにする
- キーストアを使用するサーバーの設定
手順4.6 ルールパッケージ署名の設定
keytoolコマンドを使用して、秘密キーストアを作成します。keytool -genkey -alias ALIAS -keyalg RSA -keystore PRIVATE.keystore-aliasパラメーターは、キーストアの関連のエンティティをリンクするために使用する名前を指定します。こちらの手順では、それぞれ同じエイリアスを使用してください。エイリアスは大文字、小文字の区別はありません。-keystoreパラメーターは、秘密キーを保持するために作成されるファイル名を渡します。keytoolは、ID 情報と 2 つのパスワードを入力するようプロンプトを出します。最初のパスワードは キーストアのパスワードで、キーストアをセキュアに保ち、 2 つ目のパスワードはキーパスワードで作成したキーをセキュアに保ちます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow keytoolコマンドを使用してデジタル署名を作成します。keytool -export -alias ALIAS -file CERTIFICATE.crt -keystore PRIVATE.keystore以前の手順と同じエイリアスとキーストアを使用します。-fileパラメーターは作成される新規証明書のファイル名を、-keystoreパラメーターは秘密キーストアのファイル名を渡します。プロンプトでキーストアのパスワードを入力します。keytool -export -alias BRMSKey -file BRMSKey.crt -keystore PrivateBRMS.keystore Enter keystore password: Certificate stored in file <BRMSKey.crt>
[localhost ]$ keytool -export -alias BRMSKey -file BRMSKey.crt -keystore PrivateBRMS.keystore Enter keystore password: Certificate stored in file <BRMSKey.crt>Copy to Clipboard Copied! Toggle word wrap Toggle overflow keytoolコマンドを使用して、デジタル証明書をキーストアにインポートします。keytool -import -alias ALIAS -file CERTIFICATE.crt -keystore PUBLIC.keystoreこれにより、新たなキーストア、トラストストアが作成され、デジタル証明書が含まれるようになります。クライアントアプリケーションは、このトラストストアからデジタル証明書を取得できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - この秘密キーストアは、JBoss Enterprise BRMS Platform サーバーのみがアクセスできるセキュアな場所に保存する必要があります。たとえば、同じマシン上か、このマシンからアクセス可能なセキュアなネットワーク上などです。
重要
JBoss Enterprise BRMS Platform はネットワークリソースに認証情報を提供できません。秘密キーストアがネットワーク上のセキュアな場所に保存されている場合、JBoss Enterprise BRMS サーバーの代わりに認証の手順を実行して、秘密キーストアが入手できるようにする必要があります。例えば、JBoss Enterprise BRMS Platform サーバーがアクセスできるローカルディレクトリとして秘密キーストアを格納するファイル共有を、オペレーティングシステムが認証してマウントできるなどです。 - クライアントアプリケーションからトラストストアにアクセスできるようにしておく必要があります。トラストストアをネットワーク共有や Web サーバー上にホストするなどして、アクセスできるようにします。
- Drools シリアル化システムのプロパティはサーバー上に設定する必要があります。これらのプロパティは、キーストアにアクセスする際に必要な情報を格納するプロパティです。JBoss Enterprise BRMS Platform にはクライアントのコンポーネントも含まれているため、秘密キーストアとトラストストアのプロパティをサーバー上に設定する必要があります。これらのプロパティは一箇所で設定するだけでよく、どこに設定されていても同じアプリケーションサーバーインスタンス上で実行しているアプリケーションであればどれでも利用できます。シリアル化プロパティの設定は、
server/profile/deploy/jboss-brms.war/WEB-INF/にあるpreferences.propertiesファイルを以下のプロパティを含めるように編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - キーストアパスワードは、プレーンテキストで現在保存されています。キーストアの認証情報の暗号化に関する説明は、https://access.redhat.com/kb/docs/DOC-47247 を参照してください。
4.3.3. ルールパッケージ署名用のクライアント設定 リンクのコピーリンクがクリップボードにコピーされました!
System.setProperty メソッドを使用して、プログラムから設定することができます。 org.drools.core.util.KeyStoreHelper クラスには、プロパティを表現する定数が複数含まれています。
- JBoss Enterprise BRMS Platform がすでにインストールされており、正しくルールパッケージ署名が設定されていること
- JBoss Enterprise BRMS Platform サーバーが使用するデジタル証明書を含むトラストストアの URL
- トラストストアのパスワード (設定されている場合)
手順4.7 ルールパッケージ署名のクライアント設定
- 署名の有効化は、
drools.serialization.signプロパティをtrueにします。System.setProperty( KeyStoreHelper.PROP_SIGN, "true" );
System.setProperty( KeyStoreHelper.PROP_SIGN, "true" );Copy to Clipboard Copied! Toggle word wrap Toggle overflow drools.serialization.public.keyStoreURLプロパティにトラストストアが置かれる URL を設定します。トラストストアがクライアントのクラスパスにある場合、これはgetClass().getResource()メソッドを使用して実行できます。例4.1 トラストストアがクライアントのクラスパスにある場合:
URL trustStoreURL = getClass().getResource( "BRMSTrustStore.keystore" ); System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );
URL trustStoreURL = getClass().getResource( "BRMSTrustStore.keystore" ); System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例4.2 トラストストアが Web サーバーにある場合:
URL trustStoreURL = new URL("http://brms.intranet/resources/BRMSTrustStore.keystore" ); System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );URL trustStoreURL = new URL("http://brms.intranet/resources/BRMSTrustStore.keystore" ); System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例4.3 トラストストアがローカルのファイルシステムにある場合:
URL trustStoreURL = new URL("file:///mnt/fileserve/rules-server/BRMSTrustStore.keystore" ); System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );URL trustStoreURL = new URL("file:///mnt/fileserve/rules-server/BRMSTrustStore.keystore" ); System.setProperty( KeyStoreHelper.PROP_PUB_KS_URL, trustStoreURL.toExternalForm() );Copy to Clipboard Copied! Toggle word wrap Toggle overflow drools.serialization.public.keyStorePwdプロパティにトラストストアのパスワードを設定します。トラストストアにアクセスする際にパスワードが必要な場合のみ必要です。System.setProperty( KeyStoreHelper.PROP_PUB_KS_PWD, "sekretPasswordHere" );
System.setProperty( KeyStoreHelper.PROP_PUB_KS_PWD, "sekretPasswordHere" );Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第5章 ロギング リンクのコピーリンクがクリップボードにコピーされました!
5.1. ロギング リンクのコピーリンクがクリップボードにコピーされました!
log4j 提供のロギング機能が含まれています。
WAR に含まれえている設定 WEB-INF/classes/log4j.xml は、全メッセージを STDOUT に送信します。production サーバープロファイルをデプロイする場合は、ログメッセージがサーバーログファイル PROFILE/log/server.log に追加されます。default サーバープロファイルにデプロイする場合は、ログメッセージはサーバーコンソールに表示されます。
5.2. ロギングの設定 リンクのコピーリンクがクリップボードにコピーされました!
log4j 設定ファイル (jboss-as-web/server/PROFILE/conf/jboss-log4j.xml) を編集します。
defaultサーバープロファイルの log4j 設定に追加して、 STDOUT メッセージをサーバーログファイルにダイレクトする新規カテゴリを作成します。
<category name="STDOUT" additivity="false"><priority value="INFO" /><appender-ref ref="FILE"/></category>
<category name="STDOUT" additivity="false"><priority value="INFO" /><appender-ref ref="FILE"/></category>
5.3. 余分なログメッセージの削除 リンクのコピーリンクがクリップボードにコピーされました!
INFO [TransientRepository] Session closed
INFO [TransientRepository] Session closed
jboss-as/server/profile/conf/jboss-log4j.xml に追加して、このメッセージを削除します。
<!-- Limit the verbose JackRabbit TransientRepository --><category name="org.apache.jackrabbit.core.TransientRepository"><priority value="WARN"/></category>
<!-- Limit the verbose JackRabbit TransientRepository --><category name="org.apache.jackrabbit.core.TransientRepository"><priority value="WARN"/></category>
第6章 カスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
6.1. 利用可能な言語 リンクのコピーリンクがクリップボードにコピーされました!
- アメリカ英語 (
en-US) - 日本語 (
ja-JP) - 簡体中国語 (
zh-CN)
6.2. ユーザーインターフェースの言語変更 リンクのコピーリンクがクリップボードにコピーされました!
手順6.1 ユーザーインターフェースの言語変更
jboss-brms.warディレクトリにあるindex.jspファイルを編集して、別のロケールを指定します。デフォルトindex.jspファイルでは、言語にアメリカ英語が使用されています。例6.1 デフォルトの
index.jsp<% String redirectURL = "org.drools.guvnor.Guvnor/Guvnor.html"; response.sendRedirect(redirectURL); %>
<% String redirectURL = "org.drools.guvnor.Guvnor/Guvnor.html"; response.sendRedirect(redirectURL); %>Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトの言語として日本語を指定するには、ファイルを以下のように編集します。例6.2 デフォルト言語が日本語の
index.jsp<% String redirectURL = "org.drools.guvnor.Guvnor/Guvnor.html?locale=ja_JP"; response.sendRedirect(redirectURL); %>
<% String redirectURL = "org.drools.guvnor.Guvnor/Guvnor.html?locale=ja_JP"; response.sendRedirect(redirectURL); %>Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトの言語として簡体中国語を指定するには、ファイルを以下のように編集します。例6.3 デフォルト言語が簡体中国語の
index.jsp<% String redirectURL = "org.drools.guvnor.Guvnor/Guvnor.html?locale=zh_CN"; response.sendRedirect(redirectURL); %>
<% String redirectURL = "org.drools.guvnor.Guvnor/Guvnor.html?locale=zh_CN"; response.sendRedirect(redirectURL); %>Copy to Clipboard Copied! Toggle word wrap Toggle overflow preferences.properties の編集
preferences.propertiesファイルを編集してデフォルトとしたい国、言語コードを指定します。preferences.propertiesファイルはjboss-brms.war/WEB-INF/classes/ディレクトリにあります。デフォルトのpreferences.propertiesファイルでは、言語にアメリカ英語、デフォルトの国にアメリカが使用されています。例6.4 デフォルトが US (米国) の preferences.properties
drools.defaultlanguage=en drools.defaultcountry=US
drools.defaultlanguage=en drools.defaultcountry=USCopy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトの言語として日本語を指定するには、ファイルを以下のように編集します。例6.5 デフォルトが日本の preferences.properties
drools.defaultlanguage=ja drools.defaultcountry=JP
drools.defaultlanguage=ja drools.defaultcountry=JPCopy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトの言語として簡体中国語を指定するには、ファイルを以下のように編集します。例6.6 デフォルトが簡体中国語の preferences.properties
drools.defaultlanguage=zh drools.defaultcountry=CH
drools.defaultlanguage=zh drools.defaultcountry=CHCopy to Clipboard Copied! Toggle word wrap Toggle overflow 日付形式の変更
JBoss BRMS ユーザーインターフェースで複数のインスタンスに対して別の言語を指定してデプロイされる場合、各インスタンスが日付を正しく変換できるように、日付の形式を変更する必要があります。形式の変更をすると既存の日付の値を壊す可能性があるため、以下のプロシージャーは、既存のルールが含まれていない JBoss Enterprise BRMS の新規インストレーションか、日付の値が含まれているテストシナリオのいずれかでのみ実行可能です。preferences.propertiesの日付形式の指定日付形式を変更します。drools.dateformat=dd-MMM-yyyy
drools.dateformat=dd-MMM-yyyyCopy to Clipboard Copied! Toggle word wrap Toggle overflow から以下へdrools.dateformat=yyyy-MM-dd
drools.dateformat=yyyy-MM-ddCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
形式の変更は、JBoss Enterprise BRMS サーバーを再起動するまで有効にはなりません。
対応言語の完全 URL
- 日本語
- 簡体中国語
- アメリカ英語
6.3. UTF-8 エンコーディングでの JVM の実行 リンクのコピーリンクがクリップボードにコピーされました!
6.4. ユーザーインターフェースのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
.css ファイルや一部の画像は、jboss-brms.war/org.drools.guvnor.Guvnor/ ディレクトリにあります (残りの画像は images サブディレクトリにあります)。これらのファイルや画像を使用するには、『BRMS スタートガイド』に記載されている通り、展開アーカイブとして WAR ファイルをデプロイする必要があります。
CSS ファイルを編集または置き換え、ファイル名は変更せずそのままにします。問題が発生した場合、WAR アーカイブからのオリジナルバージョンのファイルをリストアします。
注記
hdrlogo_brms.gif と drools.gif) などのブランディング画像の置き換えです。
Guvnor.css は、ページ要素の全体的なスタイルを管理します。
警告
CSS 追加ファイルを使用しますが、これらは変更しないようにしてください。
jboss-brms.war/WEB-INF/web.xml という配備記述子を変更します。他の Java Web アプリケーションについても同じプロセスを使用します。
第7章 モニタリング リンクのコピーリンクがクリップボードにコピーされました!
7.1. ナレッジベースとナレッジセッションのモニタリング リンクのコピーリンクがクリップボードにコピーされました!
-Ddrools.mbeans = enabled
-Ddrools.mbeans = enabled
KnowledgeBaseConfiguration conf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration(); conf.setOption( MBeansOption.ENABLED );
KnowledgeBaseConfiguration conf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
conf.setOption( MBeansOption.ENABLED );
7.2. Drools ナレッジベースのモニタリングサービス リンクのコピーリンクがクリップボードにコピーされました!
- すべての内部 MBean を開始
- すべての内部 MBean を停止
7.3. Drools ナレッジセッションのモニタリングサービス リンクのコピーリンクがクリップボードにコピーされました!
- 全メトリクスカウンターのリセット
- 特定のルールに関する統計を返す
- 特定のプロセスに関する統計を取得
- 特定のプロセスインスタンスに関する統計を取得
- 作業メモリの合計ファクト数
- 最終リセットから作成された合計アクティベーション数
- 最終リセットから発生した合計アクティベーション数
- 最終リセットからキャンセルされた合計アクティベーション数
- 最終リセットからルールを出すまでにかかる合計時間
- 最終リセットから開始された合計プロセスインスタンス数
- 最終リセットから完了した合計プロセスインスタンス数
- 最終リセット操作のタイムスタンプ
付録A Apache Ant リンクのコピーリンクがクリップボードにコピーされました!
A.1. Apache Ant のインストール リンクのコピーリンクがクリップボードにコピーされました!
手順A.1 Red Hat Enterprise Linux への Apache Ant のインストール
- 以下のコマンドを実行して、Red Hat Enterprise Linux レポジトリに Apache Ant と Trax プラグインをダウンロードして、インストールします。
sudo yum install ant-trax
[localhost]$ sudo yum install ant-traxCopy to Clipboard Copied! Toggle word wrap Toggle overflow
手順A.2 他のオペレーティングシステムへの Apache Ant のインストール
ダウンロードと展開
http://ant.apache.org/bindownload.cgi からApache Antバイナリリリースをダウンロードします。ダウンロードしてから、c:\Program Files\Apache\Ant\または/opt/apache-ant-1.8/などの、任意の場所に展開します。ANT_HOME 環境変数の追加
ANT_HOMEと呼ばれる環境変数を作成します。この変数には、以前の手順で作成したパスを含める必要があります。- Red Hat Enterprise Linux では以下の行を
~/.bash_profileファイルに追加してください。パスは前野手順で作成したパスで置き換えてください。export ANT_HOME=/opt/apache-ant-1.8.1
export ANT_HOME=/opt/apache-ant-1.8.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Microsoft Windows では、メニューをクリックして、を開き、システム -> 詳細 -> 環境編集を選択します。新しい変数を作成して
ANT_HOMEという名前をつけ、前の手順で作成したディレクトリを参照するように設定します。
PATHにbinを含めます。Ant インストレーションのbinディレクトリをPATH環境変数に追加します。- Unix/Linux システムでは、
ANT_HOME変数を設定した行の後に、以下の行を~/.bash_profileファイルに追加するだけです。export PATH=$PATH:$ANT_HOME/bin
export PATH=$PATH:$ANT_HOME/binCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Microsoft Windows では、を開き、システム -> 詳細 -> 環境変数 -> システム変数を選択します。
PATH変数を編集して、;%ANT_HOME%\binのテキストを追加します。
ant -version を実行します。以下のような出力になるはずです。
ant -version Apache Ant version 1.8 compiled on June 27 2008
[localhost]$ ant -version
Apache Ant version 1.8 compiled on June 27 2008
Apache Ant に関する詳細情報は、当プロジェクトの Web サイト http://ant.apache.org を参照してください。
付録B 永続マネージャー設定 リンクのコピーリンクがクリップボードにコピーされました!
B.1. 永続マネージャーの設定例 リンクのコピーリンクがクリップボードにコピーされました!
重要
例B.1 BundleDbPersisenceManager を使用した MySQL の一般的な JDBC 設定
例B.2 MySqlPersistenceManager を使用した MySQL 設定
例B.3 OraclePersistenceManager を使用した Oracle 設定
例B.4 PostgreSQLPersistenceManager を使用した PostgreSQL 設定
例B.5 MSSqlPersistenceManager を使用した Microsoft SQL Server 2005 設定
付録C Camel 統合 リンクのコピーリンクがクリップボードにコピーされました!
C.1. Camel 統合の設定例 リンクのコピーリンクがクリップボードにコピーされました!
Drools-camel-server/src/main/resources/ ディレクトリに以下のファイルを含める必要があります。
- beans.xml
- camel-server.xml
- knowledge-server.xml
- soap-wsdl
- test.drl
例C.1 beans.xml
例C.2 camel-server.xml
例C.3 knowledge-server.xml
例C.4 soap-wsdl
例C.5 test.drl
Drools-camel-server/src/main/webapp/WEB-INF/ ディレクトリに web.xml ファイルも含める必要があります。
例C.6 web.xml
付録D 改訂履歴 リンクのコピーリンクがクリップボードにコピーされました!
| 改訂履歴 | |||
|---|---|---|---|
| 改訂 5.3.1-1.400 | 2013-10-31 | ||
| |||
| 改訂 5.3.1-1 | Thu Mar 07 2013 | ||
| |||