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:
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:
Microsoft's .NET strategy delivers these three things. .NET includes:
The .NET PlatformMicrosoft's .NET platform comprises the tools you need to create and run XML Web services. It has four components: .NET Framework and Visual Studio .NETThese 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 infrastructureThe 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:
Building block servicesThe 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:
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 experiencesEnd 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 BenefitsMicrosoft .NET provides many benefits - to programmers, to business leaders, to IT departments, to consumers.
How Microsoft .NET Changes ComputingMicrosoft .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 UsersHere'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 EnterprisesBob, 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 SameAlthough Microsoft .NET brings about some radical changes in computing, many things will remain the same.
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. SummaryMicrosoft .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 ResourcesYou'll find a wide range of information about .NET on Microsoft Web sites:
(c) 2001 Microsoft Corporation. All rights reserved. |