An Introduction To Microsoft .NET

This paper gives an overview of Microsoft® .NET, Microsoft's XML Web services platform. It describes what it is and the benefits to be gained from adopting it. We'll also illustrate how .NET will change computing for end users and businesses.

We won't go into any technical depth in this paper; anyone with a general understanding of computers and the Internet will be able to follow this discussion. Microsoft has many more resources for corporate executives, IT leaders, and programmers who need to master .NET. (See Appendix A.)

What is Microsoft .NET?

Microsoft .NET is Microsoft's XML Web services platform. .NET contains all that's needed to build and run software based on XML, the lingua franca of Internet data exchange.

Microsoft .NET solves several core problems underlying software development today:

  • Interoperability, integration, and application extensibility are too hard and too expensive. Microsoft .NET's reliance on XML - an open standard managed by the World Wide Web Consortium (W3C) - removes barriers to data sharing and software integration.

  • The integration challenges are compounded by the myriad of competing proprietary software technologies that plague the industry. Microsoft .NET is built on open standards and embraces all programming languages.

  • What end users experience when using their software is not simple or compelling enough. End users feel frustrated because they're unable to easily share data among their applications, or act on information when they can access it. XML makes it easy to exchange data, and .NET software gives them the ability to work with the data once it's received.

  • End users don't control their personal information and data when working on the Web, leading to privacy and security concerns. Microsoft .NET provides a set of services that let users manage their personal information and control access to that information.

  • .COMs and Web site developers have difficulty providing enough value to users, due at least in part to the fact that their applications and services don't play well with others and act as islands of information that aren't connected.  Microsoft .NET is designed to enable aggregation of value and services from multiple sites and companies into coherent experiences for users.

Just as MS-DOS® and Windows® operating systems significantly changed computing, so will .NET. MS-DOS drove the acceptance of personal computers throughout businesses and homes; Windows elevated the graphical user interface to the preferred way of interacting with software, and the graphical user interface made personal computing mainstream.  .NET is designed to make XML Web services the mainstream model for computing moving forward.

XML Web services are software modules built using XML for data exchange to help applications, services, and devices work together. Sharing data through XML allows them to be independent of each other while simultaneously giving them the ability to loosely link themselves into a collaborating group that performs a particular task.

The easiest way to think of how XML Web services work is to compare them to Lego blocks. Like Lego blocks, XML Web services are independent units. Just as Legos have a standard method of snapping together, so do XML Web services - through XML messaging. When you snap Legos together, you build an object: a house, boat, giraffe, or airplane. When you snap together XML Web services, you build a software solution that performs a particular task. And, just as you can use the same Lego block (say, the yellow two-by-three rectangle) as part of many different objects, you can use a single XML Web service in many different groups, as part of the solution to many different tasks. 

XML Web services also make it possible for developers to choose between building and buying the pieces of their applications, and to choose between consuming other XML Web services to complete their solution or exposing their own services for other applications or services to consume.  This means that an individual company doesn't have to supply every piece of a customer solution in order for that customer to have a complete solution.

In addition to XML Web services being independent of each other, they are also independent of the device used to access them. Unlike standalone applications, XML Web services aren't tied to a particular programming language, business application, or online service.  This gives end users the freedom to work on any access device they choose, from a powerful desktop computer to smart devices like mobile phones and handhelds.

As a result, Microsoft .NET delivers a different type of user experience - a dramatically more personal, integrated experience derived from connected XML Web services, and delivered through the new breed of smart devices.

Microsoft's .NET Strategy

.NET programmers write XML Web services, rather than focusing solely on standalone applications for servers or clients.  They snap together those services into loosely coupled, collaborative constellations of software, using XML messaging to communicate among the XML Web services. In order to achieve this, programmers need:

  • A software platform to build a new type of personal, integrated user experience.

  • A programming model and tools to build and integrate XML Web services.

  • A set of programmable services to provide the foundation for applications and services.

Microsoft's .NET strategy delivers these three things. .NET includes:

  1. The .NET Platform, which is a set of programming tools and infrastructure to enable the creation, deployment, management, and aggregation of XML Web services.

  2. .NET experiences, which are the means for end users to interact with .NET.

The .NET Platform

Microsoft's .NET platform comprises the tools you need to create and run XML Web services. It has four components:

.NET Framework and Visual Studio .NET

These are the developer tools to build XML Web services. The .NET Framework is the set of programming interfaces at the heart of the Microsoft .NET platform; Visual Studio. NET is a multi-language suite of programming tools.

Server infrastructure

The server infrastructure for .NET, including Windows and the .NET Enterprise Servers, is a suite of infrastructure applications for building, deploying, and operating XML Web services. Key technologies include support for XML, scale-out, and business process orchestration across applications and services.  These servers include:

  • Application Center 2000 to enable scale-out solutions;

  • BizTalkTM Server 2000 to create and manage XML-based business process orchestration across applications and services;

  • Host Integration Server 2000 for accessing data and applications on mainframes;

  • Mobile Information 2001 Server to enable use of applications by mobile devices like cell phones; and

  • SQL ServerTM 2000 to store and retrieve structured XML data.

Building block services

The building block services are a user-centric set of XML Web services which move control of user data from applications to users, turning the Web inside out and enabling personalized simplicity and consistency across applications, services, and devices while ensuring user consent is the basis for all transactions.  They include Passport (for user identification) and services for message delivery, file storage, user-preference management, calendar management, and other functions. Microsoft will offer a few building block services in areas that are critical to the infrastructure of .NET; a wide range of partners and developers will significantly expand the set of building block services.  You'll also see corporate and vertical building block services built on the .NET platform.

Smart Devices

.NET uses software for smart devices to enable PCs, laptops, workstations, smart phones, handheld computers, Tablet PCs, game consoles, and other smart devices to operate in the .NET universe. A smart device is:

  • Smart about you: uses your .NET identity, profile, and data to simplify your experience; is smart about your presence and enables tailoring of notifications in response to presence or lack thereof

  • Smart about the network: is responsive to bandwidth constraints; provides support for both online and offline use of applications; understands what services are available

  • Smart about information: access, analyze, and act on data anywhere anytime

  • Smart about other devices: discovers and announces PCs, smart devices, servers, and the Internet; knows how to provide services to other devices; smart about accessing information from the PC

  • Smart about software and services: applications and data presented optimally for form factor; input methods and connectivity appropriate for great end-user interaction; consumes Web services using XML, SOAP, and UDDI; programmable and extensible by developers

Some of the software for smart devices Microsoft is working on includes Windows® XP, Windows Me, Windows CE, Windows Embedded, the .NET Framework, and the .NET Compact Framework.

.NET experiences

End users access XML Web services through .NET experiences, which are analogous to the current crop of standalone applications, but differ from them in a few important ways.

.NET experiences are delivered across multiple devices. Instead of writing a different XML Web service and a different .NET experience for each possible device someone can use, .NET experiences can read the characteristics of the device the end user chooses for access, and deliver an appropriate interface.

.NET experiences use XML Web services. .NET experiences take advantage of XML Web services when they are connected to the network, aggregating additional value for users to solve complete problems.

.NET experiences are user-centric. .NET experiences are focused on end users, using identity-based building block services for user identification, preferences, notifications, and user data.  Because the user's data is managed by building block services rather than in the application, users are in control of their own data, can ensure its accuracy, and can coordinate data between different applications and services.

Microsoft is transitioning four popular products into .NET experiences.  Microsoft Office XP is taking the first steps towards providing a .NET experience for knowledge workers.   MSN®, including the use of the MSN Explorer local client, is on the path to creating a consumer-focused .NET experience.  The bCentralTM small business portal is working to both provide necessary XML Web services for small business (such as inventory management) and to consume important XML Web services (such as eBay).  The Visual Studio® development system will provide a .NET experience for developers, exposing MSDN information and company-specific coding guidelines directly in the tools developers will use.

Microsoft .NET Benefits

Microsoft .NET provides many benefits - to programmers, to business leaders, to IT departments, to consumers.

  • Programmers are relatively scarce and expensive.  Microsoft .NET makes programming easier, maximizing the return on programming investments. Developers can build reusable XML Web services instead of monolithic applications - they're easier to write and debug. XML Web services collaborate through XML messaging, but are independent, so modifying one won't break another. Because XML Web services can be part of many .NET experiences, updating a module effectively upgrades all its related .NET experiences.  And since XML Web services can be written in virtually any programming language (including C, C++, Visual Basic, COBOL, Perl, Python, and Java, among others), your programmers can use the languages they're most productive in while retaining the ability to debug across services or components written in different programming languages.

  • Microsoft .NET reduces the amount of code your programmers need to write. One XML Web service works with all devices, eliminating the need to write a different versions for every device. Uncoupling the display characteristics from the .NET experience makes it easy to add new interface technologies, like speech and handwriting recognition, without needing to rewrite the application.

  • Microsoft .NET creates new business models by allowing a company to commercialize its expertise in new ways. For example, a telecommunications company could expose access to voicemail and caller ID as XML Web services that would allow users to get to them from inside an instant messaging application, email, or another messaging aggregator of the user's choice. Technology vendors can migrate their current software packages to become XML Web services, then sell those services to third parties who want that functionality, or to .NET experience vendors building a new software package.

  • Microsoft .NET allows IT departments to tap other vendors' XML Web services for expertise and outsourced services, reducing internal costs and expanding the capabilities they can deliver to their customers.

  • Microsoft .NET redefines user friendly. End users can move around an intelligent, personalized Internet, which remembers their preferences and delivers the appropriate data at the appropriate time to any smart device they choose.

How Microsoft .NET Changes Computing

Microsoft .NET will fundamentally change the way we think of and use our computers. Right now two concepts - the server and the desktop - dominate computing. But, because Microsoft .NET is a distributed-computing paradigm, it does not use the traditional distinction between desktop and server. Instead, processing occurs wherever it makes the most sense, whether that is on a server, PC, handheld, or other smart device. This is smart computing.

.NET's computing model affects both businesses and end users, but in different ways. For end users, the changes will produce unparalleled access to a dramatically more personal, integrated computing experience. With businesses, it changes the way they build software and sell products, making IT a significant contributor to corporate success and introducing new business models.

Changes for End Users

Here's an example of how a .NET experience might work for an end user.

Bob, an anxious business traveler, gets off the plane in Chicago and realizes that he has forgotten his Smart Phone. Not good. Without it he has no clue where to go for his dinner meeting, the phone numbers of the people he's supposed to meet at dinner, nor access to all the important documents that he was going to review before this crucial meeting.

No sweat. He rents another Smart Phone from the dealer at the airport, activates it with his Smart Card, and waits a few seconds while the phone downloads all the appropriate information via its built-in Internet connection. He's got access to all his information - not just his calendar and phone book, but all the files that he can normally access on his PC.

While leaving the airport he trips getting off the escalator and severely twists his ankle. Second time this month. Through the pain he tells the phone to call Dr. Rogers' office, where he gets Mildred the receptionist. After he confirms his identity on the phone, he gives Mildred permission to access his location and information so that she can find an orthopedic clinic near him. Mildred can determine which clinic has openings, how far they are from him, and whether it is covered by his insurance. After Bob gives her permission by touching the appropriate buttons on the Smart Phone, she makes an appointment.

After getting off the phone with Mildred, Bob uses the Smart Phone to access a taxi service by having the phone search for the closest taxi, hailing it, and confirming his destination. The driver automatically receives his destination, so all Bob has to do is crawl into the taxi and confirm payment by touching the screen on his Smart Phone.

From the user's point of view, .NET offers significant benefit over today's choice between standalone applications or pure Web sites. XML Web services may perform traditional software functions, such as creating documents, calculating numbers, and storing data. But an XML Web service also can be used to provide a service in the offline sense, like calling a taxi. Hailing a cab is not a piece of software churning within a CPU. The service is getting picked up and taken to your destination. The XML Web service that enables this is software - software gives access, accepts the request, notifies the driver of the right address, arranges payment - but what the consumer is paying for is getting from point A to point B.

In both the case of a more computing-oriented XML Web service and the enabling XML Web service, end users receive a dramatically more personal, integrated experience, along with the benefits of convenience and ease-of-use available through smart devices.

Changes for Enterprises

Bob, having hobbled home from his ill-fated business trip (his dinner meeting went fine, but he's facing six weeks of physical therapy), needs to submit his expense report. Using his PDA, he identifies himself and views the list of charges on his corporate credit card.

He marks the charges related to his Chicago trip for payment. The pharmacy charges, for the painkillers and the Aircast he wore home, he marks as personal expenses. He signs off and lets the credit-card company generate the necessary bills.

Since he has marked personal charges, the credit-card company looks up his profile and generates a bill that goes to Bob personally, using the method he has specified - in this case Bob prefers a direct withdrawal from his checking account. But he also has requested a physical copy of his statement with the pharmacy charges on it so he has documentation on the medical expense for his taxes. Based on an option he selected while checking the charges, the credit-card company sends him a PDF document attached to an email; all Bob has to do is print it out.

For the business charges, the credit-card company sends an electronic invoice to the company. The bill arrives at the accounting department and Chris, the accounts payable clerk, handles it. Upon receiving an email automatically generated by the arrival of the invoice, he logs into the accounting system and opens the invoice. He double-checks the charges and sees that the employee, Bob, has okayed them. H initiates a payment. This authorizes an electronic funds transfer between the company's bank and the credit-card company.

From the enterprise's point of view, .NET can handle many tasks automatically, freeing up an employee's time. By linking systems and XML Web services through XML, data exchange is significantly easier and processing that data requires little effort. In this example, the employees, Bob and Chris, only come into the equation once each - performing a one-click approval and initiating a transaction. What they aren't doing is spending time filling in expense reports or manually entering forms data into the accounting system to cut a check.

For enterprises and enterprise end users, .NET promises highly personalized, integrated applications derived from connected XML Web services, along with the flexibility delivered through smart devices.

What Stays The Same

Although Microsoft .NET brings about some radical changes in computing, many things will remain the same.

  • End users will still work with familiar interfaces within .NET experiences like Microsoft Office. This reduces retraining costs and means that end users can begin using .NET-enabled software immediately.

  • Hardware will still run operating systems like Windows, UNIX, Windows CE, and PalmOS. In fact, .NET increases the number of places where software can be running while simultaneously reducing the development burden. Because XML Web services only communicate with devices through XML, any smart device can use an XML Web service.

  • Developers will still use their preferred programming language. The .NET platform, through the .NET Framework's Common Language Runtime, enables XML Web services to interoperate whatever their source language. .NET experiences are equally agnostic; you can build them out of XML Web services written in Visual Basic®, Java, even COBOL. This neutrality means that no one has to rip and replace current assets to participate in the .NET universe.

  • Legacy systems do not need to be replaced. Some of Microsoft's .NET products are specifically designed to make it simple to integrate existing assets into new .NET XML Web services and .NET experiences. Host Integration Server, for example, simplifies access to mainframes, and BizTalk Server manages business process orchestration that includes existing systems and data formats, while making the necessary automated conversions of data to XML.

So this next generation of distributed computing builds on the current generation. Microsoft .NET isn't a wholesale replacement of software applications as we know it, but rather a natural evolution that will bring the benefits of collaboration and interoperability to the isolated technology islands we now have.

Summary

Microsoft .NET is Microsoft's XML Web services platform. This is the next generation of Internet computing, using XML to communicate among loosely coupled XML Web services that are collaborating to perform a particular task. Microsoft's .NET strategy delivers a software platform to build new .NET experiences, a programming model and tools to build and integrate XML Web services, and a set of programmable Web interfaces.

The transition to .NET is happening now. Microsoft has announced the first parts of the .NET Platform - the .NET Framework, Visual Studio .NET, and several building block services - and the first .NET experiences. Microsoft will develop more tools and services this year and next. Early adopters are working on XML Web services for release in 2001. You can take your first steps towards .NET today.

Appendix A: Microsoft .NET Resources

You'll find a wide range of information about .NET on Microsoft Web sites:

  • Microsoft.com .NET site (http://www.microsoft.com/net): The definitive resource for what .NET is and why it matters. It includes information for developers, IT pros, and businesses on the advantages of .NET and how to benefit from them. In addition to the latest news on Microsoft's .NET activities, there are links to more Microsoft Web sites focused on key .NET technologies and product offerings.

  • MSDN® Online .NET Information (http://msdn.microsoft.com/net): A rich source of information for developers worldwide who want to use .NET technologies and tools.

  • Visual Studio.NET home page (http://msdn.microsoft.com/vstudio/nextgen): Product information for the rapid application development environment Visual Studio.NET.

  • More information on SOAP (http://msdn.microsoft.com/soap): Information about SOAP, one of the key enabling technologies for the XML Web services model and .NET.

  • ASP.NET site (http://www.asp.net/): Information about ASP.NET, Microsoft's Active Server Pages programming tools upgraded for .NET.

  • GotDotNet (http://www.gotdotnet.com/): More than 900 tutorials and code samples that demonstrate ASP.NET and the .NET Framework.

  • MSDN Online XML Developer Center (http://msdn.microsoft.com/xml): Information about XML, one of the key enabling technologies for the XML Web services model and .NET.

  • .NET Enterprise Servers site (http://www.microsoft.com/servers/net): Product information on the set of servers which, along with the next generation of the Windows server operating system, provide the infrastructure for running .NET solutions.

  • Microsoft Passport home page (http://www.passport.com/): Information about Passport, one of the first building block services

 

(c) 2001 Microsoft Corporation. All rights reserved.
The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.
This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.
Microsoft, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners. 
Microsoft Corporation * One Microsoft Way * Redmond, WA 98052-6399 * USA