NET framework and common language runtime Essay
NET framework and common language runtime
The . NET framework is a component of Windows that enables the running of more advanced applications and XML Web services (DePetrillo, 2002). One of the main aim of coming up with this framework is to enable applications to have a consistent object-oriented programming methodology. It is also useful in that it eliminate software deployment and the execution of code safely without problems of scripting and interpreted environments. Microsoft. NET is also referred to as Windows DNA, it was a Microsoft’s previous platform used for developing all enterprise applications.
It includes a variety of proven technologies which are in the production they include Microsoft Transaction Server (MTS) and COM+, Microsoft Message Queue (MSMQ), the Microsoft SQL Server database. Common Language Runtime provides the . NET framework applications an environment to execute. These language runtime includes common type system Just-in-time compiler, manages memory and gives compiler the security required. Design of . NET and Common Language Runtime (CLR) The design of . NE framework gives of room for interoperability.
.NET frameworks have a way of allowing applications which were developed in the framework to still operate in environments outside of . NET environment. The ability to access COM components is made possible by . NET developers which are in the SRIS and the System Services namespace. With this platform, communication between old and new applications is increasing and is becoming a reality. The design of . NET and CLR also allows for security implementation for applications. .NET has two features for security for their mechanisms for security. These two features include validation and verification, and Code Access Security.
The latter feature uses the association with specific assembly (DePetrillo, 2002). Normally, the assembly source acts as the evidence regardless of whether they are installed on the local machine or has been downloaded from the Internet. This mechanism uses evidence to determine permissions that are given to the code. With other code, they can demand that calling code be given a specific permission. This demand normally enables CLR to countercheck the permissions; called call stack walk. This is a situation whereby for every assembly of each method in the stack is scrutinized for the required permissions.
An exception is thrown if an assembly does not have the right permissions. When an assembly is launched, the CLR performs very many tests. Two of the tests include validation and verification. The verification purpose is to check if the code will do anything which is not safe. Also, . NET framework uses appdomains to isolate code running in a process (DePetrillo, 2002). The appdomains help when there is a crash in a system. In case one application crushes in a system, the other applications within that system will not be affected. An example of security problem is the buffer overflows.
This is taken care of with the use of . NET framework. The stability of . NET is assured because it brings with it the end of manual memory management. The . NET framework does memory management by itself thus freeing the user the burden of doing this. The memory that was allocated for instantiations of objects meant for . NET is done contiguously from memory heap. This heap is normally managed by CLR. The . NET also manages garbage collection. This is done by the garbage collector which is compacting and non-deterministic. Memory leakage is an example of stability issue that is solved with the use of .
NET framework. The last design feature added to . NET and CLR is the addition of class libraries. These libraries help in maintenance of the applications because one does not have to create applications afresh. Someone seeking to add some more functionality to their applications or do some maintenance will just use the class libraries available at their disposal to achieve all these. The class libraries is a collection of thousands of interfaces, classes, structures and enumerations that are aimed at adding functionality of core system and application services in order to ease programming.
There are various classes that someone can use to manipulate the file system. For example there are classes to manipulate XML files, classes to manipulate databases, and serialize objects. In addition to the availability of vast collection of libraries in . NET, the user also has the capability of creating their own classes which they can use in many applications (DePetrillo, 2002). Advantages and disadvantages of . NET Framework Microsoft. NET offers a variety of features such as the time-to-market which are not found in others like the J2EE.
It gives a fairly complete solution from the single vendor-Microsoft which may lack some higher end features. With the Microsoft. NET there is one place to get similar information since there is no question of what is the shared context repository. There is an established passport which is an active system. Microsoft. NET gives one the language neutrality when coming up with their new eBusiness applications thus allowing one to view other languages as one application. The cons It does not support a true web services since it lacks the support for ebXML. Microsoft.
NET does not give tactics for improving the performance thus not allowing the developers to introduce errors into their systems. It requires qualified developers who are well educated and can handle more hand-holding. It is difficult to maintain since the . NET supports Win32 only in which a large number of machines are required. Microsoft. NET web services are not interoperable with the present industry standards since their BizTalk framework has proprietary SOAP extensions which do not support ebXML. References DePetrillo, B. A. (2002). Think Microsoft. NET. Que.