I'm currently attending the Microsoft SOA & BP Conference in Redmond. It's been a fantastic conference so far, with loads of great sessions by industry luminaries.
The key news of the conference is the announcement of Microsoft's new wave of products for building Service Oriented Architecture.
Will this change the way we build SOA?
SOA is not a product. It is a way of building IT systems. That’s the facts of the matter. Consultancy organisations like ours have known this for a long time. We have been building Service Oriented Architectures for our clients in Retail, Media & Entertainment, Financial Services, Consumer Packaged Goods, and Energy for many years. Vendors will often try and sell a product for SOA, maybe it’s an ESB product or an Web Services product, or even claims to be an SOA product. This is not a reality. SOA is not a product. The announcement of Oslo made by Microsoft this week marks the fact that Microsoft have long realised that the tools needed to build SOA must be delivered as part of co-ordinated strategy across their application platform products.
The SOA approach is different from n-tier development. The SOA approach says model your individual business process steps as granular reusable services, and expose them using open standards such as Web Services. Then provide business value through the automation and managed execution of business processes that are created through a composition of the services using a Business Process Management (BPM) tool, to be surfaced to end users through the web and on the desktop.
An example might be the business process of booking a flight on an airline. The airline provide you, the consumer, access to this business process on their website. The airline implements their business process in their BPM tool as a number of steps. The Web site integrates with the BPM implementation, which executes the process step by step. Each step is provided by a service, such as a service to look up the number of available seats on the flight that you have selected, the service to take payment from your credit card, or the service to actually book your reservation.
To date, Microsoft have released 5 versions of Microsoft BizTalk Server, with BizTalk Server 2006 R2 being the latest and greatest version. This has enabled thousands of companies big and small across the world to build SOA solutions. This is accomplished through deep integration with Visual Studio, SQL Server, System Center and the .NET Framework. Many of our customers have received business agility, productivity improvements and real world SOA solutions through the use of this application stack.
Oslo marks a real shift in Microsoft’s approach. Currently implementing an SOA requires a lot of heavy lifting and a lot of highly skilled manpower. A lot of this work is related to the separate silos that people have to work in when building SOA. Business analysts using one set of tools, Architects using another, Developers use a third tool set and Operational people use yet another set of tools. Communication between all of these teams tends to rely on paper documentation. What Microsoft have announced is that they will unify the key products that are used to build SOA today by all of these different roles in the IT organisation, so that the tools all communicate with a common set of models. This will deliver productivity and agility improvements to both the business and IT. And, of course, cost savings to boot.
Unified modelling is the new aspect promised by Oslo. Models are used to describe the Service Oriented Architecture from multiple points of view. Different views being accessed and created by different people with different tools, but importantly all of these tools and all of these people will be working on the same part of the business solution. So a business process is expressed in business terms by the business analyst, how that process will be implemented in Software will be designed by the Architect, the developer will provide the code, operations can implement the instrumentation and monitoring, and all of this is being done in the tools that these people prefer, and the tools are all communicating with each other through a common model repository. And this all works at run time as well as design time.
So, when the operations guy sees that a service is underperforming, the business analyst will also be able to see this in his view, in terms that are important to him, for example that fulfilment of a particular customer’s order will not meet the agreed Service Level. And when a new requirement is expressed by the business analyst, the developer will immediately see that he needs to implement some new features. This is a revolutionary approach to building SOA. The products that will enable this will be the next wave of application platform products coming from Microsoft over the next couple of years. This new wave of products is called Oslo, and will be made up of:
- BizTalk Server “6” – Process Server, the hosting infrastructure for not just WF and WCF, but any .net code
- BizTalk Services “1” – Internet Service Bus – publish/subscribe communications beyond the firewall.
- Visual Studio “10” – Development platform
- System Center “5” – Operations – infrastructure support
- .NET Framework “4” – Application building framework that will deliver the guts of these products and the SOA implementations that run on them
These are not necessarily the version numbers of the products that will deliver Oslo, but indicates the next version of the Microsoft application platform.
So that's Oslo. I believe it will change not just the way we build SOA, but the way that all business sytems are built in the future.
Modelling + Services. It's the future of Information Technology.