Grady Booch, Chief scientist at Rational talks to Builder Australia about Rational's aquisition, web services uptake and the next big programming language.
ZDNet Australia: How is the IBM acquisition of Rational going?
Grady Booch:It's been very good. For me personally I'm excited because there are a lot of really bright people inside IBM and I'm just delighted to have a new set of folks to work with. IBM research is really a global asset and to be able to interact with those guys and help them bring stuff to the marketplace. It's also the case that IBM really shines in the large enterprise marketplace. Rational has had a great run in the medium to small end size as well as the embedded marketplace, so there is a tremendous opportunities for us growing from one another there. By in large if you look at the integration of Rational inside IBM it is a wonderful compliment because we are filling a hole IBM did not have in the past.
Being under the arm of IBM do you feel Rational will be consumed under the acquisition?
Not really. I can't see that happening because the larger IBM really needs us as part of the on demand strategy. We are not a threat to IBM; we are very much helping to fill a piece of their on demand strategy.
What about the focus of Rational's tools? In the past been used in smaller organisations. Are they applicable to large organisations or are you going to have to make some changes?
Well not really. If you look at Rational's customer base we have lots of small customers but also up to the Erickson's, the Citibank's and all the fortune 100 of the world, so we are used to the large end as well. I think the difference is that we put a focus on the medium to small and IBM vice versa. The way we complement one another from a tool perspective is that Rational has tools that support the lifecycle process whereby IBM's tools have primarily been focused down on the coding level. In that regard there has been very little overlap and therefore tremendous opportunities for us bringing our tool sets together. For the last year or two now we have had Rational XDE which brings in our modeling products in the Eclipse platform, inside Websphere studio, inside Visual Studio .NET for that matter. We believe in all those platforms, as does IBM because if you look at IGS their customer base still wants .NET .
Do you think .NET is a good thing?
It's a real thing. It's a real factor in the marketplace. It is something that enterprise customers realize that it is not a homogenous world but a heterogeneous world. Especially if you are dealing with legacy systems the chances of not having any Microsoft platform there is pretty low indeed. Therefore being able to straddle the fence between those platforms is a tremendous advantage to IBM's customers in the end because they have to deal with that world.
There is a lot of talk about being either .NET or Java and a lot of developers were at that crossroad. Is that a real thing?
For some organisations it's binary, for more it's a quantum thing. There is this indistinct state in the middle that you have to live with. There are some that absolutely hate one platform vendor versus the other and that tends to stick for a while but works for some domains. But of course across the marketplace it doesn't make a lot of sense. What changes the equation drastically are two things. The first thing is the presence of web services because all of a sudden they make the platform choice less relevant because now you're at a level of abstraction higher. The second is the presence of open source software which commoditisers the operating system platform and thereby eliminating the economic decisions one has to make.
How do you see the deployment of web services in the marketplace at the moment?
Microsoft's vision from the outside is that you see this wonderful community of services that people put up on compositories and build applications against them, which was an utter strange fantasy because if I am going to build a system in which my livelihood depends I'm not going to build it against web services that I don't have a lot of control over. Some of those things will be commodities that become part of the platform, but in practice what I am seeing is organisations moving to a web services because it allows them to glance over the platform decisions but the services that they provide are captive for them or they are things that they have consolidated with them. The economics of the marketplace of web services is, I think is utterly different but materially different than what I think some of the first people first envisioned. Some of the enterprise customers we have encountered so far are already making the tradition to services and there is tremendous value from it because of the platform independence. The ones that are successful are the ones that have already done a good job at componentizing their architecture.
What are the main obstacles of Web Services?
I think it is two-fold. I would say there is going to be a hype backlash from it. The economic models that some people have proposed doesn't make a whole lot of sense. The technical side of it deals with architectures. Organisations who are saying I have a lousy architecture now and web services are going to save me are blowing smoke. The ones that have been successful in building a good web services architectures are those that already have a good component architecture because web services represents for the most part a repackaging of their component architectures in a way that becomes platform independent. If you don't have that well defined architecture below it you are going to build lousy web services.
How do you feel personally now being one of the developers of Rational Rose and where it is now?
I have been utterly surprised and stunned that it has grown the way it has. I knew it was the right thing and the moral high ground to take. It was the way we should be doing this. But I think I have been surprised twofold the first is just seeing at what places UML has popped up. It's shown up in places I never anticipated. We see people designing hardware with UML these days and we see people pushing it in the business rules direction. The second is that I talk to people constantly that say UML makes a difference to them. That personally feels really good.
There is a consolidation of development tools market. Is this a good thing for customers? Is it reducing customer choice to an extent?
Indeed it does. It leaves Borland standing in that space and there actually going down the path Rational did five to seven years ago when they did the acquisition of tools across the lifecycle space. I wish them well and I think it's a great thing that's happening. The consolidation represents I think two factors one technical, one economic. The economic factor is that in this current climate consolidation does make sense in terms of getting some economies of scale working together. The second issue is we really do see the market lines really being drawn in terms of platform. Therefore platform use is accelerated in so far as it becomes easy to develop applications against those platforms. For vendors like IBM to develop tools that make it easy to build applications. The reason we still claim the .NET space is because if you look at IBM's customer base they can't make an either or choice, they have to do both in some cases.
What's the next big programming language?
Java ++? [laughs]. Actually I think the next big language may be UML in terms that it is a really graphical language. One of the things I do is track language research. The market forces are such I don't see another Oak coming out that will change the world. Where Aspect J is headed is very interesting. Morphing Java has some legal and emotional implications to it so let's look at it in a more graphical way. So I see some energy in the UML space.
As a developer what does "on demand" mean?
On the developer side it means "what can we do to accelerate people building applications very rapidly, pushing them out and then continuously evolving them". It very much resonates in what Rational is doing in the process space. The notion of the web process saying "you successfully evolve an architecture all the time and push it out". In so far you can reduce the cost and the friction of creating releases, dealing with their configuration sending those releases and that means [is] you can more rapidly build things and add value to them. That also means you bring in some of the agile concepts, you get more rapid feedback.