[OutSystems]BPTの新しいコース「Building Your First Business Process」を試してみる


OutSystemsで、ワークフローや、一定期間停止したり特定のイベントが発生するまで処理を中断するようなバッチを作る事ができる機能がBPTです。ずっと古い教育コース(動画)しかなかったのですが、最近新しいコースがOutSystems11に対応して、出ているのに気づいたので一通りやってみました。

Building Your First Business Process レベル表記がAdvancedとなっており、OutSystemsの開発自体には慣れている人向けで、基本的な操作等についての説明はふくまれていません。

コースの概要

BPTの代表的な機能を紹介しながら、経費精算ワークフローを作っていきます。
最初に作成するワークフローの仕様を紹介し、BPMNを使って表した図が紹介されます。
この図で表されたワークフローを、以下の順でBPTの機能紹介→その機能を利用した実装を追加、の順番で組み上げていく内容でした。
1. Human Activity:ユーザーにOutSystemsで作った画面を作って実行するタスクを割り当てる機能
2. Automatic Activity:小さなバッチ。ワークフロー内でそのステップに達したときに自動で動作するロジックを作る機能
3. Conditional Start:特定のEntityへのレコード追加/更新が発生するまで待ち、その時点で処理を起動させる機能(発生しなかったらこの部分は動かない)
4. Sub-Process:ワークフローから別のワークフローを起動する機能
5. Decision:ワークフロー内で処理を分岐させる機能
6. Wait:特定の時期、または特定のEntityへのレコード追加/更新が発生するまで処理をそこで止める機能
7. Callback:ワークフローまたは、ワークフローの特定の機能のイベント(開始/終了など)のコールバックを作成する機能

注意としては、2021/4/8時点では英語字幕しかつけられませんでした。

デモアプリケーション

コースの最初の方の動画のLesson Materialsボタンから素材のアプリケーションをダウンロードできます。
ここにワークフロー以外の必要な機能は作成済みなので、ワークフローの作成に集中できます。

以前の(古い)BPTコースと違い、デモアプリケーションはReactive Web Appsです。
Traditional Webと、BPTの面では大きくは違いません(Taskboxを除き)。

テストユーザーとロール

デモアプリケーションを作っていく動画中で、当然のように特定のロールを持ったユーザーでログインして……のような案内があります。
コースのLesson Materialsからダウンロードできるデモアプリケーションの素材の中に、When Published(モジュールをPublishしたときに起動するバッチ)でテストユーザーを作り、必要なロールを割り当てるようになっているので心配いりません。

デモアプリケーションを実行するとログイン画面に遷移しますが、画面下部のドロップダウンリストからログインしたいユーザーを選ぶと、自動的にログインさせてくれる作りになっています。

Taskboxについて

Taskboxというのは、OutSystemsが標準提供する仕組みで、ログインユーザーに割り当てられているタスクを一覧し、タスクの処理を開始させる事もできるUI。
Traditional Webではデフォルトで有効になっていましたが、Reactive Web Appsでは自分で画面に配置する必要がある点に注意。デモアプリケーションにはこのTaskboxを組み込み済みなので心配はいりませんが。

以前QiitaでこのTaskboxをReactive Web Appsに配置する方法について書きました:Reactive Webのカスタムタスクボックスを試してみる

このコースで得られるもの

OutSystemsのBPTが何となく分かる、構成要素がなにであるかわかる、位のレベルです。
実際のプロジェクトで実装するなら、まずこのコースで概要を掴み、実際に実装するときはドキュメントを読み込む必要がありますね。
また、このコースはワークフロー側に注力していて、ワークフローと画面を連動させる部分には触れられていません。

ちなみに、私も以前BPTのチュートリアルを書いてみたことがあります:シンプルなBPTの実装例
こちらは、Traditionalで実装していて、Human Activity1つだけで構成される非常にシンプルなものになっています。