Legal Information
PC Knowledge Base - .Net Frameworks Architecture

Good Knowledge Is Good2Use

At the core of The .NET Frameworks is a component called the Common Language Runtime or CLR that is a lot like an operating system that runs within the context of another operating system (such as Windows ME or Windows 2000). This is not a new idea. It shares traits in common with the Java Virtual Machine, as well as the environments of many interpreted languages such as BASIC and LISP that have been around for decades.

The purpose of a middleware platform like the CLR is simply that a common OS like Windows is often too close to the hardware of a machine to retain the flexibility or agility required by software targeted for business on the Internet. Software running on the CLR (referred to as Managed Code) is exceptionally agile! Unlike interpreted languages managed code runs in the native machine language of the system on which it is launched. In short, developers write code in any of a number of languages. The compiler generates binary executable software in a p-code format called Common Intermediate Language or CIL for short. When the software is launched, the CLR re-compiles or JIT-compiles (Just In Time) the CIL into native code such as x86 machine language. Then the code is executed full speed ahead.
P-code technology is not a new idea (Pascal p-code compilers have existed since the mid-seventies). The .NET Frameworks stitches together these tried-and-tested ideas in some new ways.

Another component of The .NET Frameworks is a massive library of reusable object-types, or built-in functions, called the Frameworks Class Library or FCL. The FCL contains hundreds of classes to perform tasks ranging from the mundane, such as file reads and writes, to the exotic, such as advanced cryptography and web services. Using the FCL you get software as a service with trivial development costs.

The CLR is intrinsically object-oriented; even its CIL (the p-code, which can be viewed as a virtual assembly language) has instructions to manipulate objects directly. The Frameworks Class Library reflects the platform's object-oriented nature.

Finally, The .NET Frameworks contains a collection of tools and compilers that help to make programming to this new environment productive and enjoyable. Over twenty language compilers are currently being designed for the .NET Frameworks, including five offerings from Microsoft: Visual Basic, C# (pronounced See-Sharp), C++, JavaScript and CIL.

The CLR and the .NET Frameworks in general, however, are designed in such a way that code written in one language can not only seamlessly be used by another language, but it can also be naturally extended by code written in another programming language.
Developers are comfortable with calling functions. Developers are also comfortable (or can quickly become comfortable) with using "objects" in their software. These things take little time and effort by comparison to difficult tasks such as memory management and network programming. So the .NET Frameworks is designed from the ground-up to make the difficult tasks either automatic (such as memory management) or to expose them as objects and function calls.

Whether you use the .NET Frameworks to write the client or the web-service, you will interoperate seamlessly with clients and servers running on other platforms so long as they adhere to web-service standards like SOAP.
The Common Language Runtime needs to be installed on the machine. The web-service example, on the other hand, requires a little help from ASP.NET (now part of the .NET Frameworks) and Internet Information Services. IIS and ASP.NET take care of the scalable network communication and "plumbing" while your code just deals with business logic.



Search Knowledge Base Feedback
If you like our web site refer a friend.
Your friends name.
Your friends email address.
Your Name
Your Email Address


© Copyright 1998-1999 GOOD2USE