#freeze
* フロー定義BPMNファイル [#pe747491]
** 概要 [#tefa20e2]
フロー定義BPMNファイルはジョブの実行順を定義するファイルです。これは[[BPMN 2.0形式:http://ja.wikipedia.org/wiki/%E3%83%93%E3%82%B8%E3%83%8D%E3%82%B9%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%83%A2%E3%83%87%E3%83%AA%E3%83%B3%E3%82%B0%E8%A1%A8%E8%A8%98%E6%B3%95]]のXMLファイルとして作成します。エンコード形式はUTF-8です。

 <?xml version="1.0" encoding="UTF-8"?>
 <definitions>
     <process>
         (ここに実行順の定義を記述する)
     </process>
 </definitions>

processタグ内に、以下の5種のタグを組み合わせてジョブの実行順を定義します。
(無関係なタグは無視されます)

|タグ名|役割|属性|h
|serviceTask|1つのジョブを表す。|id: ファイル内で一意なIDを指定します。|
|~|~|name: ジョブ名を指定します。|
|parallelGateway|ジョブ並列実行時のフロー分岐の開始および終了を行う。|id: ファイル内で一意なIDを指定します。|
|startEvent|フローの始点を示す。|id: ファイル内で一意なIDを指定します。|
|endEvent|フローの終点をを示す。|id: ファイル内で一意なIDを指定します。|
|sequenceFlow|二つのタグを先行・後続関係で接続する。|sourceRef:先行するタグのidを指定します。|
|~|~|targetRef:後続するタグのidを指定します。|

*** 定義例 [#j9fd84e3]
モデル図~
&ref(sample_flow.jpg);

フロー定義BPMNファイルの内容

 <?xml version="1.0" encoding="UTF-8"?>
 <definitions>
     <process>
         <startEvent id="start"/>
         <endEvent id="end"/>
         <serviceTask id="job1" name="job1.bat"/>
         <serviceTask id="job2" name="job2.bat"/>
         <serviceTask id="job3" name="job3.bat"/>
         <parallelGateway id="gateway1"/>
         <parallelGateway id="gateway2"/>
         <sequenceFlow sourceRef="start" targetRef="job1"/>
         <sequenceFlow sourceRef="job1" targetRef="gateway1"/>
         <sequenceFlow sourceRef="gateway1" targetRef="job2"/>
         <sequenceFlow sourceRef="gateway1" targetRef="job3"/>
         <sequenceFlow sourceRef="job2" targetRef="gateway2"/>
         <sequenceFlow sourceRef="job3" targetRef="gateway2"/>
         <sequenceFlow sourceRef="gateway2" targetRef="end"/>
     </process>
 </definitions>

** 制約事項 [#b94f90ad]
以下の条件のいずれかを満たすフロー定義BPMNファイルは使用することができません。

*** startEvent以外のタグで開始している [#t31daddf]
|例|&ref(sample_nostart.jpg);|
|正しく修正した例|&ref(sample_nostart_ok.jpg);|

*** endEvent以外のタグで終了している [#u8f2ceca]
|例|&ref(sample_noend.jpg);|
|正しく修正した例|&ref(sample_nostart_ok.jpg);|

*** startEventが複数ある [#fc239539]
|例|&ref(sample_multistart.jpg);|
|正しく修正した例|&ref(sample_multistart_ok.jpg);|

*** endEventが複数ある [#m668f580]
|例|&ref(sample_multiend.jpg);|
|正しく修正した例|&ref(sample_multistart_ok.jpg);|

*** serviceTaskが1つもない [#ra11c62a]
|例|&ref(sample_noservicetask.jpg);|

*** parallelGateway以外で分岐が開始している [#m3c7c033]
|例|&ref(sample_wrongbranch.jpg);|
|正しく修正した例|&ref(sample_correctbranch.jpg);|

*** parallelGateway以外で分岐が終了している [#f3055c54]
|例|&ref(sample_wrongmerge.jpg);|
|正しく修正した例|&ref(sample_correctmerge.jpg);|

*** 分岐内で再度分岐している [#ge25b537]
|例|&ref(sample_nestbranch.jpg);|
|正しく修正した例|&ref(sample_nonestbranch.jpg);|

*** serviceTaskのname属性(ジョブ名)に特殊な文字が含まれている [#j40be7cf]
serviceTaskのname属性には、以下の記号を使用することはできません。

 \ / : * ? < > $ &

*** id属性の値が重複している [#r6f847fb]
serviceTask、parallelGateway、startEvent、endEventのid属性はファイル内で一意な値を指定する必要があります。~
異なる種類のタグ間での重複もエラーとして扱われます。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS