It has to be differentiated between the database that YAWL uses to store its state (YAWL database) and a database that is manipulated during a case with data captured in the work items (Other database).

YAWL database

As YAWL uses hibernate as persistence layer it supports every database that Hibernate supports. (see here) All you need to do is to configure the database in the hibernate.properties file of the three web applications "resourceService", "yawl" and "workletService". Refer to YAWL manual section 2.4.4 for more information.

Other database

YAWL offers multiple ways to store the captured data of a whole case or a single work item in a database.

  • Write a YAWL codelet that writes the tasks input parameters to a database, using for example JDBC. (Extending AbstractCodelet)
  • Write a YAWL external data gateway. (Extending AbstractExternalDBGateway) A external data gateway populates a case or work item from the database or updates the database with data after completion of a work item or case.
  • Write a YAWL service that handles the whole task.