業務フロー図ライブラリ Q Business Process Management

出典: Q-BPM

XPDLとは、各BPM製品のデータファイルを相互変換できる様にすべく策定されたプロセス定義言語(Process Definition Language)規格のひとつ。XPDLに従えば、業務フローの手順のみならず、業務フロー図のグラフィック情報も記述できる。

目次

概要

XPDLは、BPM関連製品の各データファイルを相互変換すべく策定されたプロセス定義言語(Process Definition Language)規格の一。タスク手順を記述できるだけでなく、業務フロー図のグラフィック情報も記述できる。言いかえればBPMNのグラフィックオブジェクトをすべてXMLフォーマット、すなわちテキスト情報で保存する事が出来る。

ビジネスプロセスをテキスト情報で定義できる規格にはBPELも存在し、BPELとXPDLは「2大ビジネスプロセス定義言語規格」とも言われる。しかしながらBPELはグラフィックオブジェクトの保存はその範疇に無く、情報システムの詳細な制御(Webサービス制御)に主眼が置かれている。BPELの推進派は「IBM、Microsoft、BEA、Oracle、SAP、Adobe」などのアプリケーションサーバソフトベンダや企業内情報システム統合ソフトベンダに多い。

XPDLの活用

XPDLを活用する事で、モデリングツールから、BPMエンジンへのデータ互換に限らず、シミュレーションツールや最適化ツールへのデータ互換を図ることも想定できる。なお、BPMNからBPELマッピング時に発生する「ロール情報の欠損」は、XPDL変換時には発生しない。総じてXPDLは、人間中心のビジネスプロセス(Human-Centric BPM)に適していると言える。

今日、モデリング専用ツールのみならず、BPMスイート製品もXPDLエクスポート機能をサポートする傾向にあると言える。

2大言語規格が存在する背景

BPMは「EAI」と「ワークフロー」の両分野が融合した分野であり、両分野それぞれの研究開発成果である「BPEL」と「XPDL」を踏襲している。

対立しているかのように言われる事もあるが、それぞれに特徴をもった仕様であり、補完する関係にあると言った方が良い。すなわちEAI(Enterprise Application Integration)では、「企業内の業務システムを処理速度や変更容易性の観点から統合連携させる事」に主眼が置かれ、そのデータやプロセスをあるべき姿に持っていこうとする。他方、ワークフローでは「人間手続きの流れを業務効率や業務リスクの観点から分析する事」に主眼が置かれ、組織内での役割やタスク手順のあるべき姿を模索する。

沿革

  • 1993年08月: WfMC、設立
  • 1998年11月: WfMC、WPDL発表(ビジネスプロセス定義の交換言語標準として)
  • 2002年10月: WfMC、XPDL1.0を公開(XMLの拡大を受け、WPDLをXML化)
  • 2004年05月: BPMI、BPMN1.0を公開(BPELマッピング仕様も記述)
  • 2004年00月: WfMC、BPMNの表現可能な図を全て記述できる様に拡張する方針を表明
  • 2005年06月: BPMI・OMG、戦略的統合
  • 2005年10月: WfMC、XPDL2.0を公開(BPMN1.0に対応)
  • 2006年02月: OMG、BPMN1.0(OMG最終採択版)を公開
  • 2008年01月: OMG、BPMN1.1を公開
  • 2008年04月: WfMC、XPDL2.1を公開(BPMN1.1に対応)
国際標準化動向
国際標準化動向

関連記事

XPDLファイルの内部イメージ

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns:xyz="http://www.xyzeorder.com/workflow"…>
  <PackageHeader>
    <XPDLVersion>2.0</XPDLVersion>
    <Vendor>Questetra</Vendor>
    <Created>01/01/2008 00:00:00 AM</Created>
  </PackageHeader>
  …
  <TypeDeclarations>
    <TypeDeclaration Id="Order" Name="Order">
      <ExternalReference location="http://wfmc.org/standards/docs/xpdl_sample/orderschema.xsd"/>
    </TypeDeclaration>
    <TypeDeclaration Id="OrderStatus" Name="OrderStatus">
      <SchemaType>
      …
      </SchemaType>
    </TypeDeclaration>
    <TypeDeclaration Id="CardType" Name="CardType">
    …
    </TypeDeclaration>
  </TypeDeclarations>
  <Participants>
    <Participant Id="DBConnection">
      <ParticipantType Type="SYSTEM"/>
      <Description>Reference to Database Resource</Description>
    </Participant>
  </Participants>
  <Pools>
    <Pool Process="1" Id="2" BoundaryVisible="false">
      <Lanes/>
      <NodeGraphicsInfos>
        <NodeGraphicsInfo Page="1"/>
      </NodeGraphicsInfos>
    </Pool>
    <Pool Process="2" Id="3" Name="" BoundaryVisible="true">
    …
    </Pool>
  </Pools>
  <WorkflowProcesses>
    <WorkflowProcess Id="2" Name="EORDER">
      <ProcessHeader/>
      <FormalParameters>
        <FormalParameter Id="orderString" Mode="IN">
          <DataType>
            <BasicType Type="STRING"/>
          </DataType>
        </FormalParameter>
        <FormalParameter Id="returnMessage" Mode="OUT">
        …
        </FormalParameter>
      </FormalParameters>
      <Applications>
        <Application Id="transformData">
        …
        </Application>
      </Applications>
      <DataFields>
        <DataField Id="1" Name="orderNumber" IsArray="FALSE">
          <DataType>
            <BasicType Type="INTEGER"/>
          </DataType>
          <Length>0</Length>
          <Description/>
        </DataField>
        <DataField Id="3" Name="status" IsArray="FALSE">
        </DataField>
      </DataFields>
      <ActivitySets/>
      <Activities>
        <Activity Id="10" Name="Transform Data">
          <Implementation>
            <Task>
              <TaskApplication Id="transformData">
                <ActualParameters>
                  <ActualParameter>orderString</ActualParameter>
                  <ActualParameter>orderInfo</ActualParameter>
                </ActualParameters>
              </TaskApplication>
            </Task>
          </Implementation>
          <NodeGraphicsInfos>
            <NodeGraphicsInfo Page="1" LaneId="0" Width="75.0" …>
            …
            </NodeGraphicsInfo>
          </NodeGraphicsInfos>
        </Activity>
      </Activities>
      <Transitions>
        <Transition Id="16" Name="" From="10"…>
        </Transition>
      </Transitions>
    </WorkflowProcess>
    <WorkflowProcess Id="3"…>
    …
    </WorkflowProcess>
  </WorkflowProcesses>
  <ExtendedAttributes>
    …
  </ExtendedAttributes>
</Package>
ツールボックス
リンク元
リンク先の更新状況
アップロード
特別ページ
印刷用バージョン
この版への固定リンク
 

カテゴリ
一般名詞 | 固有名詞 | 汎用業務プロセス | 基幹系業務プロセス | 支援管理系業務プロセス
Q-BPM Q-BPMでは企業内の業務フローについて、そのサンプルプロセスを幅広く例示し、業務フロー図の作成を支援します。 (※ 業務フロー図: 業務の流れ図/ビジネスダイアグラム/業務プロセス図) 当サイトは世界中の協力者を募るクラウドソース型情報発信サイトであり、サイトコンテンツは原則として「特定条件を満たせば転載可能」な「CC-By SA」と呼ばれるライセンスのもとに公開されます。 株式会社クエステトラ このサイトはBPMに興味があるが多数の書籍や文献、難しい用語の調査に膨大な時間を費やしている世界中のビジネスマンの為に株式会社クエステトラによって始められました。株式会社クエステトラはBPMに興味があるが多くの関連用語を調べたり文献を探したりする手間を減らして、BPMを理解したり、BPMを実際に活用したりする時間を世界中のビジネスマンに貢献したいと思っています。

Powered by MediaWiki CreativeCommons By SA