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 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.

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.

Marco Sulla

Sun, 06/30/2019 - 12:50

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 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?

Marco Sulla

Sun, 06/30/2019 - 15:28

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 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.

Marco Sulla

Mon, 07/01/2019 - 23:08

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?