.Net strategy pushes Web app development

With the expected release of VisualStudio.Net by year-end, it’s important for network executives to understand how Microsoft Corp.’s .Net strategy will affect the development of Web-based applications and Web services.

So what is .Net?

The idea dates to 1999, when it was talked about as Next Generation Windows Services. Before the arrival of .Net, the Microsoft acronym of choice was DNA, which stands for Distributed iNternet Architecture.

.Net supplants DNA and elevates the Microsoft development environment and tools to a new level of sophistication, power and ease of use, compared with previous versions of Microsoft development tools.

At its core .Net is XML. Microsoft product managers like to say, “XML is baked into everything,” but it would be more accurate to say that XML some day will be baked into everything.

For example, BizTalk Server 2000 has XML fully baked in, as Microsoft states. SQL Server 2000 has XML baked in to the point that you can move XML documents into and out of an SQL Server database without coding. Other .Net servers, such as Exchange Server 2000, still need another release to be able to really take advantage of XML.

If you were to define .Net as solely the new .Net runtime environment that is built on the .Net Framework and the Common Language Runtime (CLR), then none of these .Net servers are really .Net. You will have to wait until the next release of any .Net server for it to utilize the new .Net runtime environment.

How Does It Work?

In a .Net application, on top of the XML layer, there’s Simple Object Access Protocol (SOAP), an emerging standard for sending messages across the Internet that enable application-to-application interoperation.

SOAP uses XML to describe messages and HTTP to transport them. Web Services Description Language (WSDL) is a new specification to describe networked XML-based services called Web services.

WSDL offers a simple way to describe the basic format of requests regardless of the underlying protocol (such as SOAP or XML) or encoding (such as Multi-purpose Internet Mail Extensions). WSDL is a key part of the effort of the Universal Description, Discovery and Integration initiative to provide directories and descriptions of online services for e-commerce.

VisualStudio.Net makes creating Web service client or server applications intuitive and easy. To build a Web service server, you use a VisualStudio.Net wizard to create your initial application. To expose a class method in the Visual Basic application you created as a Web service, you add the attribute “” as part of the function definition. That’s it.

Once the XML Web service has been built, it can be invoked via HTTP using XML to pass data to and from the service. To use an XML Web service from VisualStudio.Net, all developers need to do is add a Web reference to the exposed Web service.

.Net vs. J2EE

Despite what the marketers at Sun Microsystems Inc. and Microsoft might want you to believe, .Net and Java 2 Platform Enterprise Edition (J2EE) are surprisingly similar. At a platform level, the two technologies are based on a virtual machine architecture aimed at portability.

The most significant difference between the two technologies is that, generally speaking, Java/J2EE is language-specific and platform-independent, while .Net is language-independent and platform-specific.

This doesn’t apply in all cases because numerous J2EE implementations are not completely cross-platform. Microsoft has also made some overtures toward making .Net cross-platform, such as submitting the CLR and the C# language to the European Computer Manufacturers Association for public standardization.

Microsoft’s .Net framework is based on its CLR, which is composed of a specification for Microsoft Intermediate Language code and a runtime environment that provides memory management (including automatic garbage collection), security and threading. Although this is analogous to the Java Virtual Machine architecture, the difference is that code targeted for the CLR can be written in any language that supports the CLR’s component model.

Visual Studio.Net comes with the Microsoft languages Visual Basic, Visual C++ and Visual C# (pronounced C sharp). C# is an object-oriented language that is a fundamental piece in Microsoft’s new .Net strategy. C# builds on the syntax and object-oriented features of C++ and adds functionality to make it more Web services friendly.

Although C# is similar to Java, it is also different. Both languages share many of the same benefits, such as being fully object-oriented, but the languages diverge on features such as operator overloading and enumerations.

The .Net development framework can be subdivided into three parts: