Modeling Connected Systems
Learn how architectures fail, and how to avoid those pitfalls.
August 3, 2005
Watch the video of the keynote! (Running time: 1 hour, 21 minutes)
Gurpreet S. Pall
Our opening keynote for the Enterprise Architect Summit in Key Biscayne in May conveyed an insightful perspective on directions and challenges facing enterprise architects, so we decided to summarize that session here, as well as provide a link to the full video, which runs 1 hour and 20 minutes.
This presentation was delivered by Gurpreet Pall, senior director of architecture strategy at Microsoft. A 15-year Microsoft veteran, Mr. Pall developed Microsoft Systems Architecture before assuming his current focus nearly two years ago. What follows is a collection of excerpts from Mr. Pall's keynote
Service-oriented architecture (SOA) is a means to an end, not an end in itself.
Today we have spaghetti of applications, databases, and systems. All of us got to this point because we bought the "best of breed." Nobody will own up to buying systems that aren't the best of breed. We kept on buying them, did some wizardry to make them work together, and got promotions.
But these best of breeds evolved into a mess of breeds, a mess characterized by redundancy, complexity, and management challenges. Hire me, give me $10,000,000, and I'll sort this out for you. I'll build an orthogonal architecture with systems and apps at the top, data at the bottom, a message bus in the middle, and it will work great. And I'll help you justify this to your management. So there, it's all done. Pay me $10,000,000 and the presentation is over.
But now let's move 10 years forward to 2015. The reality will be that you're back to spaghetti.
You'll have the same issues with redundancy, complexity, and the like. With the experience level of this audience, you've likely seen this cycle more than once.
Why do architectural projects fail? IT never looks at the half-life of an architecture it is building. Some things have good half-lives, such as networking. Twelve years ago we switched from SNS to IP as our protocol, and it has been stable for 12 years. If you invested in that, you'd have done well. But now IPv6 is coming out and will cause a lot of changes and upgrades. At Microsoft, we'll have to touch almost 200,000 machines.
On the other hand, many companies invested a lot of money in enterprise data models. Great exercises in theory, but nothing got used. Companies bought SAP, inherited an enterprise data model, and the prior work was rendered irrelevant.
So, it is essential that what you pick to work on has a long half-life.
At Microsoft, we created a module or capabilities map, which is a generic view of any business (see Figure 1). At the highest level you see the core business pipeline and collaboration areas, then outside those, their interactions. We've done this up to four levels deep and identified 300 core capabilities that pretty much every business needs and 700 processes, which connect those capabilities. Next, we created "Microsoft Motion," which is a methodology for creating your own module map from this starting point.
An effective approach is to expose your capabilities as views for people to interrogate. This gives you a better idea of where your processes run. What services do you build? How big are the services? Can services be built from other services? This starts to become clear when you expose the enterprise's value chains.
When you expose your capabilities as Web services, your business can redefine itself. Is UPS a shipper? For Toshiba notebooks, UPS is a repair center. For the healthcare industry, UPS is a laboratory provider.
We're building a new model for connected systems around five pillars: messaging, interaction, workflow, identity, and data (see Figure 2). We've added three new elements. First come the architectural principles. It has to be based on sound architectural principles of service orientation: explicit boundaries, shared schema and contracts, and compatibilities based on policy. You also need the integrated tools and beyond that the models, and how the business models, logical models, and physical models connect and meet business requirements.
Finally, there is management and governance.
We have our own case study of an in-house project at Microsoft called "project alchemy." Our sales management system is Seibel. We created schematized abstractions of the content that is relevant to our salespeople, and put Web services shims in front of that content. Then we devised schemas so those Web services could be consumed by Outlook, so you can click inside an explorer folder in Outlook to find sales information. We are in the process of productizing this as a toolkit, so you can provide access to your systems through Outlook.
Finally, it is critical to design systems for operation. At Microsoft we have the Dynamic Systems Initiative. Once again the key is capturing information in XML format, to be shared through an extensible schema.
About the Speaker
Gurpreet S. Pall is a Senior Director of Architectural Strategy in the Microsoft Developer and Partner Evangelism division. Prior to this he was a Product Unit Manager in the Windows Engineering group, responsible for incubating Microsoft Systems Architecture (MSA) and related infrastructure solutions and programs.
Back to top