Service oriented applications are the new OS
When asked about what we do and how it works I find myself responding with a painful mashup of over used clichés to describe the architecture. I am sorry, the clichés are true. It’s an AJAX enabled, portlet based solution integrated through a service oriented architecture extending aggregate application services from distributed service providers to deliver composite structured and unstructured data to various web subscribers.
Whew, there you have it. All of the Web 2.0 technologies I can claim in our solution. So what’s so big about all that? You have something just like it brewing right?
That’s really my point, the things we are doing today represent a paradigm shift from how technology solutions have been envisioned in the first generation of the Web. Technology professionals are changing their thinking. We are entering a second renaissance of business innovation born directly from needs and opportunities on the Web. This time it is different, really.
Why am I sounding so confident when many of the prognosticators are concerned about another tech bubble and the technology labor market is beginning to look overheated? I know there is certainly going to be an end to this current growth cycle but the fundamentals that define this innovation cycle are rooted in very different things that we have not yet fully exploited. I have had the privilege of helping lead a startup, www.digitalchalk.com, over the past few months that have given me a new view on what makes Web 2.0 different.
Having ridden out the dot.com bubble and bust in a boutique IT consulting firm, I am acutely aware of the mistakes we and our clients made in the first generation of broad web development. When considering how to put an application Service Company together to serve the education marketplace we were determined to leverage the lessons learned. There are three principles we embraced that have driven us to adopt decisions we wouldn’t have consider even a couple years ago.
The first principle is that architecture is critical but infrastructure is a commodity. Many of the mission critical efforts in the first dot.com wave were around data center configuration, operating system selection or database design. We were determined to avoid any proprietary technologies or vendor lock. What is different about this innovation cycle is that many of the middleware and infrastructure components of the last generation have been driven down into the stack and are commoditized and standardized to the point that it is not necessary to take risks or bet the business on a specific horizontal product stack. In our case open source with specific license types is the first choice and the size of the community became the tie breaker for selection. We realized a significant benefit from recent innovations in OS virtualization and utility computing that’s driving down our cost of scale. DigitalChalk leverages SOA at the provisioning level by utilizing Amazon.com’s Elastic Computing Cloud (ec2) and Simple Storage Service (S3) to bring new customers online via a Web Service request. In the Web 1.0 world to produce a dynamically scalable server infrastructure of this type (if possible at all) would have taken seven figures in investment to duplicate what can be bought in penny increments today. There are economies of scale for the web service providers such as DigitalChalk while providing efficiency and revenue on latent capacity for Amazon.
The second principle is to stay in the vertical. Anything that we spend development resources on must have a specific market value tied to it. One example is that don’t make tweaks to the portal container, we focus on features in the portlet. Java portals are a commodity. We have seen too many people invested into a specific horizontal framework only to be bypassed by the next best thing. If a component is absolutely required but customers aren’t going to pay more for it and it doesn’t save money on delivery, it’s horizontal. Horizontal is by definition a commodity or someone else’s service. To do this effectively requires a systematic effort to isolate the architecture and treat everything like a pluggable service. A primary example of this was the need to have a mature CRM with the ability to tie workflows to customer types. We determined it was a web application requirement with enterprise level capabilities. The application service option ended up being the best approach by leveraging Salesforce.com’s Apex API to drive activities within our system. Another example is the decision to go with Google Apps for Business and business mail services. We don’t spend time managing a mail server and find the collaborative capabilities in docs and spreadsheets to be ideal for sharing across a distributed workforce.
This brings me to the third principle; we have to stay in our own patch. By focusing on what makes our business unique and outsourcing the rest we are able to roll out value to the customer quickly with a relatively small staff. We certainly have the technical expertise to build a CRM but we resisted the urge to have a “built here” attitude and thus reduced the estimated product delivery cycle by 25-30%. This simply would not have been possible in 1999 without purchasing a commercial CRM package and extending it significantly. The vertical package created on a commoditized stack is further enhanced by pushing horizontal workloads off to service providers specializing on those capabilities.
Aside from the principles we embraced, we have also benefited from the global flattening that is a compounding factor. The emergence of a community movement around open source architectures with a strong allegiance to WC3 and Oasis standards has generated a worldwide common “language” of software development. This spread of common standards and the frameworks to implement them has generated a community that share unified concepts in design and practice. This consolidation of skills opens up a series of new opportunities in outsourced services.
The differentiating factor of why the Web 2.0 innovation cycle has staying power isn’t the mashups, the AJAX or broadband media. These factors certainly drive adoption and use but the intrinsic value they bring is only as good as the infrastructure and data they extend. Composite solutions are rapidly extending modular applications into new vertical service offerings. Service Oriented Architecture certainly makes the composite vertical capabilities possible but the value that is realized is only as good as the application layers it extend and the data it delivers. The real reason this tech expansion cycle has plenty of life left is the aggregate of the data, applications transport and widgets that are unified in the solution oriented architecture.