|
|
Flow4J-Eclipse is an Eclipse Plug-in to model process flows with the help of the Eclipse-GEF GUI framework.
Have a look at the screenshots to get a first idea.
A flow can contain components, called flowlets, like tasks, decisions, jumps, templates etc.
Flows are managed in Eclipse projects with JDT capabilities.
Saving a flow stores the flow's model in an XML file;
Building the Flow4J Eclipse project creates java source code that is compiled by the JDT java compiler automatically. Thus all possibilities that the JDT Plug-ins offer, like debugging and build-path management, are available by default.
- download the Plug-in and drop the expanded Plug-in folder in the .../ECLIPSE_HOME/plugins folder
- start/restart Eclipse
- create new Flow4J Project. This creates a project with the following top level folders:
-
flows - place your flow files in this folder or in a subfolder
-
java - the FlowBuilder places the flow's java source code in this folder
-
bin - the automatically triggered JavaBuilder places the flow's compiled bytecode in the appropriate package structure in this folder
- add the
pluginfolder/flow4jruntime.jar to the projects classpath, so that the runtime classes can be accessed by the JavaBuilder
- create Start, Task, End and other needed flowlets
- change the flowlet's labels in the properties view. Especially the task flowlet's label must be set to the fully qualified class path of the executable class that implements
IFlowlet
After the project was built successfully, you can run the flow with code like this:
Map dictionary = new HashMap();
dictionary.put("name", "Alex");
new flows.SayHello().execute("Start", dictionary);
or as it will be prefered in the future:
FlowManager.registerFlow(flows.SayHello.class);
FlowManager.executeFlow("hello", "Start", dictionary);
Running the flow processes all task flowlets in the flow with the dictionary as parameter. So task flowlets can read data from it or even manipulate and put new data into it.
The Plug-in is under heavy development. Currently Im working on basic functionality, but tasks can be created and combined in a flow. These flowws can then be executed. Here is a list whats coming next:
- template-Flowlet that can return code for JSP pages
- exception handling
- additional flowlet properties like SMTP address of a SendMail flowlet
- The Flow4J Plug-in is developed and tested on Eclipse 2.1.1. The following additional package is needed for correct functioning:
- GEF-SDK contains two Eclipse Plug-ins (draw2d and GEF). You can download version 2.1.1. Installation is quite simple, just extract the GEF archive and put the plug-in folders in .../ECLIPSE_HOME/plugins. Further information on istalling GEF can be found here .
- The Plug-in uses the JDT Plug-ins for the compilation, so it should be installed on your Eclipse IDE.
- Ant 1.5.x, if you want to build the Plug-in yourself
Thanks for your interest and enjoy or give feedback.
|
|
07.12.2003
v0.3.1
- Adding Flow4J nature to existing projects
04.12.2003
v0.3.0
- Flows accessible from servlets
sample webapp: flow4jwebapp.zip
20.11.2003
v0.2.4
- many improvements
06.11.2003
v0.2.3
- bytecode is java 1.3.1 compatible
05.11.2003
v0.2.2
- Implemented Call and Join Flowlet
31.10.2003
v0.2.1
- Implemented Join Flowlet
29.10.2003
v0.2.0
- Implemented Decision Flowlet
XSD and file format has changed!!!
26.10.2003
v0.1.9
- Handles reconnections and free anchor indication correctly
24.10.2003
v0.1.8
- Handles connection creation correctly
22.10.2003
v0.1.7
- IFlow interface changed! Many minor improvements.
21.10.2003
v0.1.6
- introduced EndFlowlet. Flows should always be terminated with this.
19.10.2003
v0.1.5
- created new icons and figures look better now
18.10.2003
v0.1.4 - first release that can process flows with task flowlets
11.10.2003
added JDT capabilities to Flow4J projects
10.10.2003
generating java source code from flows
09.10.2003
successful tests on windows and Mac OS X Eclipse 2.1.1
added abylity to use incemental and full build
08.10.2003
loading and saving of flows works
07.10.2003
created the xsd and embedded castor as a binding framework
|
|