Read Microsoft's background material on .NET and you could be forgiven for thinking it's nothing more than an insiders' competition to see who can pack the most jargon into the smallest space. It is thick with techno-sell. And yet, .NET is important, and inevitable, and at work among us now.

So what is .NET? Microsoft calls it a "platform for XML Web services, the next generation of software that connects our world of information, devices and people in a unified, personalized way." Warm and fuzzy, isn't it? Maybe, but not very comprehensible. Let's try to tackle it sans Microsoft jargon.

The limitations of publishing

To understand .NET, you must first understand the Web.

Think about the Web. What is it? Nothing much more than a great big publishing house. Someone creates a whole pile of documents, plonks them on a computer connected to the Internet, and says to the world "You're welcome to browse through this stuff." Along comes another person who does the same thing. And another, and another. One of them cross-references their publications to documents on another site; another follows suit; and another, and another.

It's a publishing free-for-all. That's why we use a markup language, HTML (HyperText Markup Language), to create these sites – the terminology comes straight from the publishing industry, where pages are 'marked up' to indicate how they should appear in print.

Exploring this mishmash makes for a fascinating experience, but when you really look at it, it's pretty limited.

It's limited in terms of interactivity. All you're doing, after all, is asking a remote computer to send you a copy of a document. Once the copy has downloaded to your computer, you view it in your browser. Given the amount of computing intelligence on both ends of that download, this is close to zero in terms of interactivity.

It's limited in terms of control. You ask the remote computer for something; if it decides you may, it lets you have it. That's it.

The lure of interactivity

Now how would it be if your computer could really interact with the remote Web site? If, instead of merely leafing through its publications, your computer could access the computing power of that site? Then bump it up a notch and imagine this sort of interaction being the common mode of exchange on the Net.

For some people, that vision will conjure up the term distributed computing. For most of us, it simply sounds like a doozy of a mega-computer, doesn't it? And that's what it is, sort of. Perhaps a more apt phrase, one which Sun Microsystems has been bandying about for lo these many years before Microsoft birthed .NET, is the network is the computer.

The .NET vision

The vision of .NET – and it is still, by and large, a vision rather than a reality – is one in which the Internet is a true extension of your computer. Instead of computing being desktop-centric, it will be Net-centric. You won't buy and install software; instead you'll subscribe to it and access it on the Net, where it will be hosted on remote servers. Your data, your preferences, your identifying info, too, will all be on the Net. Everything will become a Web service, and that means resources such as storage as well as software.

Hold your objections, there's more!

You won't simply interact with a single site for a single service. Services on one site will integrate with services on another. Your humble request to one site may well trigger a cascade of interaction between other computers and services, which will combine their forces to provide a comprehensive experience. That 'experience' earns its italics because Microsoft plans .NET Experiences aplenty for users.

And you'll be able to use Web services from anywhere at any time: Your PC, your phone, your handheld computer, your Internet appliance, public kiosks. In fact, any services you use will be able to track you down in order to deliver messages. Because your data, apps and personal information are stored on the Net, you won't have to carry it with you. All you'll need is a device, of any sort, with an Internet connection. You'll use the same apps everywhere, but they'll adapt to suit the 3-centimetre display of your cell phone, the publicly visible screen of a kiosk, or the full private expanse of your desktop PC. 

The role of XML

To make .NET work entails a rebuilding of the computing landscape. On the server side, it requires servers which supply the .NET plumbing. On the client side (that's where you and I sit at our PCs), it requires operating systems which can handle the new method of interaction with remote computers. And at the heart of .NET is XML (eXtensible Markup Language), .NET's lingua franca.

The extraordinary degree of interaction between computers that .NET mandates is far beyond the capabilities of a publishing language such as HTML. HTML's vocabulary basically limits exchanges to "I want to see it", "Well, here it is". XML, on the other hand, is positively garrulous.

XML is a meta-language: a language which can be used to define other languages. You can see how such power and flexibility might suit it to creating truly interactive exchanges – XML Web services, as Microsoft calls them. With XML you can encode data, so it can be passed around in a comprehensible format to other computers, which can then use that data to provide a service.

One of the big pluses with XML is that nearly every computing platform can understand it. Windows, MacOS, Linux, minicomputer and mainframe operating systems, even cell phones.

So, we have a lingua franca to enable the .NET vision, but how do we get an XML document from here on this .NET server to there on little Meg's cell phone? What's needed is a method of transportation.

For transporting HTML documents, we use a method called HTTP (HyperText Transport Protocol). No doubt you've noticed that Web addresses take the form http://www.sitename.com. That's shorthand for saying send me the HTML document at www.sitename.com and use HTTP to deliver it to me.

Thus HTML gets around via way of HTTP. XML gets around using SOAP, the Simple Object Access Protocol (in fact, it uses HTTP plus SOAP, but we'll stick to the essentials here). SOAP provides a way to send XML data packets as method arguments to a site. These method arguments are simply the way programs pass information from one routine to another. If you think of how .NET combines the computing capabilities of computers distributed across the Internet, you can see how XML and SOAP provide just the sort of interaction needed to get the parts working as a whole.

Geekgirl.technote: Windows XP and .NET
Windows XP has support for XML and SOAP, two key .NET technologies, built in. XP features such as Remote Assistance, Windows Messenger and the Online Print Ordering Wizard all use XML Web services to do their work.

Remote Assistance, for example, allows you to invite another user to take over your computer to troubleshoot a problem or guide you through a process. It sends an XML-based encrypted 'ticket' to the remote computer requesting help. If the request is accepted, the remote computer then connects to your computer and a Remote Assistance session ensues.

 

Questions, questions

Clearly, .NET raises all sorts of questions about privacy, information ownership, cost to users, and a whole lot more. We'll take a look at some of those issues in the second part of this article.

 

© Rose Vines, 2002  


top home net archives menu