Blog Entries

How we built Murphy's booking system

Jul 13

Written by:
7/13/2012 11:29 AM  RssIcon

Before we started building their new online web booking, Murphy’s The Cable Wharf had an on-premises booking/POS system. This was a modern n-Tier system with a rich user interface client installed on the POS workstations, business logic on a web service on their in house server and an SQL Server for the data.


When we first discussed the new system with the client, the requirement for a web server in their office was included in the proposal. We ran into road blocks right away. Murphy’s is located on Halifax’s historic waterfront in period warehouses converted to retail/office space. Inexpensive bandwidth is almost impossible to acquire. There were also issues with setting up space and cooling for equipment. We started looking for other options.


We quickly narrowed our search to the new Windows Azure cloud services. This is elastic hosting services for SQL Server, web services, and general machine images. Being a Microsoft Partner and very familiar with Microsoft tools, this option looked very good. With some testing we realized we could migrate the whole system to Azure, reduce costs, increase flexibility and not have to build/manage their own server infrastructure.


Here is what it looks like:

  • Two databases on SQL Azure. We have a booking system database and a web store database. While SQL Azure is based on SQL Server 2008 R2 (it’s migrated to SQL Server 2012 since we implemented) there are a few gotchas that were interesting.
  • Load balanced web services on two compute instances. These are basically virtualized Windows Server 2008 R2 servers. However, getting the code to be deployed on these properly takes some learning.
  • Web store on a separate compute instance. The store is running a customized version of NopCommerce. More on that later.
  • Client application on the local POS registers. This is a Dot Net Winforms application talking to the web services for business logic. No direct connection to the SQL Azure data. Some local tables using SQL Compact Edition and some synched from SQL Azure using Microsoft Sync Services.
  • iPhone app talking to the web services using JSON. This provides the checkin services at boarding time using a QRCode barcode.

And that’s it. I’ll post some more details on the pieces in a few days. Next up, customizing NopCommerce.

Location: Blogs Parent Separator Chris Zinck

Your name:
Gravatar Preview
Your email:
(Optional) Email used only to show Gravatar.
Your website:
Security Code
Enter the code shown above in the box below
Add Comment   Cancel 



Recent Entries

How we built Murphy's booking system
Murphy's web store goes Live
Problem with new Desktop Icon Protocol
Debugging .NET Accpac Addons
Registrationless COM
Moving from MS to Open Source
Board of Examiners Christmas Lunch
Sage ERP Accpac 5.6 has been released
DEP, .NET, Windows and Accpac