You see Microsoft as possibly your most fierce competitor, yet you are in lockstep with them on the various Web services standards and organizations. How can you maintain that balance of competition and cooperation?
Both companies were seeking something in the Web services effort. From our perspective we were anxious to get a set of open interfaces created that enable any client to communicate with any server. And whats possible today is that a Microsoft Office or Visual Basic client can interoperate very easily with a WebSphere server. You can populate WebSphere from Office and WebSphere can populate Office and do so seamlessly. Web services standards have been quite powerful in allowing us to move to this open client structure, which is one of the things we were seeking in the Web services effort. Microsoft has, over the years, rejected in participating in interoperability standards. They joined the original OMG CORBA effort, and then they left it. They wanted to do it themselves. They got involved with Java in the beginning, and then they left it. They wanted to do it themselves. So theyve participated in standards activities in the past but have often then left the process and therefore never deeply incorporated any interoperability standards in their own product set. And XML Web services is a way for them to get connection to other things
Now, the use of XML is going to happen anyway. Theres nothing more open than XML. Its truly declarative in nature; its not programmatic in nature. It would have been accessible to them anyway, so we dont feel were sharing some deep dark secrets with them. And the potential to have better interoperability from client to server and server to server was the benefit we received. And you cant deny their participation in the marketplace, so our approach to this was very pragmatic. And our view is that weve derived a lot of benefit from it. Were better off going to customers with a proposal that can link to their Microsoft Windows environment, rather than to isolate their environment. So that was the logic and its paying off, and Im quite happy with it.
Its just a standards thing.
Do Web services take over where CORBA left off?
Web services are different. The promise of CORBA is fulfilled through J2EE [Java 2 Enterprise Edition]. It is the logical derivative of CORBA, which is the logical derivative of DCE. CORBA is son of J2EE. J2EE is son of CORBA. And thats at a much lower structural level. Web services sits way up here. And its descriptors. Who are you? Describing you, your business, how you do business, etc., so somebody else can interrogate that database, and on a machine-to-machine basis you can coordinate between the two.
Web services is not the perfect technology or perfect answer to every issue. Itll improve as Java and other mechanisms have improved.
How has IBM been able to capitalize on technology built elsewhere, like Java and XML, even to a greater degree than the companies that invented the technology? Sun invented Java and had a hand in the origins of XML, yet IBM has leveraged these technologies to a greater degree.
This is why I say J2EE is son of CORBA. Java is certainly a creative and interesting piece of work as far as a programming language is concerned. And we embrace the language. We were doing a lot of work in the C and C++ area, and Java is a derivative of that. So we saw Java and its compatibilities with the C world as providing a hybrid language that would provide both ease of application development as well as good scalability with applications written on servers. We liked the language. And then given that the CORBA work was essentially C++-based, we recognized that Java could provide a substitute for C++ and that a new more modular, easier-to-work-with set of interoperability services could be crafted around Java. The language could be extended, the runtime services could be enhanced to create an EJB container architecture as the core of the J2EE structure. So we saw a path that we could use Java for what we were trying to use C++ and Object Request Broker Architecture for. Sun didnt see that. But Sun was never working on an interoperability strategy. Being interoperable with what? Suns a hardware company. They want to sell hardware boxes. Were trying to sell integrated systems. We have a software business that stands alone from the hardware business. So we saw the value of the language and the value of the environment and what it can be turned into to give us a kind of integration layer based on a single language that we could put tooling around that could be very powerful. They didnt see that. But then again, theyre not even in the software market. Its not genetic to them; they dont think software. Theyre not into that abstraction that is software.
XMLs a different animal. Weve been in the markup language business since the 1960s. We had GML and then SGML. When we shipped WebSphere in 1998, we had an XML parser built into WebSphere. Hardly anybody was talking about XML from an external perspective. We recognized the value of XML a long time ago as kind of this lingua franca for common descriptions. Weve been excited about it for a long time, and we jumped on it.