Pages

Archives

Recent Tweets

  • No tweets available at the moment.

Follow Me on Twitter

Teaching Business Process Management with RunMyProcess

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:
  1. Model your business process.  (like the one to right, created by one of “my” students)
  2. 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.

Setting Up a BizAgi Xpress Server on AWS Windows 2008 Instance

Update: 2/2/2011:

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.

Original Post:

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.

  • Sign into the AWS Console:
  • Click on AMIs and search for this one: Ami-45c22ec2 actually: Ami-45c22e2c

The description should say: Windows-Server2008-i386-Base-v102

This is a plain vanilla instance of Windows 2008. Windows 2008 is much snapper through Remote Desktop than Windows 2003.

  • Right click on the instance you have found, and say “Run instance”.

A “wizard” will then pop up that looks like this: (click to expand)

Amazon Instance Wizard

  • You can change the instance type to be High CPU if you like. It will be 4x more expensive, but hey, you only live once. Press Continue.
  • Then if you still have your keypair file select that keypair. If you don’t have it, get a new keypair file. Press Continue.
  • Select a security group. Use one that you created last time. Press Continue.
  • Review your setup. And launch!

Now it’s break time. You need about 10-15 minutes before you can get your password to your new machine and login.

  • After that time, right click your instance in the instance area of the AWS console, and press “Get Windows Password”. This is where you need your KeyPair file.

It will give you a very complex password. Copy and paste this somewhere safe.

Then right click the instance again and press “Connect”. See this screen shot:

RDP connection shortcut

Select option 1 and download the shortcut file then click on it.

A few warning dialogs will pop up, that’s ok, just accept them, and put in your complex windows password. You can change this password, but don’t loose it.

Now you are in. Staring at the desktop of some machine server in the cloud! Click on the “Work” Network when that pops up.

Ok now that you are in you have two tasks:

  • Install IIS (Internet Information Services)

This is a webserver which will let you share your automated processes with the world.

  • And Install BizAgi

This will let you execute your processes and deliver them through the webserver.

To install IIS:

Click on Start (i.e the “Start button” in the Windows task bar) then click the search box right above it and type Server Manager. Open “Server Manager”. Then click “Roles”, then “Add Roles”.

A window will pop up. Read it, then press next, then select “Web Server (IIS)” out of the list of 17 roles.


Select the IIS Role

A pop up will come up and just answer in the affirmative. Then press Next until you get to a screen that looks like this:

Click on the box next to ASP.NET. Another pop up will come up. I think you get the idea.

One more box to check: IIS 6 Management compatibility. It’s highlighted in blue below.

IIS6 Management Compatability

Alright, keep pressing next, and then click on Install. While it is installing, let’s go download BizAgi Xpress.

Use Internet Explorer to do this. Search for it in Google, or use this link to download BizAgi Xpress (not process modeler): http://www.bizagi.com/index.php?option=com_content&view=article&id=98&Itemid=130&dwl=416d6d80614216cd534f5108f3f12e96&lang=en

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.

Downloading with Internet Explorer

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.

BizAgi Welcome Screen

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:

Inside BizAgi Xpress

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.

IMPORTANT:

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!

Here is this “how-to” in PDF form:

Setting Up a BizAgi Xpress Server on AWS