BPMN 1.1モデルをBPMN 2.0に移行

<< 目次を表示 >>

ページ位置:  その他の記法・モデリング > ビジネスモデリング > BPMN >

BPMN 1.1モデルをBPMN 2.0に移行

BPMN1.1のモデルを、BPMN2.0のモデルに変換することができます。変換にはAPIで提供されるMigrate関数を利用する必要があります。この関数を実行すると、タグ付き値の内容が更新され、必要に応じてステレオタイプも変更されます。選択したパッケージや要素に含まれるダイアグラム・要素・属性・操作が対象です。

 

次のVB scriptはMigrate()関数を呼び出し、BPMN2.0に移行する処理を実現します。

 

 

例:

Sub MigrateElement (sGUID, lngPackageID)

Dim proj as EA.Project

set proj = Repository.GetProjectInterface

proj.Migrate sGUID, "BPMN1.1", "BPMN2.0"

 

'refresh the model

If lngPackageID<>0 Then

Repository.RefreshModelView (lngPackageID)

End If

End Sub

 

Sub MigrateSelectedItem

Dim selType

Dim selElement as EA.Element

Dim selPackage as EA.Package

selType = GetTreeSelectedItemType

If selType = 4 Then 'means Element

        set selElement = GetTreeSelectedObject

        MigrateElement selElement.ElementGUID, selElement.PackageID

        MsgBox "Element Migration Completed",0,"BPMN 2.0 Migration"

ElseIf selType = 5 Then 'means Package

        set selPackage = GetTreeSelectedObject

        MigrateElement selPackage.PackageGUID, selPackage.PackageID

        MsgBox "Package Migration Completed",0,"BPMN 2.0 Migration"

Else

        MsgBox "Select a Package or element in the Browser window to initiate migration",0,"BPMN 2.0 Migration"

End If

End Sub

 

Sub Main

MigrateSelectedItem

End Sub

 

Main

 

 

注意:

  • 実行する前に、対象のプロジェクトのバックアップを取得して下さい。
  • 以下のタグの内容は正規化されます。
    • BPMN1.1::Activity::InMessageRef
    • BPMN1.1::Activity::OutMessageRef
    • BPMN1.1::Activity::IORules
    • BPMN1.1::Activity::InputSets
    • BPMN1.1::Activity::OutputSets
    • BPMN1.1::Activity::ComplexMI_FlowCondition
    • BPMN1.1::Activity::Performers
    • BPMN1.1::BusinessProcess::InputSets
    • BPMN1.1::BusinessProcess::OutputSets
    • BPMN1.1::BusinessProcess::Performers
    • BPMN1.1::EndEvent::ErrorCode
    • BPMN1.1::IntermediateEvent::ErrorCode

 

BPMN1.1::Activity::InMessageRefを例にすると、以下のような処理が行われます。

  1. 新しくBPMN2.0::Operationが作成されます。
  2. BPMN2.0::Activity::operationRefの参照が追加されます。
  3. BPMN1.1::Activity::InMessageRefは BPMN2.0::Operation::InMessageRefに変更されます。

 

  • 以下のタグは非正規化が行われます。
    • BPMN1.1::Activity::TransactionRefで参照されるBPMN1.1::Transaction referenced
    • BPMN1.1::Transaction::TransactionMethod
    • BPMN1.1::Transaction::TransactionProtocol
    • 以下のいずれかで参照されるBPMN1.1::WebService
      • BPMN1.1::Activity::WebServiceRef
      • BPMN1.1::StartEvent::WebServiceRef
      • BPMN1.1::IntermediateEvent::WebServiceRef
      • BPMN1.1::EndEvent::WebServiceRef
      • BPMN1.1::WebService::Operation
      • BPMN1.1::WebService::Interface
      • BPMN1.1::WebService::ParticipantRef
    • 以下のいずれかで参照されるBPMN1.1::Condition
      • BPMN1.1::StartEvent::ConditionRef
      • BPMN1.1::IntermediateEvent::ConditionRef
      • BPMN1.1::Condition::ConditionExpression

 

BPMN1.1::Activity::TransactionRef を例にすると、以下のような処理が行われます

  1. BPMN1.1::Activity::TransactionRefに対応するBPMN1.1::Transactionを探します。
  2. BPMN1.1::Transaction::TransactionMethodの値をBPMN2.0::Activity::transactionMethodに変更します。
  3. BPMN1.1::Transaction::TransactionProtocolの値をPMN2.0::Activity::transactionProtocolに変更します。

 

  • BPMN1.1にのみ存在ずるタグについては、そのまま残されます。

 

 

参照: