What is Flow4J?

Flow4J is an Eclipse Plug-in for modeling process flows in a drag and drop manner. A process flow can contain process steps (I call them flowlets), which can be linked together to a complex flow. All flows can contain the following types of flowlets:

  • Control Flowlets like Start-, Decision- and Jump-Flowlets which are configurable in Eclipse, and tell "how" the process should flow.
  • Task Flowlets accomplish a specific task that is wrapped in a java class. The wrapped functionality can be everything like an EJB call or even JNI call. It is also possible to write tasks in scripting languages like Jython, Groovy, JavaScript etc.

After designing the flows in the Eclipse Plug-in, the flow's java source code is automatically created, and is immediately ready for compilation and deployment in a java web/application.

The flow's generated java source code is highly optimized and lightning fast by

  • avoiding unnecessary method calls
  • no object instantiations at all in the flow's runtime behaviour. Beware, I'm talking about the flow's code and not about your code that is inside the task flowlets!

Web/applications can execute flows in two ways:

  1. From inside any java code
  2. Triggered by a HTTP request if the flow is deployed in a web application

Have a look at the User Guide to read more about it.

Success Story

I proudly announce that the Flow4J-Eclipse plug-in is part of the Yoxos Eclipse distribution, that contains the most rec ent Eclipse version and 75 of the most popular open source plug-ins.

Flow4J Sample

Here you can see a flow editor with two simple flows, for demonstartion purposes. A flow file can contain more than one flow. This is very useful if you want to group related flows.

Look at the Screenshots section to see more.

Click to enlarge.