Developer

Demystifying .NET

Microsoft wants to change the face of distributed computing. Before you jump on the bandwagon, find out what .NET is and whether your enterprise is ready.


By Eric Knorr

Despite that little run-in with the Justice Department, Microsoft never liked browsers. Instead, it has longed to make Windows and Microsoft desktop applications the user interface for the Internet experience. With its sprawling .NET initiative, launched last year, Microsoft may finally get its wish.

Today, when you compute across the Internet, you fire up the browser, fill out an HTML form, click a button, and the server does all the work. Microsoft contends that though you may need data from that server, there's no reason to rely on its processing power, because you have more available on your desktop. In fact, you may need data feeds (or even processing services) from multiple computers around the Internet, but your desktop application should invoke them in the background as you work, rather than you hunting for them with a browser. In other words, .NET envisions a distributed architecture with component applications on your client PC as well as on far-flung servers.

CNET and TechRepublic
This article first appeared on CNET's Enterprise Business site. TechRepublic is part of the CNET family of Web sites dedicated to educating and empowering people and businesses in the IT field.

With .NET, Microsoft proposes a kind of Internet operating system for a new breed of distributed applications that rely on eXtensible Markup Language (XML), the universal specification for sharing data and processing services among computers of any stripe. Bill Gates himself describes .NET as "simply Microsoft's platform for XML." But it's more than that, because .NET intends not only to define the XML-based operating system but also to supply a host of powerful applications that run on top of it. Sound familiar?

True, the Internet is too big for any one company to dominate it the way Microsoft rules the desktop—just ask the Java faithful. And .NET is perhaps two years from fruition, with no guarantee that it will succeed, even if you view it merely as Microsoft's plan for Web services. But the promise of .NET—transparent, continuous access to information anywhere on the Internet, from whatever application or device you're using—shines brightly, and Microsoft is one of the few companies with the wherewithal to pull it off.

The .NET platform
With .NET, Microsoft has pitched a big tent that envelops everything the company is doing. But the fundamental, earthshaking part of .NET is the proposed shift in the way enterprise and commercial developers create software.

In the brave new .NET world, modular, component applications work together via XML as they accomplish appointed tasks on one computer or intranet or among computers scattered around the globe. Generically, apps that offer such XML-based interoperability are termed Web services. The .NET difference is that Microsoft is the only company providing all the tools, specifications, and runtime environment necessary to make Web services a reality and that Microsoft's tools and Web services run on Windows more or less exclusively (although Microsoft has demonstrated some limited Web services on Mac, Palm, and Linux platforms).

If you could boil .NET down to one essential ingredient, it would be the Simple Object Access Protocol (SOAP). Developed by Microsoft, IBM, and others (and submitted to the W3C as an open standard), SOAP is Microsoft's XML-encoding scheme. This is important because XML-enabled Web services must agree on an encoding scheme in order to communicate; merely using XML won't make your application interoperable with others. And guess what? Microsoft is busily SOAP-enabling all its software, from the forthcoming Windows XP to the shipping version of Office XP. Those who develop for other platforms, such as J2EE, can create interoperable, SOAP-enabled apps, too. But Java development tools comparable to Microsoft's have yet to appear.

For the .NET master plan to work, SOAP-enabled Web services must proliferate, providing enterprise business applications with XML pipelines to other businesses and providing unlimited Internet enrichment for every Microsoft desktop application. That's why good developer tools to create .NET Web services are crucial. Gates calls shipment of the Visual Studio .NET development environment, currently in beta, "the big milestone" for .NET. It includes XML- and SOAP-enabled versions of Visual Basic, C++, and C# (Microsoft's new Java-like programming language, created from the ground up for .NET development). However, programmers will be able to write .NET Web services in almost any language, though doing so may require special extensions and a new learning curve.

All Microsoft's .NET developer tools will remain in beta until later this year, which probably means only a handful of fearless enterprise developers will stretch beyond modest .NET pilot programs in 2001. For enterprises to get excited about .NET, they need to see .NET applications in action. And Microsoft is happy to provide plenty of apps.

Applications and servers a la .NET
.NET is ushering in Microsoft's new "application as service" philosophy. A popular notion of .NET generally hinges on the idea that Microsoft is now leasing its software rather than selling it. This is not strictly true—you can still license Microsoft software outright at a higher cost than before—but software by subscription is core to Microsoft's new philosophy. Under the new Software Assurance plan, you pay a subscription fee that covers ongoing upgrades and fixes, which can be pushed over the wire to customer hard disks without user intervention.

But there's more to Microsoft's .NET-ification of its product line than a new pricing and distribution model that favors frequent upgraders. Fueled by billions of dollars in research and development, the elves of Redmond have been busy XML- and SOAP-enabling anything that moves: new versions of its desktop applications, an updated line of enterprise servers, financial software from its recent acquisition of Great Plains, and much more.

The first .NET-enabled apps arrived at the end of May in the form of Office XP. Although the XML-based features seem modest, Microsoft's flagship suite provides at least a glimpse of the future, in the form of Smart Tags and SharePoint Team Services. Smart Tags pop up within Office documents, flagging links to Web services (or simply URLs) and enabling you to keep any variable in a document current, from stock prices to phone numbers. SharePoint enables workgroups to create Team Web sites into which linked Office documents can be copied for collaboration.

On the server side, the potential of .NET may help Microsoft penetrate the enterprise back office, which remains dominated by IBM, Sun, HP, and Oracle. With or without .NET, Microsoft has recently beefed up its enterprise offerings, adding Content Management Server and Application Management Server. According to Microsoft, SQL Server and BizTalk Server 2000 currently offer the deepest level of XML integration. Deploy these products now, says Microsoft, and you'll build an industrial-strength foundation for .NET.

For enterprises, Microsoft's Great Plains accounting software, which integrates with Office XP, offers intriguing possibilities. Microsoft has publicly stated that Great Plains products will target small to medium-sized businesses, with perhaps some ASP-like functionality available through Microsoft's small-business portal, bCentral. However, Great Plains eEnterprise includes robust financial, CRM, and supply chain management applications. In other words, Microsoft has its first enterprise-class e-business suite, enabling it to encroach on ERP territory. An all-Microsoft enterprise back office, with .NET as the marketing wrapper, is already possible.

Windows, Hailstorm, and the .NET experience
Those who have seen beta versions of Windows XP, which ships in October, complain that there's very little .NET-ness about it. In fact, Microsoft has admitted that the .NET user experience won't be fully realized until the release of Blackcomb, Windows XP's successor, sometime next year.

So how do you define the .NET user experience? On one level, it's a new user interface that offers visual integration between your desktop and all those Web services in the big Internet world. On another, it's the addition of natural language and voice recognition. Neither of those features will arrive with the first release of Windows XP this fall. But Microsoft says one key part of the experience, Hailstorm, will be closely coupled with Windows XP.

Hailstorm is a library of XML schemas, sets of XML tags that define, in this case, a complete XML record of your personal information, including your credit card numbers, calendar, address book, and so on. Included within the Hailstorm specification is Microsoft Passport, a secure e-wallet service that lets you shop online with a click here and there rather than filling out multiple registration forms. Log on to Windows XP, and you'll also log on to your Passport account. Later, when you click the Buy button next to Myst III, Passport sends the information necessary for the transaction behind the scenes via XML.

Although Hailstorm seems to target consumers, Microsoft appears to believe that businesses may take advantage of it as well. But not many seem likely to let Microsoft act as a repository for their precious customer data. In fact, authentication, identification, payment, and security remain question marks for .NET, because Web services standards committees have yet to reach agreement in these sensitive areas. With the Justice Department decision tilting in Microsoft's favor, however, the company may be emboldened to go it alone.

Not surprisingly, Microsoft will provide default links from Windows XP and Office XP to its own Web services, including those offered by the Microsoft Expedia travel service and MSN.NET (the latter, hints Microsoft, provides the best clues as to what the Blackcomb user experience may look like). But along with its development tools, Microsoft will also supply building-block services for developers—prebuilt, XML-based applets such as calendars, notifiers, and directories—intended to accelerate Web service development.

Once again, Microsoft has defined the playing field and enjoys a big head start on applications. But this time, it wants to make sure everybody is in the game.

Eric Knorr is a veteran technology journalist and consultant based in San Francisco who also writes for CNET Enterprise.

This document was originally published by CNET on July 2, 2001.

Editor's Picks

Free Newsletters, In your Inbox