4.2. BPMN 2.0 プロセスの例

プロセスの XML ファイルは 2 つの部分で構成されています。上の部分は ("process" 要素) 別のノードやプロパティの定義が含まれており、下側の部分 ("BPMNDiagram" element) には、ノードの場所など全描画情報が含まれています。プロセスの XML は、 <process> 要素 1 つだけで構成されています。この要素には、プロセス関連のパラメーター (型、名前、id、パッケージ名) が含まれており、ヘッダー部分 (変数、グローバル、インポート、レーンなどのプロセスレベルの情報を定義可能)、プロセス内の各ノードを定義するノード部分、プロセス内のすべてのノード間の接続が含まれる接続部分の 3 つのサブセクションからなっています。ノード部分は、ノードごとに固有の要素があります。各要素は、様々なパラメーターやそのノード型のサブ要素を定義します。
'Hello World' というフレーズを出力するという、単純な hello world というプロセスは、以下の画像のように描画表現できます。
この画像は、グラフィカルなプロセス "Hello World" の Start イベントと End イベントを示しています。

図4.1 グラフィカルな Hello World プロセス

BPMN 2.0 XML を使って表現したこのプロセスの実行可能なバージョンは、以下の例に記載しています。

例4.1 BPMN 2.0 XML Hello World プロセス

<?xml version="1.0" encoding="UTF-8"?><definitions id="Definition"
             targetNamespace="http://www.example.org/MinimalExample"
             typeLanguage="http://www.java.com/javaTypes"
             expressionLanguage="http://www.mvel.org/2.0"
             xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
             xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
             xs:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"
             xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
             xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
             xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
             xmlns:tns="http://www.jboss.org/drools"><process processType="Private" isExecutable="true" id="com.sample.HelloWorld" name="Hello World" ><!-- nodes --><startEvent id="_1" name="StartProcess" /><scriptTask id="_2" name="Hello" ><script>System.out.println("Hello World");</script></scriptTask><endEvent id="_3" name="EndProcess" ><terminateEventDefinition/></endEvent><!-- connections --><sequenceFlow id="_1-_2" sourceRef="_1" targetRef="_2" /><sequenceFlow id="_2-_3" sourceRef="_2" targetRef="_3" /></process><bpmndi:BPMNDiagram><bpmndi:BPMNPlane bpmnElement="Minimal" ><bpmndi:BPMNShape bpmnElement="_1" ><dc:Bounds x="15" y="91" width="48" height="48" /></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="_2" ><dc:Bounds x="95" y="88" width="83" height="48" /></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="_3" ><dc:Bounds x="258" y="86" width="48" height="48" /></bpmndi:BPMNShape><bpmndi:BPMNEdge bpmnElement="_1-_2" ><di:waypoint x="39" y="115" /><di:waypoint x="75" y="46" /><di:waypoint x="136" y="112" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="_2-_3" ><di:waypoint x="136" y="112" /><di:waypoint x="240" y="240" /><di:waypoint x="282" y="110" /></bpmndi:BPMNEdge></bpmndi:BPMNPlane></bpmndi:BPMNDiagram></definitions> 


  

    
    
    
      
    
    
        
    

    
    
    

  

  
    
      
        
      
      
        
      
      
        
      
      
        
        
        
      
      
        
        
        
      
    
  

プロセスは、BRMS ユーザーインターフェース (詳細は 「プロセスデザイナー」 を参照)、JBoss Developer Studio (詳細は 「JBoss Developer Studio」 を参照) に含まれているデザイナーを使用するか、手動で XML に直接記述することで BPMN 2.0 仕様で定義できます。