During my studies at Georgia State, I have had the privilege of developing and teaching courses on Business Process Management. When this comes up in conversation followed by blank stares. I typically explain it as model driven execution:
Model your business process. (like the one to right, created by one of “my” students)
Press a button — code is generated –you have just created an application (and automated a process).
Sounds too good to be true right? Well, you do also have to create forms and route the data around. But, this is all fairly straight forward. It is important to note what is doing all the heavy lifting — what makes this all possible: the Business Process Management System (BPMS).
There are many BPMS systems available see: Gartner’s magic quadrant. We started using TIBCO, which is a fantastic product, but proved too taxing on student (budget) laptops. Then we used a lightweight product called BizAgi, which has a fantastic modeler and a great backend BPMS system which we deployed on AWS. Recently, I have been fascinated by RunMyProcess a BPMS which runs entirely in the cloud. Here are some of its advantages from my perspective:
No install necessary (a huge plus for students)
Integrates with any webservice. Want to send text messages, send invoices, read or store information into a database of google spreadsheet, call someone with a pre-recorded statement, check exchange rates, the weather, or micro-outsource some work to mechanical turk as part of your process? No problem, there are thousands of connectors to fabulous RESTful webservices waiting for you(e.g. Twilio, Zoho, Google Spreadsheets, Freshbooks, mTurk).
Email just works. Setting up email notifications can be a hassle on other BPMS systems when you have them hosted yourself. RMP also has email receptors (i.e. start a process by sending an email to a specific email address… nifty).
No hosting required.
I was showing this system at a recent conference and a chief scientist at Google described it as Mash-ups (or MashApps) for the enterprise. Like other BPMS systems you also get the Business Intelligence insight through process monitoring and measuring tools. There are similar platforms-as-a-service out there, but it has been very rewarding to see many light bulbs turn on as students catch the vision that BPM purports. This usually starts to happen when they design a process which sends themselves a text (SMS) message with stock exchange rates, or a customized haiku poem written by turkers.
A few notes after over a year of using this model of BizAgi hosting:
Don’t shutdown the server. Just right click and press pause. Also, don’t ever shut down BizAgi. When you ‘un-pause’ the image everything will come right back up on IIS and the server will be web accessible immediately. This is the killer feature of using AWS for classroom use.
Starting and restarting will change the URL of the server. I don’t mind this. You can pay a few cents more and the URL will remain the same.
In the ‘how to’ below I install BizAgi onto a plain vanilla win2008 server. It did not have MS SQL or IIS etc. MS SQL Express was installed when I installed BizAgi, and then I installed IIS myself later on. I didn’t have problems with this setup as it was the ‘BizAgi default setup’. I think BizAgi is still shipping with SQL Express 2005.
I created this “how to” to aid anyone interested in trying out BizAgi (a BPMS) on a live web-accessible server. It has an extremely low entrance cost, as Amazon Web Services is used. I have embedded it below. Please post any comments here if you run into trouble, or learn something helpful for all.
This is not so much a tutorial as it is a directions list. I assume you have setup an AWS instance of some kind. If you have not, head over to EC2 for Poets.
Unfortunately Internet Explorer is very annoying and makes us press “Add” in order to download files from really anywhere. A box like the one below may come up several times. Just press “Add” and then OK.
It will take about 4 minutes to download. Meanwhile, go see how the install of IIS is doing. Once that is done — close that window. Wait for that to finish installing before installing BizAgi.
Accept all of the default settings in the BizAgi install. It might take a while to install.
Run or Start BizAgi. A shortcut is on the desktop.
When it pops up, click on Process Templates (see below). It is fun to learn from an example already built.
Press next on the windows which will appear. Accept all the defaults. A window will come up asking for DB information. Accept the defaults here and don’t change anything… just continue.
Once it is done it will have a window like this: Note the Modules and Run buttons. Before we press “Run” lets check out the Modules.
After you press Modules a screen like this will come up:
Click around and right click things and just explore this area for 10 minutes. This has all of the processes which we are about to “execute” on a live server. There are three different process models can you find all of them?
Next click on Run (green button). A browser window will pop up with your running processes. This is viewable by anyone on the web. But what’s the address? Get this by going to your AWS console and copying the public DNS field from your running instance: Mine is ec2-75-101-197-43.compute-1.amazonaws.com – copy this into a web browser. You will see the IIS screen, add /Templates to see your running processes. So the final URL (for me) is: http://ec2-75-101-197-43.compute-1.amazonaws.com/Templates/
Now send this link to your friends and have them login as different roles and start some processes. Post your server link as a comment here and share it with everyone! Although this tutorial may have been fun, using your sever (the more people that use it the merrier) demonstrates the power of BPM. After you started a few processes, go to the administrator view of BizAgi to look at the status of the processes you, your friend, or some random person has started.
After you are done playing, remember to pause your server by right clicking your running instance and pressing “stop”. This will avoid you incurring huge AWS charges! Press start to resume when you want to play with it again. You can also terminate the server when you are completely finished with it. You will see this option on the right-click menu Congratulations you have setup and run a full blown BPMS which you can turn on and off whenever you like!