Recent Tweets

  • No tweets available at the moment.

Follow Me on Twitter

There’s a webservice for that!

It’s the end of the world as we know it, and I feel fine. -REM (lyrics)

One in seven people in the world feel that the end of the world is near, according to this Reuters poll. While I don’t know about the end of days, I’ll postulate that it is the end of the tech world as we know it. Consider this:

“There’s an app for that. That’s the iPhone. Solving life’s dilemma one app at a time.” –iPhone 3g marketing, 2008

Less than 4 years later there were over a million apps in both Google Play and the App Store combined. On top of mobile, lets add the cloud. Harvard Business Review argues that cloud computing is a “sea change—a deep and permanent shift in how computing power is generated and consumed.”

There are many technologies and factors enabling the shift to the cloud and to mobile. One of them is the RESTful webservices. I won’t go into technical detail here, but I’ll recommend this Wikipedia page and this excellent book chapter for further reading. Just as there is “an app for that” for consumers, there is a “RESTful webservice for that” for developers. Does your app need to send an email, text message, save files to the cloud, keep track of customer account balances, or start a business process in your office? If so, you can easily tie to Sendgrid, Twilio, Dropbox, Accumulus, or RunMyProcess for that functionality. The number of these services is exploding, according to programmable web here is the number of services in each year:  180 in ’07, 1,627 in ’10, and 3,898 today. See a crowd-curated list of 400 of these tools here.

So, what does this mean? Apps are becoming faster, easier and cheaper to develop. This has two implications:

First, developers can now focus on their core service while utilizing webservices for peripheral functionality. This enables creating a minimum viable product for a market quickly, leading to faster profitability. After launch many will choose to replace 3rd party webservices, improving their margins.

Second, managers and others with little knowledge of programming can piece together these services to make ad-hoc cloud-based applications to automate internal or customer facing business processes. I refer to this idea, as the composable web, and we can already see this with the visual programming like environments of,, and

I teach a class where students learn how to automate a business process using several webservices and even cloud labor. One of them wrote this on their final exam:

With the continued innovation of technology I’m a 100% certain the need for human/manual work will become obsolete. Sadly, I estimate that 80% of tasks performed manually can be performed automatically by various programs and software, leaving only 20% that must be performed manually, to me this poses a tremendous threat to future employment. -Student, (shared with permission)

It is the end of the world as we have known it, and I feel fine.

P.S. The cloud-based (of course!) software that we use in class is RunMyProcess. Here is a great video that explains their product, along with other concepts I have tried to convey:

Workflow management: the key to cutting the gordian knot of paid crowdsourcing

Just got back from CrowdConf 2011 where I shared the poster below. I met some great people and hope to describe some insights from the conference here soon.

Workflow management will cut the gordian knot of using cloud labor (labor-as-a-service) in everyday business settings. Two companies seem to have caught on to this. Cloudfactory has a new GUI to construct “assembly lines” (think manufacturing) which when run create “production runs”. And CrowdEngineering has a new tool (announced yesterday) called Crowd4Self which looks more along the lines of what I am doing with Runmyprocess.

The Process is the Punishment

How true that statement is, well sometimes. In a recent meeting, I sat by Wendy Gaustaferro from the Criminal Justice department. The Process is the PunishmentShe was preparing to teach a class ideas presented in Feeley’s 1979 “The process is the punishment“, which describes the lower criminal courts of new haven Connecticut. After months of observing the Court of Common Pleas, Feeley writes:

“Jammed every morning with a new mass of arrestees who have been picked up the night before, lower courts rapidly process what the police consider to be ‘routine’ problems – barroom brawls, neighborhood squabbles, domestic disputes, welfare cheating, shoplifting, drug possession, and prostitution – not ‘real’ crimes. These courts are chaotic and confusing; officials communicate in a verbal shorthand wholly unintelligble to accused and accuser alike, and they seem to make arbitrary decision, sending one person to jail and freeing the next.”

As I understand it, the basic idea of the book  is that having to go through the court process is punishment in itself. Apart from the courts there are plenty of punishing processes. DMVs, Departments of Watershed Management Offices, all conjure an image of punishing lines and archaic forms.   Within the enterprise, it is often these punishing processes which lead many to take the easiest but less efficient route. All the more reason for Business Process Management and Improvement.

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):

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  – 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:

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!

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

Setting Up a BizAgi Xpress Server on AWS

Most popular theories in Information Systems research

At the recent ICIS conference in Phoenix. I saw a poster by some Michigan PhD students on the most popular theories used in ISR and MISQ (the field’s top 2 journals).

Here is an interesting excerpt from that paper, which I have linked to below:

“We identified 154 distinct theories by originating discipline employed in the journal articles. Among these, the top 10 widely used theories accounted for 90% of the total usage. 88 theories (57% of total) are used only once, thereby making the distribution of usage of theories exhibit a long tail, as displayed in Figure 1. Theories from Psychology and Sociology account for 32% and 17%, respectively, of the total. Economics and Organizational Science with 11% each also are prominent. ”

Here is the most interesting graph from the paper, which shows a long tail distribution. I must say a tail distribution of this length is quite surprising. However, many of these theories have been edified by the work of IS researchers.

Most popular theories used in Information Systems Research