The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. The .NET Framework is designed to fulfill the following objectives.
' To give a reliable object-oriented programming background whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.
' To offer a code-execution environment that reduced software deployment and versioning conflicts.
' To give a code-execution environment that guarantees safe execution of code, including code created by an unknown or semi-trusted third party.
' To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments.
' To make the developer experience consistency across widely varying types of applications, such as Windows-based applications and Web-based applications.
' To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.
3.3 ASP.NET /SERVER APPLICATION DEVELOPMENT
Server-side applications in the managed world are implemented through runtime hosts. Unmanaged applications host the common language runtime, which allows your custom managed code to direct the behavior of the server. This model gives you with all the facilities of the common language runtime and class library while gaining the performance and scalability of the host server.
The following design gives a basic network schema with managed code running in different server environments. Servers such as IIS and SQL Server can carry out regular operations during your application logic executes through the managed code.
3.3.1 SERVER-SIDE MANAGED CODE
Developers can use the .NET Framework to target Web-based applications. This is enables through ASP.NET because that is the hosting environment. Though, ASP.NET is more than just a runtime host; it is a absolute architecture for developing Web sites and Internet-distributed objects with managed code. Not only Web Forms but also XML Web services use IIS and ASP.NET as the publishing mechanism for applications, also both includes a collection of supporting classes in the .NET Framework.
XML Web services, a significant development in Web-based technology, are distributed, server-side application components related to common Web sites. However, unlike Web-based applications, XML Web services components not include UI and are not aimed for browsers such as Internet Explorer and Netscape Navigator. As an alternative, XML Web services consist of reusable software components designed to be consumed by other applications, such as traditional client applications, Web-based applications, or even other XML Web services. As a result, XML Web services technology is rapidly moving application development and deployment into the extremely distributed environment of the Internet.
If you are familiar with earlier versions of ASP technology, you will directly notice the improvements that ASP.NET and Web Forms offers. For example, you can develop Web Forms pages in any language that supports the .NET Framework. Also, your code no longer wants to distribute the same file with your HTTP text (although it can continue to do so if you choose). Web Forms pages execute in native machine language because, similar to any other managed application, they take full advantage of the runtime. In contrast, unmanaged ASP pages are all the time scripted and interpreted. ASP.NET pages are faster, more functional, and easier to develop than unmanaged ASP pages because they interact with the runtime like any managed application.
3.3.2 ACTIVE SERVER PAGES.NET
ASP.NET is a programming framework built on the common language runtime that can be used on a server to build powerful Web applications. ASP.NET offers some important advantages more than earlier Web development models:
' Enhanced Performance. ASP.NET is compiled common language runtime code running on the server. Not like its interpreted predecessors, ASP.NET can take advantage of early binding, just-in-time compilation, native optimization, and caching services right out of the box. This amounts to dramatically enhanced performance before you ever write a line of code.
' World-Class Tool Support. The ASP.NET framework is complemented by a rich toolbox and designer in the Visual Studio integrated development environment. WYSIWYG editing, drag-and-drop server controls, and automatic deployment are some of the features this powerful tool provides.
' Power and Flexibility. Because ASP.NET is based on the common language runtime, the power and flexibility of that whole platform is accessible to Web application developers. The .NET Framework class library, Messaging, and Data Access solutions are all faultlessly reachable from the Web. Also ASP.NET also language-independent, so you are able to select the language that most suitable to your application or partition your application across many languages. Additionally, common language runtime interoperability guarantees that your existing investment in COM-based development is preserved when migrating to ASP.NET.
' Simplicity. ASP.NET makes it easy to perform common tasks, from simple form submission and client authentication to deployment and site configuration. For example, the ASP.NET page framework enables you to make user interfaces that neatly separate application logic from presentation code and to handle events in an easy, Visual Basic - like forms processing model. Furthermore, the common language runtime simplifies development, with help of managed code services such as automatic reference counting and garbage collection.
' Manageability. ASP.NET includes a text-based, hierarchical configuration system, which simplifies applying settings to your server environment and Web applications. Because configuration information is stored as plain text, new settings possibly applied without the support of local administration tools. This "zero local administration" philosophy continues to deploying ASP.NET Framework applications as well. An ASP.NET Framework application is deployed to a server just by copying the required files to the server. No server restart is necessary, even to deploy or replace running compiled code.
' Scalability and Availability. ASP.NET has been designed with scalability in mind, with facilities distinctively tailored to advance performance in clustered and multiprocessor environments. Also, processes are closely monitored and managed by the ASP.NET runtime, so that if one misbehaves (leaks, deadlocks), a new process will be created in its place, which useful to keep your application continually available to handle requests.
' Customizability and Extensibility. ASP.NET delivers a well-factored architecture that gives developers to "plug-in" their code at the appropriate level. Actually, it is possible to lengthen or replace any subcomponent of the ASP.NET runtime with your individual custom-written component. Implementing custom authentication or state services has never been easier.
' Security. Using inbuilt Windows authentication and per-application configuration, you can be certain that your applications are secure.
3.3.3 WHAT IS ASP.NET WEB FORMS?
The ASP.NET Web Forms page framework is a scalable common language runtime programming model that can be used on the server to dynamically generate Web pages.
Intended as a logical evolution of ASP (ASP.NET provides syntax compatibility with existing pages), the ASP.NET Web Forms framework has been exclusively designed to address a number of key deficiencies in the previous model. In particular, it provides:
' The capability to create and use reusable UI controls that can encapsulate common functionality and thus decrease the quantity of code that a page developer has to write.
' The facility for developers to cleanly structure their page logic in an orderly fashion (not "spaghetti code").
' The capability for development tools to provide strong WYSIWYG design support for pages (existing ASP code is opaque to tools).
ASP.NET Web Forms pages are text files with an .aspx file name extension. They can be deployed right through an IIS virtual root directory tree. When a browser client requests .aspx resources, the ASP.NET runtime parses and compiles the target file into a .NET Framework class. This class then can be used to dynamically process incoming requests. (Note that the .aspx file is compiled only the first time it is accessed; the compiled type instance is then reused across multiple requests).
An ASP.NET page can be created easily by using an existing HTML file and altering its file name extension to .aspx (no amendment of code is necessary).
ASP.NET provides syntax compatibility with existing ASP pages. This includes support for <% %> code render blocks that can be intermixed with HTML content within an .aspx file. These code blocks execute in a top-down manner at page render time.
Code-Behind Web Forms
ASP.NET facilitate for two methods of authoring dynamic pages. The first is the method where the page code is physically declared inside the originating .aspx file. And the second method calls as the code-behind method. This provides the page code to be more cleanly divided from the HTML content into a completely separate file.
3.3.4 INTRODUCTION TO ASP.NET SERVER CONTROLS
In addition to (or instead of) using <% %> code blocks to program dynamic content, ASP.NET page developers can use ASP.NET server controls to program Web pages. Server controls are declared within an .aspx file using custom tags or basic HTML tags that include a runat="server" attribute value. basic HTML tags are handled by one of the controls in the System.Web.UI.HtmlControls namespace. Any tag that doesn't clearly map to one of the controls is assigned the type of System.Web.UI.HtmlControls.HtmlGenericControl.
Server controls automatically maintain any client-entered values between round trips to the server. This control state is not stored on the server (it is instead stored within an <input type="hidden"> form field that is round-tripped between requests). Note also no need of client-side script is necessary.
Additionally to supporting regular HTML input controls, ASP.NET enables developers to utilize richer custom controls on their pages.
1. ASP.NET Web Forms offer an easy and powerful way to make dynamic Web UI.
2. ASP.NET Web Forms pages can aim any browser client (there are no script library or cookie requirements).
3. ASP.NET Web Forms pages gives syntax compatibility with on hand ASP pages.
4. ASP.NET server controls provide a simple way to encapsulate regular functionality.
5. ASP.NET featured with 45 built-in server controls. Developers can also use controls built by third parties.
6. ASP.NET server controls can automatically project both up level and down level HTML.
7. ASP.NET templates offer an easy way to modify the look and feel of list server controls.
8. ASP.NET validation controls provide an simple way to do declarative client or server data validation.
ADO.NET is a development of the ADO data access model that directly addresses user requirements for developing scalable applications. It was specifically design for the web with scalability, statelessness, and XML in mind.
It uses some ADO objects, such as the Connection and Command objects, more over introduces new objects. Main new ADO.NET objects include the DataSet, DataReader, and DataAdapter.
The significant difference between this evolved stage of ADO.NET and old data architectures is that there exists an object. This is the DataSet. That is detach and different from any data stores. Therefore, the DataSet functions as a standalone entity. You can imagine of the DataSet as an always disconnected recordset that knows nothing about the source or destination of the data it contains. Inside a DataSet, much like in a database, it includes tables, columns, relationships, constraints, views, and so forth.
A DataAdapter is the object that connects to the database to fill the DataSet. After that, it connects back to the database to update the data there, depend on operations performed while the DataSet held the data. At earlier stage, data processing mainly were connection-based. But now, with an attempt to make multi-tiered apps more efficient, data processing is changing to a message-based approach that revolves around bulk of information. At the middle of this approach is the DataAdapter, which gives a link to get back and save data among a DataSet and its source data store.
The DataSet is a XML-based object. It is provides a reliable programming model that works with all models of data storage: flat, relational, and hierarchical. It does this without having any 'knowledge' of the source of its data, and by representing the data that it holds as collections and data types. It doesn't matter what the source of the data within the DataSet is, it is manipulated through the same set of standard APIs showed through the DataSet and its subordinate objects.
While the DataSet has no knowledge of the source of its data, the managed provider has detailed and specific information. The role of the managed provider is to connect, fill, and persist the DataSet to and from data stores. The OLE DB and SQL Server .NET Data Providers (System.Data.OleDb and System.Data.SqlClient) that are part of the .Net Framework provide four basic objects: the Command, Connection, DataReader and DataAdapter. In the remaining sections of this document, we'll walk through each part of the DataSet and the OLE DB/SQL Server .NET Data Providers explaining what they are, and how to program against them.
The below sections will gives you idea about some objects that have evolved, and some that are new.
' Connections. For connection to and managing transactions against a database.
' Commands. For issuing SQL commands against a database.
' DataReaders. For reading a forward-only stream of data records from a SQL Server data source.
' DataSets. For storing, remoting and programming against flat data, XML data and relational data.
' DataAdapters. For pushing data into a DataSet, and reconciling data against a database.
Source: Essay UK - http://www.essay.uk.com/free-essays/information-technology/net-framework.php