Now that Visual Studio.Net has launched, will someone remind me why .Net is destined to revolutionize Web services? Let’s look at what .Net brings to the table. First, .Net relies on standards such as XML, SOAP and UDDI to make it easy for networked objects to discover other networked objects and communicate with them.
Second, the .Net framework is programming-language-neutral. The .Net environment includes the Common Language Runtime and the Common Intermediate Language, also known as Microsoft Intermediate Language, abbreviated MSIL or IL, depending on the time of day. This acronym soup makes it possible to combine C#, C++ or Visual Basic.Net (VB.Net) programs as if they were all written in the same language. In other words, the moron down the hall who can’t learn anything more complicated than Basic can write VB.Net programs that make direct references to classes and methods in your C++ program.
Third, Microsoft Corp. says it gives you all the tools you need to help you create “platform-independent, standards-based, language-neutral” .Net Web services. For example, you get tight integration with Microsoft’s Internet Information Server (IIS) and built-in access to HailStorm, Passport and other Microsoft services.
Fourth, we have Visual Studio.Net itself. This integrated development environment supports Microsoft’s C#, C++ and VB.Net and is decked out with handy tools to help you create Windows-specific front ends for .Net applications.
Let’s see if we can figure out which of the above features is most likely to revolutionize Web services.
Unless you were born yesterday, I’m sure you realize that Web services is just a trendy term for distributed computing. Back when we called it distributed computing, the Common Object Request Broker Architecture (CORBA) seemed to be the ideal foundation. You can use any language you want to create CORBA objects, and CORBA is truly multiplatform, as opposed to ActiveX, which is Windows-centric.
Then came Java. Java’s platform neutrality made it highly scalable, but Java’s early answer to distributed computing was a primitive feature called Remote Method Invocation. This feature was easy to implement, which made it attractive despite the fact that it was a Stone Age tool compared with CORBA. It almost looked as though CORBA would make a comeback when Sun added CORBA-based Internet InterOrb Protocol support to Java. But the protocol proved to be harder to learn and implement than XML, SOAP and UDDI. As a result, Java developers seem to be going with XML, SOAP and UDDI.
Back to .Net. What is it about .Net that will revolutionize distributed computing? Its language neutrality? Integration with Microsoft software and services? The Visual Studio.Net development environment?
Given the choices programmers have been making so far, it’s difficult to imagine that they will switch from a platform-neutral, single-language, highly scalable solution like Java to a single-platform, multilanguage solution with limited scalability. (Microsoft is marketing .Net as multiplatform, but anyone who believes that should revisit the issue after sobering up.)
Language neutrality is cool, but as nifty as it might be to be able to reference a C++ class directly from a VB.Net program, the more languages you add to a project, the more difficult that project is to maintain. But there’s one simple reason why you can be sure language neutrality won’t revolutionize Web services: It has nothing whatsoever to do with Web services.
What’s left? Considering Microsoft’s less-than-stellar reputation for security, I don’t think developers are going to flock to .Net because it’s tightly integrated with Microsoft IIS and Microsoft services such as HailStorm and Passport. So it’s safe to cross that feature off the list.
And no matter how terrific the visual tools may be, it’s hard to believe a glorified text editor could revolutionize Web services. So I think we can eliminate Visual Studio.Net as the answer.
That leaves the fact that .Net supports XML, SOAP and UDDI. Of all the features of .Net, that support is what has the potential to revolutionize Web services. Problem is, these standards existed before .Net, and you don’t need .Net to use them.
So will someone remind me why .Net is destined to revolutionize Web services?
Petreley is a Computerworld (U.S.) columnist, a computer consultant and author in Hayward, Calif. He can be reached at [email protected]