Thursday, September 19, 2024

.NET Overview, Advantages and Features

This article starts with an overview of the .Net technology and also compares the features and advantages of .Net with earlier technologies such as COM and DNA.

The article also provides an insight into the benefits of the .Net technology for the learner, be they, individual users or developers.

Overview

.NET is an object-oriented programming (OOP) model introduced to help developers create Internet-based distributed systems. It provides a platform-independent framework that enables developers to quickly build, deploy, and manage Web-based applications, smart client applications, and XML Web services applications. The platform-independence feature enables businesses to quickly integrate their systems, information, and devices, thereby helping users collaborate and communicate effectively.

COM and DNA

Before the development of .NET, COM and DNA technologies were used for application development on Microsoft platforms. COM is Microsoft’s framework for developing and supporting program component objects. DNA is a framework that integrates Web applications with the n-tier model of development. It is used to develop cost-effective solutions that can meet the demands of the Internet, intranet, global e-commerce, and corporate computing.

Drawbacks of Pre .NET Technologies

Programmers mostly used Microsoft Visual Basic (VB) and Microsoft Visual C++ (VC++) for developing applications using the COM/DNA technologies. However, these technologies and the programming languages had several drawbacks.

Limitations of VC++ in COM/DNA Applications

The other language used by programmers to work with COM and DNA applications was VC++. However, VC++ is a complex language. It has too many data types. Additionally, exchange of data between different layers was difficult because of data type compatibility issues. To resolve such issues, developers had to be familiar with various libraries, such as Software Development Kit (SDK), Microsoft Foundation Class (MFC), Active Template Library (ATL), and COM.

Drawbacks of COM/DNA

Apart from the limitations resulting from VB and VC++, the COM/DNA technologies had several other drawbacks. These drawbacks became apparent as these technologies were extended into larger enterprise-level settings and as integration with the Internet became necessary. Some such drawbacks of COM/DNA technologies included difficulty in integrating Internet technologies, difficulty in side-by-side execution of components, and deployment issues.

Difficulty in Integrating Internet Technologies

The growth of the Internet has lead to the need of a tool for developing Internet-based technologies. To address this need, Microsoft developed ASP. However, ASP was not meant for structured and object-oriented development. It was also difficult to design, debug, and maintain ASP code.

The existing technologies lacked the ability to communicate with users through HyperText Transfer Protocol (HTTP) and HyperText Markup Language (HTML). Developers required a standard that could enable processes to communicate over the Internet. However, COM and DNA did not provide any such standard.

Difficulty in Side-by-Side Execution of Components

With DNA, it is difficult to have side-by-side execution of components. In side-by-side execution of components, different versions of a component can coexist and run simultaneously on the same machine and within the same process.

When a new application is installed with DNA, it overwrites the existing version of the shared component with a new version of the component. Usually, the new version is not backward-compatible with the existing applications. Therefore, though the new application works, existing applications that depend on the old version start functioning incorrectly or stop functioning completely.

COM and Deployment

COM components are difficult to deploy. The COM standard was developed for use on systems having limited memory and was designed with a focus on memory sharing between applications. The Dynamic Link Libraries (DLLs) on such systems were shared between applications to save memory.

Deployment Issues

The process of sharing DLLs between applications resulted in several deployment issues. DLLs had to be registered in the local Windows Registry so that components required to run an application could be located quickly. This resulted in other limitations. For instance, you could not place a COM application on a CD-ROM or a network drive and then run it from that location without an installation procedure.

Benefits of .NET

To address the limitations of COM and DNA, Microsoft designed the .NET platform for Internet-based applications. .NET manages the scripting limitations of COM and DCOM and makes component development an easy task. .NET provides the core technologies for developing Web services. Therefore, it not only benefits individual users but also organizations and developers.

Two major benefits of .NET include side-by-side execution of code and decentralized registration of components.

Benefits of .NET: Side-by-Side Code Execution

.NET supports side-by-side execution of the code that helps resolve versioning problems. This feature solves the problem of overwriting of a shared component by allowing multiple versions of a component to be installed and run simultaneously on the same computer. Therefore, .NET developers are not required to maintain backward compatibility because different applications can use different versions of a shared component.

.NET developers can also specify the version and dependencies between different software components. The dependencies are stored with the components in an assembly and this information helps maintain application integrity. Each application can request to use a specific version of the component. At runtime, the stored information is used to load the correct version of the dependency. .NET generates errors if components are not loaded, missing dependencies are found, or tampered files are detected.

Benefits of .NET: Decentralized Registration of Components

.NET also reduces problems that occur because of centralized registration of components in the Registry. It does not use the Registry for component registration. Instead, it stores information about the components with the code and retrieves this information directly from the files at runtime.

When an application instantiates a new component, the application directory and other predefined locations for the component are scanned. When the component is located, information about the component is cached for future use. This decentralized registration of components minimizes the chances of applications interfering with each other. You also do not need to register and unregister components. Therefore, deployment of applications becomes easy and can be done by simply copying files into a directory.

Benefits of .NET to Individual Users

.NET provides an integrated, mobile computing experience to individual users. Data can be integrated from a range of computing hardware, such as laptops, Pocket PCs, Smartphones, and other devices. This enables users to access information easily regardless of their location.

In addition, .NET applications can be installed using XCOPY. Users can easily install desktop applications on the client computers by simply copying the files on their computers from a remote Web server or from a disk. Further, .NET applications are not dependent on the Registry. Therefore, it is easy to remove or replicate them. To remove or replicate the applications, users simply need to delete the files or copy over them.

Benefits of .NET to Developers

.NET provides developers with an integrated set of tools for building Web services quickly and cost-effectively. Developers can use these tools to create scalable solutions that can work across different computing devices.

About the Article:

The article ‘Fundamentals of. Net’ forms the first part of the online course titled ‘Introduction to .Net’ by TeachMeIT. The course is principally designed for programmers who want to learn the .Net fundamentals before moving on to working with .Net technologies such as ASP.Net and VB.Net.

Add to Del.icio.us | DiggThis | Yahoo! My Web | Furl

TeachMeIT.com (www.teachmeit.com), a US-based leading Online IT courses provider, offers a catalogue of over 250 courses in several technologies, from desktop application essentials and the basics of graphics software, to topics such as website development, database administration and object-oriented programming.

Related Articles

1 COMMENT

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles