Interview: Microsoft's Ferguson talks about Oslo, SOA

Don Ferguson was a fellow at IBM who, in a rare move, left the company. In an interview, he explains his move and what he's up to at his new home, Microsoft

Don Ferguson bears what may be a unique distinction. He has the held lofty title of "Fellow," a title associated with being a distinguished technologist, at not only IBM but Microsoft as well. Last year, Ferguson left IBM, where he had participated in development of the company's WebSphere middleware platform, to come to Microsoft. He is a technical fellow in the Microsoft Office of the CTO. InfoWorld Editor at Large Paul Krill met with Ferguson at the Microsoft SOA and Business Process in Redmond, Wash. Tuesday to talk about Microsoft, including the company's new Oslo modeling and services project, and IBM.

InfoWorld: You mentioned this morning that you had been at IBM and that you left about nine months ago?

Ferguson: December 23.

InfoWorld: Apparently that doesn't happen too often where an IBM Fellow leaves the company.

Ferguson: It's very rare.

InfoWorld: Why did you leave?

Ferguson: There's a few reasons. I had worked for IBM for 20 years, and I turned 45 at the same time. So I sat down and thought -- what am I going to do?  I have 20 more years in the industry if I work to 65, exactly at the midpoint. It's time to think about what to do next. And there were a lot of things I could have done next that were very exciting about IBM, but I decided that if I was going to make a change it needed to be a really big change.

InfoWorld: What was IBM's reaction to your going to Microsoft?

Ferguson: I don't know. It seems like the kind of thing you should ask them, not me.

InfoWorld: You mentioned this morning that there was speculation that you were a double agent. Was that all just humor?

Ferguson: It was humor. I think most people's reaction mirrored mine, which is I felt a terrible sense of loss. Not that it was really anything, it's just you suddenly go from having worked with these same people for 10 years to seeing them a couple times a year when they come into town. 

InfoWorld: What are your responsibilities at Microsoft? 

Ferguson: I'm in the Office of the CTO, [with] David Vaskevitch, so I think in general about the implications of technology trends on Microsoft's product portfolio over the very long horizon. An example of this is obviously the modeling because modeling will play out in the relatively near term. It already has. And it'll also play out in the long term.

InfoWorld: You mentioned this morning that you had been involved in the development of IBM WebSphere. Could you talk a little bit about what brought on the need for WebSphere, and did you see any irony in going to probably the only major software vendor that doesn't have an app server?

Ferguson: Well, I'm not sure that I would say that Microsoft doesn't have an app server.

InfoWorld: Microsoft is certainly not a big Java proponent.

Ferguson: Well, there's a difference between an app server and Java. CICS on the mainframe is an app server. It was an app server for a long time, but it wasn't in Java. It has Java now, but it was an app server. So app server doesn't equal Java. App server is a specific structure. It fills a specific role, and not necessarily Java. It's not necessarily based on Java. So I'm not sure I would agree that Microsoft doesn't have an app server.

InfoWorld: Which Microsoft product is positioned in the app server space?

Ferguson: It surfaces itself in a few ways. I'm only beginning to completely get my mind around what we do. Internet Information Server is certainly part of it.

InfoWorld: So what was your role in development of WebSphere?

Ferguson: I started one of the projects that was the precursor to WebSphere, so I was the technical lead for the six-person team that said, "This is the direction we're going to go in." And then I was the chief architect for the WebSphere products, from the very first thing we did until they had me take over the software group architecture.

InfoWorld: Could you talk about your role in Oslo and what the importance of this is? I guess the conception of Oslo preceded your arrival at Microsoft.

Ferguson: Yes. Mostly, my participation in Oslo up to this point has been providing an external perspective. I have a different background from a lot of people. I spent a lot of time with customers, so I sometimes tend to provide an external perspective on both Oslo and BizTalk Services.

InfoWorld: What do you see as the significance of Oslo?

Ferguson: If you look at what people talk about in SOA, they'll often talk about this closed loop of model, then assemble, then develop, then deploy, then monitor, and then refine. I want to understand what my business is doing, I want to deploy an app. There's a development phase, a deployment phase, and then I want to see what's actually going on. I think the modeling capabilities in Oslo and the fact that there's a shared model among all of those things is going to make going around that loop much smoother and much quicker. So if you think about a business being a control loop, you think about what the business is doing and how you want to change it. You think about how programs and the data center need the change, then you deploy and look at what's happening, and then you go back and refine. If you think about it as a control loop, it makes it a [more] productive, a lot more agile, if you have this common core model that people can collaborate around.

InfoWorld: So is Microsoft's SOA strategy about modeling? 

Ferguson: It's part of the SOA strategy, but there's a strong overlap between modeling and SOA, but the two things aren't necessarily linked. An example of this is one of the things that you model is what are your business objects, what are your business entities, customer account, purchase order? So you do information modeling. You model the information. You put a SOA abstraction on that so you can access the information, but that tends to be business modeling, but in kind of the entity relationship, kind of the logical data model space. So that's an example of something that you model, but isn't directly related to SOA. And then there are lots of use cases of SOA, lots of styles of SOA that don't start with modeling.  So people will often do some simple early integration, but they're not really modeling it because they know what they're doing, they know what they're trying to accomplish. One way to think about this is -- there are several ways to classify projects, and one is the spectrum of systematic versus opportunistic. Modeling today tends to be systematic. You're thinking systematically about how you want to change. So you thought systematically about how you want to change your business model; now you need to think systematically about the implications of that for your app portfolio and how you deliver it. Opportunistic tends to be very bottom-up. Two people talk to each other, and they realize that there's an opportunity to send messages back and forth or they want to do a quick project, people will use SOA for opportunistic and systematic. So you can do SOA without doing modeling. There's also things that you model that aren't SOA like the evolution of your database, your information model. You model the evolution of what you want your portal to look like. And then there is an intersection, and I think that the intersection is that one of the things that you model is process. SOA tends to enable business processes because it gives you a palate of business verbs that you can use to build the processes. When you build the process with modeling, it becomes a service. Business modeling is a way to build services, and services is something that enables business modeling, and the two of them kind of loop in that space.

Infoworld: Is Microsoft going to approach the industry at large about embracing Oslo? Is there any intention that Sun Microsystems would buy into this or IBM or anybody else?

Ferguson: That's a good question. The only thing that I know for sure is that a lot of this surfaces through what we've already done in Web services. Web services gives you verbs that are running elsewhere, so you can call them and the Web service standards like WSDL, XML, and WS-Policy allow you to plug external services into your modeling environment and vice-versa. So what it is, at this point, is it's runtime, it's protocol interoperability, and it's design time interoperability. So we can collaborate on a design, but we're modeling in our space and you're modeling in your space. 

InfoWorld: Is Microsoft is concerned about any criticism that Oslo is proprietary? That you're locking everybody else out of this and how is this going to be massively accepted if it's Microsoft and Microsoft only?

Ferguson: I've never met anybody who wasn't concerned about criticism. I mean maybe Buddha wasn't concerned about criticism. So I'm sure that there's a concern. I think that some of the responses that I gave about the existing set of standards, ameliorating some of those concerns, that has to be something we communicate. Because the first thing we need to do is to make sure that the criticisms are founded in fact, not perception, and so we certainly need to articulate the things that aren't articulated because people then may choose to criticize us after we've explained it. But we need to do the explanation of why we think that the existing set of standards significantly enables the modeling things that everyone's trying to do. If, after that point, people choose to criticize us, then I think at that point, at least I'll think about it. But my primary goal over the next few months is to explain the technology that we've made available, how does that help eliminate some of those decisions. That is one of the most misunderstood things about Web services, in my opinion -- that people invariably focus on it for being protocol interoperability, what flows over the wire. And there is a set of Web service standards that are about design collaboration, tool interoperability, description -- how you find surfaces.

InfoWorld: What would some of those be?

Ferguson: WSDL, WS-Policy, WS-Metadata Exchange.

InfoWorld: I've asked this question of other people, but it seems like there's this whole alphabet soup of Web services standards. How do you deal with it? It's almost like you want to plug your computer into the wall, but you have 30 different plugs and have to go into 30 different outlets and you better make sure you get them right. Is that a concern?

Ferugson: Yes, it is. But I think there's a few ways that you deal with it. One is, this is not fundamentally different from other domains. When you have plug-and-play, it can be complex. But what always emerges [are] patterns, documented best practices. Because you can't force everybody down one path so you have to do the breadth and flexibility, but then you can't force everybody to figure it out. So part of what you need to do is you need to explain -- like these are four core ways to think about it. And then start to do things around that. To some extent, the WS-I (Web Services Interoperability Organization) profiles are an example of that, which is, this is a cluster of functions that's useful together. So I think what you'll see is that there will be documentation of these clusters make sense together. Modeling also helps with that because the standards are descriptive -- WSDL, WS-Policy -- but they allow one modeling environment to explain to another what the intent of the service that's being surfaced is, whether it's business intent or whether it's infrastructure intent.

InfoWorld: Have you focused at all on the services part of Oslo?

Ferguson: I spend a lot of time thinking about BizTalk Services and the Internet Service bus. That's one of the things that I found very attractive about coming here, it was something that I care passionately about. I think it will be a very big thing in the Internet.

InfoWorld: Why?

Ferguson: There's lots of reasons for that, so I can give you a couple of them. One of them is the enterprise service bus pattern has demonstrated that it's useful for lots of companies and it's emerged as a best practice. But it's currently beyond the scope of lots of businesses. The small [and] medium-size business just can't do an enterprise service bus, they can't really do B2B. I think [Internet Service Bus is] going to broaden that out to a huge number of companies that aren't capable of getting involved today.

InfoWorld: IBM with WebSphere competed against BEA Systems and its WebLogic platform. Oracle's now trying to buy BEA.  Oracle has its own app server. What is your perspective on Oracle's proposed acquisition of BEA? Do you think it's a good idea? What does that mean for the general user community at large if Oracle buys BEA?  And do you think they'll be successful in acquiring BEA?

Ferguson: I don't know. I'm not very good at things like that. I'm not going to start thinking about Oracle and BEA.

Copyright © 2007 IDG Communications, Inc.

How to choose a low-code development platform