Recently I've been doing a "tour of the trenches", helping a major client with their web-based applications for the Insurance industry. It's taught me that there's a lot of development work that goes on in companies that doesn't relate to the overall aim of delivering business value through software, specifically around the building of "platforms". Brad Abrams noted something similar when he went on his road trip, there are a lot of companies building custom platforms.
From my experience a lot of these platforms turn out badly since most companies can't afford the time or money to build and create successful platforms. Rather than writing platforms, I'm looking for ways to use Other Peoples' Code to build solutions that deliver better business value. At TechEd this week I'm interested in evaluating Office 2007, and particularly the server platform, as a platform to build on.
Looking at the domain of Insurance applications it's easy to see why lots of developers want to write a platform. The basic flow is similar in structure to many other types of financial trading:
- An application form, with one or more wizard-like pages, containing controls with single- and cross-field validation.
- The application form is sent to a rating engine (usually authored by Underwriters) which determines whether the business will generate a quote and if so, what the value of that quote is.
- After a quote is generated there are various sequential and state-based workflows around that can occur (e.g. accepting the quote, revising the quote, "binding" the quote to make it a policy).
With that in mind I'm currently looking at Office Server 2007 as a possible platform to build on. Here's a sketch of what I'm looking:
- Create the application form in InfoPath (giving me the single- and cross-field validation), then publish it as a HTML form using Office Forms Server (there was a session at PDC as well).
- Use Excel Services to host the spreadsheet that contains all of the logic for calculating the Quote. Once we agree on a set of named cells/ranges in the spreadsheet, the underwriters can keep control of it.
- Use SharePoint's support for Workflow to implement the Workflow.
Obviously I'm just sketching at this stage (I still have questions about licensing, performance and flexibility are key) and I need to do some prototyping, but overall I'm interested in the possibility of being able to build basic Insurance trading applications on top of Office 2007 as a platform, dramatically reducing the amount of code I will need to write.