Use bpmn-io modeled files with other BPMN execution engines

I’m building a MEAN stack application. Want to use node and javascript on the server, like this BPMN execution engine. However bpmn files generated with bpmn-io do not execute on it. And conversely, I cannot open their bpmn sample files using the bpmn-io modeler.

I am new to this, but shouldn’t bpmn files be standard? I can understand straying from the standard, but those tags should have a custom namespace, and theoretically be ignored by each other’s tooling. What am I missing?

Hi,

BPMN should be standard, but the engine implementation you have chosen doesn’t implement the standard.

In their examples they mix bpmn-elements with other stuff.

Compare https://github.com/e2ebridge/bpmn/blob/master/examples/processes/task.bpmn
with https://github.com/camunda/camunda-bpm-examples/blob/master/usertask/task-form-generated/src/main/resources/loanApproval.bpmn to see the differences.

Kind Regards, Ingo

You are absolutely right about this.

Seems like their diagrams are not BPMN 2.0 compliant in some important aspects:

  • They do not use DI (BPMNs grapical information) so there is no way for other editors to display the symbols without sophisticated auto-layouting.
  • They extend the BPMN 2.0 schema in an invalid way. As far as I know vendors should provide extensions in <bpmn:extensionElements /> blocks. They simply inline them (i.e. using <mxCell /> elements for the graphical data) and do not provide a proper namespace.

Try to validate one of their diagrams against the BPMN 2.0 XML schema (BPMN20.xsd) to verify that I am not mistaken. You could use xsd-schema-validator for this if you are on NodeJS anyway.

So my assessment is: Their .bpmn files are not BPMN 2.0 compliant which will make it really hard to get bpmn-js play nicely with it.

Hi Nico- Your schema validator (nice lib BTW) verified it was not compliant. e2e may have started with the “Yaoqiang” BPMN editor which produces custom tags that are not compliant.

I would still like to use the node BPMN execution engine and bpmn-io editor. I spent time troubleshooting, and have it working now! Next step is to determine which of the BPMN structures the node execution engine supports. Thanks for your insight!