В настоящее время я изучаю способы расширения 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 или какие-либо ресурсы, на которые вы можете мне указать, чтобы я мог лучше понять эту тему?
Любая помощь будет оценена, спасибо заранее!