“The . NET Framework is an integral Windows component that supports building and running the next generation of applications and XML Web services. ” (MSDN) The objectives of the . NET framework include providing a consistent environment for local and remote execution, minimizing deployment and versioning conflicts, ensuring consistent performance across Windows and Web based applications, and promoting industry standard code that easily integrates with any other code. The three key parts in the . NET framework that make these possible are:
? Common Language Runtime ? Base Class Library ? Assemblies Parts of the . NET Framework Common Language Runtime The Common Language Runtime (CLR) manages systems services such as memory management, code execution, compilation, and code safety verification. The CLR is at the heart of interoperability by providing a common environment for different codes to run. “The incorporation of ‘language’ features into a common language runtime, rather than a particular language, allows languages to freely interoperate within the overall . NET platform. ” (Sessions)
The CLR provides a secure and robust environment for execution, multi-language support, simplified development and deployment. To provide the required functionality, the CLR provides cross-language integration, cross-language exception handling, support for different versions, deployment support, and debugging and profiling services. (MSDN) One of the major strides that has been made with the introduction of the . NET platform is the feature of language independence. This means that any . NET-enabled language can be used to create code, and can be integrated with other parts of the program.
This functionality is achieved by . NET through the use of an Intermediate Language into which all source codes are converted to provide a common basis for execution. The CLR employs a Just-In-Time compilation (JIT) process that includes only those parts of the code that are required at runtime to be compiled. The JIT includes a feature of caching that allows it to re-use code that is used more than once within a program, making the process faster and more efficient. (Evjen et al. 8) The CLR uses metadata that keeps track of the types, members and references within the code.
All common runtime executable versions contain the metadata, which tells the program where to look for classes and helps if to manage memory, enforce security and generate native code. The CLR makes it possible to share classes and methods across languages, using a common type system that is defined during runtime. (Evjen et al. 9) The metadata enables the code to run as “managed code”, which runs under the CLR following the rules set by it. This ensures that the services mentioned earlier such as code-access security, lifetime control of objects and memory management, and cross-language integration of code can be provided by the CLR.
From the above it can be seen that the Common Language Runtime is basic to some of the major breakthroughs in the . NET environment, and is therefore, a very important part of it. Base Class Library The second major part of the . NET framework is the Base Class Library. The Base Class Library contains classes and types that expedite the development process, as well as allow the sharing of these, to provide easy and common means for accessing system functionality, and execute common tasks. The . NET types conform to Common Language Specifications that apply to all .
NET enabled languages. This makes it possible to write code in any of these languages using these types. This represents one of the major contributions to interoperability between languages, which is at the heart of the . NET approach. Thus Base Class Library forms the second most important part of the . NET framework. The . NET framework provides a number of abstract and concrete classes that make it possible to write powerful programs in any one or a combination of the supported languages. The framework also provides a rich repertoire of interfaces.
The rich functionality provided by the interfaces can be used by either using an existing class that implements these interfaces and by deriving a user defined class from them, or can be implemented by creating a class that implements these interfaces. The . NET applications, controls and components depend on the type definition, which is one of the constituents of the Base Class Libraries. This enables the framework to handle various functions such as encapsulating data structures, perform I/O and invoke security checks. (MSDN)
From the above it can be seen that much of the functionality of the . NET framework is derived from, and is dependent on, the Base Class Libraries. Assemblies As we have seen, the Common Language Runtime and the Base Class Libraries represent the bases on which the crucial and differentiating features of the . NET framework are built. These provide a common framework for developing the application. The next most important aspect of an application is to run it. This is facilitated by Assemblies. “Assemblies are the building blocks of .
NET Framework applications; they form the fundamental unit of deployment, version control, reuse, activation scoping, and security permissions. ” (MSDN). The Assemblies contain resources and types that are required at runtime. The Common Language runtime is possible because of Assemblies, because they provide vital information that makes the runtime application aware of the types and other resources used. This makes it possible to run an integrated application that contains diverse codes written in a variety of CLR-enabled languages.
The Assembly contains code that the common language runtime executes. The Intermediate Language code depends on associated assemblies to be executed. Thus the Assemblies are fundamental to the . NET framework, and allow the parts to function at runtime. For this reason, they represent the third most critical part of the . NET framework. Conclusion The . NET framework is distinguished by its ability to integrate and run code written in a variety of languages, and to operate the system securely and consistently under different environments such as remote and local execution.
These features have become possible because of the three essential parts of the framework, namely the Common Language Runtime, Base Class Libraries, and Assemblies. Works Cited 1. Evjen, Bill, et al. Visual Basic . NET Programming Bible. New Delhi: Wiley Dreamtech India (P) Ltd. , 2004. 2. MSDN. 2007. Overview of the . NET Framework. Microsoft Corporation. 22 March 2007. http://msdn2. microsoft. com/en-us/library/a4t23ktk. aspx 3. Sessions, Roger. 28 March 2001. J2EE versus the . NET Platform: Two Visions for E-Business. ObjectWatch, Inc. 22 March 2007. <http://www. objectwatch. com/FinalJ2EEandDotNet. doc>