Как расширить BPMN 2.0

В настоящее время я изучаю способы расширения BPMN. Я хочу создать новый тип задачи с меньшим количеством свойств, чем у задачи, а также с некоторыми не -свойствами BPMN и новым типом пула.

До сих пор я видел, что люди упоминали два способа: использование точек расширения и использование внешней схемы. К сожалению, в Интернете я не смог найти столько ресурсов, чтобы подробно разобраться в этих методах.

Что я понял из этих методов:

  • Точки расширения:Есть несколько стандартных точек расширения, предоставляемых поставщиками движка BPMN (Aktiviti, jBPM и т. д. ).Например, в Activiti есть пользовательская задача обслуживания, которую можно расширить с помощью желаемых пользователем свойств, но я не нашел никаких ресурсов, если эту недавно созданную задачу расширения можно развернуть в механизме рабочего процесса Aktiviti, а также было бы неплохо увидеть новую BPMN. схема для этого расширения.

  • Использование внешней схемы:Определение желаемых свойств во внешней схеме и ссылка на эту схему из Semantic.xsd. В этом случае нам также нужно будет адаптировать наш Workflow Engine, но он более гибкий, чем метод, о котором я упоминал ранее, или я что-то упускаю?

Единственное, что неясно, этот метод не расширяет напрямую определение задачи, поэтому эти свойства могут использоваться каждым элементом в BPMN?

Пример внешней схемы::

    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema elementFormDefault="qualified" attributeFormDefault="unqualified"
    xmlns="http://myproject.org//bpmn/extensions/NEWTask"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
    xmlns:exvar="http://myproject.org/externalDefs"
    targetNamespace="http://myproject.org//bpmn/extensions/NEWTask"
    > 
    <xsd:import namespace="http://www.omg.org/spec/BPMN/20100524/MODEL"             schemaLocation="BPMN20.xsd"/>
    <xsd:import schemaLocation="externalDefs.xsd" namespace="http://myproject.org/externalDefs" />
    <xsd:complexType name="tProperty1" abstract="false">
        <xsd:sequence>
            <xsd:any namespace="##any" processContents="lax" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>
        <xsd:group id="tNEWTask" name="tNEWTask">
        <xsd:sequence>
            <xsd:element name="Property2" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Property1" type="tProperty1" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element name="Property2" type="exvar:Varaible1" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:group>
    </xsd:schema>

Существуют ли какие-либо другие методы расширения BPMN или какие-либо ресурсы, на которые вы можете мне указать, чтобы я мог лучше понять эту тему?

Любая помощь будет оценена, спасибо заранее!

6
задан Marco 24 September 2012 в 11:15
поделиться