2013年11月28日木曜日

マイグレーションテクニック - JBoss BRMS 5 から JBoss BPM Suite へプロジェクトを移行しよう

原文: Migration Tips - moving projects from JBoss BRMS 5 to JBoss BPM Suite 6 by Eric D. Schabell

 マイグレーションの準備はでていますか?

この記事では、開発者がマイグレーション作業を見積もる際に直面する困難な作業についてお話します。

はじめに

近日リリース予定である Red Hat JBoss BPM Suite 6 へ、あなたのプロジェクトをマイグレーションする際に発生する作業内容を評価できるよう、注意点を紹介します。

JBoss BPM Suite 6 は、JBoss BRMS 6 のスーーパーセットであることをご理解ください。なので、BPMを取り扱ったサンプルプロジェクトを紹介することは、ルールを取り扱ったプロジェクトについて紹介したことになります。

この後、私たちは JBoss BPM Suite 6 へのマイグレーションを実施した、JBoss BRMS 5 プロジェクトを使います。マイグレーション前後のソースコードは、下記リンクから参照いただけます。
リンク先のプロジェクトファイルの中身をそれぞれご確認ください。IDE や 製品の UIコンポーネント上でデモをどのようにインストールし、実行させるか記述されています。現時点では、マイグレーション前のプロジェクトがより豊富なドキュメントを揃えています。マイグレーション後のプロジェクトは徐々に良くなっていきます。何か修正を希望される場合は、ぜひプルリクエストを送ってください。

基盤

これからリリースされる JBoss BRMS / BPM Suite 6 は、ルールやプロセスのリポジトリーのベースに GIT を利用します。現行製品である JBoss BRMS 5 は Jackrabbit をベースとする JCRリポジトリーを利用しています。既存のプロジェクトを新しいリポジトリーに push すればマイグレーションは終わりそうに見えますよね。

それとも、シンプルにはいかないものでしょうか?

残念ながら、それほど簡単にはいきません。まず、GIT をサポートするすべてのツールからアクセス可能であることを理解してください。例えば GIT の CLIツールにより、あなたが愛用されているシェルからリポジトリーにアクセスできます。理解していただく必要のある重要事項ですが、リリース予定である JBoss BRMS / BPM Suite が提供する UI は、完全に GIT の持つ機能を提供するわけではありません。現時点ではとても単純化された方法でリポジトリと連携しており、連携がうまくいかなかった場合、空のリポジトリーを表示することが度々あります。

製品を正しく動作させる為には、あなたの GIT リポジトリーが要求されるディレクトリー構成に準拠している必要があります。製品が持つ素晴らしいグラフィカルインターフェイスでプロジェクトを利用する為には、UI 上であなたが必要とするプロセスやルールなどの空ファイルを一旦作成しておく必要があります。そうすることで作成されたプロジェクトを git clone し、あなたの好きな IDE を使いマイグレーション作業を開始することができます。

プロジェクトのクローンが完了したら、先程作成した空ファイルを目印に、アセットをプロジェクトに追加してください。例えば、customer.bpmn2 という空ファイルを作成していたとします。customereval.bpmn2 をマイグレートする場合、customer.bpmn2 と同じ階層に customereval.bpmn2 を追加してください。追加作業が終わったら空ファイルを削除し、編集したプロジェクトをリポジトリーへ push してください。製品の UI は、自動的に変更内容を検知し、追加されたプロセスやアセットはデザイナーで利用可能になります。

同様にルールファイルを取り込むことが可能です。パッケージ名が、新しいプロジェクトの構造と合致していることをご確認ください。製品の UI はよりビジネスユーザー向けに新調されています。よって、マイグレーション前に利用していた古いパッケージ名 "org.jbpm.customer.evaluation" をより簡略化しました。よりシンプルになったパッケージ名は、"customer.evaluation" です。

プロジェクトには、RequestPerson という2つの Javaクラス(POJO)がモデルとしてあります。フォームモデラー コンポーネントが認識できるように、これらは正しい場所にインポートされる必要があります。すでに説明しましたが、パッケージ名と階層が一致しなければ、これらは表示されません。

プロジェクトのアセットへのアクセス方法が抜本的に変わります。BRMS / BPM Suite でルール、ビジネスプロセス、モデルなどを取り扱う場合、それらは jar アーカイブとしてビルドされ、Mavenリポジトリー経由で取り扱う方法が主流になります。詳細については Maven と題したセクションでお話します。

これにより、あなたはプロジェクトを ルール、イベント、ビジネスプロセスなどを活用するコードプロジェクトとアーティファクトに2分割することができます。アプリケーションコードでアーティファクトを利用したい場合、jarアーカイブとしてプロジェクトに含まれます。ユニットテストはコードプロジェクトに用意され、jar の依存関係を利用して必要なアーティファクトを使用します。

API

製品のコアAPIは、全面的にリファクタリングされました。ルール、イベント、ビジネスプロセスと相互作用する為に書かれたコードは、すべてマイグレートする必要があります。

最終的には。

今は下位互換用に用意された knowledge-api.jar をご利用いただくことで、既存のプロジェクトを使い続けることは可能です。それは、新しい全面的に刷新されたAPIの恩恵を受けることができません。現在、deployable-generic.zip に含まれていますが、general availability(GA)版がでるまでに変更される可能性があります。

業務用コードの残り半分とも言えるユニットテストについては、jbpm-test.jar を利用しているコードをリファクタリングする必要があります。この jar ファイルに関しては下位互換性が用意されていません。私たちも既存のユニットテストを書き直す必要がありました。良いニュースと言えば、コードをシンプルに書けるようになったので、あなたのユニットテストは見通しがよくなり、理解し易いものになるはずです。

jar アーカイブが利用可能になった段階で、maven の依存関係に追記していただくことが可能です。マイグレーション後の顧客満足度調査のデモプロジェクトでは、参考までにインターナルリポジトリーのサンプルを含めました。mavenの依存関係をご確認いただけます。

Rest API も変更されました。もしお客様がインターフェースをカスタマイズされている場合、再設計する為にある程度の作業が要求されます。Rest API は、以下の領域に対するアクセスを提供します。

  • ジョブ(Jobs)
  • リポジトリー
  • 組織ユニット(Organizational units)
  • プロジェクト
  • プロセスインスタンス(start, variables, details, abort, signal) : 変数を含めることも可能です
  • ワークアイテム(Work items)
  • プロセスインスタンスが終了したか確認する為の履歴
  • 総合的なタスクインターフェース

ドキュメントは、カスタマーポータル にから入手可能です。

JCR から GIT への移行ツール

既存のJCRリポジトリーから GITリポジトリーフォーマットへ変換するツールはコミュニティーにあります。現時点では使われていませんが、これから製品化に向けてテストされるはずです。

マイグレーションツールは、まるでハンマーで叩かれる爪のような状態なんでしょうか?

ぜひこのツールにも注目していてください。初期のベータリリースにはまだ含まれていないようです。

Maven に関する詳細

JBoss BRMS / BPM Suite は、maven リポジトリーを利用します。プロジェクトにこのリポジトリーを加えることで、プロジェクトが依存する ルール、イベント、ビジネスプロセスにアクセスすることができます。以下の内容をプロジェクトの  pomファイルに追加するだけで、依存関係を定義することができます。


   guvnor-m2-repo
   Guvnor M2 Repo
   http://localhost:8080/business-central/maven2/

例えば、顧客満足度調査プロジェクトのプロパティ GAV(Group ID, Artifact ID, Version)を設定していたとします。私達は version 1.0 jar  への依存関係をこのように追加することができます。


      customer
      evaluation
      1.0


最後にもっとも重要な注意事項ですが、GITリポジトリをファイルシステムから直接コピーしないでください。必ず git URI を利用してクローンしてください。顧客満足度調査のデモを例にあげるならばCLI か、ご利用されている IDE でいかのうようにクローンしていただきます。

# ファイルシステムから直接コピーしないでください。製品により監視されません。
# これは悪い例です
#
#    git clone file://{path-to-repo}/.niogit/customer.git
#
# これは良い例です。shell から git を利用している例です:
#
$ git clone git://localhost/customer

Cloning into 'customer'...
remote: Counting objects: 562, done
remote: Finding sources: 100% (562/562)
remote: Getting sizes: 100% (435/435)
remote: Compressing objects:  89% (388/432)
remote: Total 562 (delta 24), reused 72 (delta 21)
Receiving objects: 100% (562/562), 59.21 KiB, done.
Resolving deltas: 100% (198/198), done.

Taskに関する変更事項

JBoss BRMS 5 では、一般的には HornetQによるメッセージングシステムを使用して、コアエンジンからブリッジされた Taskサーバーを提供していました。

リリース予定の JBoss BPM Suite では、ローカル Taskサーバーのみ提供します。その為、メッセージングシステムの構築が不要になります。このアーキテクチャー変更の溝を埋めるべく、いくつかのヘルパー/ユーティリティメソッド LocalHTWorkItemHandler が用意されます。下記ソースコードをご確認いただくことで、機能の詳細がわかります。

bpm-human-task/jbpm-human-task-workitems/src/main/java/org/jbpm/services/task/wih/util/LocalHTWorkItemHandlerUtil.java

その他、TaskService API は public API に含まれておりますので、いくつかマイグレーション時にご留意いだく点があります

  • パッケージ名の変更がある為、import文の修正が発生する可能性があります
  • いくつかの API が変更される為、メソッドの修正が発生する可能性があります

顧客満足調査のデモ

ビジネスプロセスに User Task を利用されている場合、殆どのお客様がカスタムインターフェースを開発され、Human Task コンポーネントと連携されていました。新しいアーキテクチャーに対しても同様の作業をされるのではないかと思います。

マイグレーションの実戦

顧客満足調査のデモを具体的に振り返ると、私達はルール、モデル、ユニットテスト、ビジネスプロセスを含むシンプルなアプリケーションをマイグレートしたかったのです。このマイグレーションは、作業の容易性を評価していただける作業でした。

顧客満足度調査のデモをマイグレートした結果(今も改善され続けています)を、ぜひご確認ください。

ユニットテスト

ユニットテストのマイグレーション作業については、製品が利用するローカル maven リポジトリーを使用するように pom.xml を修正するところから始めました。そして、knowledge-api と jbpm-test.jar に対する依存関係を定義しました。このコードスニペットは、一般的なエントリーが必要最低限 定義されています。現在のリリースバージョンが設定されているプロパティは除外しています。また、製品の依存関係が定義されているエントリーも除外しています。


   org.jbpm
   jbpm-test
   ${bpm-suite-version}
   test



   org.drools
   knowledge-api
   ${bpm-suite-version}
   compile


マイグレーションされたユニットテストの実行結果
依存関係の定義が終了したら、ユニットテストのリファクタリングを始めます。現行のユニットテストから、projectsディレクトリ配下に確認できるものへ修正していきます。

ここには製品が提供するアーティファクトが含まれた jar から取得する為のエントリーが含まれます。pom.xml のインラインコメントをご確認ください。

イニシャルセットアップは、KnowledgeBase と StatefulKnowledgeSession を実行する為に使われていました。

これは、セッションストラテジーとランタイムエンジンを設定するだけに省略されます。

# The createRuntimeManager() method and getRuntimeEngine() method are 
# both part of the provided testing harness found in JbpmJUnitBaseTestCase
# class that you can extend all unit tests off of.
#
createRuntimeManager(Strategy.SINGLETON, resources);
RuntimeEngine runtime = getRuntimeEngine(ProcessInstanceIdContext.get());

現行のユニットテストではセッションを操作する必要がありましたが、これからは合理化されたケースがそれぞれのユニットテストに用意されます。

@Test
public void underagedCustomerEvaluationTest() {
 // setup of a Person and Request.
 Person underagedEval = getUnderagedCustomer();
 Request richEval = getRichCustomer();

 // Map to be passed to the startProcess.
 Map params = new HashMap();
 params.put("person", underagedEval);
 params.put("request", richEval);

 // Fire it up!
 System.out.println("=========================================");
 System.out.println("= Starting Process Underaged Test Case. =");
 System.out.println("=========================================");

 KieSession ksession = runtime.getKieSession();
 ksession.insert(underagedEval);
 ProcessInstance pi = ksession.startProcess("org.jbpm.customer-evaluation", params);
 ksession.fireAllRules();

 // Finished.
 assertProcessInstanceCompleted(pi.getId(), ksession);
 assertNodeTriggered(pi.getId(), "Underaged");
 ksession.dispose();

 System.out.println("======================================");
 System.out.println("= Ended Process Underaged Test Case. =");
 System.out.println("======================================");
}


完全にマイグレートされたユニットテストは、以下のファイルからご確認いただけます。JUnit テストを実行することもできます。
src/test/java/CustomerEvaluationTest.java

IDE から UI

最後の作業は、既存のルール、ドメインモデルとなる 2つの Javaクラス、それとビジネスプロセスをインポートすることです。

インポートされたビジネスプロセスが表示されたデザイナー
作業を実施する為、JBoss BPM Suite を起動し、新規のリポジトリーとプロジェクトを作成しました。また空のビジネスプロセスとルールを作成しました。

IDEでの作業を振り返ると、git clone git://localhost/customer と実行してクローンし、追加したいファイルの設置場所を見つける為に空ファイルを用意しました。既存のルールやビジネスプロセスファイルを追加した後、空ファイルを削除しました。プロジェクトに作業結果を戻すと、UI のプロジェクトエクスプローラに表示されます。修正点としては、今まで使われた長いパッケージ名が、customer.evaluation とシンプルになったことです。

モデルのインポートも同じ作業です。まずモデラーコンポーネントを利用して空ファイルを作り、それら空ファイルと 2つの javaクラスを入れ替えます。プロジェクトの構成とパッケージ名が一致したら、それらは UI に表示されます。

インポートされたモデルを表示するフォームモデラー
フォームモデラーは、アノテーションがついたオブジェクトを作成します。私達のオブジェクトには現時点ではアノテーションが付いていません。これは、ビジネスプロセスを実行する際にいくつかの問題を引き起す原因となります。JBoss BPM Suite はプロセスの初期変数値を入力するようユーザータスクフォームを生成しますが、私達が意図する StringフィールドではなくObject である為にこの処理が失敗します。

まとめ

リリース予定の JBoss BRMS / BPM Suite はまだ初期段階の製品です。あくまでも、マイグレーションの可能性を早い段階で確認しているとご理解ください。これは完全なマイグレーションガイドではありせん。小規模なサンプルアプリケーションを通し、どの分野が影響を受け、何を期待していただけるかをまとめたものです。

モデルのインポート、パッケージングパス、アノテーションに起因する問題は今後さらに調査する価値のあるトピックだと思います。製品へのドキュメントが提供された際には、カバーされるべきトピックでしょう。

projects/customer-evaluation-demo は、JBoss Developer Studio にインポートされ、BPM Suite で実行されているプロジェクトと相互作用することを意図しています。現在開発段階の状況ですが、ぜひ製品リリースの進捗状況と同様、こちらのプロジェクトにもご注目ください。

私達は今後、他のデモに関しても同様にマイグレーションを実施し、作業内容や成果をご紹介していきます。製品の機能、統合性、使い易さを試すべく、個々のプロジェクトはこれからさらに複雑になります。

原文: Migration Tips - moving projects from JBoss BRMS 5 to JBoss BPM Suite 6 by Eric D. Schabell

2013年11月27日水曜日

Camelで OptaPlannerを使う(例えば、RESTサービスとして公開できます)

原文: Using OptaPlanner in Camel (for example to expose it as a REST service) Geoffrey De Smet(Drools&jBPM)

Camel 2.13 では、たぶん OptaPlannerコンポーネントが含まれます。
これにより、CamelでOptaPlannerと連携することが非常に簡単になります。例えば、OptaPlanner をRESTまたは SOAPサービスとして公開することができます。

camel-optaplanner に関するドキュメントをお読みください。もしくは、ソースコードを入手してください。

注意:  このコンポーネントはまだ開発初期段階です。テストで動作をご確認いただけます。機能の範囲や拡張に関するフィードバックを歓迎します。

Camelの基礎を説明したくださった Charles Moulliard  に大変感謝しています。また、コードを洗練してくださった Claus Ibsen にも大変感謝しています。

原文: Using OptaPlanner in Camel (for example to expose it as a REST service) Geoffrey De Smet(Drools&jBPM)

2013年11月25日月曜日

JBoss Developer Day in London 2013 - インテグレーション、BPM、OpenShift の日

原文: JBoss Developer Day in London 2013 - a day of integration, BPM, and OpenShift by Eric D. Schabell

BPM Suite と OpenShift のライブデモ
私は今週、2つセッションを担当する為に ロンドンで開催された JBoss Developer Day 2013 に参加しました。当日は素晴らしいお客様達と話し合うことができ、とても有意義な内容となりました。

映画館の雰囲気をもったワークショップの会場では、休憩用のコーヒーがいただけるカフェブースが後方に用意されていました。すばらしかったです。私はたくさんのお客様の他、同僚である営業、エンジニア、サポートスタッフとも話すことができました。たくさんの方々とコミュニケーションがとれたことは、スピーカー達による素晴らしいセッションと同様に価値のあるものでした。

以下のスライドを公開します。ぜひお楽しみください。

JBoss BRMS と BPM Suite を水晶玉で覗いてみよう


OpenShift入門 - あなたのアプリケーションをクラウドに置こう


原文: JBoss Developer Day in London 2013 - a day of integration, BPM, and OpenShift by Eric D. Schabell

2013年11月23日土曜日

JBoss One Day Talk 2013 - JBoss Rock Star が集う

原文: JBoss One Day Talk 2013 - Full of JBoss Rock Stars by Eric D. Schabell

今日はミュンヘンで JBoss One Day Talk が開催され、とても楽しい時間を過ごしました。イベントにはたくさんの JBoss Rock Star が参加しており、まるで reunion のようでした。

また、このイベントはドイツのマーケットからも注目を浴びていました。私が数年前にお会いしたパートナー様やお客様は毎年このイベントに参加され、JBoss のセッションを盛り上げてくださっています。

私は、JBoss BRMS と BPM Suite のアーリーアクセス版についてお話をする予定でしたが、最終的には BPMコンポーネントの紹介として、OpenShift へプロジェクトをデプロイする例までご紹介しました。



原文: JBoss One Day Talk 2013 - Full of JBoss Rock Stars by Eric D. Schabell

2013年11月15日金曜日

Red Hat JBoss BPM Suite - 「一般的なローンのデモ」による自動化された貸出し処理

原文: Red Hat JBoss BPM Suite - Automated Lending with a Generic Loan Demo by Eric D. Schabell

Red Hat JBoss BPM Suite 「一般的なローンのデモ」

弊社 Red Hat と強固な関係を持つパートナー様がおります。彼らはお客様の為に Red Hat JBoss Middleware 製品を熟知し、活用されています。今回の記事は、そんなパートナー様の事例がもとになっています。

先週、 Red Hat のお客様に対して私たちは Red Hat JBoss BPM Suite Beta1 の公開を開始しました。これは、バージョン6 のリリースに向けたマイルストーンとなっています。

今回のデモは、Red Hat パートナー様の為に働く Dan-Grigore Pupaza のコードがベースになっています。

最終ベータ版が発表される際にアナウンスされるであろう詳細に関しての説明は省き、すぐに使える初期設定された 「一般的なローンのデモ(Generic Loan Demo)」を、JBoss BPM Suite Beta1と先行して提供したいと考えました。

このプロジェクトも、私がこれまでご紹介した JBoss のデモと同様にセットアップできます。つまり、とても簡単に始めることができるんです。プロジェクトを取得した後、カスタマーポータル から製品をダウンロードしてください。あとはスタートボタンを押すだけです。

可能な限り簡単にしていますよ!

ここからは、詳細に関して bpms-generic-loan-demo として Github で公開されているプロジェクトを取得する ところから順に説明していきます。

プロジェクトを取得する

# 以下のようにプロジェクトをクローンしてください
#
$ git clone https://github.com/eschabell/bpms-generic-loan-demo.git

このプロジェクトはベータリリースをベースにしている為、最終版のドキュメントは用意されていません。その為、今回の記事で順に説明します。将来は、クイックスタートドキュメントが、先ほどクローンしていただいたプロジェクトに含まれます。プロジェクトのアーキテクチャーの概要を説明したスライドも含まれる予定です。

まず、クローンされたプロジェクトのディレクトリやファイルを見ていきましょう。

プロジェクトの構成

README.md - インストラクションと、動かす為に必要な詳細が記述されています
init.sh - 製品とデモの設定及びインストールを実施するスクリプトです
installs/ - デモの為に製品を設置するディレクトリです。このディレクトリにある、README ファイルをご確認ください。
projects/ - JBDS から import できる開発者用デモプロジェクトが設置されています
docs/ - デモのドキュメント
support/ - インストール作業に使われるファイルや設定等が設置されています

あなたのマシンにクローンすることができたら、カスタマーポータル から JBoss BPM Suite Beta1 をダウンロードしてください。


jboss-bpms-6.0.0.Beta1-deployable-ee6.x.zip をダウンロードできるはずです。また、JBoss EAP 6.1.0 も必要になりますので、こちらもカスタマーポータルよりダウンロードしてください。

製品のインストール

# installs ディレクトリーへ、ダウンロードしコピーしてください。
# 下記コマンドを実行し、実行可能なファイルにしてください:
#
$ chmod +x installs/jboss-bpms-6.0.0.Beta1-deployable-eap6.x.zip
$ chmod +x installs/jboss-eap-6.1.0.zip

さぁ、プロジェクトのルートディレクトリで、いよいよ init.sh(もしくは、init.bat)を実行することができます。

インストールスクリプトの実行結果


target ディレクトリが新しく作成され、JBoss EAP サーバーが格納されているはずです。 EAP には、JBoss BPM Suite と「一般的なローンのデモ」がインストールされています。デモプロジェクトは、以下の作業でスタートします。

JBoss BPM Suite を起動する

# クローンされたプロジェクトのルートディレクトリから、以下のコマンドで起動します 
#
$ ./target/jboss-eap-6.1/bin/standalone.sh

JBoss BPM Suite ログイン画面
製品が起動したら ブラウザーを起動し、JBoss BPM Suite の Business Central にログインしてください。

http://localhost:8080/business-central

「一般的なローンのデモ」で利用する Human Task用に、すでにいくつかロール(権限)が設定されています。

デモ用のユーザーとロール


  • {ユーザー名: erics, パスワード: bpmsuite} すべてのロールとアドミン権限を持ちます
  • {ユーザー名: alan, パスワード: bpmsuite} ローン・オフィサーのロールを持ちます
Project Authoring を選択
初めて試される方は、作業を簡略化する為に最初にリストされたユーザー(erics)でログインしてください。すべてのロールを持っているからです。以下のスクリーンショットは、すべて erics でログインしています。


ログインに成功すると、JBoss BPM Suite が持つたくさんのコンポーネントへのリンクが貼られた初期画面をご確認いただけるはずです。「一般的なローンのデモ」がプリロードされている為、Authoring -> Administration メニューを利用する必要はありません。このメニューは、新規リポジトリーやプロジェクトを作成したり、Gitリポジトリーから 既存のものを import するのに利用します。

Project Explorer
「一般的なローンのデモ」のビジネスプロセスを確認し、ビルド・デプロイする為、画面の左上から Authoring -> Project Authoring を選択してください。左側に Project Exploer のビューが表示され、プリロードされた「GenericLoanApplication」が右側に表示されるはずです。また、すべてのプロジェクトのアーティファクトがロードされているはずです。左側にある、Project Explorer からご確認ください。

Project Editor
様々なアセットを探索してみてください。私たちは読者の皆様へ演習としてこの課題を残しておきます。ぜひ、楽しんでください。ご認識していただきたい注意点がございます。あくまでもこの製品はベータ版であり、修正予定の不具合が存在します。プロジェクトの README.md をご確認いただくと、あなたが遭遇する可能性がある不具合に関する詳細をご確認いただけます。

では、プロジェクトをビルドし、デプロイします。そして、記念すべき最初のビジネスプロセス インスタンスを、このデモを通してスタートしましょう。その為に、Tools -> Project Editor を選択してください。画面右端に Build & Deploy ボタンがあるプロジェクトスクリーンが表示されます。

プロジェクトをビルド・デプロイします
ボタンをクリックし処理が順調に終わると、Build successful と表示された緑色のバーがポップアップするはずです。

画面の上部にある Process Management -> Process Definitions を選択してください、デプロイされたプロジェクトが確認できるはずです。 「GenericLoanApplication」というエントリーがあるはずです。そのエントリーの右側にある虫眼鏡をクリックすることで、ビジネスプロセスの詳細情報を確認できます。

ビジネスプロセスの開始
画面上部にある New Instance ボタンをクリックすることで、新規プロセスインスタンスが生成され、「一般的なローンのデモ」へ提出する為の申請書(入力画面)がポップアップされます。

下記データを、プロセスインスタンス用に入力してください。

申請書の提出

  • Name: erics
  • Age: 30
  • Income: 3000
  • Amount: 10010 (1万以下であれば自動承認されます。HumanTask は利用されません)
  • Period(月): 24
申請書の下部にある矢印ボタンをクリックして提出してください。その後、プロセスインスタンスの進捗状況をご確認いただくことができます。画面上部にある Tasks-> TasksList を選択し、処理待ちの HumanTask があれば実行してみてください。

モニター(BAM)
ビジネスプロセスをモニターするには、Process & Task Dashboard をご利用ください。特に、HumanTaskを claim したり complete した際にはご確認ください。

dashboard(BAM)を使ったモニタリング。1つ HumanTask が完了しています
これで、JBoss BPM Suite を始めるにあたってのクイックビューは終了です。

最後に注意点をお伝えします。このデモはすべてメモリー上で動作します。JBoss BPM Suite を再起動した場合、あなたが使用したプロセスデータ、インスタンスなどすべての情報を失います。また、再インストールを実施される場合は、最初に説明した手順を繰り返してください。


原文: Red Hat JBoss BPM Suite - Automated Lending with a Generic Loan Demo by Eric D. Schabell

2013年11月11日月曜日

Droolsでスペースインベーダーゲームを実装 8分間セミナー

原文: Space Invaders in 8 minutes with Drools by Mark Proctor(Drools & jBPM)

Pong や Wumpus World のように、シンプルにしたスペースインベーダーゲームを実装しました。youtubeに紹介動画をアップロードしたので、高画質のフルスクリーンでご覧ください。でないとソースコードが滲んで読みづらいです。

完全なゲームには仕上がっていませんが、Pong や Wumpus World と比べるとシンプルです。よって、Droolsの学習を始めるにはより適切なゲームです。他のゲームへ再利用できるように考慮しながら、コンフィグレーションクラスや核となるルールを実装しました。(ご利用いただく際には、まずリファクタリングをしていただくことになるでしょう) 今回のインベーダーゲームの実装では、ゲームの実装レベルにわけてコミットしました。よって、あなたが今どの段階を学んでいるか簡単に把握できます。

データモデルクラスと 6つのMainクラスはこちらで公開しています:

各Mainクラスで利用されている drlフォルダー(合計6つ)はこちらで公開しています:



原文: Space Invaders in 8 minutes with Drools by Mark Proctor(Drools & jBPM)