Hello all. I'm at the very start of beginning to use and understand YAWL, but I have a question: what is the difference of a "classic" clustered system - or a cloud or grid system - and a Petri net?
I mean, for example, what are the differences of a clustered system of a Django webapp, for example, and a webapp written in YAWL?
A Petri Net is a…
A Petri Net is a mathematical model for concurrency that abstracts from time. Petri Nets are used for describing the control flow perspective of YAWL, BPMN, and EPC.
When you have tried the YAWL system, can you answer the second question yourself? Django is a CMS if I am not wrong.
CMS? No, it's a Python…
CMS? No, it's a Python framework for webapps.
What do you think about Spring Activiti?
https://www.baeldung.com/spring-activiti
We have evaluated Activiti…
We have evaluated Activiti and compared it to YAWL in a seminar. The result was that YAWL has a huge functionality "above" the software development level. You can have a workflow designer who is not a developer and then hand over to software developers only when you write codelets in Java.
In Activiti you have a relatively thin layer of graphical workflow editing and you more or less immediately get to the Java level.
Well, but the problem of…
Well, but the problem of codelets is that they are like scripts. You can't write a structured code with separated codelets. For example, what if you have to access a DB with one or more codelets?
When we have connected YAWL…
When we have connected YAWL workflows to a database it was mainly for storing and retrieving data from YAWL in XML format to relational tables. There is a framework called HyperjaxB that does the transformation between XML, Java Objects and the relational tables automatically. You can read about this here:
http://www.yaug.org/content/integrating-and-using-yawl-liferay-portal
http://www.yaug.org/content/persistence-hyperjaxb3-framework
I would call the code written in codelets "glue code" rather than "script". What kind of structure are you missing? Does it have to do with database transactions?
Well, the fact is that with…
Well, the fact is that with Spring Boot 2 I have a full Java MVC framework. I can create Repositories that contains the DB layer and Services that contains the business logic. With simple codelets you have to reinvent the wheel.
That is true: if you do have…
That is true: if you do have the software development skills at hand and you want to build a whole integrated solution, Activiti may be the better choice. If you want to separate the concerns and let tech-savvy end-users make changes to the workflows, YAWL may be better.
But can't YAWL create…
But can't YAWL create something like Activity did, a plugin for Spring (Boot)? I say Spring because it's written in Java as the YAWL API and it's the second most used webapp framework.
Furthermore I tried a little https://www.draw.io/ , and it seems much more simple to use that the YAWL Editor, that is really bugged. Can't you simply add support to https://www.draw.io/ to create also YAWL specifications?
Interesting questions. The…
Interesting questions. The first one would have to be investigated.
The second one about draw.io: this is certainly feasible. We have already done something similar with the process editor Signavio:
http://www.yaug.org/content/browser-based-yawl-editor-signavio
Well, the problem is that…
Well, the problem is that Signavio is for university students only.
Ah, I forgot: there is…
Ah, I forgot: there is better. Try APROMORE
https://apromore.org/
They can translate between BPMN and YAWL (and other process modeling languages). They also have one or two demo sites.