|
The
.NET Framework is a multi-language component development and
execution environment that consists of three main parts:
Common language runtime. Despite its name, the runtime actually
has a role in a component’s development time and run time
experiences. While the component is running, the runtime is
responsible for managing memory allocation, starting up and killing
threads and processes, enforcing security policy, as well as
satisfying any dependencies that the component may have on other
components. At development time, the runtime’s role changes
slightly: because it automates so much (e.g., memory management),
the runtime makes the developer’s experience very simple, especially
when compared to COM today. In particular, features such as
reflection dramatically reduce the amount of code a developer must
write in order to turn business logic into a reusable component.
Runtimes are nothing new for languages: virtually every programming
language has a runtime. Visual Basic is the most obvious runtime
(the aptly-named VBRUN), but Visual C++ has one (MSVCRT), as do
FoxPro, JScript, SmallTalk, Perl, Python, and Java. The .NET
Framework’s critical role, and what really sets it apart, is that it
provides a unified environment across all programming languages.
Unified programming classes. The frameworks provide a unified,
object-oriented, hierarchical, extensible set of class libraries
(“APIs”) for developers to use. Today, C++ developers will use the
Microsoft Foundation Classes, Java developers will use the Windows
Foundation Classes, and Visual Basic developers will use VB’s APIs.
Simply put, the frameworks unify the disparate frameworks Microsoft
has today. The result is more than developers no longer having to
learn multiple frameworks. By creating a common set of APIs across
all programming languages, the .NET Framework enables cross-language
inheritance, error handling, and debugging. In effect, all
programming languages, from JScript to C++, become equals and
developers are free to choose the language that they want to use.
Active Server Pages+. ASP+ builds on the .NET Framework’s
programming classes, providing a “Web application model” in the form
of a set of controls and infrastructure that make it simple to build
Web applications. Developers are exposed to a set of ASP+ controls
that encapsulate common HTML user interface widgets such as text
boxes, drop down menus, and so on. These controls actually run on
the Web server, however, and simply project their user interface as
HTML to a browser. On the server, the controls expose an
object-oriented programming model that brings the richness of
object-oriented programming to the Web developer. ASP+ also provides
infrastructure services such as session state management and process
recycling that further reduce the amount of code a developer must
write and increase application reliability. ASP+ also uses these
same concepts to enable developers to deliver software as a service.
Using ASP+ Web Services features, ASP+ developers can simple write
their business logic and the ASP+ infrastructure will be responsible
for delivering that service via SOAP.
|