Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 17

®

Microsoft
.NET Explained

Paradigm Shift to Distributed Computing Over the Internet

By Daniel Rubiolo, J.D. MEIER, Edward JEZIERSKI, Alex MACKMAN

Abstract

This article describes how new technologies, new tools, and new approaches to application
development are allowing a shift to an Internet-based distributed computing model. It also discusses
the market conditions and technology advancements that have provided the foundations for .NET.
This is a preliminary document and may be changed substantially prior to final
commercial release of the software described herein.
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, AS TO THE INFORMATION IN THIS
DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user.
Without limiting the rights under copyright, no part of this document may be
reproduced, stored in or introduced into a retrieval system, or transmitted in any
form or by any means (electronic, mechanical, photocopying, recording, or
otherwise), or for any purpose, without the express written permission of Microsoft
Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other
intellectual property rights covering subject matter in this document. Except as
expressly provided in any written license agreement from Microsoft, the furnishing of
this document does not give you any license to these patents, trademarks,
copyrights, or other intellectual property.
 2001 Microsoft Corporation. All rights reserved.
Microsoft, ClearType, MSN, MS-DOS , the .NET logo, MSDN, Visual Basic, Visual
C++, Visual Studio, 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.
0501
CONTENTS
INTRODUCTION.........................................................................1

TECHNOLOGY TRENDS.............................................................2
Centralization 2
Decentralization 2
Turning Full Circle 2
Limited Interaction 4
Peer to Peer 4
A Web Services Model 4
Potential for Innovation 5
Nurturing Creativity 6

SERVER TECHNOLOGY.............................................................7

CLIENT SOFTWARE TECHNOLOGY...........................................8

SMART DEVICES......................................................................10
The PC 10
The PDA 10
Smart Phones 11
Xbox 11
The Tablet PC 11

MICROSOFT .NET VISION........................................................13


Development Tools 14

CONCLUSION...........................................................................16

APPENDIX: LINKS TO RESOURCES.........................................17


Vision 17
Executive’s Views 17
General Sites to Visit 17
TECHNOLOGY TRENDS
INTRODUCTION
This article describes how the rapid evolution and wide spread pervasiveness of the
Internet coupled with the increased processing power of new consumer devices
enables a new breed of distributed application development . The article also
discusses the background behind .NET and the market conditions and technology
advancements that have provided its foundations.

For more in-depth explanations, refer to the other articles in this Microsoft .NET
Explained series:

 What is Microsoft .NET? Examines what the Microsoft® .NET vision means to
business and IT professionals and to the future of software applications. It
describes the .NET vision and explains the competitive advantages it will bring
to businesses.
 Why Microsoft .NET? Describes the technologies that constitute the .NET
platform and the advantages they bring to developers.
The increase in processing power as well as the increase and availability of
bandwidth over the last decade have provided for advances in the way computing
can occur – to distribute the processing power to the edge of the network, to a
range of new, smart devices. Using the Internet to distribute processing power to
where it makes the most sense, provides for more intelligent applications and
interactions – as well as offering new architectural opportunities that move away
from the traditional client/server model.

The traditional browser model, upon which application development has focused
over the last five years or so, is showing its age. New development tools and
standards together with new models for building the next generation of Internet-
based applications allow the software industry to move beyond this approach,
creating a platform built with integration by design.

Before looking ahead, we will look back at how traditional models have evolved
through various eras of computer technology.

Centralization
In the 1960s, before the dawn of personal computing, the mainframe ruled the
computing world. Remote terminals providing the user interface were very limited in
functionality and were concerned solely with display protocols such as 3270,
governing how characters should be output onto the screen. All of the innovation
was on the mainframe, and some of these innovations, most notably transaction
processing, and the development of high-level programming languages have
benefited the industry tremendously as it has moved forward.

Decentralization
The advent of Personal Computers with their capacity to run applications locally
reversed the model. Most of the innovation moved from the central mainframe down
to the client PC. The PC, largely because of the MS-DOS® and Windows®
operating systems, became a focal point for the software industry enabling rich,

Paradigm Shift to Distributed Computing Over the Internet 1


client-side applications to be developed. During this era, servers acted as little
more than gatekeepers managing and serving files to the client applications that
requested them.

Turning Full Circle


With the advent of the Internet, the World Wide Web and the Web browser, the
situation has reversed once again and the pendulum has swung back towards a
more centralized view.

Fig. 1: First Generation Internet model: Web Sites pushes HTML to Browsers.

The Internet revolutionized the way that users interacted with applications and
significantly extended the reach of the personal computer. Ten years ago, the
number of applications that you had at your disposal was typically limited to a
dozen. Now you can sit down at your browser, type in a URL, and gain access to
applications and information anywhere in the world.

The problem however with this first generation Internet model, is that it doesn't let
you adapt the information you receive at the client or perform any significant or
intelligent local processing. You are limited to providing simple keyboard input and
are very limited in the choice of client device that you can connect with. This is
essentially due to the limitations of the HTML (Hyper Text Markup Language)
presentation protocol.

Today’s Internet is very much a browse only world, where the browser provides a
porthole view on the oceans of information that is available. You are extremely
limited in your ability to manipulate, annotate or add value to the information you
retrieve.

Today’s model of human-computer interaction is also distinctly limited and involves


two isolated worlds. There is one world in which you browse for information and
another world where you process the information you receive. As an example, take
a look at the task bar at the bottom of your screen. You probably have a couple of
browser windows open at any given time, and a couple of other applications where
you actually perform your work. This is an example of one world for browsing, and
another world for processing information.

2 Microsoft .NET Explained


The browser itself is little more than a graphical version of the 3270 terminal, and
like the terminal offers little in the way of intelligent client-side processing. The
processing power is located on the server, and it generates an HTML-based static
picture of its output and returns that to the client. Every time you want to do
something, you are forced to send a new request back to the server, asking it to
perform some additional processing. In a world of powerful and cheap client-side
devices, the client’s capabilities are being wasted.

Limited Interaction
Today’s centralized browser-based model is interactive, but only in a limited way.
The user has to initiate the interaction, for example by entering a URL or clicking a
link. It is very hard for the Internet to do things automatically on the user’s behalf.

Another principal limitation with today’s centralized model is that the servers can’t
communicate with one another. It is very easy for you to access any Web site, but
when you want arbitrary Web sites to interact with one another other, to provide an
aggregated or composite service, this requires a huge amount of expensive custom
development. Today, there are tens of millions of Web sites in existence, but they
are all islands. Making these sites interact and work with one another is very difficult
to achieve using today’s technologies.

Peer to Peer
For certain scenarios, the peer-to-peer model, where clients communicate directly
with other clients, bypassing a server, offers great potential and delivers useful
solutions today. While centralized servers are required to perform certain tasks in
certain problem domains, they are not always required. Instant messaging, such as
that provided by MSN® is one of the best and most successful examples of a
solution built using the peer-to-peer model.

While many new and successful applications, providing extensive collaboration


environments are being developed using this model, it is not suitable for all
scenarios. For example, when two people want to work asynchronously with one
another, a server is required. Similarly, a server is required when an application
requires that a client be authenticated for security reasons. Sometimes your client
device will be very limited, and it won't have enough power to perform the
processing you require. This is another example of a scenario requiring a server to
perform heavy duty processing and content conversion to adapt the content to a
format suitable for the device.

While the peer-to-peer model is important, it only provides a partial solution.

A Web Services Model


Today, people are starting to work with new classes of devices, for example
wireless devices, and devices connected to broadband television networks. This is
resulting in tremendous challenges for server-side development. Parallel sets of
infrastructure are often developed to solve this problem, where one Web site is built
specifically for delivering information to the PC, another one is built for delivering

Paradigm Shift to Distributed Computing Over the Internet 3


content to wireless devices, and a third one delivers content to a TV set-top box.
This kind of redundancy is clearly inefficient and costly, and alternative approaches
are required.

The dilemma faced by application developers today is that they need to provide
solutions satisfying a diverse range of client devices, with varying screen resolutions
and form factors. Furthermore, the information presented to these devices needs to
be personalized, and often combined from multiple data sources hosted by a variety
of different servers. Clearly, a terminal oriented-model for the client or a pure file-
sharing model for the server is inadequate. The solution requires that rich
information be expressed and exchanged in both directions.

The XML Web services model provides such an approach. XML Web services are
software components, or islands of functionality programmatically accessible over
the Internet using open Internet protocols including HTTP (Hyper Text Transfer
Protocol) for transport, and XML (eXtensible Markup Language) for rich and flexible
data representation. As the interaction between an XML Web service and its client
is governed entirely by open Internet standards, any device or platform that
supports these standards can host or consume Web services. The XML Web
services programming model is entirely platform independent, and is ideally suited
to the heterogeneous nature of the Internet.

Fig. 2: The Web Services (Software-to-Software) Model of Microsoft .NET

Using XML Web services, the possibilities are limitless. Servers that need to interact
with other servers can do so, servers can interact with clients, and clients can
interact with each other. For example, if you walk into a meeting room and have a
client device in your hand, and there are other people in the room with similar client
devices you ought to be able to retrieve, provide, and exchange information with
them. In this respect, the solution requires client-to-client, client-to-server, and
server-to-server elements, but built around one standard, and using the features
and intelligence that is built into these devices

Potential for Innovation


In a participatory environment, you are no longer looking at information through a
porthole. When you visit a Web site and retrieve stock or portfolio information, you

4 Microsoft .NET Explained


require more than simple static text in your browser. You want the information
delivered directly to an application such as Microsoft Excel so you can start to
manipulate it, add value to it, and perform intelligent processing on the information.

This approach requires smart clients, for example clients that can work offline,
perform local processing, and are not dependent on the server for every operation.
In addition to the interactive access that is commonplace today, you will increasingly
see applications on the Internet communicating with one another without human
intervention. Unleashing programmatic access such as this is incredibly powerful
and has the potential to transform the services provided by the Internet today.

Once programmatic access is a reality, instead of having tens of millions of islands


on the Internet, these islands can be connected together very easily and they
become a set of interlocking building blocks.

Nurturing Creativity
The XML-based Web services model is not tied to particular hardware architectures,
thanks to the open and the platform independent standards that XML Web services
are built upon. XML Web services will provide the infrastructure for the next
generation of Internet applications that will transform your Internet experiences.
While embracing the peer-to-peer model on the one hand, servers also have a
significant role to play. You will be able to access personalized and up to date
information, and will be presented with a single unified view of this information,
despite the fact that the information may have been obtained from many individual
Web sites and applications.

This is true, irrespective of the client device you are using to access information.
The user interface is completely independent from the processing that is occurring
on the Web server. For example if you want to write a Web application that deals
with twenty different types of screen phones each with different resolutions,
keyboard layouts and so on, the server application generates XML, and the
mapping to the individual screen phone can then be performed by very simple XML
transformation logic that executes either on the server, or on the client depending
on how feature rich and powerful it is.

One of the most exciting aspects of the move to a software-to-software, XML Web
services model is that it allows information to be instantly customized and tailored to
suit the particular client device you are currently using. For example, if you use a
new client device for the first time, as soon as you are authenticated, the device will
locate the appropriate set of XML Web services that you have chosen to manage
your information, and retrieve the appropriate information. You will not have to
manually replicate data between applications.

This model also supports intelligent information agents; XML Web services that
contain rules defining the types of information you would like to be notified with.
They can also poll for changing information that you are interested in, for example
new products or price changes, and bring those to your attention. This approach
puts you in control of the information you share, and how your time gets used.

Paradigm Shift to Distributed Computing Over the Internet 5


CLIENT SOFTWARE
SERVER TECHNOLOGY
TECHNOLOGY
Advances in server technology are essential to move into the next generation of the
Internet and computing. The Internet today is full of servers that are too slow, and
fail because they have no element of redundancy. Windows 2000 was Microsoft’s
first operating system that included software-scaling technology, which allows
multiple physical servers to be grouped together, presenting the notion of a single
logical server. Software scaling is a fundamental advance, essential for both
scalability and reliability.

Through the .NET platform, businesses and others will be able to turn key
processes into XML Web services. From the schedule for a doctor’s office to the
catalog for a book seller or a mechanism to determine the proper exchange rate for
world currencies – XML Web services created and hosted by one company or
individual can be used by millions of others in any number of combinations to
produce a variety of highly personal, intelligent computing experiences.

This distributed model of computing will put increasing demands on server


infrastructures, requiring an agile, highly reliable platform.

Windows 2000 Server and the .NET Enterprise Servers with their built-in security,
their support for XML and their ability to quickly scale-out to meet increased
demands provide the best solution to host and deploy XML Web services and the
.NET platform.

Advances in client software are equally as important as server advancements. Each


device using client software will optimize the way information is presented and
gathered – from converting text to speech to recognizing handwriting and voice
commands. These advancements in client software, coupled with the constant
improvements in power and mobility in smart devices offer to change the ways in
which users interact with technology.

Windows XP, the next generation Windows operating system for the PC – the
ultimate smart device – is scheduled for release in the fall of 2001. Windows XP
represents advances for home and business computing. Windows XP will set the
standard for dependability and performance and will unlock the power of the PC for
all users. It will deliver an intelligent, connected and dependable engine to power
experiences on the .NET platform. For home users, Windows XP will enable
everyone to have the power of digital photos, video, music and a connected home.
Business users will enjoy communications, mobility and Internet support
experiences.

“Talisker,” the code name of the successor to Windows CE 3.0, will be built to
deliver a robust real-time embedded operating system for small footprint devices.
Talisker will enable developers to quickly bring to market smart connected devices
that take advantage of the latest wireless and multimedia technology. It will act as
an operating platform for many smart devices extending the reach of the .NET
platform.

6 Microsoft .NET Explained


SMART DEVICES
Windows XP Embedded is the componentized version of the Windows desktop
Operating System enabling embedded developers and device makers to take
advantage of the many new features in Windows XP and quickly bring to market
rich x86 based smart devices. Windows XP Embedded will deliver a highly
componentized platform for a broad range of smart client devices such as set top
boxes, retail kiosks, thin clients and much more.

In addition to the client software, Microsoft is developing a platform for XML Web
services.  The .NET Framework and the device focused .NET Compact Framework
provide a managed, secure execution environment for XML Web services and
applications.  The .NET Framework is based on open Internet standards that enable
developers to create applications that are loosely coupled and message driven.

Support for XML is provided from the ground up in the .NET Framework. The
Common Language Runtime is the engine in the .NET Framework that provides this
environment and is designed to support developers using many different languages
to create applications. It has a unified type system and enables cross-language
inheritance and debugging. By using the .NET Framework developers have the
quickest and most productive way of building applications that are truly 3rd
generation XML Web services and applications.

With advancements and improvements in client software – the ability to use XML,
the Common Language Runtime, and others – consumer devices can become
“smart”. Smart devices that are smart about you (and can use your .NET identity
and identity-based services), smart about the network (including the ability to work
both online and offline), smart about information (and optimizes how that
information is displayed and acted on), smart about other devices (including other
devices you use to access your information, and devices used by other users that
you want to contact or exchange data with), and smart about services (including
knowing what services are available to a user and how to access them). 

Client software powering smart devices will allow end users to quickly and efficiently
retrieve customized data from diverse data sources and perform intelligent and
automated searches against both local and remote data sources. This will take the
place of time consuming browsing.

There are many categories of client hardware. The PC is still the most significant
today. The growth of PC sales in the last year is actually greater than the combined
volume of all the other client types put together. However, other client types will
undoubtedly increase in popularity, and as a result, Microsoft is probably investing
more in different kinds of software adapted to different client hardware than any
other company.

Paradigm Shift to Distributed Computing Over the Internet 7


Fig. 3: Several devices to take advantage of.

The PC
The PC itself is still evolving rapidly. The consistent yearly increases in processing
power over the last decade has enabled the PC to evolve into the hub of family
computing. Increasingly, numerous other devices – from stereos, to cameras, to
even the home refrigerator – are being networked to the home PC. The use of
XML Web services will allow closer integration between these devices, allowing for
information to be quickly and easily shared among them.

The PDA
The Personal Digital Assistant (PDA), such as the Windows-powered Pocket PC is
also advancing rapidly. The demand for such devices has been phenomenal.
Companies including Compaq and HP have had to significantly increase their
manufacturing rate, and they still haven't been able to keep up with the demand.

Fig. 4: Pocket PC

PDAs today include color screens, streaming media support and other rich features,
and have more power than the PC did ten years ago. A limiting factor is the screen
size although connectivity speeds are increasing. Because XML presents data in
uncoupled from display characteristics, the options for creating applications and
services that can address a wide number of devices, including the smaller screens
of the PDA, are possible.

8 Microsoft .NET Explained


Smart Phones
The Smart phone further extends the value of a mobile phone. It provides a mix
of online and offline applications to keep you connected to important and time-
critical information. Microsoft plans to combine the best of the PDA and the best
of the phone to create a platform to keep people intelligently connected —
whether by voice, e-mail or other means. “Stinger”, the Microsoft® Smart phone
platform, will offer users current personal information and e-mail as well as
robust Web-browsing capabilities. The platform will include a Web browser that
supports HTML, WAP (WML) and XML formats.

Fig. 5: Stinger phone

Xbox
Scheduled for release in fall 2001, Xbox is Microsoft's future-generation video game
console. Xbox takes advantage of the .NET platform enabling users to regularly
update their games as well as interact with others across the country and world via
a broadband connection. For more information see http://www.xbox.com/

The Tablet PC
Prototypes of these devices have been shown already at various events. Microsoft
has been working closely with processor manufacturers, disk manufacturers, and
pen recognition technology specialists on the development of the Tablet PC.

The Tablet PC supports direct manipulation, which allows you to point to items on
the tablet’s surface in order to move, select and choose them. Direct manipulation
will not only be limited to the tablet form factor, but will also be supported by larger
CD devices that you will have on your desk and wallboards on your office walls.
Direct manipulation, along with speech recognition are going to be key, new
elements of the Windows platform available to the next generation of applications.

Paradigm Shift to Distributed Computing Over the Internet 9


MICROSOFT .NET
VISION

Fig. 6: Tablet PC

This list has illustrated some of the exciting new client devices that are available
now and in the short term future. Among the ever-increasing array of client
hardware devices, the PC will remain a key player. All of these devices will have
complimentary roles, and with built-in support for XML thru its client software, they
will be able to interact and work together in a variety of ways.

.NET is Microsoft’s platform for XML Web services, the next generation of software
that connects our world of information, devices and people in a unified, personalized
way.

The .NET platform enables the creation and use of XML-based applications,
processes, and Web sites as services that share and combine information and
functionality with each other by design, on any platform or smart device, to provide
tailored solutions for organizations and individual people.

10 Microsoft .NET Explained


Fig. 7: XML enables communications between servers, and the development of Foundation
Services.

This platform is fundamentally based on XML together with its related family of
standards. The ability of XML to convey self-describing data in a platform neutral
manner, promises to deliver a solution to this essential software requirement, and
offers a degree of flexibility and consistency that has never yet been achieved.

Central to the .NET platform are XML Web services. These are essentially Internet-
based components providing reusable and programmable pieces of functionality.
Microsoft .NET will provide developers with a series of core XML Web services
or .NET building block services, that can be combined with other XML Web services
and custom application code to provide key functionality such as user
authentication, notifications, and calendar functions - key plumbing that developers
will not have to recreate.

The canonical example of building block service is Microsoft Passport. Passport is


one of today’s most widely accessed Web site in the world, but very few people
have ever typed the address http://www.passport.com directly into a browser. Users
are presented with options to sign up for Passport from a variety of Web sites.
Additionally, once users of the service wish to use the service on numerous partner
sites, the integration between the Passport service and the Web site is such that the
users rarely realize they have left the host Web site. This illustrates a key point.
Passport provides a service, which can be incorporated within other Web
applications on other Web sites. It allows Web sites to out-source the authentication
process, freeing developers to work on business functions.

Increasingly more and more data will be pushed to client devices using XML. The
data received by the clients is no longer a static picture of what happens on the

Paradigm Shift to Distributed Computing Over the Internet 11


server, but the clients will receive the raw data with which they can perform local
rich client processing, to manipulate the data and add value to it.

This approach also supports the peer-to-peer model where clients can talk directly
to other clients. The XML Web services approach results in a distributed processing
model that doesn't try to push every operation through a server, resulting in less
potential bottlenecks.

Another advantage of a service-based model is that it allows clients to always use


the latest version of a piece of software. This is in contrast to today’s model, where
to apply an update, you must go out and buy a new CD. As software becomes as
service, the application can be hosted in the Internet cloud and accessed when
needed. This allows for constant updates and improvements in the software and a
closer relationship between the end user and the software provider.

XML Web services and improvements in client software will also lead to better
support options for end users. If necessary you will be able to connect directly
through remote computing , a feature in upcoming release of Windows XP to
receive direct support.

Development Tools
To make application development with XML Web services simpler and to ensure
that XML-based Web services become prevalent, new development tools that work
at a higher level than today’s tools are being developed. As an analogy, when the
graphical user interface was introduced, it took a long time before significant
numbers of applications were developed. This was because initially, the necessary
development tools were not available, and you were forced to work at a low level,
dealing with message loops and so forth.

Visual Studio.NET and the .NET Framework provide the core set of development
tools for the .NET platform, allowing developers to quickly and easily develop XML
Web services and the next generation of Internet applications. It provides an
evolutionary path to .NET and component development for C and C++ developers,
and to the object oriented world in .NET for developers using Visual Basic®.

Microsoft has created a new programming language designed for an XML Web
Services world, called C# (pronounced "C-sharp"). C# has been submitted for
standardization to ECMA, a vendor-neutral international standards organization
committed to driving industry-wide adoption of information and communications
technologies. This standardization will make it possible for any company which
wishes to implement C# programming tools on any platform to do so.

Microsoft has also submitted a subset of the .NET Framework, called the Common
Language Infrastructure (CLI), to ECMA. This will make it possible for other vendors
to implement the CLI on a variety of platforms, so that software written using the
basic architectural model presented by the .NET Framework be created using a
variety of tools on a variety of platforms.

12 Microsoft .NET Explained


CONCLUSION
APPENDIX: LINKS TO
RESOURCES
The evolution of the Internet, consumer devices, communications, and server
technology is providing for the development of new integrated user experiences
through the use of the next generation of software. This software will provide the
platform to develop the next generation of Internet-based applications. These
applications will seamlessly interact with one another through XML Web Services,
and will provide users with precisely the personalized information they require, at
any time, from any place, using any client device.

.NET is Microsoft’s platform for XML Web services, the next generation of software
that connects our world of information, devices and people in a unified, personalized
way.

The .NET platform enables the creation and use of XML-based applications,
processes, and Web sites as services that share and combine information and
functionality with each other by design, on any platform or smart device, to provide
tailored solutions for organizations and individual people.

The .NET platform includes a comprehensive family of products, built on industry


and Internet standards, that provide for each aspect of developing (tools), managing
(servers), using (building block services and smart clients) and experiencing (rich
user experiences) XML Web services. .NET will become part of the Microsoft
applications, tools, and servers you already use today – as well as new products
that extend XML Web service capabilities to all of your business needs.

The following list is not a complete, exhaustive list of articles, but it provides you
pointers to the most clarifying .NET articles.

Vision
http://www.microsoft.com/business/vision/netwhitepaper.asp

http://www.microsoft.com/presspass/features/2000/sept00/09-26enterprise.asp

http://www.microsoft.com/business/vision/default.asp

http://www.microsoft.com/PressPass/features/2000/sept00/09-06uddi.asp

http://www.key3media.com/comdex/fall2000/daily/webcasts/index.html

Executive’s Views
http://www.microsoft.com/business/vision/gates.asp

http://www.microsoft.com/business/vision/ballmer.asp

http://www.microsoft.com/business/vision/muglia.asp

General Sites to Visit


http://www.microsoft.com/net

http://msdn.microsoft.com/net

Paradigm Shift to Distributed Computing Over the Internet 13


http://www.GotDotNet.com

http://www.asp.net

http://commnet.pdc.mscorpevents.com

http://www.microsoft.com/servers/net/default.htm

http://www.ibuyspy.com

14 Microsoft .NET Explained

You might also like