This year marks the 10 year anniversary of the XML 1.0 specification. XML (and subsequently creation of the SOAP message format) lead to the industry-wide adoption of extensible, open, transparent, and vendor-neutral communication via web services. Web services today provide the underpinning of most modern service-oriented architectures.
However, it would be an error to focus purely on the technical aspects of SOA. Microsoft believes SOA endeavors should begin with a clear focus on definition of business drivers. SOA should not be technology driven—it should be driven by the business needs of organization. Equating SOA with Enterprise Architecture leads to building SOA for the sake of SOA, and getting lost in a technology-driven approach. We believe this often results in creating services without clear business drivers, without appropriate granularity, or with too many interconnections that will result in a convoluted, unmanageable, and costly implementation.
Microsoft developed a "Real World SOA" approach based upon discussions with customers that have realized business value from SOA. This point of view asserts that a key success factor for SOA is the demonstration of value in rapid iterations. Time-to-value is a critical, healthy metric. Instead of boiling the ocean and getting caught up in investing in a theoretical services infrastructure (which may never deliver value), it is more practical to partition your usage scenarios into small sets and build out the entire scenario in incremental steps, from the data to the application consuming the services. This helps ensure that your technology investments return value back to the business and stay aligned with the changing business priorities.
Our approach has certainly drawn both attention and criticism. The critics generally assert that the Microsoft SOA strategy revolves around Web services and lacks sophistication. In part, that is correct. We are driving Web services because they are as useful as they are ubiquitous. Regarding sophistication, we rarely meet customers (even those in the Fortune 100) that ask for additional complexity. They want us to do what we do best – make hard problems simple through productive tools and run times.
Customers also tell us that there is no "one size fits all" definition of a SOA implementation, and SOA means different things to different people within organizational roles. Trying to tightly define SOA in this way limits the value that it can deliver for our customers. To the CIO or CTO, SOA often focuses on enabling a vision of a 'connected business'. To the developer, it enables them to build applications more quickly than before. For architects, it's about developing more secure, efficient and higher quality applications that fit within the infrastructure. To the end user, SOA is about the right access to the right info at the right time. Microsoft believes that SOA enables value to each of these audiences as appropriate.
So, what is a "Connected Business"? Is it simply another name for EAI? That's fundamentally incorrect. Microsoft believes that the value of a connected business is in enabling end users to have greater access to information, increased productivity, and enhanced decision making. Being connected is not just "EAI in new clothing" – it's about making services available for developing new composite applications that are end-user driven. We believe that users want to consume these new composed applications through a number of avenues, including web portals, rich clients, Microsoft Office business applications, and mobile devices. We have been significantly investing in new innovations for building compelling composite applications through technology investments such as Silverlight, Windows Presentation Foundation, ASP.NET, and SharePoint.
So, as the tenth birthday of XML passes this year, we see this as a milestone in the industry's efforts towards building truly connected businesses. SOA is no longer something that is only available to the largest of enterprises - it has become part of the mainstream development community and is being deployed by customers of all sizes. We recently celebrated the incredible progress the industry has made at our TechEd US event two weeks ago with a public demonstration of cross-vendor collaboration on a SOA application built using the WS* standards. The ability of businesses today to easily develop new user-centric composite applications, reusing services deployed across platforms (built with different tools by different vendors in different languages) demonstrates the types of rich and varied solutions that customers can achieve with a 'real world' SOA approach.