Thursday, October 30, 2008

.Net Application

The Microsoft .NET Framework
The .NET Framework is Microsoft's managed code programming model for building applications on Web, Windows clients, servers, and mobile or embedded devices. Developers use .NET to build applications of many types: Web applications, server applications, smart client applications, console applications, database applications, and more. The .NET Framework is the infrastructure for the Microsoft .NET platform. The .NET Framework is an environment for building, deploying, and running Web applications and Web Services. Microsoft's first server technology ASP (Active Server Pages), was a powerful and flexible "programming language". But it was too code oriented. It was not an application framework and not an enterprise development tool. The Microsoft .NET Framework was developed to solve this problem. .NET Frameworks keywords: -> Easier and quicker programming -> Reduced amount of code -> Declarative programming model -> Richer server control hierarchy with events -> Larger class library -> Better support for development tools
The .NET Framework consists of 3 main parts:
1.Programming languages:
-> C# (Pronounced C sharp)
-> Visual Basic (VB .NET)
-> J# (Pronounced J sharp)
-> Visual C++
->Many other Custom made Languges are avilable to support .net framework (FORTRAN, COBOL etc.)

2.Server technologies and client technologies:
-> ASP .NET (Active Server Pages)
-> Windows Forms (Windows desktop solutions)
-> Compact Framework (PDA / Mobile solutions)

3.Development environments:
-> Visual Studio .NET (VS .NET)
-> Visual Web Developer

To support this variety, the .NET Framework includes a broad set of supporting class libraries, including:
Windows Presentation Foundation (WPF), for visually stunning user experiences on Windows clients;
Windows Communication Foundation (WCF), enabling fast and flexible communications among applications across your enterprise;
Windows Workflow Foundation (WF), allowing developers to build workflows into any application;
ASP.NET, for high-performance and interactive Web-based applications;
Libraries for handling XML, data, IO, cryptography, text-to-speech, and more.
To develop these Applications we are using Powerful Languages C#.Net, VB.Net, J#, Vicual C++ etc. Almost every Application have the three layered Architucture as fallows
1.Presentaion Layer
2.Business Logic Layer and
3.Data Access Layer.

We will see brief about these layers
Presentation Layer: Presentation Layer is the Interface between both user and the system. Most simple presentation layers contain user interface components, such as Microsoft® Windows Forms or ASP.NET Web Forms. These components typically contain code to perform functions such as configuring the visual appearance of controls; accepting and validating user input; and acquiring and rendering data from data access logic components or business components. The presentation layer can also include user interface process components. User interface process components perform presentation layer tasks that are not directly concerned with user interactions. For example, user interface process components orchestrate the flow of control between forms in the presentation layer and coordinate background tasks such as state management and handling of concurrent user activities.

Business Logic Layer: Business Logic Layer is the interface between Presentation layer and the Data Access layer. This Business logic layer is usually one of the tiers in a multitier architecture. It separates the business logic from other modules, such as the Data access layer and Presentation Layer User interface. The business logic of an application can often withstand modifications or replacements of other tiers. For example, in an application with a properly separated Business logic layer and Data access layer, the Data access layer could be rewritten to retrieve data from a different database, without affecting any of the business logic. This practice allows software application development to be more effectively split into teams, with each team working on a different tier simultaneously. Within a Business Logic Layer objects can further be partitioned into Business Processes (aka Business Activities) and Business Entities. Business Process objects typically implement the Controller Pattern, ie: they contain no data elements but have methods that orchestrate interaction among Business Entities. Business Entities typically correspond to entities in the logical domain model (rather than the physical database model).

Data Access Layer:Data Access Layer is to provide data to your business objects without using database specific code. You accomplish this by exposing a series of data access methods from the Data Access Layer that operate on data in the data-tier using database specific code but do not expose any database specific method parameters or return types to the business tier. Any time a business object needs to access the data tier, you use the method calls in the DAL instead of calling directly down to the data tier. This pushes database-specific code into the DAL and makes your business object database independent.