|
|
| .Net Overview |
| The .NET Framework is a development framework that provides a new programming interface to Windows services and APIs,
and integrates a number of technologies that emerged from Microsoft during the late 1990s. Microsoft announced the .NET initiative in July 2000.
In April 2003, Version 1.1 of the integral .NET Framework was released. This book describes this updated version of the .NET Framework. |
| The .NET platform consists of four separate product groups: |
| Development tools and libraries |
| A set of languages, including C#, J#, and VB.NET; a set of development tools, including Visual Studio .NET; a comprehensive class library for building web services and web and Windows applications;
as well as the Common Language Runtime (CLR). These components collectively form the largest part of the .NET Framework. |
| Specialized servers |
| A set of .NET-enabled enterprise servers, including SQL Server, Exchange Server, BizTalk Server, and so on.
These provide specialized functionality for relational data storage, email, and B2B commerce. Future versions of these products will increasingly support
the .NET Framework. |
| Devices |
| INew .NET-enabled, non-PC devices, from cell phones to game boxes. |
| Web services |
| An
offering of commercial web services, specifically the .NET Services initiative;
for a fee, developers can use these services in building applications
that require them. |
| Behind Microsoft .NET |
| While the main strategy of .NET is to enable software as a service, .NET is much more than that. In addition to embracing the Web, Microsoft .NET acknowledges
and responds to the following trends within the software industry: |
| Distributed computing |
| Simplifies the development of robust client/server and multi-tier (n-tier) applications.
Traditional distributed technologies require high vendor-affinity and are unable to interoperate with the Web. Microsoft .NET provides remoting
and web services architectures that exploit open Internet standards, including the Hypertext Transfer Protocol (HTTP), Extensible Markup Language (XML),
and Simple Object Access Protocol (SOAP) and WSOL. |
| Componentization |
| Simplifies the integration of software components developed by different
vendors and supports development of distributed applications. The Component
Object Model (COM) has brought reality to software plug-and-play, but
COM component development and deployment are too complex. Microsoft .NET
provides a simpler way to build and deploy components. |
| Enterprise services |
| Allow the development of scalable enterprise applications without writing
code to manage transactions, security, or pooling. Microsoft .NET continues
to support COM and component services, since these services greatly reduce
the development time and effort required to build large-scale applications. |
| Web paradigm shifts |
| Over the past decade, web application development has shifted from connectivity
(TCP/IP), to presentation (HTML), to programmability (XML and SOAP). A
key goal of Microsoft .NET is to enable the sharing of functionality across
the Web among different platforms, devices, and programming languages. |
| Maturity of IT industry |
Lessons that the software industry has learned from developing large-scale
enterprise and web applications. A commercial web application must support
interoperability, scalability, availability, security, and manageability.
Microsoft .NET facilitates all these goals.
Although these are the sources of many ideas embodied by Microsoft .NET,
what's most notable about the platform is its use of open Internet standards
(HTTP, XML, and SOAP) at its core to transmit information from one machine
to another across the Internet. In fact, .NET provides bidirectional mapping
between XML and objects. For example, a class can be expressed as an XML
Schema Definition (XSD); an object can be converted to and from an XML
buffer; a method can be specified using an XML format called Web Services
Description Language (WSDL); and a method call can be expressed using
an XML format called SOAP.
|
| The .NET Platform |
| The Microsoft .NET platform consists of five main components, as shown
in Figure 1-1. At the lowest layer lies the operating system (OS), which
can be one of a variety of Windows platforms, including Windows XP, Windows
2000, Windows Server 2003, Windows ME, and Windows CE. As part of the
.NET strategy, Microsoft has promised to deliver more .NET device software
to facilitate a new generation of smart devices. |
 |
On top of the operating system is a collection of specialized server products that shortens the time
required to develop large-scale business systems. These server products include Application Center, BizTalk Server, Commerce Server, Exchange Server,
Host Integration Server, Internet Security and Acceleration Server, and SQL Server.
Since web services are highly reusable across the Web, Microsoft provides
a number of building-block services (officially called .NET Services)
that applications developers can use, for a fee. Two examples of .NET
Services that Microsoft offers include .NET Passport and .NET Alerts.
.NET Passport allows you to use a single username and password at all
web sites that support Passport authentication. .NET Alerts allow .NET
Alert providers, such as a business, to alert their consumers with important
or up-to-the-minute information. Microsoft plans to add newer services,
such as calendar, directory, and search services. Third-party vendors
are also creating new web services of their own.
The top layer of the .NET architecture is a development tool called Visual
Studio .NET (VS.NET), which makes possible the rapid development of web
services and other applications. A successor to Microsoft Visual Studio
6.0, VS.NET is an Integrated Development Environment (IDE) that supports
four different languages and features such as cross-language debugging
and the XML Schema Editor.
And at the center of .NET is the Microsoft .NET Framework—the main
focus of this book. The .NET Framework is a development and runtime infrastructure
that changes the development of business applications on the Windows platform.
The .NET Framework includes the CLR and a common framework of classes
that can be used by all .NET languages.
|
| CLR Environment |
The CLR is the underlying .NET infrastructure. Its facilities cover all
the goals that we spelled out in Chapter 1. Unlike software libraries
such as MFC or ATL, the CLR is built from a clean slate. The CLR manages
the execution of code in the .NET Framework.
Note Here:
Figure 2-1 shows the two portions of the .NET environment, with the bottom
portion representing the CLR and the top portion representing the CLR
executables or Portable Executable (PE) files, which are .NET assemblies
or units of deployment. The CLR is the runtime engine that loads required
classes, performs just-in-time compilation on needed methods, enforces
security checks, and accomplishes a bunch of other runtime functionalities.
The CLR executables shown in Figure 2-1 are either EXE or DLL files that
consist mostly of metadata and code.
|
 |
|