2014年3月31日月曜日

Red Hat JBoss BRMS - オンラインワークショップで Cool Storeを作る(Lab 4 Domain Specific Languageの作成)

原文: Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Lab 4 Create a Domain Specific Language) by Eric D. Schabell

JBoss Business Rules Management System(BRMS)とBusiness Process management(BPM)Suite のオンラインワークショップシリーズです。早速、今週分のラボをご案内します。

このワークショップを通し、これら2つの商品があなたのビジネスにもたらす可能性についてご紹介します。

毎週、1週間分のワークショップを push する予定です。ワークショップでは、ルール、イベント、ルールフローを活用したオンラインリテーラーによるウェブショッピングサイトを構築します。

すでにCool Storeデモとして完成されたプロジェクトをご利用していただけますが、スクラッチからアプリケーションを実装していただくことでお楽しみいただけるはずと考えました。

ワークショップの後半でも同様の演習が続きますが、今度は JBoss BPM Suite をご利用いただきます。ビジネスプロセス、ルール連携、ヒューマンタスクを活用したアプリケーションになります。その他、あなただけの入力フォームをデザインしていただいたり、色々とお楽しみいただける内容を盛り込んでいます。

先週はドメインモデルを作成しました。
Cool StoreのDomain Specific Languageを作る

今週は、Domain Specific Language(DSL) で Cool Storeプロジェクトを展開する方法を学びます。DSLにより、ビジネスユーザーは業務で使用する言葉を利用し、ルールを作成することができます。

翌週以降も演習を通して Cool Sotre の実装を経験していただき、1段階上の開発レベルへあなたをお連れします。

ワークショップで利用されるすべてのマテリアルは OpenShift を利用し、オンラインにホストされます。あなが必要なものはインターネットに接続できるブラウザーです。

参加者は Java開発者である必要はありません。今回のワークショップは、ビジネスアナリストにも参加していただくことを想定し、製品に同梱されるウェブダッシュボードの使用がメインとなります。唯一技術的な作業は製品の初期インストールでしょうが、詳細に作業手順を解説しておりますのでご安心ください。また、作業自体は3ステップのみで構成されており、数分で完了する内容です。

では、さっそく始めましょう。

Cool Store の Domain Specific Language(DSL)を作成する


過去のラボを実施されていない方は、過去の資料をご確認いただけるのでキャッチアップできます:

1. イントロダクションJBoss BRMSのインストール
2. 新規プロジェクトを作成
3. ドメインモデルの作成
4. Domain Specific Language(DSL)の作成

来週以降のワークショップシリーズにご注目ください。次回の記事では Cool Store の完成に迫ります。

メモ: 何らかの理由でオンラインのマテリアルにアクセスできない場合、ご遠慮なさらずお知らせください。

原文: Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Lab 4 Create a Domain Specific Language) by Eric D. Schabell






2014年3月30日日曜日

Red Hat Summit 2014 に Mr.梅野が登壇!

サンフランシスコで開催予定の Red Hat Summit 2014では、日本人のプレゼンテーターが登壇するセッションがあります。

Migrating JRules to Red Hat JBoss BRMS

2012年にSoftbank社が実施した JRules から Red Hat JBoss BRMS へのマイグレーションについて、梅野さんがビシッと紹介されます。

過去に日本国内で開催された Red Hat Forum では度々登壇されている梅野さんですが、今回はサンフランシスコから世界に向けて情報を発信されます。Webinarが用意されているので、セッション当日は日本から皆で参加しましょう!

2014年3月26日水曜日

Red Hat JBoss BRMS - オンラインワークショップで Cool Storeを作る(Lab 3 ドメインモデルの作成)

原文: Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Lab 3 Create a Domain Model) by Eric D. Schabell

JBoss Business Rules Management System(BRMS)とBusiness Process management(BPM)Suite のオンラインワークショップシリーズです。早速、今週分のラボをご案内します。

このワークショップを通し、これら2つの商品があなたのビジネスにもたらす可能性についてご紹介します。

毎週、1週間分のワークショップを push する予定です。ワークショップでは、ルール、イベント、ルールフローを活用したオンラインリテーラーによるウェブショッピングサイトを構築します。

すでにCool Storeデモとして完成されたプロジェクトをご利用していただけますが、スクラッチからアプリケーションを実装していただくことでお楽しみいただけるはずと考えました。

ワークショップの後半でも同様の演習が続きますが、今度は JBoss BPM Suite をご利用いただきます。ビジネスプロセス、ルール連携、ヒューマンタスクを活用したアプリケーションになります。その他、あなただけの入力フォームをデザインしていただいたり、色々とお楽しみいただける内容を盛り込んでいます。

Workbench domain modeler
先週は製品の紹介後、JBoss BRMS(ラボでは提供されませんが、オンラインからダウンロードしていただけます) のインストールを実施しました。最後にプロジェクトの作成を行い、ラボのキックオフが終了しました。

今週は、workbench domain modelerコンポーネントを使い、ドメインモデルを作成する方法をご紹介します。

翌週以降も演習を通して Cool Sotre の実装を経験していただき、1段階上の開発レベルへあなたをお連れします。

ワークショップで利用されるすべてのマテリアルは OpenShift を利用し、オンラインにホストされます。あなが必要なものはインターネットに接続できるブラウザーです。

参加者は Java開発者である必要はありません。今回のワークショップは、ビジネスアナリストにも参加していただくことを想定し、製品に同梱されるウェブダッシュボードの使用がメインとなります。唯一技術的な作業は製品の初期インストールでしょうが、詳細に作業手順を解説しておりますのでご安心ください。また、作業自体は3ステップのみで構成されており、数分で完了する内容です。

では、さっそく始めましょう。

Cool Storeのドメインモデルを作成する:


過去のラボを実施されていない方は、過去の資料をご確認いただけるのでキャッチアップできます:

1. イントロダクション
2. JBoss BRMS をインストール
3. 新規プロジェクトを作成

来週以降のワークショップシリーズにご注目ください。次回の記事では Cool Store の完成に迫ります。

メモ: 何らかの理由でオンラインのマテリアルにアクセスできない場合、ご遠慮なさらずお知らせください。

原文: Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Lab 3 Create a Domain Model) by Eric D. Schabell

2014年3月24日月曜日

Red Hat JBoss BPM Suite - LDAP用の初期権限(default role)設定を変更する

原文: Red Hat JBoss BPM Suite - changing the default roles for LDAP configuration by Eric D. Schabell

企業が保有する既存の権限(ロール)やユーザー情報を活用する為、JBoss BPM Suite に LDAPを使う設定をされた場合、ロールの初期値がLDAPの管理下にうつります。

JBoss BPM Suite をデプロイした際に用意される以下のロールを変更するにはどうすればよいでしょう?: admin、developer、analyst、user、manager

workbenchの設定で変更することができます。下記修正箇所に設定された5つのユニークなロールが、LDAPの管理下にあることを確認してください。

# Edit the file found in the deployments directory of your jboss server,
# business-central.war/WEB-INF/classes/workbench-policy.properties and
# at the bottom you will find the following entries that can be adjusted
# to the LDAP roles you would like to assign to each.
#
roles.wb_everything=admin
roles.wb_for_developers=developer
roles.wb_for_business_analysts=analyst
roles.wb_for_business_users=user
roles.wb_for_managers=manager


# You will also need to adjust the file found in the deployments directory 
# of your jboss server at business-central.war/WEB-INF/web.xml to adjust 
# to match your new LDAP roles. The following entries are shown with the 
# original five roles, adjust the 'role-name' to the new roles as needed.
#

    Administrator - Administrates the BPMS system. Has full 
      access rights to make any changes necessary. Also has the
      ability to add and remove users from the system.
    
    admin



    Analyst - Responsible for creating and designing processes
      into the system. Creates process flows and handles
      process change requests. Needs to test processes that
      they create. Also creates forms and dashboards.
    
    analyst



    Developer - Implements code required for process to work. 
      Mostly uses the JBDS connection to view processes, but may use the
      web tool occasionally.
    
    developer



    Business user - Daily user of the system to take actions 
      on business tasks that are required for the processes to continue 
      forward. Works primarily with the task lists.
    
    user



    Manager/Viewer-only User - Viewer of the system that is 
      interested in statistics around the  business processes and their 
      performance, business indicators, and other reporting of the system 
      and people who interact with the system.
    
    manager


この tips は、Adam Baxter によって提供されました。感謝のコメントをされたい方は、ぜひ直接彼にコンタクトしてください。

原文: Red Hat JBoss BPM Suite - changing the default roles for LDAP configuration by Eric D. Schabell

2014年3月20日木曜日

Red Hat JBoss BPM Suite - Business Activity Monitor(BAM)のレポートパーミッションを変更する

原文: Red Hat JBoss BPM Suite - changing Business Activity Monitor (BAM) report permissions by Eric D. Schabell

JBoss BPM Suite に含まれる Business Activity Monitor(BAM) を使用することで、あなたの好きなようにデータソースから必要なレポートを作成することができます。

ここで問題です。機密性の高いレポートを、マネージャーにのみ公開するにはどうしたらよいでしょう?

BAMのレポートプロパティにあるパーミッションを修正することで実現できます。

dashboard のどのセクションにアクセスできるか、ユーザーに対して権限レベルを設定することができます。admin権限であれば、ページの作成、編集、クリーンアップ、パネルの変更を実行できます。

Figure 1 - BAM dashboard のサンプル:支出レポート

JBoss BPM dashboard にログインしたとします。例えば、JBoss BRMS Generic Loan Demo プロジェクトをセットアップしたと仮定して、トップメニューから Dashboards -> Business Dashboards と選択できます。Figure 1 でご確認いただけるように、example Expense reports を Sample dashboards から選択してください。

パーミッションを確認する為、画面の上部にある Edit Page Properties tool アイコンを選択してください。

Workspaces -> Showcase -> Pages -> Sample dashboards -> Expense reports -> Page permissions を選択することで、このレポートに対するパーミッションをご確認いただけます。

Figure 2 - manager と admin に対してレポートへのアクセス権限を追加
パーミッションの初期設定は空なので、レポートに対するアクセス制限はありません。マネージャーのみ閲覧可能にしたい為、何でもできる administrator権限と、閲覧のみできる manager権限を追加します。Figure 2 でご確認いただけるように、その他の権限ではレポートにアクセスすることができません。

全体に適応される(high level)デフォルトパーミッションの内容を確認する為、Workspaces -> Showcase -> Permissions を選択すると、ショーケース用のすべてのレポートに対するパーミッションが表示されます。Figure 3 でご確認いただけるように、権限のアクセスレベルは修正可能です。

Figure 3 - BAM レポートの全体に適応される(high level)パーミッション
今回の記事では、BAM
のレポートに付与するパーミッションについて2つご案内しました。1つは個々のレポートに付与するパーミッションで、もう1つは全体に適応される(high level)パーミッションです。パーミッションの修正方法についても触れました。

今回は小規模なサンプルにすぎません。必要であれば、パネル毎にパーミッションを設定するような細かいコントロールをすることも可能です。

原文: Red Hat JBoss BPM Suite - changing Business Activity Monitor (BAM) report permissions by Eric D. Schabell

2014年3月18日火曜日

Red Hat JBoss BRMS - オンラインワークショップで Cool Storeを作る(イントロ & Lab 1-2)

原文: Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Introduction & Labs 1 - 2) by Eric D. Schabell

JBoss Business Rules Management System(BRMS) と Business Process Management(BPM) Suite 用オンラインワークショップのキックオフにようこそ。

ワークショップを通し、これら2つの商品があなたのビジネスにもたらす可能性について紹介します。

毎週、1週間分のワークショップを push する予定です。ワークショップでは、ルール、イベント、ルールフローを活用したオンラインリテーラーによるウェブショッピングサイトを構築します。

すでにCool Store デモとして完成されたプロジェクトをご利用していただけますが、スクラッチからアプリケーションを実装していただくことでお楽しみいただけるはずと考えました。

ワークショップの後半でも同様の演習が続きますが、今度は JBoss BPM Suite をご利用いただきます。ビジネスプロセス、ルール連携、ヒューマンタスクを活用したアプリケーションになります。その他、あなただけの入力フォームをデザインしていただいたり、色々とお楽しみいただける内容を盛り込んでいます。

Cool Store をビルドする!
今週はキックオフということで、製品の紹介をした後、JBoss BRMSのインストール、そしてプロジェクトの作成まで行っていただきます。(JBoss BRMS は提供されませんが、オンラインからダウンロードしていただけます)

翌週以降では Cool Sotre の実装を経験していただき、1段階上の開発レベルへあなたをお連れします。

ワークショップで利用されるすべてのマテリアルは OpenShift を利用し、オンラインにホストされます。あなが必要なものはインターネットに接続できるブラウザーです。

参加者は Java開発者である必要はありません。今回のワークショップは、ビジネスアナリストにも参加していただくことを想定し、製品に同梱されるウェブダッシュボードの使用がメインとなります。唯一技術的な作業は製品の初期インストールでしょうが、詳細に作業手順を解説しておりますのでご安心ください。また、作業自体は3ステップのみで構成されており、数分で完了する内容です。

では、さっそく始めましょう。

まずは イントロダクション からスタートします:


次に、JBoss BRMSのインストール作業についてご案内します:


今週最後のラボを始める準備ができましたら、新規プロジェクトを作成します:


来週以降のワークショップシリーズにご注目ください。次回の記事では Cool Store の実装についてより具体的な説明をする予定です。

メモ: 何らかの理由でオンラインのマテリアルにアクセスできない場合、ご遠慮なさらずお知らせください。

2014年3月17日月曜日

Red Hat JBoss BPM Suite - サポートマトリックス ワークフローの制御パターン

原文: Red Hat JBoss BPM Suite - support matrix Control Workflow Patterns Eric D. Schabell

今回の JBoss BPM Suite のヒント/トリック集では、JBoss BPM Suite が提供する「ワークフローの制御パターン(Control Workflow Patterns)」についてご説明します。

この投稿ではまず、vdAtHKB03で定義された基礎のフロー制御パターンにふれます。そして、BPM-06-22で定義されているBPMN2の仕様により、BPM Suiteでのサポートが制限されるパターンについて解析します。

この投稿で、フローの制御パターン 全20種類をすべてカバーします。まず、5つの基礎的な制御フローパターンを説明し、次に高度な分岐や同期パターンなど 15のパターンを説明します。

パターン

オリジナルの研究論文では、著者は5つの基礎的な制御パターンをカバーしています:
  1. Sequence - ワークフロープロセス内のアクティビティは、同じプロセス内に存在する直前のアクティビティが完了した後、有効になります。
  2. Parallel Split - ワークフロー内でシングルスレッドが複数スレッドに分岐するポイント。分岐されたスレッドは同時もしくは任意の順序で実行できます。
  3. Synchronization - ワークフロープロセス内で並列で動作しているサブプロセスやアクティビティが1つのスレッドに収束するポイント。
  4. Exclusive Choice - ワークフロープロセス内で、制御データや条件により複数分岐の中から1つ選択されるポイント。
  5. Simple Merge - ワークフロープロセス内で、複数分岐先が同期せずに収束するポイント。分岐先の処理が、どれも並列に実行されていないことが前提となるパターンです。
5パターンをカバーした後、著者は15の高度な分岐や同期処理パターンをカバーしています:
  1. Multi-choice - ワークフロープロセス内で、制御データや条件により複数ある分岐先の中からいくつか選択されるポイント
  2. Synchronizing Merge - ワークフロープロセス内で、複数パスが1つのスレッドに収束されるポイント。複数パスが実行されている時、有効なスレッドはすべて同期されます。1つのパスのみ実行されている時、代わりのパスは同期されずに収束されます。このパターンは、すでに実行されたパスが、他のパスが完了するのを待つあいだ再び実行されないと仮定されています。
  3. Multi-merge - ワークフロープロセス内で、複数パスが同期せずに収束するポイント。複数パスが並列で実行された場合、収束ポイント以降のアクティビティは収束ポイントを通過する毎に実行されるでしょう。
  4. Discriminator - ワークフロープロセス内で、いずれかの入力パスが実行しているアクティビティが完了するまで後続のアクティビティを実行しないポイントです。いずれかのアクティビティが完了した後、残りのアクティビティが完了しても後続のアクティビティを実行しません。すべての入力パスが実行しているアクティビティが完了した際、Discriminator は初期化され、再び前述した処理を行います。(リセット機能は重要です。でなければ、ループを使うコンテキストで利用することができません)
  5. Arbitrary Cycles - ワークフロープロセス内で、1つ以上のアクティビティを繰り返し実行するポイント。
  6. Implicit Termination - 設定されたサブプロセスは、何も処理することがない場合に終了されます。ワークフロー内で実行中のアクティビティがなく、どのアクティビティも実行されることがない状態です。(デッドロックも発生していない状況です)
  7. Multiple Instances Without Synchronization - 1つのコンテキスト(ワークフローインスタンス)に焦点をあてた場合、複数のアクティビティインスタンスが生成される可能性があります。また、管理用スレッドの生成を管理する機能(facility)があります。個々の管理用スレッドはそれぞれ独立しています。また、これらスレッドを同期する必要はありません。
  8. Multiple Instances With a Priori Design Time Knowledge - 1つのプロセスインスタンスで、アクティビティが複数回実行されます。ワークフロープロセスの設計時に、プロセスインスタンスでは何回アクティビティが実行されるか把握できます。すべてのアクティビティが完了した場合、他のアクティビティを開始する必要があります。
  9. Multiple Instances With a Priori Runtime Knowledge - ある状況下で、アクティビティが複数回実行されます。ある状況下で何回アクティビティが実行されるかは、状況の内容やリソースの空き状況により異ります。実行時のある段階(アクティビティの実行が必要になる前)で把握されます。すべてのアクティビティが完了した場合、他のアクティビティを開始する必要があります。
  10. Multiple Instances Without a Priori Runtime Knowledge - ある状況下で、アクティビティが複数回実行されます。ある状況下で何回アクティビティが実行されるかは、ワークフロープロセスの設計中も、実行中(アクティビティの実行が必要になる前)にも把握されることはありません。すべてのアクティビティが完了した場合、他のアクティビティを開始する必要があります。パターン9 との違いは、いくつかのアクティビティがすでに実行中であったり実行が完了していても、再度アクティビティを実行できる点です。
  11. Deferred Choice - ワークフロープロセスの中で、複数ある分岐先の中から1つ選ばれます。XOR-splitとは対照的に、明示的に分岐先が選択(例えば データや条件に基づいて)されず、複数の選択肢が提供されます。AND-splitとは対照的に、1つの分岐先のみ実行されます。つまり、分岐先の1つが実行され、残りの分岐先は無効化されます。重要な注意点ですが、選択は可能な限り遅くなります。分岐先の処理が開始されるまで、実際には選択が遅延されます。
  12. Interleaved Parallel Routing - アクティビティのセットが任意の順番で実行されます:セット内のアクティビティはそれぞれ実行されます。実行順序は実行時に判断され、複数アクティビティが同時に実行されることはありません。(あるワークフローインスタンス内で、2つのアクティビティが同時に実行されることはありません)
  13. Milestone - 指定された状態にある場合にのみアクティビティが実行されます。つまり、期限切れではないマイルストーンに到達した時にアクティビティが実行されます。A、B、Cという3つのアクティビティがあると仮定します。アクティビティA はアクティビティBが実行済みでアクティビティCが実行されていない状態にのみ有効化されます。つまり、Bの実行前にAは有効化されません。また、Cの実行後にAは有効化されません。
  14. Cancel Activity - 有効化されたアクティビティが無効化されます。つまり、アクティビティの実行を待っているスレッドが削除されます。
  15. Cancel Case - ケース(ワークフローのインスタンス)が削除されます。(プロセスのある箇所で複数アクティビティが実行されていたとしても、関連するすべてのスレッドは削除されます)
この時点でいよいよ JBoss BPM Suite に焦点を当て、どのパターンがどの程度サポートされるか評価することができます。

JBoss BPM Suite

前述した基礎的な制御パターンがカバーされているか製品を確認し、下記マトリックスにまとめました。JBoss BPM Suite が直接サポートしている場合、+ と表記します。直接サポートされていない場合、+/- と表記します。スパゲティのようなダイアグラムやコーディングが必要な場合、サポートがされていないと判断し - と表記します。


パターン JBoss BPM Suite
Sequence +
Parallel Split +
Synchronization +
Exclusive Choice +
Simple Merge +

JBoss BPM Suite の製品概要マトリックスでは、以下のように高度な分岐や同期処理を潜在的にサポートしていることがわかります。

パターン JBoss BPM Suite
Multi-choice +
Synchronizing Merge +
Multi-merge + / -*
Discriminator + / -*
Arbitrary Cycles +
Implicit Termination +
Multiple Instances Without Synchronization +
Multiple Instances With a Priori DT Knowledge +
Multiple Instances With a Priori RT Knowledge +
Multiple Instances Without a Priori RT Knowledge -**
Deferred Choice +
Interleaved Parallel Routing + / -*
Milestone -**
Cancel Activity +
Cancel Case +
* BPMNの仕様による制限
** BPMNの仕様ではサポートされていない

お気付きになられたかもしれませんが、JBoss BPM Suite は vdAtHKB03 でまとめられた制御パターンをほとんどサポートすることができます。限定的なサポートのみとなったパターンについては、BPM-06-22 で説明されている BPMNの仕様に起因するものです。

JBoss BPM Suite は、制御パターンを充分サポートできていることがご理解いただけたかと思います。

今後の投稿で、制御パターンが充分サポートできていることをご理解いただけるようなサンプルプロジェクトを提供する予定です。ぜひ、ご注目ください。

原文: Red Hat JBoss BPM Suite - support matrix Control Workflow Patterns Eric D. Schabell

2014年3月14日金曜日

Red Hat JBoss BPM Suite - bpmPaaSをプレビュー クラウド上のプロセスデザイナーをテストドライブ

原文: Red Hat JBoss BPM Suite - preview bpmPaaS Test Driving Cloudy Process Designer Eric D. Schabell

クラウド対応した BPMN2 プロセスデザイナー
Red Hat JBoss BPM Suite のリリースにともない、製品が持つコンポーネントをプレビューできるように、皆さんがセットアップし楽しめる内容を用意しました。

この素晴らしいコンポーネント の開発に取り組んだプロジェクトチームメンバーである Maciej と Tihomir と一緒に、スタンドアローンで動作可能な BPMN2 プロセスデザイナーのデモを用意しました。

このデモは完全に動作し、OpenShift Origin をベースとしたクラウド上でビジネスプロセスをデザインすることが可能です。

セットアップの手順は、github.com でご確認いただけます:


クラウド対応のデザイナーログイン画面

プロジェクトのセットアップはとても簡単です。手順に従いたった数分作業した後、あなたはクラウド上でビジネスプロセスをデザインしているでしょう!

OpenShift 上での稼働

http://openshift.redhat.com/ にアカウントを作成します。

JBoss EAP のアプリケーションを作成します

rhc app create -t jbossas-7 --from-code git://github.com/eschabell/openshift-bpm-process-designer.git designer

たったこれだけです。あなたのアプリケーションはこちらからご確認いただけます

http://designer-$your_domain.rhcloud.com  

リンクをクリックして、デザイナーのログイン画面へ移動してください

http://designer-$your_domain.rhcloud.com/designer

Login credentials

       user: erics

   password: erics

クラウド対応の JBoss BPM プロセスデザイナー
http://designer-inthe.rhcloud.com/ で、すぐにデモをお試しいただけます

原文: Red Hat JBoss BPM Suite - preview bpmPaaS Test Driving Cloudy Process Designer Eric D. Schabell

2014年3月11日火曜日

Red Hat JBoss BRMS 6 - 新しくなった Cool Store デモ

原文: Red Hat JBoss BRMS 6 - the new Cool Store Demo by Eric D. Schabell

Cool Store ウェブアプリ
素晴らしい JBoss Business Rules Management System(BRMS) Cool Store デモ をアップデートする時がやってきました。今回は、JBoss BRMS 6 へ対応します。

先週、Jason Milliron と私は新しい製品へ対応させるべく、リテーラーによるウェブショッピングサイトのサンプルをブラッシュアップしました。この作業により、Cool Store ウェブアプリケーションは JBoss BRMS の business central を利用したプロジェクトに なりました。ルール、イベント、モデル、ルールフローは business central がベースになります。

以前、Jason は オンラインショッピングカートの例として、人気のフレームワークである Vaadin をベースとしたウェブアプリケーションのサンプルをまとめました。このウェブアプリケーションを通し、ウェブフロントエンドが decision tableとルールパッケージ間でどのように連携できるか紹介しました。このデモにより、デプロイされたアプリケーションからビジネスロジックを切り出すことができ、稼働中でも必要に応じて修正することが可能であることが示されました。このウェブアプリケーションでは、下記のルールに基づいて配送料を算出しています。

これは本当にシンプルです。ショッピングカートの合計金額により配送料を決めますが、あなたは金額の範囲を微調整するだけです。例えば次のように調整できます:

JBoss BRMS Cool Store decision table

  • Tier 2 では合計金額が $26 - $50 の場合、配送料が $4.99 であることを確認
  • カートに$25以上のアイテムを入れ検証することができます
  • decision table を修正し、配送料を$6.99にする
  • 変更内容を保存する
  • cool store project をビルドしてデプロイ
  • ショッピングカートをクリアーする
  • 同じ内容の商品をオーダーし、配送料が $6.99 に変更されていることを確認
JBoss BRMS 6.0.0.GA がベースとなる バージョン2.0 をリリースしました。このプロジェクトのセットアップは簡単ですので、すぐにご利用いただけます。プロジェクトの中にある Readme ファイルをご確認ください。

このプロジェクトには、 JBoss テクノロジー エバンジェリストから提供されているデモと同じテンプレートが利用されている為、3ステップでセットアップを終わらせることができます。
  1. プロジェクトをクローンする
  2. 製品をダウンロードする (JBoss EAP + BRMS)
  3. init スクリプトを実行する。自動化されたセットアップ処理が実行されます
これ以上手順は簡略化できません。ぜひお楽しみいただければと思います!

原文: Red Hat JBoss BRMS 6 - the new Cool Store Demo by Eric D. Schabell

2014年3月10日月曜日

Red Hat JBoss BPM Suite - Business Activity Monitoring(BAM)用のラボワークショップ

原文: Red Hat JBoss BPM Suite - Lab Workshop for Business Activity Monitoring (BAM) by Eric D. Schabell

クラウド か Standalone で実行
私達は、Red Hat から JBoss BPM Suite製品をリリースできることにエキサイトしています。皆さんにも楽しんでいただけるように、製品が持つ新しいコンポーネントを1つ取り出し、プレビューできるようにしました。

Business Activity Monitoring(BAM) コンポーネントは、組織に散在するデータソースに接続し、グラフィカルなレポートを生成することができます。

以前の投稿では、クラウド上でこのコンポーネントを動かす方法をご案内しました。今回は、ローカル環境で standalone をインストールするだけでは退屈でしょうから、初級者レベルのラボワークショップをご用意しました。

いよいよ、このコンポーネント用のハンズオンを入手できる時がきました!

このデモでは、SQLデータソースと CSVファイルをご確認いただけます。たくさんの接続オプションが提供される予定ですので、あなたが接続したいデータソースが対応されるかこれから先のアナウンスにご注目ください。

デフォルトで、Dashbuilderプロジェクトは 2つの異るCSVファイルがデータソースとして初期設定されています。CSVファイルは、デモコードの中にあります。その他、3つの SQLデータソースが初期設定されています。これは、JBoss BPM Suite へ直接アクセスできるよう、jBPMテーブルに対してクエリーを投げれるように設定されています。

ここでは、昨年のRed Hat Summit のブースで機能プレビューとして紹介したショウケースを公開します。ブースでは、JBoss BPM Suiteの Web process designer も紹介しました。デモンストレーションや動画はとても興味深い内容であったようで、ブースは大盛況でした。(like a fly to honey!)


プロジェクトは github で公開されています。https://github.com/eschabell/bpms-bam-dashboard プロジェクトの docs 配下にある BAM lab guide.pdf がラボ用のドキュメントです。

クイックスタートガイド
インストレーション作業の詳細に間しては、ODT/PDF形式のクイックスタートガイドをご確認ください。すぐに作業されたい方へ要点をまとめます:

  •  installsディレクトリ配下の README をご確認ください
  • 製品を追加してください
  • 'init.sh' を実行し、実行結果をご確認ください
  • JBoss EAPサーバーを起動してください
  • dashbuilder(http://localhost:8080/dashbuilder)に、ユーザー名: erics パスワード: bpmsuite でログインしてください

ログイン後の作業は、前述のラボガイドをご確認ください。動画によるコンポーネントのプレビューはこちらでご欄いただけます。

動画はYouTubeでも公開しています

原文: Red Hat JBoss BPM Suite - Lab Workshop for Business Activity Monitoring (BAM) by Eric D. Schabell

2014年3月7日金曜日

jBPMマイグレーションツール v0.13がリリースされました

原文: Released jBPM Migration Tooling v0.13 by Eric D. Schabell

準備はできていますか?
(Got your ducks in a row?)
JBoss BPM Suite にあわせて、jbpmmigrationプロジェクトの成果物をリリースする時がきました。

jBPM マイグレーションプロジェクトの成果物として jbpmmigration v0.13 をリリースできたことをうれしく思います。

バグをいくつか修正し、JBoss Nexusにリリースを追加し、新規テストを追加しました。このテストにより、ビジネスプロセスの変換例は合計で42パターンになります。

OpenShift jBPM Migration WebApp もリリースにあわせてアップデートされています。こちらでご確認いただけますので、マイグレーションツールをあなたのビジネスプロセスでテストすることができます。

http://jbpmmigration-inthe.rhcloud.com/

今後の予定ですが、jBPM Designer にできるだけ早くこのアップデートを取り込もうと考えています。

このリリースで、jPDL 3.2 から BPMN2.0 への変換をお楽しみいただければと願っています。

原文: Released jBPM Migration Tooling v0.13 by Eric D. Schabell

2014年3月6日木曜日

Red Hat JBoss BPM Suite - bpmPaaSクラウドのプレビュー Business Activity Monioring(BAM)

原文: Red Hat JBoss BPM Suite - preview bpmPaaS Cloudy Business Activity Monitoring (BAM) by Eric D. Schabell

クラウド上のBAM
Red Hat JBoss BPM Suite のリリースに伴い、製品に同梱されているコンポーネントをセットアップしプレビューしていただく仕組みを用意しました。

JBoss BPM BAM Dashboard Builder コンポーネントのプレビューをまとめ、クラウドへ移行しました。


自分の環境で何度も簡単にすぐ試せるコンテンツを望まれている方もいらっしゃるはずです。ご心配なく、お試しいただけるコンテンツを用意しました。数枚スクリーンショットを用意しましたし、以下の手順に従うことで OpenShiftクラウドにあなたの環境を構築することができます。

BAM dashboard にログイン
OpenShift へあなた専用のインスタンスを構築できるプロジェクトは、こちらから入手できます。

https://github.com/eschabell/openshift-bpm-bam-dashboard/tree/v1.0

OpenShift上での稼働


http://openshift.redhat.com/ でアカウントを作成してください

JBoss AS インスタンスを作成してください

rhc app create -t jbossas-7 --from-code git://github.com/eschabell/openshift-bpm-bam-dashboard.git bampreview

JBoss サーバーへ正しくコピーされていないユーザーログインファイルを追加する手順があります。

rhc app show bampreview

ファイルを'scp'する為、上記コマンドの実行結果から 'SSH'の記述を確認する必要があります:

SSH: xxxxxxxxxx@bampreview-inthe.rhcloud.com

確認された SSH の記述を使い以下のファイルをコピーしてください。この作業によりログインが機能するはずです。

scp bampreview/.openshift/config/bam-*.properties xxxxxxxxxx@bampreview-inthe.rhcloud.com:~/jbossas/standalone/configuration/

これだけです。いよいよこちらからアプリケーションを確認できます:

http://bampreview-$your_domain.rhcloud.com

デザイナーのログイン画面にあるリンクへ進むだけです:

あなたの KPIレポート
http://bampreview-$your_domain.rhcloud.com/dashbuilder

Login credentials

       user: erics

   password: erics




動画による説明は、こちらをご確認ください:


Test drive this install right now on http://bam-inthe.rhcloud.com.

原文: Red Hat JBoss BPM Suite - preview bpmPaaS Cloudy Business Activity Monitoring (BAM) by Eric D. Schabell

2014年3月4日火曜日

Red Hat JBoss BPM Suite - 住宅ローンのデモを動かす(動画)

原文: Red Hat JBoss BPM Suite - Run the Mortgage Demo (video) by Eric D. Schabell

JBoss BPM Suite 住宅ローンのデモ
以前、JBoss BPM Suite で住宅ローンのデモをセットアップする方法をご案内しました。製品と一緒にダウンロードできるサンプルBPMプロジェクトをベースとしたもので、3ステップでインストールが完了するよう修正されています。

5分もかからずに起動することができるはずです。少なくとも、私が動画を録画するのにかかった時間は5分です。

今回はさらに、このデモプロジェクトに含まれている内容をすべてお伝えします。どのように動作するか、単発でのプロセス実行、BPM BAM ダッシュボードでどのような結果が表示されるかなどをお伝えします。この動画は13分と数秒の長さですが、下記内容についてご説明致します。

画面を構成するコンポーネント
  • Administration dashboard
    • manage organizational units
  • Artifact repository dashboard
    • upload data model
  • Project authoring dashboard
    • process designer
    • rule editors
    • form modeler
    • data modeler
    • project editor
      • build and deploy project
  • Process Definition dashboard
    • view definitions
    • start process instance
  • Process Instance dashboard
  • Tasks dashboard
  • Process & Task dashboard
ご覧いただくとわかるように、プロジェクトを理解しデモを実行するのに必要な要素はほぼ網羅されています。今後は個々の JBoss BPM Suiteコンポーネントに焦点を当てた、今回よりも短いデモ動画をご案内する予定です。



原文: Red Hat JBoss BPM Suite - Run the Mortgage Demo (video) by Eric D. Schabell

Red Hat が正式に JBoss BPM Suite 6 と JBoss BRMS 6 のリリースを発表しました

原文: Red Hat officially announces release of JBoss BPM Suite 6 and JBoss BRMS 6 by Eric D. Schabell

Red Hat はリリースが待望されていた新製品について、いよいよ一般提供を発表しました

コミュニティのソースコードをエンタープライズ品質のソフトウェアへ製品化するのには、多大な労力が必要でした。お客様やエンドユーザー様は、Red Hatのサポートを含め製品をご活用していただけます。既存のお客様やご利用をご検討されている方々にとって、今がこの製品について学んでいただく絶好の機会です。パートナー様にとっても製品に関わり学んでいただく好期です。オープンソースコミュニティーや Red Hat は、製品に関する皆様からのあらゆる声を受け取ります。皆様の活動は、ワールドクラスのサポートを提供する Red Hat と共により良い製品へと成長させます。

新しい JBoss BPM Suite は、プロセス管理と自動化について良く作り込まれた製品となっています。数ヶ月に渡りオープンソースコミュニティーは素晴らしい作業を成し遂げ、この製品はまさに集大成として発表されました。既存のコンポーネントが改善されただけではありません。ルックアンドフィールに対する再設計が行われただけでもありません。わくわくする新機能が含まれているんです!

新製品ですが、既存の製品でご利用されたビジネスプロセスやルールプロジェクトとの互換性をサポートしています。サブスクリプションをご購入いただくことで、あなたの運用環境にワールドクラスの Red Hat JBossサポートが提供されます。

JBoss BPM Suite 6 は、Red Hat へ Polymita が統合される最終段階でもありました。データ/フォームのモデリングなど卓越した機能性はこれによるものです。この革新的な機能を利用することで、コーディングすることなくWebインターフェースのツールから直接管理することができます! その他、Polymitaの統合により提供されるクールな機能には、ビジネスアクティビティモニタリング(BAM)があります。Webインターフェースのツールからビジネスプロセスと連動する各種グラフをドラッグ&ドロップするだけで、きれいなダッシュボードを作成することができます。さらに、BPM Suite は先進的な意思決定管理(decision management)やデータ解析機能を供えた最先端の技術である BRMS 6 を含みます。BRMS 6 自体は別製品としてサポートサブスクリプションをご用意しておりますので、BRMS のみをご利用いただくことが可能です。

次はあなたの番です! この製品があなたの組織へどのように貢献できるか、ぜひご確認ください!

ダウンロードリンク:
JBoss BPM Suite 6.0 - https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?product=bpm.suite&downloadType=distributions
JBoss BRMS 6.0 - https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?product=brms&downloadType=distributions

ドキュメント:
JBoss BPM Suite 6.0 - https://access.redhat.com/site/documentation/ja-JP/Red_Hat_JBoss_BPM_Suite/
JBoss BRMS 6.0 - https://access.redhat.com/site/documentation/ja-JP/Red_Hat_JBoss_BRMS/

ウェブページ:
JBoss BPM Suite: http://jp.redhat.com/products/jbossenterprisemiddleware/business-process/
JBoss BRMS: http://jp.redhat.com/products/jbossenterprisemiddleware/business-rules/

BPM サンプルアプリケーション:
完全に動作する BPMサンプルアプリケーションは、ダウンロードサイトから入手できます

原文: Red Hat officially announces release of JBoss BPM Suite 6 and JBoss BRMS 6 by Eric D. Schabell

2014年3月3日月曜日

MapReduce はPlanning問題を解くことができるか?

原文: Can MapReduce solve planning problems? by Geoffrey De Smet(OptaPlanner)

Planningや最適化に関する問題を処理する際、いくつかのソルバー(solver)は充分にスケールアウトしない傾向があります。問題に含まれる変数や制約が増えるほど、たくさんのRAMメモリーやCPUパワーが必要になります。数千個の変数があり、数億個の制約がマッチした段階でハードウェアのメモリー制限にヒットするでしょう。ハードウェア制限を回避する為、MapReduceをワークアラウンドの1つとして使うユーザーもいるようです。それでは、巡回セールスマン問題(Traveling Salesman Problem)のようなplanning問題をMapReduceしたらどうなるか見てみましょう。

MapReduceについて


MapReduceは、ビッグデータへクエリーするのにとても適していることが証明されているプログラミングモデルです。一般的には、次のように動作します:

  • データが複数コンピューターノード間で分割されます
  • map関数がすべてのパーティション上で実行され結果が返されます
  • reduce関数は 2つの実行結果を1つに削減します。最終的に結果が1つになるまで継続的に実行されます

例えば、データクラスターの中から最高額の請求書を検索する必要があるとします。

  • 請求書レコードは複数コンピューターノード間で分割されます
  • 各ノードでは、map関数が該当ノードで最高額の請求書を抽出します
  • reduce関数は2つの請求書を受け取り、より高額な請求書を返します

巡回セールスマン問題


巡回セールスマン問題(Travelling Salesman Problem(TSP))は基本的なplanning問題です。都市リストが与えられ、すべての都市を訪問する最短経路を見つける問題です。

例えば、ここに 最短経路が 674 である 68都市分のデータセットがあります。
この少数のデータセットによる探索空間は 68!(=1096)通りです。とても広大です。

より現実的なplanning問題(例えば車輌の走行ルート案内など)は、さらにたくさんの複雑な制約を保有しています。例えば、車輌の積載量、車種による制限、期間、ドライバーの制限などです。

TSP を MapReduce する

68個の変数程度でメモリーが枯渇するソルバーはほとんどないと思いますが、小規模の問題を使うことで、きれいに視覚化し把握することが可能です。
それでは、MapReduceしてみましょう。

1)パーティション:問題を n個に分割します

初めに、問題を n個に分割します。一般的に n はコンピューターノード数となります。視覚的な理由から、今回は4つに分割します。
TSP は簡単に分割することができます。なぜなら1つしか制約(最短経路を見つける)がないからです。
現実的なplanning問題では、パーティショニングは困難であったり不可能な場合があります。例えば:

  • 積載量を考慮した車輌経路探索では、2つのパーティション間で同じ車輌を共有しません。もし車両台数よりもパーティション数が多い場合どうしますか?
  • 期間を考慮した車輌経路探索では、個々のパーティションは各地にドライブしてお客様へサービスを提供する為、充分な時間を持つ必要があります。矛盾: 走行ルートが未確定な状況で、どうやって走行時間を決定しますか?

2)Map:個々のパーティションで解く

各パーティションでソルバーを使い解きます

4つのパーティションは、それぞれ部分的な解答を算出しています

3)Reduce: 個々の解答を統合します

個々の解答を統合します。2つの解答を統合する為に、個々の解答からアークを削除し、パーティション間の都市を結ぶ為、アークを 2つ追加する必要があります。
統合処理を数回実施する必要があります。
個々の解答を結合する方法はいくつかあります。ここではすべての組み合わせを試し、最適解を適応しています。パフォーマンスを考慮し、個々の解答間でもっとも近接している都市をアークで結び、その後修正用のアークを反対側へ追加する(アークの追加作業は時間がかかるでしょう)方法もあります。

複雑な制約を含むより現実的なplanning問題で個々の解答を統合すると、実行不可能な解になることが多々あります。(制約違反(hard constraint)が発生します) すべての制約違反(hard constraint)が考慮された優秀なパーティショニングがされている場合、この問題を回避することはできるかもしれません。。。軽度の制約違反(soft constraint)が多数発生し、高いメンテナンスコストが発生するでしょうが。

4)結果: 実行結果の品質はどうでしょうか?

個々の解答は最適化されています。個々の解答は最適に統合されています。しかし、最終的な解答は最適ではありません。

実際には、MapReduceという手法でスケールアウトさせた結果は最適解と近い値ですらありません。

  • 変数の増加は、解答の品質低下につながります
  • 制約の増加は、分割し reduceできたと仮定しても解答の品質低下につながります
  • 分割数の増加は、解答の品質低下につながります

結論

MapReduce はクエリー処理に適したすばらしいアプローチです。(クエリー処理以外でも、たくさんの問題に対して有効でしょう)しかし、planning や最適化問題に使おうとした場合、MapReduceはひどいアプローチです。適切なツールをこの処理に間しては使いましょう。

ノート: 今回は planning問題に MapReduce を使ってみました。意図を理解できるシナリオである為、ソルバーに実装された最適化アルゴリズムには使用していません。例えば、depth-first search アルゴリズムを使用した場合、MapReduce で探索木を探索するのは理解できるシナリオです。(探索木は指数関数的に悪いスケールをし、MapReduceによる効果を小さくでしょうが)

規模の大きい planning問題を解く際には、メモリーにより充分スケールするソルバー(optaplannerのような)を使いましょう。解答の品質を犠牲にしてパーティショニングに頼らないでください。

原文: Can MapReduce solve planning problems? by Geoffrey De Smet(OptaPlanner)