Among the many open source enterprise service bus efforts at the moment, Iona has been working with the ObjectWeb group on the Celtix ESB. What do you think will become the commercial standard inside of these offerings? What do open source ESBs need to deliver to be considered enterprise class software?
It's a little bit early to know who's going to come out the leader, but we feel like we're in fairly strong position in advocating the distributed model as opposed to a centralized broker-based model. We strongly believe service-oriented architecture deployments are going to need a network of distributed endpoints that communicate with each other whether they are the application endpoints or the client endpoints or an intermediary. When you're talking about enterprise-wide, federated, large-scale deployments, there's really just no way to do that with a broker-based architecture.
Furthermore, our microkernel architecture has been recognized by Gartner and others as the bleeding-edge technology approach to how you create a runtime for an ESB. This is analogous to what has been done in the operating system world. Linux is good example there, where they have created a microkernel, which adds the kinds of libraries and extensions that are needed for particular applications. We're doing exactly the same thing with the ESB because the microkernel core has a plug-in architecture that allows you to configure in the kinds of transports and lines of service that you need for your distributed ESB. Celtix, having this type of architecture, provides a perfect fit for the open source world where you'd like to have the ability to carve out discrete chunks of work and plug them into the microkernel. You encourage participation, community and innovation when you allow people to be able to create their own plug-ins for the microkernel. What do you expect will be the most surprising development in the open source community in 2006?
I think we're going to see a fairly complete SOA infrastructure come out of open source in the next year, kind of a best-of-breed that takes the best components of the various aspects of SOA functionality that people need. I also think we're going to start seeing some innovation in that area. Up until now we kind of expected that innovation was going to come from the private companies with their stealth-funded R&D centers, that the innovation would appear first in commercial products and then become open source later. But I think we're going to reverse the trend a bit. What pitfalls does open source need to avoid?
There's a bit of a tendency on the part of some of the early open source advocates to view corporate involvement with some suspicion, which is understandable, but the challenge is going to be to balancing the corporate interest and corporate input with the spirit of the open source movement. Do you think the WS* specifications will provide a bridge between the .NET and Java worlds?
I really think we're trying to get to an XML world and the established vendors in Java and .NET are still viewing the world in terms of Java and .NET. For a long time, the industry kind of profited on this competition between Java and .NET, which has been a good thing in terms of innovation, and each has tried to outdo the other, but it still means the focus of the efforts of those companies has been to get the developers using their tools at the exclusion of the other vendors tools. We're seeing that too much. In Web services today, we're still looking at annotations in Java or doing annotations in .NET to create services objects, instead of allowing developers to develop the XML and then map it down to some language later. Today, we're still seeing too much emphasis on trying to choose your development language between Java and .NET, and we're seeing XML as kind of a byproduct of that. I think those communities are resisting that change. So you don't think XML mapping is the way to go in these matters?
There is a problem because everybody's trying to make it automatic and transparent, bridging XML and Java, for example, but there's really no way you can make a text-based interpretive language and a binary-based compiled language 100% compatible. Do you think anything will happen in 2006 to make developers think XML first?
There's some XML data bindings work going on at W3C that may help, though that work has just started. It may help create better bindings around language-specific data types or XML schema data types. Otherwise, the Java specifications for processing XML are progressing and they're better than they were. We're still missing key things like XML data types in Java for .NET and we could use some better XML toolkits. The XML world tends to be divided between the publishing world of XML, which transforms XML into HTML, and the data-oriented world where we just use the XML for application integration or data integration. In Eclipse, we're working on ways to allow developers to create services from XML schema and from WSDL, and that's really going to help. WSDL has had it cheerleaders and detractors. What do you expect from WSDL 2.0 when it gets ratified in 2006?
[WSDL] 2.0 has a lot of improvements compared to 1.1, but it has some things that are not so clear to us yet. We're still in evaluation mode. We've been supporters of the effort and members of the committee right along, but they're still processing some issues. We're a little worried about the industry acceptance of it. It may be a little difficult to cut over from 1.1 if 2.0 provides too much of a challenge to implement. But we're hopeful.
The biggest question mark for next year is the appearance of WS-Policy. We as an industry have been promised these specs to be released to a standards body for about two years, and I understand they're going through the Microsoft/IBM process. But at the same time, policy is an area that people are very interested in respect to Web services and hopefully this year we'll see those specs be submitted. OASIS has really grabbed the Web services standards bull by the horns of late. Is that good or does the industry need a wider variety of standards bodies doing this work?
Ideally, you'd want a single organization taking responsibility for Web services, the way the OMG [Object Management Group] was responsible for CORBA or more recently for UML. We've never really had that for Web services except for the early days when WSDL was in the W3C. When WS-Security was submitted to OASIS, that was the first spec to somewhere other than W3C. Then WS-I was created and we ended up with this division, which was further complicated by the fact that Microsoft and IBM have their own processes.
I think we can really kind of forget about UML this year in respect to Web services. There's been a lot of hype that UML is good for Web services. I don't really think it is. UML is great for chalkboarding. So for drawing things out, for sketching things out, for doing flow charts, it's great, but I just don't think it works well enough for an executable language. I don't think you can tackle the programming abstraction programming problem by trying to generate code from diagrams. It's also not very well adapted to Web services because the class diagram is the central design artifact in UML, and Web services are not object-oriented while it is. I was hoping we could put this to bed, but as many times as I've said this I've always been contradicted by some UML fan. Is there anything you see coming out of left field in 2006?
I almost hesitate to say this, but probably some of the Semantic Web technologies are finally starting to become important. I'm a little bit surprise by this because I didn't think this was going to happen, but things like RDF [Resource Description Framework] are starting to get some traction and we're starting to see a few successful implementations of those technologies.