Avoiding Confusion the Role of the .NET Enterprise Servers - Page 3
April 13, 2001
Microsoft has already released several products, which they
describe as part of the .NET Enterprise Server family. More of
these are coming, and most will be released by the time this book
is published. Some of the marketing literature for these products
emphasizes that they are part of Microsoft's .NET strategy.
However, it is important that you understand the difference
between these products and the .NET Framework, which is the major
focus of this book. The .NET Enterprise Servers are not built on
the .NET Framework. Most of them are successors to previous
server-based products, and they use the same COM/COM+
technologies their predecessors did.
Chapter 12 in this book summarizes these products and explains
their purposes. These .NET Enterprise Servers still have a major
role to play in future software development projects. When actual
.NET Framework projects are developed, most will depend on the
technologies in the .NET Enterprise Servers for functions like
data storage and messaging.
When this book refers to .NET, it should be understood that
this is generally intended to mean the technologies in the
Microsoft.NET Framework.
What's Wrong With What We Have Now?
Starting in late 1995, Microsoft made a dramatic shift towards
the Internet. The company was refocused on marrying their Windows
platform to the Internet, and they have certainly succeeded in
making Windows a serious Internet platform as well as a solid
platform for all the business-oriented software developed with
the Windows DNA programming model.
However, Microsoft had to make some serious compromises to
quickly produce Internet-based tools and technologies. In
particular, Active Server Pages (ASP) has always been viewed as a
bit clumsy. After all, writing reams of interpreted script is a
real step backwards from structured and object-oriented
development. Designing, debugging and maintaining such
unstructured code is also a headache.
Other languages such as Visual Basic have been used successfully
in Internet applications on Microsoft platforms, but mostly as
components that worked through Active Server Pages. Presently,
Microsoft's tools lack the level of integration and ease-of-use
for web development that would be ideal. A few attempts were made
to place a web interface on traditional languages, such as
WebClasses in VB, but none of these gained wide acceptance.
Microsoft has attempted to bring some order to the chaos with
their concept of Windows DNA applications. DNA paints a broad
picture of standard three-tier development based on COM, with
Active Server Pages in the presentation layer, business objects
in a middle layer, and a relational data store and engine in the
bottom layer. The concept behind DNA is reasonably sound, but
actually making it work has many challenges. Developing COM
components requires a level of development expertise that takes a
lot of time to reach, though some languages, such as Visual
Basic, make it easier than others. Also, the deployment of DNA
applications can be nightmarish, with many problems that can
arise from the versioning and installation of components, and the
components that they rely on.
Microsoft realized that, while it was possible to write good
Internet applications with Windows-based technologies, it was
highly desirable to find ways to develop applications faster and
make it far easier to deploy them. Other platforms (such as Unix)
and other development environments (such as ColdFusion) were
continuing to raise the bar for developing Internet applications,
making it essential that Microsoft address the limitations of the
DNA programming model.
The Origins of .NET
In the beginning 1998, a team of developers at Microsoft had just
finished work on a new version of Internet Information Server
(version 4.0), including several new features in Active Server
Pages. While developers were pleased to see new capabilities for
Internet development on Windows NT, the development team at
Microsoft had many ideas for its improvement. That team began to
work on a new architecture implementing those ideas. This project
eventually came to be known as Next Generation Windows Services
(NGWS).
After Visual Studio 6 was released in late 1998, work on the next
version of Visual Studio (then called Visual Studio 7) was folded
into NGWS. The COM+/MTS team brought in their work on a universal
runtime for all the languages in Visual Studio, which they
intended to make available for third party languages as well.
The subsequent development was kept very much under wraps at
Microsoft. Only key Microsoft partners realized the true
importance of NGWS until it was re-christened as .NET and
introduced to the public at the PDC. At that point, development
had been underway for over two years, and most attendees were
pleasantly surprised to see the enormous strides Microsoft had
made.
The concepts in .NET draw inspiration from many sources. Previous
architectures, from p-code in UCSD Pascal up through the Java
Virtual Machine, have similar elements. Microsoft has taken many
of the best ideas in the industry, combined with some ideas of
their own, and brought them all into one coherent package.
The .NET Framework an Overview
First and foremost, .NET is a framework that covers all the
layers of software development from the operating system up. It
provides the richest level of integration among presentation
technologies, component technologies, and data technologies ever
seen on a Microsoft platform. Secondly, the entire architecture
has been created to make it as easy to develop Internet
applications as it is to develop for the desktop environment.
.NET actually "wraps" the operating system, insulating software
developed with .NET from most operating system specifics such as
file handling and memory allocation. This prepares for a possible
future in which the software developed for .NET is portable to a
wide variety of hardware and operating system foundations. (Beta
one of Visual Studio.NET supports all versions of Windows 2000
plus Windows NT4, Windows 9x, and Windows Millennium
Edition.)
.NET Overview - Page 2
Introducing .NET
A Common Substrate for all Development - Page 4
|