4.4 SOFTWARE DESCRIPTION
ASP.NET is more than the next version of Active Server Pages (ASP), it is a unified web
development platform that provides the services necessary for developers to build enterprise-
class web applications. While ASP.NET is largely syntax compatible with ASP, it also provides
a new programming model and infrastructure for more secure, scalable, and stable applications.
User can feel free to augment user existing ASP applications by incrementally adding ASP.NET
functionality to them.
ASP.NET is a compiled, NET-based environment; user can author applications in any
.NET compatible language, including Visual Basic .NET, C#, and JScript .NET. Additionally,
the entire .NET Framework is available to any ASP.NET application runtime environment, type
safety, inheritance, and so on.
ASP.NET has been designed to work seamlessly with WYSIWYG (What you see is what
you get) HTML editors and other programming tools, including Microsoft Visual Studio .NET.
Not only does this make web development easier, but it also provides all the benefits that these
tools have to offer, including a GUI that developers can use to drop server controls onto a web
page and fully integrated debugging support.
Developers can choose from the following two features when creating an ASP.NET
application, web Forms and web services, or combine these in any way they see fit. Each is
supported by the same infrastructure that allows user to use authentication schemes, cache
frequently used data, or customize user application’s configuration, to name only a few
ADO.NET provides consistent access to data sources such as Microsoft Access, as well
as data sources exposed via OLEDB. Data sharing consumer applications can use ADO.NET to
connect to these data sources and retrieve, manipulate and update data.
ADO.NET cleanly factors data access from data manipulation into discrete component
that can be separately or in random. ADO.NET includes .NET data providers for connecting to
the database, executing commands, and retrieving results.
Features of ASP.NET
• Web forms allows user to build powerful forms based web pages. When building these
pages, user can use ASP.NET server controls to create common GUI elements and program
them for common tasks.
• Using web services, business can expose programmatic interfaces to their data or business
logic which in turn can be obtained and manipulated by client-server or server-server
• If users have ASP development skills, the ASP.NET programming model will be seem very
familiar to user however the ASP.NET object model has changed significantly from ASP,
making it more structured and object-oriented.
• ASP.NET provides easy-to-use application and session – state facilities that are familiar to
• ASP.NET code is compiled, rather than interpreted, which allow early binding, strong typing
and just-in-time (JIT) compilation to native code to name only a few of its benefits.
Microsoft SQL Server is a relational database server, developed by Microsoft. It is a
software product whose primary function is to store and retrieve data as requested by other
software applications, be it those on the same computer or those running on another computer
across a network (including the Internet).
There are at least a dozen different editions of Microsoft SQL Server aimed at different
audiences and for different workloads (ranging from small applications that store and retrieve
data on the same computer, to millions of users and computers that access huge amounts of data
from the Internet at the same time).
Microsoft SQL Server is an application used to create computer databases for the
Microsoft Windows family of server operating systems. Microsoft SQL Server provides an
environment used to generate databases that can be accessed from workstations, the Internet, or
other media such as a personal digital assistant (PDA).
Whenever a query is submitted to SQL Server, the SQL engine must make decisions
about how to go about retrieving the data for the user. Inside the SQL Server query processing
engine, there is a section of code called the query optimizer whose function is to find the most
efficient means of retrieving data at that particular time. This query optimizer compares different
possible methods of retrieving the data (called execution plans) and then chooses one. Once this
is done, the query engine goes about using this plan to retrieve the data requested by the query.
In any database system, returning data to the client must be done as efficiently and
quickly as possible to minimize contention. If the database server spends an inordinate amount of
time processing one query, the performance of other queries will suffer. In order for the server to
find the most efficient method of satisfying the query, it must spend resources examining the
query and comparing different methods of retrieving the data. This overhead, however, is often
returned to the user in overall time savings when the most efficient method of satisfying the
query is chosen. This is similar to climbing an unfamiliar mountain.
There are different types of query optimizers used in various relational database
management systems. Microsoft SQL Server uses a “cost-based” query optimizer in determining
which of the various methods of retrieving data it will pick and send to the query engine. A cost-
based optimizer assigns a cost to each method of retrieving data based on the resources required
to process the query. Processor time, disk I/O, etc. are all assigned costs based on the number of
rows that must be examined in a particular operation.
Once the optimizer has assigned the costs, it sums up the total cost for each execution
plan that was investigated. Based on the design of the system, the query optimizer chooses an
execution plan, which is then sent to the query engine for processing. SQL Server does not
always choose the execution plan with the lowest total resource cost as one might expect.
Instead, SQL Server is designed to pick the execution plan that is reasonably close to the
theoretical minimum and will return results to the client as quickly as possible with a reasonable
cost. The definition of reasonable will change as conditions within the SQL Server and the load
changes. This results in a dynamic, efficient query optimizer that delivers some of the best
performance in the industry.