Rapid Development With Brazos Open

David Parish
Next Post
Previous Post

[Editor’s note: this is a guest post from our Brazos Open lead, David Parish.  He has spearheaded the development all the way through, producing a new, great, option for user interfaces for BPM.  Brazos is a better user interface option than the UI tools available from BPM software vendors, reflecting our depth of experience in the field delivering business process interfaces… this post proves the value of that experience…]

Brazos Open is a game changer for UI development with open source BPM engines. This article discusses how to quickly make changes to your BPM web pages when Brazos Open is working with Activiti.

First a bit of a background on Brazos Open:

Brazos Open introduces a much cleaner way of doing UI development. With Brazos Open you are simply creating HTML files for your form. You can use your own HTML controls but if you use ours you get to create rich forms with very little HTML markup and no JavaScript. We manage the communications with the server for you. For an example of how that looks take a look at our last post.

How Activiti does deployments:

A deployment file in Activiti is simply a zip file. All files in the zip become resources with one special type of resource: files that end in .bpmn20 .xml or .bpmn become processes. Activiti calls this zip file a Business Archive or “bar” file. You deploy this bar file using the rest api or the java api.

Standard form authoring with Activiti has you authoring your forms in the modeler, saving them, packing them into a bar, deploying the bar, starting a new process, advancing your process to the task you are authoring for finally testing your form. This is a VERY laborious and time consuming process.

How Brazos Open does it:

Brazos Open solves this redeployment cycle by giving you the option to work off the latest version of your deployments thus keeping you from having to start a new process or re-advance to your task. When you make a change to your forms, all you have to do is create the bar file (see below for a shortcut), upload it via a rest call and reload your browser. You will immediately see your changes.

Here is an example of a typical Brazos Open URL for a task form:

localhost:8080/brazos-open/service/brazos/form?instanceId=34&taskId=69

When you request the above link Brazos Open finds the form key for the task which points to an html file in your deployment. If you want to always look at the latest version of your work you simply change the URL by adding latest=true as a parameter:

localhost:8080/brazos-open/service/brazos/form?instanceId=34&taskId&latest=true

Now, just reload your browser after you deploy each change. When that link is requested, Brazos Open get’s the latest resources based off that instances process definition. This means you see your changes IMMEDIATELY. All you have to do as a UI developer is save your html file change, run a script to zip up and deploy the bar, then reload your browser.

If you remove the latest flag, you are back to the original version that was deployed with your process. This methodology works not just for task forms but for the Brazos Open Service Engine as well. Think of this like version control. The latest flag gives you access to the latest version of your files without the hassle you’ve had in the past.

A quick way to create bar files:

You can script this VERY easily. All you are doing is creating a zip and posting it. Here’s a cURL command to deploy your zip file:

curl -u kermit -F name=@build/libs/healthDemo.bar http://localhost:8080/brazos-open/service/repository/deployments

Related Posts

Introducing BP Strategy
BPMN 3.0?
Coach Views vs. Custom UI Development