DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone >

Sarasvati Workflow 1.0.0-rc1 With Support for Backtracking and Visualizations

Paul Lorenz user avatar by
Paul Lorenz
·
Mar. 12, 09 · · News
Like (0)
Save
Tweet
570 Views

Join the DZone community and get the full member experience.

Join For Free

Sarasvati 1.0.0-rc1 has been released.

In addition to bug fixes it includes the following major changes:

  - Support for backtracking.

  • Backtracking allows reversing the flow execution, back to any point in the execution history.
  • Nodes may control whether they can be backtracked over.
  • Nodes may execute custom logic when being backtracked.
  • For a more in-depth overview see: http://code.google.com/p/sarasvati/wiki/Backtracking

  - First release of Sarasvati Visualizations.

  • Supports generating HTML image maps of Sarasvati process definitions and executions. Supports customizing hovers and click actions on displayed nodes.
  • Supports (with some developer work) standalone applications to visualize process definitions and executions.
  • As a first release, the visualization code hasn't been widely tested and may contain bugs. The API is also not guaranteed to be stable.
  • TODO: Does not yet support display of self-arcs on nodes. Does not yet suport display of arc names.

Here is a visualization of an example process definition:

 Graph Visualization

Here is a visualization of that same process definition while it is being executed.

 Process visualization


  - Enhancements to Rubric

  • Add business days modifier
  • Allow underscores in ids
  • Bug fixes


The full changelog can be found at http://code.google.com/p/sarasvati/issues/list?can=1&q=label%3AMilestone-1.0.0-rc1

For those unfamiliar with Sarasvati, these are some of the features:

* Simple, well documented, graph execution based core
* Process modularity via load time or run time process composition
* Process and token level attributes
* Actions can be implemented in scripting languages.
* Execution history available through tree structure of immutable tokens
* Node guards which allow bypassing nodes or discarding tokens for flow control
* Domain specific language (Rubric) for user understandable guards
* Java implementation with Hibernate and memory backed engines
* LGPL license

Why might you want to use Sarasvati?

* Load time process composition gives you tremendous flexibility in modularizing your process definitions
* You want to provide transparency to your users
* Extensible and customizable
* You don't want the workflow engine to dictate how users, groups and tasks should be modeled.

Why might Sarasvati not yet be useful to you?

* It currently has no graphical editor (planned for a future version).
* It only runs on Java 1.5 or newer
* It does not yet have a turn key solution for users/groups/tasks.

Homepage: http://sarasvati.googlecode.com/
Download: http://code.google.com/p/sarasvati/downloads/list
What is workflow? http://code.google.com/p/sarasvati/wiki/Workflow
Core Concepts Documentation: http://code.google.com/p/sarasvati/wiki/EngineConcepts
User's Guide: http://code.google.com/p/sarasvati/wiki/UsingSarasvati
jBPM comparison (corrections welcome): http://code.google.com/p/sarasvati/wiki/SarasvatiVsJBPM

Sarasvati welcomes users and contributors.
Please send comments, questions, etc to the user forum at:
http://groups.google.com/group/sarasvati-wf-users 

Visualization (graphics) Workflow engine

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Conducting Sprint Retrospective Meetings
  • Create a Self-Service Customer Support Chatbot Without Code
  • Usage of Java Streams and Lambdas in Selenium WebDriver
  • API Testing for Open Banking Operations

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo