So how has this disruption effected the IT market? In this context we have to think of the market as being the Enterprise Market and the Consumer Market. The Enterprise can in turn be thought of as two different parts; the Business element and the IT Organization. The IT groups in enterprises have been struggling for a number of years now with the rapid and flexible creation of new applications for the business in a cost constrained environment whilst they have to support, maintain and integrate with an ever increasing number and complexity of applications and platforms. They have investigated standardization, governance and “one size fits all” approaches, new tools and technologies and outsourcing and off shoring as possible solutions for the delivery of business support in this complex environment but in general haven’t yet been able to deliver the level of flexibility that the business is looking for at the level of cost it wants to pay.
In the last five years there has been a great deal of interest in service based application development to provide the levels of responsiveness and flexibility that the business side of the organization is looking for by building or buying in business level elements of service which are loosely coupled using a standardized message passing approach. This approach to building IT systems has been dubbed “Service Orientation” (SO) and an organization where all the systems are Service Oriented is said to have a “Service Oriented Architecture” (SOA). Of course in practice with real Enterprises such a homogeneous SOA approach is unlikely to be achieved but SO does hold great promise for building more flexible IT systems. A more recent development of SOA is the Enterprise Service bus (ESB) which provides SOA support via a messaging engine (the bus).
It should be noted that the most important aspect of a SO based approach is the ability to quickly link together services from a number of different sources built at different times (which is not the same as reuse). This implies the use of a standards based approach such as Web Services.
Microsoft strongly believes in a Service Oriented approach to provide a more flexible IT system and has invested heavily in Web Services support in areas such as .Net and WCF and support for Web Services Standards. It also supports ESB with Biztalk but believes that some of the wilder claims that are made for SOA and ESB should be tempered with pragmatism based upon the realities of large organizations and IT systems.
Whilst the enterprise has been focused on a rigorous and standards based Service Oriented approach the consumer web has focused on using the technology already available to be able to read and write from the browser to the web. Web 2.0, a read / write internet which allows users to create, save, use, interact and discuss rich content (text, documents, data, audio, music, images, photos’ graphics, video, movies, games) and applications rapidly and easily, has become very important to all types of users in the consumer space and has had incredible take-up by small startups and consumers.
Web 2.0 systems are also built around the concepts of “business” level services (such as a map or photo) and loose coupling using a message passing approach (HTTP PUT and GET) so could be termed a “Service Oriented” approach but the message passing implementation is different with the services generally accessed as a mashup application running under the Ajax framework in the browser and provided over a Representational State Transfer (REST) message passing system from a software service supplier or as Software as a Service (SaaS). Architecturally however the SOA and Web 2.0 approaches are very similar with them both being based on asynchronous, loosely coupled message passing services. The following table shows the implementation differences between the approaches:
|Consumer SO||Enterprise SO|
|Marketing name||Web 2.0||SOA|
|Application type||Mashup||Composite application|
|UI||Ajax (Atlas)||Smart Client (WPF)|
|Communication system||REST (ESS)||Web Service (WCF)|
|Service||SaaS (Live Mail, Search, Local)||Server (Exchange, SQL, Biztalk)|
|Microsoft Name||Windows Live||Windows Server|
Microsoft supports both the Enterprise SO approach (SOA) and the Consumer SO (Web 2.0) approach with tools, technologies, services, servers and products.