The Web-service architecture is the real core of Visual Studio.Net. Web services are components that can run anywhere and that can be interacted with, even through firewalls, using XML. But that's just the marketing blurb. The key to Web services is the way they separate out, or "decouple," user interfaces from applications. Where a Web page provides a static interface to a snapshot of data, a Web service can provide the data itself. Completely devoid of a user interface, Web services enable the development of smart-client-based applications, applications that can detect the type of platform they are running on and then provide a user interface to suit.
This in turn brings about the reuse nirvana developers have long been searching for. If a Web service is a completely independent interface to an application or business domain, Web services can be reused, globally if necessary. The .Net framework makes it easy to pick up and play with these services just as if they were local components on your own hard disk -- no jumping through hoops required. The same cannot be said for Java.
The prime example of this is Microsoft's Passport service. Developers can treat Passport as an object in their code and instantly make use of a thoroughly tested and validated service that works just fine with 160 million user accounts around the globe. Such reuse not only speeds deployment of applications but also increases their reliability after delivery.
So where's the catch? The three biggest arguments against .Net at this time would have to be its heritage, its youth and its privacy implications. The .Net way of doing things, and especially the Visual Studio toolset, are effectively at version 1.0 -- untried and untested. There's no denying that, but given that doing things the .Net way doesn't require an all or nothing approach, developers can effectively dip their toes in the water risk-free to see just how well it all works.
The heritage argument is a holdover of the almost viral opinion in the community that Microsoft is the antichrist. If enough people state that opinion loudly enough, you can bet hard cash that the number of voices will grow, in some cases based on their heartfelt opinion but sometimes, sadly, based on the fact that it's a cool thing to say. However, the release of the .Net architecture and tools shows a Microsoft that has returned to its highly innovative roots. The .Net framework provides a programming interface for the new millennium that works the way programmers today want to work. The open-source and free software movement itself is waking up to that fact in spectacular fashion.
The specifications behind the .Net framework and its various component tools have all been published. Ximian, coordinator of the GNOME Linux user interface project, has embraced .Net with open arms as a result. Ximian developers are currently working flat out on Mono, a free implementation of the .Net framework and its C# language for use on Linux and Mac OS X. They fully appreciate that for all Microsoft's image problems, .Net and the fundamental concepts surrounding it are a major step forward for software development as a whole, and a stunning leap forward for realizing the true potential of the Internet as a means of communicating and sharing information. When this work is complete there will be no mainstream desktop operating system unable to run .Net applications. As a point of fact, Mac OS X already has Web-service support built into AppleScript.
There has also been considerable criticism in the past surrounding the security and privacy issues that arise from the use of Web services such as Passport and the rest of the Hailstorm family. These complaints are understandable -- there have been quite sizable holes exposed in Microsoft's software in recent years, so to have a central database such as that used by Passport could be asking for trouble. But there is nothing in the .Net architecture that says a user absolutely must use Passport to run a .Net application. Similarly, the model of development advocated by Microsoft is one whereby users choose just how much or how little personal information to divulge to the system and the businesses they choose to interact with.
Security is one area that developers will need to take a long, hard look at in the connected future that Microsoft envisions. Alternatives to Passport are bound to arise, and the beauty of the Web-services model is that there is no reason at all why these alternatives could not be used in cooperation with Passport. The underlying theme of the Web- service-based future is one of freedom -- users are completely free to choose the model they most agree with, if any.
Now that it's finally available, Visual Studio.Net will usher in a new age of connectivity and usability the likes of which has only previously been imagined by science fiction authors. Every facet of our lives will be connected, but not from the point of view of increasing the pain we feel as slaves to our machines. The results of Visual Studio.Net's deployment will be an increased level of freedom, with the machines finally realizing their true potential as information manipulators and slaves to humanity.
As developers move to embrace .Net, the Internet will be transformed from a complex, un-standardized mishmash of awkward static views of data to a dynamic pool of data connected by a true web of Web services all working together to make your life easier.
.Net marks the dawn of the third age of computing -- embrace it.