When Bill Gates launched the gold code version of Visual Studio.net on 12 February, he was simply ratifying a tool that thousands of people had already been using for a year. The beta programme for the tool was huge, and the take-up was successful because of what it promised: software components easily accessible across the Internet. If Gates is to be believed, the third generation of the Internet has arrived in the form of Web services.
Web services are essentially existing software components (in Microsoft's case, components written to comply with COM - the common object model framework) that are then wrapped in an XML access language called the Simple Object Access Protocol (Soap). The idea is that by wrapping components in such a way, they become much easier to integrate, even across different platforms, such as Microsoft's .net framework and Sun Microsystems' Sun ONE Web services architecture.
Value-added resellers can benefit from this in two ways. Firstly, and most realistically in the short term, they can use them to enhance their own software development processes by creating a simpler interface between software components. This should reduce the time to market. An IT consultant can also use the tool to expose data from existing systems in XML form. Thus, Microsoft is touting Visual Studio.net as a legacy integration tool, as well as a software development environment for new applications. If you are a developer of custom software with legacy code into which you wish to add new features, then this could make the tool significant for you.
Secondly (and further down the line), Microsoft is hoping that Web services developers will be able to post information about their Web services to registries using the Universal Description, Discovery and Integration (UDDI) standard ( www.uddi.org). This will function as a sort of yellow pages for Web services.
Organisations needing certain functionality can find it in a UDDI registry, contact the company providing it and then pay to connect their applications to it. Anyone who has ever tried to reuse code even on an internal project will know how far-fetched this is, which means it is likely to be years before these services are provided in earnest.
Some companies are, however, already using Visual Studio.net for internal developments. Marks and Spencer, for example, recently used it to code a fraud detection service. US vehicle rental firm Dollar Rent A Car has also built a .net back-end to connect its Quick Keys VMS system to a Unix system run by one of its airline partners.
In reality, building Web services is harder than companies like Microsoft might have you believe, especially if you are moving from simple Visual Basic client application development into distributed server-side applications. For one thing, you will still need to handle your own security concerns, especially if you begin exposing your services to the general public online.
Sean McBreen, principle Microsoft architect at IT consultancy Conchango, says that you have to carefully define access and rights policies for your Web services, for example, and make decisions such as whether you want to verify users' identities every time they access a service, or do it just once and keep that identity "live" for a set period of time. Remember that a "user" of a Web service could be another application, which will have its own security procedures for its end users. There are many such complications that must be taken into account.
Even if you want to keep using Visual Basic, you will find some significant changes as Microsoft introduces more object-oriented features into the language that will require you to more or less relearn it. These include stronger data typing and the inclusion of object-oriented inheritance techniques. To use your existing VB applications in the new VB.net environment, you'll need to go through an upgrade process. Although there is a tool available, you may well have to do some recoding. Find the details here: http://msdn.microsoft.com/library/default.asp?URL=/library/techart/vb6tovbdotnet.htm.
Microsoft has also introduced other language support by basing the .net framework around the Common Language Runtime (CLR). The CLR performs the same basic function as Sun's Java Virtual Machine (JVM) by shielding application code from the underlying hardware.
This has enabled the company to elicit support for the CLR from many different third-party language vendors, meaning that resellers can code to .net using anything from Cobol through to Fortran. The company is even including Java syntax support in the form of Visual J# .net, currently in beta test phase, which hooks into Visual Studio.net. For resellers who have skills in non-Microsoft languages, this makes the Windows platform more available to them.
Microsoft has provided its own new language for .net coding too, called C#. It is widely regarded as a Java killer, and if you are a Java developer you'll find some similarities in the syntax. It is also intended as a more developer-friendly language for people used to coding in C++. C++ has always been a demanding language because its flexibility allows programmers to make mistakes, unlike Java, which prevents some of the traditional howlers. C# is more Java-like because it handles things like garbage collection (for reduced memory problems).
In short, .net will give value-added resellers more flexibility in terms of language skills, and will make it easier to expose legacy data to other systems. The learning curve for the new framework will be pretty steep because of its complexity, and we haven't even touched on areas such as ASP.net, Windows Forms and Web Forms, all of which are vital elements within the .net architecture. For further information, surf over to www.microsoft.com/net and take a look.