Sun exec looks at Web services and beyond
|
|
|||
|
|
Sun Vice President James Gosling, the creator of Java, knows a thing or two about software revolutions. Gosling recently sat down with Network World Senior Editor John Fontana to talk about the buzz around Web services, a technology being hyped as a savior for distributed computing.
You've said the business of building systems that talk to each other has been around for a long time. Does Web services revolutionize it?
It's sort of yes and no. The hard part has been getting people who are competitors to agree on how to interconnect things. The XML world, because it is so flexible and platform neutral, has gotten a lot of the players in various games to say this would be a good idea. People have been building Web services in some sense for years, but the thought is that they have been doing it with stone axes. People who have built Web sites have exposed their service using something that is intended for direct human consumption and not intended for consumption by other systems. There has been a general realization that there is actually value in allowing other people access to your service through software, to allow somebody else's software to talk to your software.
What are the challenges facing Web services?
Certainly security is an issue, and security's evil twin, authentication. Actually, for my money, the really hard problem is the politics behind these standard schemas. Because Web services only work if you can get, for example, Travelocity and Expedia to agree to use a common framework, a common XML schema, to express the services they provide.
Something like RosettaNet is doing by producing these agreed upon schemas for representing data?
Right. Just the intercompany politics of getting all these guys to agree. It's not one major source of pain. It's sort of diffused pain, because the same thing has to happen all over the place. And I think the wonderful thing is that it seems to be happening. I had dinner last night with a bunch of people from the oil industry, and they are actively working with a bunch of their competitors to define standard schemas. And that is not a problem that any computer vendor can fix.
How real is the threat of complexity to Web services? People always use the word simple when describing Web services interfaces, but when you start to talk about security, transactional integrity, then things can get complex.
Complexity is a huge problem. To the people who are doing the engineering, it is a huge deal. The real challenge for the vendors in the Web services space is to make that complexity simple. For some of these things, there is actually an unbelievable amount of "hair" to making it actually work. But you have to expose it in a way that makes it really simple.
Where is the intersection of Java and Web services? How does someone doing one understand how the two work together?
The problem is actually in the phrasing of that question, because you make it sound like Java and Web services are two separate things and you have to make them work together. That is not the case. Java in a sense is a building material, not unlike lumber and nails. Web services is essentially a style of putting them together to build structures. The fundamental qualities of Java are still there but the result of the data may be expressed in XML and carried by a [Simple Object Access Protocol] message. So you are basically creating a shim or a piece that is being combined with Java so you can pass on that functionality to some other system. One of the things that Java was designed to do from the very beginning is network communication. There is this huge stack of network communication protocols, such as IP, [Simple Mail Transfer Protocol], [Internet Message Access Protocol] and [Post Office Protocol] and then you get into [Remote Method Invocation] and [Common Object Request Broker Architecture]. SOAP is just another one of the protocols and it uses XML as its data representation.
How is Sun's view of Web services different than Microsoft's? Are there fundamental differences in what can be accomplished or how they are used?
I think at that level our views are pretty similar. In that it's something that people can use to allow their systems to interoperate with those coming from the outside, and on the flip side of that, to get out and interoperate with people on the outside.
What about from a platform perspective Java 2 Platform Enterprise Edition vs. .Net?
.Net has always felt like an attempt at an answer to J2EE. There is just a huge amount of facilities available on the part of J2EE. Actually, I think there is a lot more in J2EE than in .Net. Transaction management, persistence, database integration, all the XML stuff is there in J2EE and has been for some time. J2EE is a market, not a product. There are a lot of vendors out there that implement J2EE. And there are a lot of add-on products that plug into J2EE. By the magic of the way the platform works, they all work together.
In one of Gartner's latest [surveys], it listed Sun and Oracle as niche players in the Web services market. IBM and Microsoft were listed as leaders. What is your reaction to that?
There are certain truths and certain falsities. In terms of things that are certain products, you can probably fairly label us a niche player in my view. Where we gain most of our revenue is a pretty big niche, however. Most of it comes from selling big honking servers in the infrastructure. But from an industry participation point of view, we are all over the map because our systems can't exist as islands.
RELATED LINKS
