Moving into the cloud for the small software company
I started writing Camis, an Order Processing, quote & invoicing system in a language called Omnis 7 back in 1999, in 2004 work started to transform it into a Windows application using Microsoft Visual Studio, this had the immediate benefit of avoiding expensive per-client runtime license costs.
Camis made use of MSDE in its early years, the predecessor to SQL Server Express. For a small business it was a great choice as MSDE could host databases up to 2GB which was plenty for the needs of a small organisation. Another advantage was that existing SQL server installations were often available at a customer’s site as many of them were already running Small Business Server (SBS). We were very happy with the ease of development and deployment with visual studio and the stability offered by Microsoft SQL server.
There are certain drawbacks with local installations, which is why many businesses are moving to the silver lining of the cloud; for us the benefits were;
- Ease of installation and upgrades
- Reduced need to visit customers’ sites
- Increase exposure of the product
- Allow new prospects to try it out for free without download or install
- No requirement for the customer to have their own local server
- Allow mobile access to the product
Finding the right platform
After careful consideration we decided to re-develop Camis as a web based application using Visual Studio 2010 with SQL server as database, this had a number of benefits for us:
- Existing knowledge of Windows servers and IIS
- Familiarisation of the Visual Studio IDE
- Great developer resources for ASP.NET
- Plenty of .NET developers available
Coming from a server background I wanted to look into renting a full Microsoft Windows operating system as we could configure the environment exactly how we wanted without the need to buy expensive hosting bolt-ons. There truly are some great deals out there for Windows Web Servers hosted on virtual environments which are ideal for small software companies like ourselves.
As were sticking with ASP.NET much of the code relating to business logic functions and SQL queries was able to be re-used which saved considerable application redevelopment time. Nevertheless the front end of the application had to be completely re-written which was a good time to take stock of how the user interface works. I was worried at first about being able to replicate the modal popups used by the Windows application, but you can do some truly wonderful things with the AJAX Modal Popup and it looks good on all modern browsers.
Having the virtual Windows server was great for doing the testing as CamisOnline had developers working in different countries so we could use the server to host subversion for the application code. Client testing was also quite straightforward as all we needed to do was email customers the URL of our test environment to try it out with their data.
Initially CamisOnline used simple web reports but our customers required something more. Our original Windows app used Crystal reports (included with earlier versions of Visual Studio) as its reporting engine but a friend convinced me to give some serious consideration to SQL Server Reporting services.
Using SQL server 2008 r2 with advanced services you get reporting services included and the maximum database size is a massive 10GB. This truly is a great, feature-rich product and I had to check twice that it was actually free!!
The development required to integrate SQL server reports into CamisOnline was very straightforward as it just passes out hidden parameters when a user wants to print a report. I can honestly say the development was little more than changing a few lines of code and URLs
Designing reports with Report Builder is so easy and the reports actually display and print exactly how they are designed! Reporting services offers the ability to export reports to PDF and Microsoft Office formats which is really useful for our customers.
We’ve set up reporting services so that customers can request their own unique designs or just use standard reports that come with the application. It’s so easy to design and modify the reports using report builder than you can easily generate professionally quality documents in a matter of minutes.
Another great feature of SQL server 2008 R2 is the filestream class, the functionality of this is amazing! It allows you to manage files with SQL queries whilst offering none of the overhead of storing file data as BLOBS in your database. CamisOnline uses SQL filestream extensively to support document management functionality
which allows customers to upload drawings and documents for attaching to quotes, orders, stock items and invoices to name but a few.
The filestream also comes in really handy to support company logo uploads and signatures for reports produced by reporting services.
Database backups are taken care of with a cool free utility called SQLBackupAndFTP which automatically backs our databases.
We’re constantly improving CamisOnline, which is made easier by a great development tool such as visual studio. I know there are a lot of platform choices if you’re considering migrating to the cloud, but I’d strongly recommend considering Microsoft tools as I think you’d be hard pushed to find such value for money, particularly when most of it is free!
Neil Cavanagh is the owner of Xpress Data Systems Ltd and has recently launched CamisOnline, an online business administration and management tool.
We, at Microsoft, provide ‘Talking Business’ to help entrepreneurs and business owners’ succeed. We believe in your ability to innovate and in the ability of technology to help, so to support ‘Talking Business’ we have many resources available for businesses like you. We have an informative newsletter, blog posts by people in the industry, and a community looking to help small business succeed.
Follow us on twitter – @MicrosoftSB, or use the hashtag #TalkingBusiness to find out more information