Red Hat Decision Managerをとりあえず触ってみたい場合　-開発者向け環境構築編-

注）記事内容はすべて個人の見解に基づくものであり、Red Hat社の公式見解ではありません。

##Red Hat Decision Managerとは
Red Hat社のミドルウェア製品。
2018年のバージョン 7 リリース時に、製品名を**「Red Hat JBoss BRMS」**から**「Red Hat Decision Manager」**に変更した。
以前の製品名にあった「BRMS」とは「Business Rule Management System」の略で、ルールエンジン（○○であれば△△をする、と言った業務ルールを簡素に記述し、効率的に動かすことに特化したエンジン）とそれらのルールを管理する機能を持ったシステムのことを言う。
BRMS製品は他にも多数存在するが、「Red Hat Decision Manager」は国内シェアNo1の製品である。

##DroolsとRed Hat Decision Managerの違い
Red Hat製品は、オープンソースでライセンス料はフリーだが、使用するにはRed Hat社とのサブスクリプション契約が必要になる。
しかし、お試しで使う分には自由にダウンロードが可能で、使用制限も特にない。

ちなみに、製品版の元になっているのは、「[Drools](https://www.drools.org/)」というコミュニティー。
ここで日々、世界中のデベロッパーにより様々な機能追加や改良がなされており、その中で安定したバージョンを取り出し、商用利用可能なレベルのテストを通過させて、製品としてリリースしている。

## 必要な環境
そこそこのスペックのPC（メモリ8GB以上が望ましい）
ネット接続
JDK1.8（事前にインストール）
※Decision Managerバージョン7においては、JDK1.8が必要です。

## ダウンロードサイト
お試しで使用する場合には、以下のサイトからRed Hatの各種製品をダウンロードすることが可能。
https://developers.redhat.com/
ダウンロードには、アカウントが必要だが、とりあえず個人アカウントを作っておけばよいです。

ちなみに、ネット環境があり、Red HatのMavenリポジトリにアクセス可能であれば、開発ツールの「Red Hat Developer Studio」をダウンロードして、その後、必要なjarはMavenで取得可能なので、Decision Managerそのもののダウンロードは不要。

※Red Hat Developer Studio（Red Hat CodeReady Studioは、Eclipseベースの開発環境です。Eclipseなんかちょっと重くて・・・という方は、VSCodeもお薦めします。DroolsやjBPMのExtensionがあるので、ルール開発出来ます。ただし、コミュニティ版のExtensionなのでRed Hat社のサポート対象ではないでご注意ください。）
※2021/4 追記：CodeReady Studioのプラグインは、最新はもう出ないようです。VSCodeを利用されることをおすすめします。

## Red Hat Developer Studioのダウンロード
ということで、ここでは、上記ダウンロードサイトから、「Red Hat Developer Studio」をダウンロードします。（ちなみに、以前は JBoss Developer Studioという名前だったけど、変わりました。※2019/4 に更に名前が変わって、「Red Hat CodeReady Studio」になっています！）
[Developer studio ダウンロード先](https://developers.redhat.com/products/devstudio/download/)

ただし、最新バージョンではなく少し前のものを選んだほうがよいです。というのは、ルール開発用のプラグイン(Red Hat JBoss Developer Studio Integration Stack)が出るのが、Developer Studio本体のリリースより遅れるからです。
2018年8月時点では、最新バージョンは12ですが、その一つ前の11.3用のプラグインはリリースされています。
プラグインのリリース状況については、[ここ](https://access.redhat.com/documentation/en/red-hat-jboss-developer-studio-integration-stack/index.html)を見るとわかるかも。
※2021/4 追記：CodeReady Studioのプラグインは、最新はもう出ないようです。VSCodeを利用されることをおすすめします。

さて、それでは、Developer Studioをダウンロードします。

<img width="791" alt="スクリーンショット 2018-08-03 14.04.57.png" src="https://qiita-image-store.s3.amazonaws.com/0/276989/928c1895-d47f-d089-143c-c6c23478c092.png">

View Older Downloadsをクリックして、前バージョンを表示させ、ダウンロードしたいバージョンの「Installer」をクリックすると、「devstudio-x.x.x.GA-installer-standalone.jar」がダウンロードされます。(x.x.xはバージョンによって異なる）

以上でDeveloper Studioのダウンロードが完了です。

## Red Hat Developer Studioのインストール
ダウンロードしたjarを実行すると、インストール画面が起動します。
`$ java -jar /path/devstudio-x.x.x.GA-installer-standalone.jar`

<img width="500" alt="スクリーンショット 2018-08-03 14.17.45.png" src="https://qiita-image-store.s3.amazonaws.com/0/276989/d7fca38b-cbbe-7643-5f88-32f280e7b4f4.png">
<img width="500" alt="スクリーンショット 2018-08-03 14.18.38.png" src="https://qiita-image-store.s3.amazonaws.com/0/276989/41d87271-2007-4e51-0836-becfbc5e490e.png">
インストール先は任意だが、パスに日本語やスペースが入らないようにすること。
<img width="500" alt="スクリーンショット 2018-08-03 14.19.09.png" src="https://qiita-image-store.s3.amazonaws.com/0/276989/1d1682cb-7492-05dc-1256-d8c7f26d8eca.png">
<img width="500" alt="スクリーンショット 2018-08-03 14.19.34.png" src="https://qiita-image-store.s3.amazonaws.com/0/276989/7d204462-4da7-30d3-1c79-5923e059de0f.png">
Step5〜Step8までは、デフォルトのままで「Next」

Step10で、「Run Red Hat JBoss Developer Studio after installation」にチェックをいれて、「Done」をクリックすると、インストール完了後に自動でDeveloper Studioが起動します。
<img width="500" alt="スクリーンショット 2018-08-03 14.28.39.png" src="https://qiita-image-store.s3.amazonaws.com/0/276989/7f5e8f4f-9a63-11ae-a061-2c0b70aa115d.png">


Developer Studioが起動すると、最初にworkspaceの場所を聞かれます。
任意のディレクトリを指定して、「Launch」をクリックします。
<img width="500" alt="スクリーンショット 2018-08-03 14.47.55.png" src="https://qiita-image-store.s3.amazonaws.com/0/276989/91effcf0-e3aa-522a-e123-7d74b94c589a.png">

Developer Studio起動画面。
<img width="800" alt="スクリーンショット 2018-08-03 14.54.21.png" src="https://qiita-image-store.s3.amazonaws.com/0/276989/b3cc511e-b95c-d4ad-054e-b3f5e37c84b2.png">

## ルール開発用プラグインの追加
Developer Studioの「JBoss Central」ビュー内の「Software/Update」タブを表示する。
（注：インターネット環境が必要です）
<img width="500" alt="スクリーンショット 2018-08-03 15.42.21.png" src="https://qiita-image-store.s3.amazonaws.com/0/276989/426c2717-ecd4-0ffa-5a43-ac64a1296f15.png">
「JBoss Business Process and Rules Development」にチェックをいれ、「Install/Update」ボタンをクリックすると、プラグインのインストールが始まります。（ダイアログで、Next → Next → I acceptを選択 → Finish。途中でSecurity Warningが表示されますが、気にせず「Install anyway」を選択。最後にRestartするか聞かれるので、Restartする。）

※プラグインのダウンロードサイトを追加して、ダウンロードすることも可能です。


## Mavenリポジトリ設定
Red HatのMavenリポジトリを参照する設定をします。
settings.xmlを直接編集してもよいですが、Developer StudioからGUIで編集することも可能です。

### Developer StudioからMavenリポジトリを追加する方法
1. Preferencesを開く（Window → Preferences、Macの場合は、Red Hat JBoss Developer Studio → 環境設定)
2. 検索ボックスで maven と入力し、「JBoss Maven Integration」設定画面を表示する。
<img width="500" alt="スクリーンショット 2018-08-03 15.51.55.png" src="https://qiita-image-store.s3.amazonaws.com/0/276989/702150bd-e31c-88be-061a-63fff8b24bc1.png">
3. 「Configure Maven Repositories...」ボタンをクリック
4. 「Add Repository」をクリック
5. 以下の通りにリポジトリ情報を入力し、「OK」をクリック。<img width="500" alt="スクリーンショット 2018-08-03 15.54.03.png" src="https://qiita-image-store.s3.amazonaws.com/0/276989/03d2b466-5966-137c-d0e4-770db51ca972.png">
6. 「Finish」をクリックし、settings.xmlを更新してよいかどうか聞かれるので、「Yes」を選択。

これで、ビルド時にRed HatのMavenリポジトリからjarがダウンロードされるようになります。
ネットワーク環境にあっても、http://maven.repository.redhat.com/ga/ にアクセスできない場合は、settings.xmlにプロキシ設定を追加することでアクセス可能になる場合があります。

これでルール開発環境が整いました。
次は、サンプルプロジェクトをインポートして、ルールを触って動かしてみる方法について書きます。