Professional Documents
Culture Documents
Microsoft: Paradigm Shift To Distributed Computing Over The Internet
Microsoft: Paradigm Shift To Distributed Computing Over The Internet
Microsoft
.NET Explained
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
SMART DEVICES......................................................................10
The PC 10
The PDA 10
Smart Phones 11
Xbox 11
The Tablet PC 11
CONCLUSION...........................................................................16
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,
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
.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 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
http://msdn.microsoft.com/net
http://www.asp.net
http://commnet.pdc.mscorpevents.com
http://www.microsoft.com/servers/net/default.htm
http://www.ibuyspy.com