This article includes main drawbacks with what we have now and the need of a new programming paradigm .NET.
In late 1995, Microsoft started refocussing themselves to make a shift towards the Internet. They certainly succeeded in marrying their Windows platform to the Internet. Windows was established as a serious Internet platform as well as platform for Windows DNA programming model.
Now the question is what is window DNA ? "Windows DNA is the realization of an operating system that exposes various services and facilities that make it possible to build applications using a logical design process."
The defination is very vague, but still specific.It says to build applications we need a logical design process.Windows DNA IS A multitired, distributed application model. It provided a set and services which are part of operating systm infrastructure.
Example how Windows DNA solves the problem ?
One old application was written using DOS and Assembler.The application needed to communicate to a server and did so using custom socket library.In this application alone there are three communication mechanisms. Windows DNA solves this by saying the communication is a service called COM which is one layer and very easy to plug and play. COM is cornerstone of Windows DNA.
What is wrong with what we have now ?
As we discussed, in late 1995 Microsoft had made dramatic shift towards Internet and to do this, it had to do some serious compromises to quickly produce Internet based tools and technologies.In particular, active server pages has been viewed as a bit clumsy. Any ways, writing interpreted script was a real step backwards from structured and object oriented development. Also designing, debugging and maintaining such unstructured code is also a headache.
Languages like VB have been used in Internet applications on Microsoft platforms. But mostly as components that work through Active Server Pages. Microsoft has made a few attempts to place a web interface on traditional languages such as "Web classes" in VB but it has not been able to gain wide acceptence.
In Windows DNA, there are two major choices for user interfaces-Win 32 clients and browser based clients.
Win 32 clients most often produced with a tool like visual basic , are often simplest to create and offer rich user interface. The limitation is that such software is difficult to maintain and deploy. It requires an install on every client and a change to every client when an upgrade is needed. Besided this DLL conflicts on the client are frequent because of variations in the version of operating system and other software installed on the client.This conflicts are serious and expensive to repair. This is called as DLL hell.
Middle tier in DNA application should encapsulate as much of the business processing is possible. VB is the most common language to write middle tier components. This is a more sophsticated type of development than for typical form based VB programmes. It requires higher level of expertise in COM and object oriented programming concept. Component scalability is also an issue which could be implemented with MTS or COM+ in Windows 2000.
Components in middle tier must work together. Versioning all the components properely so that they understand each other's interfaces can be a challange.
To store data for long term use, a RDBS-Relational Database System is required with the most common options being Microsoft SQL server or Oracle. If data is more based on documents are messages, a messaging data store such as Exchange may be required.
PROBLEMS WITH DNA MODEL
In-experienced developers have a lot of opportunity for inappropriate choices, such as putting logic on the client that belongs on the server, or creating VBScript for formatting when CSS might work better.
Designing a complex DNA based solution calls for a high level of expertise with a number of different technologies.
Developing COM components on the server and sometimes on the client require a very high level of development expertise that takes a lot of time to reach.
Also deployment of middle tier is a critical issue bacause many problems can arise from versioning and installation of components.
VB does not offer multithreading, inheritance and other OOPS features. Also it is not compatible with other languages such as C++.
VB has very poor error handling capability and Web Classes has no effective user interfaces for Internet based applications.
THE SOLUTION .NET FRAMEWORK
I .NET is the framework that covers all the layers of software development above the operating system. It provides the richest level of integration amongst presentation technologies, data technologies and component technologies ever seen on a Microsoft, or perhaps any platform.
II The entire architecture has been created to make it as easy to develop Internet applications, as it is to develop desktop.
The framework starts all the way down at the memory management and component loading level, and goes all the way upto multiple ways of rendering user and program interfaces.
In between there are layers that provide just about any system level capability that a developer would need. At the base is the Common Language Runtime, often abbreviated as CLR. This is the heart of the .NET framework. It is the engine which drives the key functionality and makes cross-language inheritance possible.
The middle tier includes ADO.NET and XML.
The top layer includes user and program interfaces.
Courtesies : VB.NET Programming by Wrox : ASP 2.0 Unlished by TechMedia