メインコンテンツまでスキップ

IM-BISでのワークフロー開発

IM-BISは、IM-WorkflowとIM-FormaDesignerを統合したワークフロー開発ツールです。プログラミングの知識がなくても、画面上の操作だけでワークフローを構築できるため、定型的な申請・承認業務を素早く形にしたい場面に適しています。

ワークフロー開発の基礎で説明した3つの定義(ルート定義・コンテンツ定義・フロー定義)を、ひとつの画面から一括で作成・管理できます。

IM-BISの開発ステップ

ワークフロー開発の基礎では、IM-Workflowでワークフローを構築する手順として、画面や処理の作成(事前準備)ルート定義コンテンツ定義フロー定義という流れを紹介しました。IM-BISでは、この一連の作業が次の3ステップに集約されます。

IM-Workflowでは各定義を個別に作成し、最後にフロー定義で紐づける必要がありました。IM-BISではBIS定義を登録すると、内部で3つの定義が自動的に生成されます。画面の作成にはIM-FormaDesignerが使用されますが、IM-BISの画面上からそのまま操作できるため、製品を意識する必要はありません。

参考

定義の反映とは?

IM-BISでは、すべての設定が完了したあとに「定義の反映」を実行します。定義の反映を行うと、フォームに対応するデータベースのテーブルが自動生成され、ワークフローが利用可能な状態になります。設定を変更した場合も、必ず定義の反映を実行してください。

IM-BISが自動で行うこと

BIS定義を登録してワークフローを作成すると、IM-BISは内部的に以下の処理を自動で行います。

自動処理説明
3定義の生成ルート定義・コンテンツ定義・フロー定義を自動生成し、相互に紐づけ
画面とデータテーブルの連携IM-FormaDesignerで作成したフォームに対応するデータベーステーブルを自動生成
ワークフロー連携パラメータの設定申請・承認に必要な内部パラメータ(開始処理・到達処理など)を自動設定
アプリケーション定義の作成ワークフローの実行に必要なアプリケーション定義やメニュー設定を自動作成

IM-Workflowで同様のワークフローを構築する場合、これらの設定をすべて手動で行う必要があります。IM-BISはこの手間を省くことで、ノンプログラミングでのワークフロー開発を実現しています。

ステップ1:BIS定義の登録

BIS定義の登録では、ワークフローの基本情報とルートの作成方法を設定します。

基本情報

設定項目説明必須
BIS作成種類「ワークフロー」または「BISフロー」を選択(後述)
ルート作成方法新規作成、または既存ルートのコピーから選択
BIS名ワークフローの名前(申請時のフロー選択画面に表示される)
説明ワークフローの用途や概要
参考

BISフローとワークフローの違い

IM-BISでは「BISフロー」と「ワークフロー」の2種類のフローを作成できます。

※システム管理者がBISフローの作成を有効にしていない場合は、BISフローを作成できません。

種類用途利用できるノード
BISフロー申請・承認をともなわない業務プロセスの管理一部制限あり
ワークフロー申請・承認をともなう業務IM-Workflowと同等

通常の申請・承認業務には「ワークフロー」を選択してください。このページではワークフローの作成を前提に説明をしています。

詳細情報

設定項目説明必須
BIS IDBIS定義の一意な識別子(自動採番または任意指定)
開始日・終了日ワークフローの有効期間
バージョンBIS定義のバージョン(バージョン管理の詳細は後述)
フローグループフローを分類するためのグループ(任意・複数設定可)

フローグループを設定すると、申請時のフロー選択画面でフローを絞り込みやすくなります。たとえば「経費申請」「人事届」といったグループを作成し、フローを分類できます。

コラム

BIS定義の新規登録の詳細については、以下のドキュメントを参照してください。

ステップ2:ルートの作成

BIS定義の登録が完了すると、自動的にルート定義の編集画面に遷移します。ここでは、ワークフローの承認経路をノードの配置で設計します。

ルートの作成方法は、ワークフロー開発の基礎のルート定義と同じ操作感です。ノードをドラッグ&ドロップで配置し、ノード間を線で接続して承認経路を組み立てます。

利用できるノード

IM-BISで利用できるノードは、IM-Workflowと同等です。

ノード説明
承認人が業務処理を行うノード
動的承認実行時に処理対象者を決定するノード
同期開始・同期終了複数の経路を並列に処理する
分岐開始・分岐終了条件により経路を分けて合流する
横配置処理者数を実行時に決定する直列処理
縦配置処理者数を実行時に決定する並列処理
システム外部プログラムと連携するノード
確認指定した対象者がタスクの確認を行うノード
テンプレート置換申請開始時にテンプレートルートを展開するノード
コメントルート上に説明を表示(処理には影響なし)
スイムレーンノードを組織や役割で整理して表示(処理には影響なし)
参考

開始ノード、終了ノード、申請/処理開始ノードは、最初からルート上に配置されています。

コラム

ルート定義の操作方法については、以下のドキュメントを参照してください。

ステップ3:画面の作成

ルートを保存すると、自動的にフロー編集画面に遷移します。ここでは、各ノードで利用する申請画面や承認画面をフォームとして作成します。

フロー編集画面上のノードをダブルクリックすると、IM-FormaDesignerのフォーム・デザイナが表示されます。テキスト入力欄、日付選択、プルダウンなどの画面アイテムをドラッグ&ドロップで配置して画面を設計できます。

画面の共有とコピー

複数のノードで同じ画面を使いたい場合や、少しだけ変更を加えた画面を使いたい場合は、共有やコピーを活用できます。

方法説明変更の反映
共有他のノードと同じ画面定義を参照する画面を変更するとすべての共有先に反映される
コピー画面定義を複製するコピー後の変更は各ノードで独立

たとえば、申請画面と承認画面でまったく同じ画面を表示したい場合は「共有」を使います。承認画面で一部の項目を編集不可にしたい場合は「コピー」してから表示制御を変更します。

参考

共有/コピーは、共有元またはコピー元にしたいノードを右クリックすることで操作できます。

IM-BISでの開発における注意点

IM-BISは手軽にワークフローを作成できる一方で、内部的に3つの定義が密結合しているため、いくつかの制約があります。

BIS定義はIM-BISの画面から編集する

IM-BISで作成したワークフローは、IM-BISの画面から編集してください。IM-Workflow側の管理画面から直接変更すると、BIS定義との整合性が失われ、正常に動作しなくなる可能性があります。

IM-Workflow側やIM-FormaDesigner側から変更したい場合は、IM-BIS 個別設定対応表で変更可能な設定項目の一覧を確認できます。BISフローとワークフローの場合で、変更可能な設定項目が異なることに注意してください。

ユーザプログラムの追加には注意が必要

IM-BISでワークフローを作成すると、申請処理や承認処理に必要なユーザプログラム(開始処理、到達処理など)が自動的に設定されます。IM-Workflow側の管理画面から独自のユーザプログラムを追加する場合は、処理の実行順序に注意してください。設定の方法によっては、自動設定されたプログラムが正常に動作しなくなる可能性があります。

注意

ユーザプログラムの追加は、IM-Workflowの仕組みを十分に理解したうえで行ってください。追加する場合は、ユーザプログラムの作成(プログラミングガイド) を参照し、BISが自動設定した処理との整合性を確認することをおすすめします。

バージョン管理

IM-BISでは、ワークフロー全体を一括でバージョン管理します。

バージョンを追加すると、ルート・画面・処理などの設定がすべてコピーされた新しいバージョンが作成されます。有効期間を設定して切り替えることで、特定の日付から新しいフロー定義に移行できます。

注意

IM-BISのバージョン管理は、BIS定義全体が対象です。ルート定義や画面だけを個別にバージョン管理することはできません。

たとえば「画面だけ新バージョンにして、ルートは旧バージョンのまま」という運用はできません。変更が必要な場合は、BIS定義全体で新しいバージョンを作成してください。

コラム

バージョン管理の詳細については、以下のドキュメントを参照してください。

IM-BISが向かないケース

以下のような要件がある場合は、IM-BISだけでは対応が難しいケースがあります。ほかの開発手法の活用や組み合わせを検討しましょう。

要件理由代替手段
複雑な業務ロジックの実装BISの標準機能では対応しきれないIM-WorkflowやIM-FormaDesigner、IM-LogicDesignerなどを組み合わせた独自開発
独自のデータベーステーブルの利用BISが管理するテーブル以外のデータ操作Accel Studioのテンプレート活用、プロコードによる独自開発
画面レイアウトの完全なカスタマイズIM-FormaDesignerの制約があるIM-BloomMaker(Accel Studio)を利用した画面開発
外部システムとの高度な連携API連携や複雑なデータ変換IM-LogicDesigner(Accel Studio)の活用、独自実装によるAPI連携