2014年5月2日金曜日

Red Hat JBoss BRMS -オンラインワークショップでCool Storeを作る(Lab10 Cool Storeを動かす)

原文: Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Lab 10 Running the Cool Store) by Eric D. Schabell

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

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

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

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

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

Cool Storeデモを動かす
先週は、テストシナリオを使い、ルールをテストしました。

今週はこれまでの成果をまとめます。以前のラボで作成された様々なルール、イベント、ルールフロープロセスが連動する Webアプリケーションになります。また、JBoss BRMSの製品をお客様に紹介する機会に備え、この Cool Storeデモを動かす方法を学びます。

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

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

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

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

Cool Storeデモを動かす:



過去のラボを実施されていない方は、過去の資料をご確認いただけるのでキャッチアップできます:
  1. イントロダクションとJBoss BRMSのインストール
  2. 新規プロジェクトを作成
  3. ドメインモデルの作成
  4. Domain Specific Language(DSL)の作成
  5. Guided Rulesの作成
  6. テクニカルルールを作る
  7. Guided Decision Tablesを作る
  8. ルールフロープロセスを作る
  9. テストシナリオを作る
来週以降のワークショップシリーズにご注目ください。次回の記事では Cool Store の完成に迫ります。

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

原文: Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Lab 10 Running the Cool Store) by Eric D. Schabell

2014年4月28日月曜日

Red Hat JBoss BRMS -オンラインワークショップでCool Storeを作る(Lab9 テストシナリオを作る)

原文: Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Lab 9 Create Test Scenarios) by Eric D. Schabell

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

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

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

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

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

Cool Storeのテストシナリオ
先週は、ルールフロープロセスを作成しました。

今週は、テストシナリオを使いルールの妥当性を検証します。これで Cool Storeデモは完成です。

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

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

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

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

Cool Storeのテストシナリオを作成する:


過去のラボを実施されていない方は、過去の資料をご確認いただけるのでキャッチアップできます:
  1. イントロダクションとJBoss BRMSのインストール
  2. 新規プロジェクトを作成
  3. ドメインモデルの作成
  4. Domain Specific Language(DSL)の作成
  5. Guided Rulesの作成
  6. テクニカルルールを作る
  7. Guided Decision Tablesを作る
  8. ルールフロープロセスを作る
来週以降のワークショップシリーズにご注目ください。次回の記事では Cool Store の完成に迫ります。

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

2014年4月24日木曜日

Red Hat JBoss BRMS -オンラインワークショップでCool Storeを作る(Lab8 RuleFlowプロセスを作る)

原文: Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Lab 8 Create RuleFlow Process) by Eric D. Schabell

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

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

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

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

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

先週は、guided decision tableを利用し、商品の送料に関するルールを実装しました。

プロセスデザイナーで、ルールフローをデザインする
今週は、ルールフロープロセスを使い、 Cool Storeプロジェクトを展開する方法を学びます。ルールフロープロセスは、ショッピングカードに商品が追加される度に使われます。

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

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

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

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

Cool Storeのルールフロープロセスを作成する:



過去のラボを実施されていない方は、過去の資料をご確認いただけるのでキャッチアップできます:
  1. イントロダクションとJBoss BRMSのインストール
  2. 新規プロジェクトを作成
  3. ドメインモデルの作成
  4. Domain Specific Language(DSL)の作成
  5. Guided Rulesの作成
  6. テクニカルルールを作る
  7. Guided Decision Tablesを作る

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

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

原文: Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Lab 8 Create RuleFlow Process) by Eric D. Schabell

2014年4月21日月曜日

Red Hat JBoss BRMS - オンラインワークショップで Cool Storeを作る(Lab7 Guided Decision Tableを作る)

原文: Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Lab 7 Create Guided Decision Tables) by Eric D. Schabell

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

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

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

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

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

先週は、テクニカルルール(DRL)を作りました。

ウィザードが guided decision tableの作成を補助します
今週は、商品の送料に関するルールをデザインし、 Cool Storeプロジェクトを展開する方法を学びます。ウィザードを使い、guided decision tableを作ります。

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

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

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

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

Cool Storeの guided decision table を作成する:


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

  1. イントロダクションとJBoss BRMSのインストール
  2. 新規プロジェクトを作成
  3. ドメインモデルの作成
  4. Domain Specific Language(DSL)の作成
  5. Guided Rulesの作成
  6. テクニカルルールを作る
  7. Guided Decision Tablesを作る

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

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

原文: Red Hat JBoss BRMS - Online Workshop Building The Cool Store (Lab 7 Create Guided Decision Tables) by Eric D. Schabell

2014年4月18日金曜日

Red Hat Summit in サンフランシスコ - JBoss、xPaaS、それから野球に関するすべて

原文: Red Hat Summit in San Francisco - all things JBoss, xPaaS, and baseball by Eric D. Schabell


今週はサンフランシスコで開催されたサミットを充分満喫しました。私も xPaaS、JBoss BRMS、JBoss BPM Suite に関するセッションやワークショップを実施しました。

落ち着いたところで今週を振り返り、いくつかエキサイトした内容をお伝えします。見逃しているかもしれませんよ。

JBoss BRMS と BPM Suite のラボ
初夏のように暖かな日中と涼しい夕方は、とても素晴らしかったです。おかげで他のイベントへ向う道中も快適に楽しめました。

丘を登る途中では度々立ち止まり、公園や夕日の写真を撮りました。写真を取らずに只々 顔に降り注ぐ太陽の光を満喫することもありました。厳しい冬の終わりを感じた一時です。

サミットは JBossの基調講演で幕を開けました。Burr Sutter と同社がエキサイティングで魅力的なデモを実施し、私達の技術を紹介しました。

今回は、JBossテクノロジーの挑戦的な融合として、OpenShift、Fuse、JBoss BPM Suiteのインテグレーションを特集しました。

私は殆どの時間をブースで過ごしました。参加者と談話し、最新の JBoss BRMS と BPM Suite をデモし、bpmPaaSのデモとホワイトボードを使い OpenShiftのポッドを手伝いました。

ブースに置かれたホワイトボード
ブースで過ごした時間の合間に、2時間枠の JBoss BRMS / BPM Suiteのラボを提供しました。毎週少しずつ公開している JBoss Cool Storeの構築についてです。
ラボにはたくさんの参加者が詰めかけました。私はホールで行われる次のラボセッションに行く必要がありましたが、それでもたくさんの方が作業を続けるほど盛況でした。

その日の夕方、何人かの友人と一緒に地元の球場へ向かいました。(私を知っている方は、チャンスがあればいつもどこに向かうかご存知ですよね) ホットドックを夕飯にし、ドジャーズ対ジャイアンツ戦を観戦しました。延長戦突入により、今迄にないほど楽しむことができました。

最終日、私は Andrew Block と一緒に JBoss XPassS と OpenShift についてセッションを持ちました。彼は最近リリースされた、OpenShift mobile application を披露しました。

セッションも終わり、最後の夕食を同僚や今週知り合った仲間と一緒に過ごしました。私達は笑い、別れの挨拶をしました。また来年彼らと会えることを楽しみにしています。

基調講演を見逃された方は、いくつか動画のリンクがあります。毎日公開されるセッション、基調講演、ブレークアウトセッションをきっとお楽しみいただけるはずです。

ジェネラル セッションと基調講演:


ブレークアウトセッション:


これは私が経験したサミット ウィークの所感です:

原文: Red Hat Summit in San Francisco - all things JBoss, xPaaS, and baseball by Eric D. Schabell

2014年4月17日木曜日

スコアー制約をユーザーが制御できるようにする

原文: Put the user in control of the score constraints by Geoffrey De Smet(OptaPlanner.org)

OptaPlannerは、ベストスコアを使いプランの最適化を行います。このスコア機能は誰が定義するのでしょうか? 一般的にはユーザーの仕様に基き開発者が行います。スコア機能の定義をユーザー自身に実施してもらうことができるでしょうか?可能性を考えてみましょう。

OptaPlannerでDroolsルールエンジンを使いスコアー計算を行っている場合、Droolsエコシステムが提供する機能を使い、スコアリングに関するルールを修正することができます。エコシステムには、Decision Tables、スコアーカード、Drools ワークベンチ Webアプリケーションが含まれます。

今回は「クラウドリソースの最適化」例を使い、ユーザーがスコアールール(関数)を定義できるようにします。この例では、リソースの上限を超えずにプロセスを各コンピューターに割り当てる必要があります。この例についてより詳細な情報が必要な場合、こちらの動画をご確認ください。

Static DRLルール

開発者として、静的にスコアールールをDRLファイルに書くことができます:
rule "Risk for out of memory"
    when
        CloudComputerUsage(freeMemory < 2)
    then
        scoreHolder.addSoftConstraintMatch(kcontext, -100);
end
rule "Unused memory but no CPU"
    when
        CloudComputerUsage(freeMemory >= 8, freeCpuPower < 4)
    then
        scoreHolder.addSoftConstraintMatch(kcontext, -10);
end

しかし、DRLファイルを直接編集するのは難易度が高すぎるでしょう。

データ駆動 DRLルール

データオブジェクトを用意し、ユーザーに記入してもらう方法があります:
public class FreePenalty {

    private int minFreeMemory; // Defaults to 0
    private int maxFreeMemory; // Defaults to Integer.MAX_VALUE
    private int minFreeCpuPower; // Defaults to 0
    private int maxFreeCpuPower; // Defaults to Integer.MAX_VALUE
    private int minFreeNetworkBandwidth; // Defaults to 0
    private int maxFreeNetworkBandwidth; // Defaults to Integer.MAX_VALUE

    private int softScoreImpact;

    ...
}

この FrrePenalty インスタンスをスコアー制約として適応させる為、ルールを1 つ書きます:
rule "requiredCpuPowerTotal"
    when
        // Defined by the user
        FreePenalty(
                $minFreeMemory : minFreeMemory, $maxFreeMemory : maxFreeMemory,
                $minFreeCpuPower : minFreeCpuPower, $maxFreeCpuPower : maxFreeCpuPower,
                $minFreeNetworkBandwidth : minFreeNetworkBandwidth, $maxFreeNetworkBandwidth : maxFreeNetworkBandwidth)
        // Calculated insertlogical from the process assignments
        CloudComputerUsage(
                freeMemory >= $minFreeMemory, freeMemory < $maxFreeMemory,
                freeCpuPower >= $minFreeCpuPower, freeCpuPower < $maxFreeCpuPower,
                freeMemory >= $minFreeNetworkBandwidth, freeMemory < $maxFreeNetworkBandwidth,
                $softScoreImpact : softScoreImpact)
    then
        scoreHolder.addSoftConstraintMatch(kcontext, $softScoreImpact);
end

そしてもちろん、ウェブインターフェースを開発し、ユーザーが FreePenalty レコードを 作成/更新/削除できるようにします。これにより、ユーザーは UI を通して以下のレコードを作成できます:
User creates new FreePenalty(maxFreeMemory = 2, softScoreImpact = -100)
User creates new FreePenalty(minFreeMemory = 8, maxFreeCpuPower = 4, softScoreImpact = -10)

これら2つのレコードにより、先程定義した Static DRLルールと同様のルールが定義できます。今回は、ユーザーがスコアー関数を修正できます。

Decision tables

ユーザーに制約を公開する別の方法として、Drools decision tableがあります。ユーザーは xlsファイルを Excelや LibreOffice を使い修正することで、スコアールールを変更することができます:

ユーザーにこのファイルを提供する前に、2行目から11行目までを隠します。これにより、decision tablesの技術的な詳細までをユーザーへ公開せずにすみます。

詳細を含めたデモについては、こちらの動画をご覧ください:

decision tableは、データ駆動DRLルールよりもはるかに強力です:ユーザーは、どの制約を適応させるか選択できます。他の制約については含める必要すらありません。(デフォルト値に対してチェックを入れるよりも高速です)

ルール テンプレート

もしもデータ駆動DRLルールが充分ではなく、decision tableの xlsファイルが UIとしては取扱いづらい場合、カスタムUIとセットでルールテンプレートを使ってください。

Drools ワークベンチ

ワークベンチ(以前は Guvnorとして知られていました)は、ルールやワークフローを管理するWebアプリケーションです。Webインターフェースを使い、ビジネスユーザーはルールを作成し変更できます。OptaPlannerで使用するスコアールールも含まれます。

これはとても興味深い設定方法です。将来、このブログを通してデモする予定ですが、詳細についてはDrools ドキュメントをご覧ください。

結論

OptaPlannerではいくつかの方法で、ユーザーがプランニングに使われるスコアールール(関数)を自ら定義することができます。

つまり、ユーザーが Solverの結果を見ながらテストを繰り返し、スコアールールをチューニングすることができます。この高速なイテレーションにより、ビジネスプランニングをより迅速に高性能化させることができます。

原文: Put the user in control of the score constraints by Geoffrey De Smet(OptaPlanner.org)

Red Hat OpenShift bpmPaaS - クラウド上の JBoss BPM Suite

原文: Red Hat OpenShift bpmPaaS - JBoss BPM Suite in the Cloud by Eric D. Schabell

クラウド上の BPMをご利用する準備はできていますか?

bpmPaaSカートリッジとして、OpenShift上で完全にクラウド対応した JBoss BPM Suite が利用できます。

bpmPaaSカートリッジの開発が進む間、何もしていなかったわけではありません。カートリッジの自動インストール機能を追加したデモプロジェクトを用意しました。


まず、OpenShift Originにアカウントを作成してください。その後、無料で Bronzeレベルにアップグレードできます。

アップグレードすることで、MEDIUMサイズのギアが利用可能になります。bpmPaaSインスタンスを作成するにはこのギアが必要になります。

アカウントのアップグレード後、Web管理コンソールを通して新規アプリケーションを作成できます。ページの下には、Code Anythingとラベルされたテキストボックスがあります。

このテキストボックスに、下記プロジェクト内で提供しているカートリッジの定義をペーストします。各プロジェクトに含まれる readmeファイルに記載された手順に沿って作業をしていただけば、数分でbpmPaaSベースの JBoss BPM Suite をご利用いただけます。

ご利用いただけるプロジェクトの一覧です:


実際に初期インストールとデモプロジェクトをインポートする動画を公開しています。7分半程度の内容です。


原文: Red Hat OpenShift bpmPaaS - JBoss BPM Suite in the Cloud by Eric D. Schabell