Top Banner

of 61

Dot Net Report

Apr 10, 2018

Download

Documents

pardeepyadav20
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/8/2019 Dot Net Report

    1/61

    CHAPTER 1

    INTRODUCTION

    1.1 INTRODUCTION TO PROJECT

    \Today, many businesses implement ecommerce solutions such as selling books, music,

    and computer hardware. Dot-NET doesn't necessarily change the nature of these existing

    businesses. However, dot-NET can make it is easier to start new small businesses and

    allow customers to more easily find these businesses online. Microsoft is an active

    participant in efforts to develop the Universal Discovery, Description, and Integration

    (UDDI) system, that could turn out to be a worldwide registry service for dot-NET

    applications.

    This project is made by using the .NET technology. This technology is so

    much advanced. In this we are using the C# languase for coding and

    asp.net technology for designing the web pages .we are using SQL server

    2005 as a database. Dot-NET consists of a number of technologies that allow

    software developers to build Internet-based distributed systems. Individual pieces of

    these systems, called software components, can be built using several different

    programming languages and by several different organizations. Through a common set of

    core functionality, Dot-NET allows these components to work reliably with each other.

    The project online skill evaluation test provide the facility to check the

    skill a of student .

    (1)

  • 8/8/2019 Dot Net Report

    2/61

    1.2NECESSITY

    1.2.1 ADVANTAGE OF SYSTEM

    Consistent Programming Model

    Different programming languase have different approaches for doing a task.For example ,

    accessing accessing data with a VB 6.0 application and a VC++ application is totally

    different. When using different programming languages to do a task, a disparity exists

    among the approach developers use to perform the task. The difference in techniques

    comes from how different languages interact with the underlying system that applications

    rely on.

    Direct Support for SecurityDeveloping an application that resides on a local machine and uses local resources is easy. In this

    scenario, security isn't an issue as all the resources are available and accessed locally. Consider an

    application that accesses data on a remote machine or has to perform a privileged task on behalf

    of a nonprivileged user. In this scenario security is much more important as the application is

    accessing data from a remote machine.

    With .NET, the Framework enables the developer and the system administrator to specify

    method level security. It uses industry-standard protocols such as TCP/IP, XML, SOAP

    and HTTP to facilitate distributed application communications. This makes

    distributedcomputing more secure because .NET developers cooperate

    with network security devices instead of working around their security limitations.

    Simplified Development Efforts

    ASP.NET and the .NET Framework simplify development by separating the application

    logic and presentation logic making it easier to maintain the code. You write the design

    (2)

    http://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspx
  • 8/8/2019 Dot Net Report

    3/61

    code (presentation logic) and the actual code (application logic) separately eliminating

    the need to mix HTML code with ASP code. ASP.NET can also handle the details of

    maintaining the state of the controls, such as contents in a textbox, between calls to the

    same ASP.NET page.

    Another advantage of creating applications is debugging. Visual Studio .NET and other

    third party providers provide several debugging tools that simplify application

    development. The .NET Framework simplifies debugging with support for Runtime

    diagnostics. Runtime diagnostics helps you to track down bugs and also helps you to

    determine how well an application performs. The .NET Framework provides three types

    of Runtime diagnostics: Event Logging, Performance Counters and Tracing.

    Easy Application Deployment and Maintenance

    The .NET Framework makes it easy to deploy applications. In the most common form, to

    install an application, all you need to do is copy the application along with the

    components it requires into a directory on the target computer. The .NET Framework

    handles the details of locating and loading the components an application needs, even if

    several versions of the same application exist on the target computer. The .NET

    Framework ensures that all the components the application depends on are available on

    the computer before the application begins to execute.

    (3)

    http://www.startvbdotnet.com/dotnet/frameworkadvantages.aspxhttp://www.startvbdotnet.com/dotnet/frameworkadvantages.aspx
  • 8/8/2019 Dot Net Report

    4/61

    1.3 OBJECTIVE

    1.3.1PROPOSED SYSTEM

    In the new proposed system employee record, company details, has been kept

    the computer only once. The redundancy is minimum and the records are stored in

    reference to each other that is all the static data is stored at a place and users will picked

    from the particular location in reference to some common field. Thus it makes the

    retrieval of data more easy and convenient. The system is highly secure and it require

    password to log on and for connecting to the database.

    Menu Driven

    The project has many easy to use menus through which the user can easily

    communicate through the project and an easy navigational path to the user with full

    information where to click and what for.

    Validation checks and topics

    The validation checks mark a special importance in the computerized system. These

    checks are put to mark or validate the entries for a particular field, these checks provide

    the help to the end user to make entries in the particular field. Moreover since the

    computerized system use back ends to store the data it is very important to make sure that

    the data being supplied to the database must be free from the redundancy.

    (4)

  • 8/8/2019 Dot Net Report

    5/61

    Significance of the proposed system

    The proposed computerized system provides a fast access to the data retrieval and with

    fewer chances of error occurrence. The use of proposed system minimizes and make

    updation at a single press of button.The generation of the reports is easily done by the

    system on the single click of the button. The reports are more accurate in terms of figures

    and are more enchanting to look at.

    NEED OF PROPOSED SYSTEM

    The complexities involved in the existing manual system as studied by us and

    explored after discussions with the respective employees are as follows:

    1. Updating Problem:

    In the existing system, since every thing is noted down on paper, it is immense error

    prone and time consuming to update data.

    2. Redundancy:

    In the existing system the data is maintained on the sheets/register. This in turn leads

    to considerable redundancy in the stored data, thus leading to wastage of stored place.

    Same data needs to be written multiple numbers of times, for minor work, which again

    leads to data redundancy.

    3. Inconsistency:

    If the system is not aware of duplication of the data then there can be cases in which two

    entries of the same data will not agree. Obviously, such a system, which is in an

    (5)

  • 8/8/2019 Dot Net Report

    6/61

    inconsistent stage, is liable of supplying incorrect or conflicting information. Multiple

    entries of same data lead to erroneous situation, which are difficult to hand

    4. Security Problem:

    The maintenance of data on manual register leads to security problems, as every

    person has easy access to registers. Easy access of the registers leads to misusage of data

    and it is difficult to trace the modification made by a person.

    5. Maintenance of Data:

    Maintenance of data is very difficult. As daily hundreds of data are to be stored,

    so it is immensely difficult to store and trace data when required.

    1.4 ORGNISATION

    1.4.1 COMPANY PROFILE

    ABOUT APTECH

    Aptech Computer Education is the IT education brand ofAptech Limited. Established in

    1986, it is a pioneer in IT education.

    Through its wide network of centres in India and overseas, Aptech has so far trained 5

    million students.

    1.4.2Courses

    Aptech offers a wide range of courses. These include courses for12th pass/

    college students, courses forengineers as well as short-term courses to improve skills &

    knowledge in any one area.

    (6)

    http://www.aptech-education.com/pages/about-us/about-aptech.htmlhttp://www.aptech-education.com/pages/courses/index.htmlhttp://www.aptech-education.com/pages/courses/for-12th-pass-college-students.htmlhttp://www.aptech-education.com/pages/courses/for-12th-pass-college-students.htmlhttp://www.aptech-education.com/pages/courses/for-engineering-students/index.htmlhttp://www.aptech-education.com/pages/courses/short-term-courses.htmlhttp://www.aptech-education.com/pages/about-us/about-aptech.htmlhttp://www.aptech-education.com/pages/courses/index.htmlhttp://www.aptech-education.com/pages/courses/for-12th-pass-college-students.htmlhttp://www.aptech-education.com/pages/courses/for-12th-pass-college-students.htmlhttp://www.aptech-education.com/pages/courses/for-engineering-students/index.htmlhttp://www.aptech-education.com/pages/courses/short-term-courses.html
  • 8/8/2019 Dot Net Report

    7/61

    The company also has alliances with leading IT companies i.e. Sun Microsystems, Oracle

    & Red Hat to offer courses leading to certifications from these companies.

    The following courses are available:

    ACCP Career course (to become a complete IT professional)

    ACTS Career course (.NET & Java for engineering/ B.Sc-IT/ BCA/ MCA

    students)

    Sun, Oracle & Red Hat Certification courses

    Short-term courses

    Courses for 12th pass/ college students

    Courses for engineering students

    Courses for IT students

    Quality education

    Aptech gives great importance to quality of education.

    The company:

    Ensures that its course curriculum is as per the needs of the industry & is always

    kept updated.

    Provides high-quality learning aids - including books & CDs - to the students &

    faculty. These are developed specially by the company.

    (7)

    http://www.aptech-education.com/pages/courses/our-alliances.htmlhttp://www.aptech-education.com/pages/courses/sun-oracle-red-hat-certification-courses.htmlhttp://www.aptech-education.com/pages/courses/career-courses/accp.htmlhttp://www.aptech-education.com/pages/courses/career-courses/acts.htmlhttp://www.aptech-education.com/pages/courses/sun-oracle-red-hat-certification-courses.htmlhttp://www.aptech-education.com/pages/courses/short-term-courses.htmlhttp://www.aptech-education.com/pages/courses/for-12th-pass-college-students.htmlhttp://www.aptech-education.com/pages/courses/for-engineering-students/index.htmlhttp://www.aptech-education.com/pages/courses/for-it-students/index.htmlhttp://www.aptech-education.com/pages/why-aptech/quality-education/index.htmlhttp://www.aptech-education.com/pages/courses/our-alliances.htmlhttp://www.aptech-education.com/pages/courses/sun-oracle-red-hat-certification-courses.htmlhttp://www.aptech-education.com/pages/courses/career-courses/accp.htmlhttp://www.aptech-education.com/pages/courses/career-courses/acts.htmlhttp://www.aptech-education.com/pages/courses/sun-oracle-red-hat-certification-courses.htmlhttp://www.aptech-education.com/pages/courses/short-term-courses.htmlhttp://www.aptech-education.com/pages/courses/for-12th-pass-college-students.htmlhttp://www.aptech-education.com/pages/courses/for-engineering-students/index.htmlhttp://www.aptech-education.com/pages/courses/for-it-students/index.htmlhttp://www.aptech-education.com/pages/why-aptech/quality-education/index.html
  • 8/8/2019 Dot Net Report

    8/61

    Carries out regular training & certification of its faculty to ensure that they are

    able to handle even advanced IT topics.

    Supports classroom teaching with assignments, workshops & guided E-Projects.

    1.4.3 COMPANY PLACEMENT

    Aptech assists students in getting job placementson successful completion of their

    courses.

    Aptech also provides recruitment assistance to organizations. Aptech students are

    shortlisted based on the organization's requirement.

    To make students job-ready, Aptech conducts workshops e.g. how to do Group

    Discussions, how to behave in a Personal Interview. From time to time, job fairs &

    campus recruitments are conducted. Workplace skills such as time management, making

    effective presentations and communication skills are also provided.

    All this helps students find appropriate jobs in the IT industry while also helping save

    companies recruitment costs.

    1.4.4 Business partners

    IT education is a large market and a profitable business opportunity. Aptech has built a

    wide network of centres through its partnership with hundreds of franchisees.

    (8)

    http://www.aptech-education.com/pages/why-aptech/quality-education/e-projects.htmlhttp://www.aptech-education.com/pages/placements/index.htmlhttp://www.aptech-education.com/pages/placements/placement-for-students/placement-tips.htmlhttp://www.aptech-education.com/pages/why-aptech/workplace-skills.htmlhttp://www.aptech-education.com/pages/why-aptech/quality-education/e-projects.htmlhttp://www.aptech-education.com/pages/placements/index.htmlhttp://www.aptech-education.com/pages/placements/placement-for-students/placement-tips.htmlhttp://www.aptech-education.com/pages/why-aptech/workplace-skills.html
  • 8/8/2019 Dot Net Report

    9/61

    The passion and efforts of thesebusiness partners, along with the support given by

    Aptech, have made Aptech Computer Education a household name.

    The company is a pioneer in education franchising and has also set up nationwide

    network of centres for its brands, Arena Animation,N-Power Hardware &

    Networking and Avalon Academy.

    RETAIL BUSINESSES

    Aptech Computer

    Education

    IT training & education

    Arena AnimationAnimation &

    multimedia training

    Avalon AcademyAviation, Hospitality & Tourism education

    (9)

    http://www.aptech-education.com/pages/business-partners/index.htmlhttp://www.arena-multimedia.com/http://www.aptechnpower.com/http://www.aptechnpower.com/http://www.avalonacademy.in/http://www.aptech-education.com/http://www.aptech-education.com/http://www.arena-multimedia.com/http://www.avalon-aviation.com/http://www.avalon-aviation.com/http://www.arena-multimedia.com/http://www.aptech-education.com/http://www.aptech-education.com/pages/business-partners/index.htmlhttp://www.arena-multimedia.com/http://www.aptechnpower.com/http://www.aptechnpower.com/http://www.avalonacademy.in/http://www.aptech-education.com/http://www.aptech-education.com/http://www.arena-multimedia.com/http://www.avalon-aviation.com/
  • 8/8/2019 Dot Net Report

    10/61

    N-Power

    Hardware & networking

    Aptech WorldwideInternational IT &

    multimedia training

    English Express

    English language training

    (10)

    http://www.aptechnpower.com/http://www.aptech-globaltraining.com/http://www.englishexpress.in/http://www.englishexpress.in/http://www.aptech-globaltraining.com/http://www.aptechnpower.com/http://www.aptechnpower.com/http://www.aptech-globaltraining.com/http://www.englishexpress.in/
  • 8/8/2019 Dot Net Report

    11/61

    CHAPTER 2

    TRAINING WORK

    2.1 Details of Hardware and Software:- Various tools have been used to finally

    accomplish the software completely. The brief introduction has been given below

    regarding the software and the hardware used in developing the software : -

    2.1.1 SOFTWARE REQUIREMENTS:

    Operating System Windows XP with Service Pack 4 Onwards

    Programming Language MS-VB.NET, C# .NET, ASP.NET

    Database Handling SQL Server 2005 Onwards

    Image & Logo Microsoft Paint

    Editing Microsoft Word

    2.1.2 HARDWARE REQUIREMENTS:

    Processor 600 MHZ Processor or faster

    RAM 192 MB or more

    Hard disk space 2 GB

    DVD-Rom drive

    1,024*768 or higher resolution display

    With 256 colors

    OTHERS Keyboard, Mouse, printer, scanner

    (11)

  • 8/8/2019 Dot Net Report

    12/61

    2.2 TECHNOLOGY USED

    2.2.1 .NET

    INTRODUCTION:

    The Microsoft .NET Framework is a software frameworkthat can be installed on

    computers running Microsoft Windows operating systems. It includes a large library of

    coded solutions to common programming problems and a virtual machine that manages

    the execution of programs written specifically for the framework. The .NET Framework

    is a key Microsoft offering and is intended to be used by most new applications created

    for the Windows platform.

    The framework's Base Class Library provides a large range of features including

    userinterface, data and data access, database connectivity, cryptography, web

    application development, numeric algorithms, and network communications. The class

    library is used by programmers, who combine it with their own code to produce

    applications.

    Programs written for the .NET Framework execute in a software environment that

    manages the program's runtime requirements. Also part of the .NET Framework, this

    runtime environment is known as the Common Language Runtime (CLR). The CLR

    provides the appearance of an application virtual machine so that programmers need not

    consider the capabilities of the specific CPU that will execute the program. The CLR also

    provides other important services such as security, memory management, and exception

    handling. The class library and the CLR together constitute the .NET Framework.

    (12)

    http://en.wikipedia.org/wiki/Software_frameworkhttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Library_(computing)http://en.wikipedia.org/wiki/Virtual_machinehttp://en.wikipedia.org/wiki/Software_frameworkhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/Interface_(computer_science)http://en.wikipedia.org/wiki/Data_accesshttp://en.wikipedia.org/wiki/Database_Connectionhttp://en.wikipedia.org/wiki/Cryptographyhttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Computer_networkinghttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Run_time_systemhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Virtual_machine#Application_virtual_machinehttp://en.wikipedia.org/wiki/Central_Processing_Unithttp://en.wikipedia.org/wiki/Memory_managementhttp://en.wikipedia.org/wiki/Exception_handlinghttp://en.wikipedia.org/wiki/Exception_handlinghttp://en.wikipedia.org/wiki/Software_frameworkhttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Library_(computing)http://en.wikipedia.org/wiki/Virtual_machinehttp://en.wikipedia.org/wiki/Software_frameworkhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/Interface_(computer_science)http://en.wikipedia.org/wiki/Data_accesshttp://en.wikipedia.org/wiki/Database_Connectionhttp://en.wikipedia.org/wiki/Cryptographyhttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Algorithmhttp://en.wikipedia.org/wiki/Computer_networkinghttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Run_time_systemhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Virtual_machine#Application_virtual_machinehttp://en.wikipedia.org/wiki/Central_Processing_Unithttp://en.wikipedia.org/wiki/Memory_managementhttp://en.wikipedia.org/wiki/Exception_handlinghttp://en.wikipedia.org/wiki/Exception_handling
  • 8/8/2019 Dot Net Report

    13/61

    .NET ARCHITECTURE:

    Common Language Infrastructure (CLI)

    The purpose of the Common Language Infrastructure, or CLI, is to provide a language-

    neutral platform for application development and execution, including functions for

    exception handling, garbage collection, security, and interoperability. By implementing

    the core aspects of the .NET Framework within the scope of the CLI, this functionality

    will not be tied to a single language but will be available across the many languages

    supported by the framework. Microsoft's implementation of the CLI is called

    the Common Language Runtime, or CLR.

    Assemblies

    The CIL code is housed in .NET assemblies. As mandated by specification, assemblies

    are stored in the Portable Executable (PE) format, common on the Windows platform for

    all DLL and EXE files. The assembly consists of one or more files, one of which must

    contain the manifest, which has the metadata for the assembly. The complete name of an

    assembly (not to be confused with the filename on disk) contains its simple text name,

    version number, culture, and public key token. The public key token is a unique hash

    generated when the assembly is compiled, thus two assemblies with the same public key

    token are guaranteed to be identical from the point of view of the framework. A private

    key can also be specified known only to the creator of the assembly and can be used for

    strong naming and to guarantee that the assembly is from the same author when a new

    (13)

    http://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/.NET_assemblyhttp://en.wikipedia.org/wiki/Portable_Executablehttp://en.wikipedia.org/wiki/Metadatahttp://en.wikipedia.org/wiki/Public_keyhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/.NET_assemblyhttp://en.wikipedia.org/wiki/Portable_Executablehttp://en.wikipedia.org/wiki/Metadatahttp://en.wikipedia.org/wiki/Public_key
  • 8/8/2019 Dot Net Report

    14/61

    version of the assembly is compiled (required to add an assembly to the Global Assembly

    Cache).

    Fig. 3.1

    Visual overview of the Common Language Infrastructure

    Metadata

    All CIL is self-describing through .NET metadata. The CLR checks the metadata to

    ensure that the correct method is called. Metadata is usually generated by language

    compilers but developers can create their own metadata through custom attributes.

    Metadata contains information about the assembly, and is also used to implement

    the reflective programming capabilities of .NET Framework.

    (14)

    http://en.wikipedia.org/wiki/Global_Assembly_Cachehttp://en.wikipedia.org/wiki/Global_Assembly_Cachehttp://en.wikipedia.org/wiki/.NET_metadatahttp://en.wikipedia.org/wiki/Reflection_(computer_science)http://en.wikipedia.org/wiki/File:Overview_of_the_Common_Language_Infrastructure.svghttp://en.wikipedia.org/wiki/File:Overview_of_the_Common_Language_Infrastructure.svghttp://en.wikipedia.org/wiki/Global_Assembly_Cachehttp://en.wikipedia.org/wiki/Global_Assembly_Cachehttp://en.wikipedia.org/wiki/.NET_metadatahttp://en.wikipedia.org/wiki/Reflection_(computer_science)
  • 8/8/2019 Dot Net Report

    15/61

    Security

    .NET has its own security mechanism with two general features: Code Access

    Security (CAS), and validation and verification. Code Access Security is based on

    evidence that is associated with a specific assembly. Typically the evidence is the source

    of the assembly (whether it is installed on the local machine or has been downloaded

    from the intranet or Internet). Code Access Security uses evidence to determine the

    permissions granted to the code. Other code can demand that calling code is granted a

    specified permission. The demand causes the CLR to perform a call stack walk: every

    assembly of each method in the call stack is checked for the required permission; if any

    assembly is not granted the permission a security exception is thrown.

    When an assembly is loaded the CLR performs various tests. Two such tests are

    validation and verification. During validation the CLR checks that the assembly contains

    valid metadata and CIL, and whether the internal tables are correct. Verification is not so

    exact. The verification mechanism checks to see if the code does anything that is 'unsafe'.

    The algorithm used is quite conservative; hence occasionally code that is 'safe' does not

    pass. Unsafe code will only be executed if the assembly has the 'skip verification'

    permission, which generally means code that is installed on the local machine.

    .NET Framework uses appdomains as a mechanism for isolating code running in

    a process. Appdomains can be created and code loaded into or unloaded from them

    independent of other appdomains. This helps increase the fault tolerance of the

    application, as faults or crashes in one appdomain do not affect rest of the application.

    Appdomains can also be configured independently with different security privileges. This

    (15)

    http://en.wikipedia.org/wiki/Code_Access_Securityhttp://en.wikipedia.org/wiki/Code_Access_Securityhttp://en.wikipedia.org/wiki/Application_Domainhttp://en.wikipedia.org/wiki/Process_(computing)http://en.wikipedia.org/wiki/Code_Access_Securityhttp://en.wikipedia.org/wiki/Code_Access_Securityhttp://en.wikipedia.org/wiki/Application_Domainhttp://en.wikipedia.org/wiki/Process_(computing)
  • 8/8/2019 Dot Net Report

    16/61

    can help increase the security of the application by isolating potentially unsafe code. The

    developer, however, has to split the application into subdomains; it is not done by the

    CLR.

    Class library

    The .NET Framework includes a set ofstandard class libraries. The class library is

    organized in a hierarchy ofnamespaces. Most of the built in APIs are part of

    either System.* or Microsoft.* namespaces. These class libraries implement a large

    number of common functions, such as file reading and writing, graphic rendering,

    database interaction, and XML document manipulation, among others. The .NET class

    libraries are available to all .NET languages. The .NET Framework class library is

    divided into two parts: the Base Class Library and the Framework Class Library.

    The Base Class Library (BCL) includes a small subset of the entire class library and is

    the core set of classes that serve as the basic API of the Common Language Runtime.

    [10] The classes in mscorlib.dll and some of the classes

    in System.dll and System.core.dll are considered to be a part of the BCL. The BCL

    classes are available in both .NET Framework as well as its alternative implementations

    including .NET Compact Framework, Microsoft Silverlight andMono.

    The Framework Class Library (FCL) is a superset of the BCL classes and refers to the

    entire class library that ships with .NET Framework. It includes an expanded set of

    libraries, including WinForms, ADO.NET, ASP.NET, Language Integrated

    Query, Windows Presentation Foundation,Windows Communication Foundation among

    (16)

    http://en.wikipedia.org/wiki/Standard_libraryhttp://en.wikipedia.org/wiki/Namespace_(computer_science)http://en.wikipedia.org/wiki/.NET_languageshttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/APIhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/.NET_Framework#cite_note-bcllibs-9http://en.wikipedia.org/wiki/.NET_Compact_Frameworkhttp://en.wikipedia.org/wiki/Microsoft_Silverlighthttp://en.wikipedia.org/wiki/Mono_(software)http://en.wikipedia.org/wiki/Framework_Class_Libraryhttp://en.wikipedia.org/wiki/WinFormshttp://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/ASP.NEThttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Windows_Presentation_Foundationhttp://en.wikipedia.org/wiki/Windows_Communication_Foundationhttp://en.wikipedia.org/wiki/Standard_libraryhttp://en.wikipedia.org/wiki/Namespace_(computer_science)http://en.wikipedia.org/wiki/.NET_languageshttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/APIhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/.NET_Framework#cite_note-bcllibs-9http://en.wikipedia.org/wiki/.NET_Compact_Frameworkhttp://en.wikipedia.org/wiki/Microsoft_Silverlighthttp://en.wikipedia.org/wiki/Mono_(software)http://en.wikipedia.org/wiki/Framework_Class_Libraryhttp://en.wikipedia.org/wiki/WinFormshttp://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/ASP.NEThttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Windows_Presentation_Foundationhttp://en.wikipedia.org/wiki/Windows_Communication_Foundation
  • 8/8/2019 Dot Net Report

    17/61

    others. The FCL is much larger in scope than standard libraries for languages like C++,

    and comparable in scope to thestandard libraries of Java.

    Memory management

    The .NET Framework CLR frees the developer from the burden of managing memory

    (allocating and freeing up when done); instead it does the memory management itself. To

    this end, the memory allocated to instantiations of .NET types (objects) is done

    contiguously from the managed heap, a pool of memory managed by the CLR. As long as

    there exists a reference to an object, which might be either a direct reference to an object

    or via a graph of objects, the object is considered to be in use by the CLR. When there is

    no reference to an object, and it cannot be reached or used, it becomes garbage. However,

    it still holds on to the memory allocated to it. .NET Framework includes a garbage

    collectorwhich runs periodically, on a separate thread from the application's thread, that

    enumerates all the unusable objects and reclaims the memory allocated to them.

    The .NET Garbage Collector(GC) is a non-deterministic, compacting, mark-and-sweep

    garbage collector. The GC runs only when a certain amount of memory has been used or

    there is enough pressure for memory on the system. Since it is not guaranteed when the

    conditions to reclaim memory are reached, the GC runs are non-deterministic. Each .NET

    application has a set of roots, which are pointers to objects on the managed heap

    (managed objects). These include references to static objects and objects defined as local

    variables or method parameters currently in scope, as well as objects referred to by CPU

    registers. When the GC runs, it pauses the application, and for each object referred to in

    the root, it recursivelyenumerates all the objects reachable from the root objects and

    (17)

    http://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/Java_Class_Libraryhttp://en.wikipedia.org/wiki/Graph_(data_structure)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Thread_(computing)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Recursionhttp://en.wikipedia.org/wiki/C%2B%2Bhttp://en.wikipedia.org/wiki/Java_Class_Libraryhttp://en.wikipedia.org/wiki/Graph_(data_structure)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Thread_(computing)http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)http://en.wikipedia.org/wiki/Recursion
  • 8/8/2019 Dot Net Report

    18/61

    marks them as reachable. It uses .NET metadata and reflection to discover the objects

    encapsulated by an object, and then recursively walk them. It then enumerates all the

    objects on the heap (which were initially allocated contiguously) using reflection. All

    objects not marked as reachable are garbage. This is the mark phase. Since the memory

    held by garbage is not of any consequence, it is considered free space. However, this

    leaves chunks of free space between objects which were initially contiguous. The objects

    are then compacted together, by using memcpy to copy them over to the free space to

    make them contiguous again. Any reference to an object invalidated by moving the object

    is updated to reflect the new location by the GC. The application is resumed after the

    garbage collection is over.

    The GC used by .NET Framework is actually generational. Objects are assigned

    a generation; newly created objects belong to generation 0. The objects that survive a

    garbage collection are tagged as generation1, and the Generation 1 objects that survive

    another collection are Generation 2 objects. The .NET Framework uses up to Generation

    2 objects. Higher generation objects are garbage collected less frequently than lower

    generation objects. This helps increase the efficiency of garbage collection, as older

    objects tend to have a larger lifetime than newer objects. Thus, by removing older

    objects from the scope of a collection run, fewer objects need to be checked and

    compacted.

    (18)

    http://en.wikipedia.org/wiki/Reflection_(computer_science)http://en.wikipedia.org/wiki/Memcpyhttp://en.wikipedia.org/wiki/Reflection_(computer_science)http://en.wikipedia.org/wiki/Memcpy
  • 8/8/2019 Dot Net Report

    19/61

    ADO .NET:

    ADO.NET is a set of computer software components that can be used by programmers to

    access data and data services. It is a part of the base class library that is included with the

    Microsoft .NET Framework. It is commonly used by programmers to access and modify

    data stored in relational database systems, though it can also be used to access data in

    non-relational sources. ADO.NET is sometimes considered an evolution ofActiveX Data

    Objects (ADO) technology, but was changed so extensively that it can be considered an

    entirely new product.

    ARCHITECTURE OF ADO .NET

    ADO.NET consists of two primary parts:

    Data provider

    These classes provide access to a data source, such as a Microsoft SQL ServerorOracle

    database and OLEDB data provider. Each data source has its own set of provider objects,

    but they each have a common set of utility classes:

    Connection: Provides a connection used to communicate with the data source.

    Also acts as an abstract factory for command objects.

    Command: Used to perform some action on the data source, such as reading,

    updating, or deleting relational data.

    Parameter: Describes a single parameter to a command. A common example is a

    parameter to a stored procedure.

    Data Adapter: A bridge used to transfer data between a Data source and a

    DataSet object (see below).

    (19)

    http://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Relational_DBMShttp://en.wikipedia.org/wiki/ActiveX_Data_Objectshttp://en.wikipedia.org/wiki/ActiveX_Data_Objectshttp://en.wikipedia.org/wiki/Microsoft_SQL_Serverhttp://en.wikipedia.org/wiki/Oracle_databasehttp://en.wikipedia.org/wiki/Oracle_databasehttp://en.wikipedia.org/wiki/Database_Connectionhttp://en.wikipedia.org/wiki/Abstract_factory_patternhttp://en.wikipedia.org/wiki/Commandhttp://en.wikipedia.org/wiki/Parameterhttp://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/DataAdapterhttp://en.wikipedia.org/wiki/DataAdapterhttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Relational_DBMShttp://en.wikipedia.org/wiki/ActiveX_Data_Objectshttp://en.wikipedia.org/wiki/ActiveX_Data_Objectshttp://en.wikipedia.org/wiki/Microsoft_SQL_Serverhttp://en.wikipedia.org/wiki/Oracle_databasehttp://en.wikipedia.org/wiki/Oracle_databasehttp://en.wikipedia.org/wiki/Database_Connectionhttp://en.wikipedia.org/wiki/Abstract_factory_patternhttp://en.wikipedia.org/wiki/Commandhttp://en.wikipedia.org/wiki/Parameterhttp://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/DataAdapter
  • 8/8/2019 Dot Net Report

    20/61

    Data Reader: Used to efficiently process a large list of results one record at a

    time. It allows records to be accessed in a read-only, forward-only mode, i.e., records

    have to be accessed in sequential order; they can neither be randomly accessed nor

    can a record which has been processed previously be accessed again.

    Data Sets

    DataSet is objects, a group of classes describing a simple in-memory relational database,

    were the star of the show in the initial release (1.0) of the Microsoft.NET Framework.

    The classes form a containment hierarchy:

    A DataSet object represents a schema (either an entire database or a subset of

    one). It can contain tables and relationships between those tables.

    A DataTable object represents a single table in the database. It has a name, rows,

    and columns.

    A DataView object overlays a Data Table and sorts the data (much like

    an SQL "order by" clause) and filters the records (much like an SQL "where"

    clause) if a filter is set. An in-memory index is used to facilitate these operations.

    All Data Tables have a default filter, while any number of additional Data Views

    can be defined, reducing interaction with the underlying database and thus

    improving performance.

    A represents a column of the table, including its name and type.

    (20)

    http://en.wikipedia.org/wiki/DataReaderhttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Logical_schemahttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Order_byhttp://en.wikipedia.org/wiki/Where_(SQL)http://en.wikipedia.org/wiki/DataReaderhttp://en.wikipedia.org/wiki/Relational_databasehttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Logical_schemahttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Order_byhttp://en.wikipedia.org/wiki/Where_(SQL)
  • 8/8/2019 Dot Net Report

    21/61

    A Data Row object represents a single row in the table; it allows reading and

    updating of values in that row, likewise retrieving any rows that are related to it

    through a primary-key foreign-key relationship.

    A Data Row View represents a single row of a Data View. The distinction

    between a Data Row and Data Row View is important when iterating over a result

    set.

    A DataRelation is a relationship between tables, e.g. a primary-key foreign-key

    relationship. This is useful for enabling Data Row's functionality of retrieving

    related rows.

    A Constraint describes an enforced property of the database, e.g. the uniqueness

    of the values in a primary key column. When data is being modified any

    violations that arise shall cause exceptions.

    A DataSet is populated from a database by a DataAdapter

    whose Connection and Commandproperties have been set. However, a DataSet can save

    its contents to XML (optionally with anXSD schema), or populate itself from XML,

    making it exceptionally useful for web services, distributed computing, and occasionally-

    connected applications.

    (21)

    http://en.wikipedia.org/wiki/Iteratinghttp://en.wikipedia.org/wiki/Database_Connectionhttp://en.wikipedia.org/wiki/Commandhttp://en.wikipedia.org/wiki/XMLhttp://en.wikipedia.org/wiki/XSDhttp://en.wikipedia.org/wiki/Iteratinghttp://en.wikipedia.org/wiki/Database_Connectionhttp://en.wikipedia.org/wiki/Commandhttp://en.wikipedia.org/wiki/XMLhttp://en.wikipedia.org/wiki/XSD
  • 8/8/2019 Dot Net Report

    22/61

    Fig3.2 ADO .NET ARCHITECTURE

    2.2.2 C # LANGUASE

    INTRODUCTION:

    C Sharp is designed for the .NET framework. The .NET framework is object oriented.

    C Sharp has a great set of tools for the object oriented programmer. C Sharp

    is standardized as ECMA-334 by ECMA International and as ISO/IEC 23270 by

    ISO /IEC. C Sharp is the first component oriented language in the C/C++ family.

    C Sharp can be embedded in web pages (ASP.NET). In C++ and Java primitive

    date types (int, double, etc) are magic and do not interoperate with objects.

    (22)

    http://en.wikipedia.org/wiki/File:DotNet3.0.svg
  • 8/8/2019 Dot Net Report

    23/61

    In Smalltalk and Lisp primitive types are objects, but at great performance cost.

    C Sharp unifies this with no performance cost. C Sharp also adds new primitive data

    The accessibility options are:

    Public - accessible to all

    Private - accessible to containing class

    Protected - accessible to containing or derived classes

    Internal - accessible to code in same assembly

    Protected internal - means protected or internal

    Classes can be marked as public or internal. By default classes are private.

    Type members in CSharp are:

    Fields: The state of an object or type

    Methods: Constructors, Functions, Properties (smart fields)

    Members come in two basic forms

    Instance - per object data and methods (default)

    Static - per type data and methods (use the static keyword).

    Constructors are used to initialize fields. We can implement simpler constructors

    in terms of more complex ones with the this keyword. We can indicate which

    base constructor to call by using the base keyword. Type constructors are used to

    initialize static fields for a type. We use the static keyword to indicate a type

    constructor.

    (23)

  • 8/8/2019 Dot Net Report

    24/61

    All types in the system are derived from class object. The class object contains

    the functions string ToString() and bool Equals() which should be overriden

    when we write our own class.

    We use the virtual keyword to make a method virtual. In a derived class, an

    override method is marked with the override keyword.

    CSharp has built in support for events. This is useful for dealing with objects in an

    event driven operating system. More than one type can register interest in a single

    event. A single type can register interest in any number of events.

    CSharp supports interfaces using the interface keyword. Our types can implement

    interfaces. We must implement all methods. Interfaces can contain methods but no

    fields with properties and events included.

    CSharp also provides type conversion, for example if char c = a; we can convert

    to an integer int i = (int) c; via the ASCII table.

    C# provides a mechanism for programmers to document their code using a special

    comment syntax that contains XML text. Comments using such syntax are called

    documentation comments. The XML generation tool is called the documentation

    generator. This generator could be the C# compiler itself.

    The names given to variables, methods etc. by the programmer are referred to as

    identifiers. An identifier has to: begin with a letter, or begin with an underscore.

    It cannot be the same as built-in keywords. Identifiers are case-sensitive.

    The following is a list of keywords. Keywords are reserved identifiers that hold a

    special meaning to the CSharp compiler. We can use the same name as a keyword

    C# cannot be run without installing the .NET Framework. The .NET Framework is

    (24)

  • 8/8/2019 Dot Net Report

    25/61

    installed automatically when Windows Server 2003, Windows XP SP2, Vista or later

    is installed. It is also installed when Visual Studio 2003, 2005 or 2008 is installed.

    The .NET Framework is also available as a separate download from Microsoft.

    The current version of the .Net Framework is version 3.5, but many machines still

    run 1.1, 2.0 and 3.0.

    The .NET Framework consists of several components, the most important of which

    are the runtime and Class Library. See Table 1.1 for an overview of the stack.

    Version 3.5 adds several capabilities to the stack: the Windows Presentation Foundation

    (WPF), Windows Communication Foundation (WCF), Windows Workflow

    Foundation (WF), Windows CardSpace and Language Integrated Query (LINQ).

    SilverLight is a web-based subset of WPF.

    The runtime, or Common Language Runtime (CLR) provides a virtual machine for

    the execution of .NET code. In addition, CLR provides services that include memory

    management, thread management, component lifetime management, garbage

    collection and default error handling. A benefit of the CLR is that it provides these

    execution services to all .NET applications without any additional effort on the part

    of the programmer.

    When a .NET program is compiled, the compiler generates an .exe file. However, this

    .exe file does not contain directly executable instructions. Instead it contains Common

    Intermediate Language (CIL). When the .exe is executed it does not interact

    with the operating system directly but with the CLR. This is similar to Java, with

    CIL being analogous to bytecode and CLR with the Java Virtual Machine(JVM).

    When a .NET application is first executed, the CLR performs a compile of the CIL

    (25)

  • 8/8/2019 Dot Net Report

    26/61

    and creates a directly executable file from it. This is known as Just In Time compilation.

    This theoretically overcomes the performance overhead associated with

    Using virtual machines.

    The Class Library is a collection of extensible class libraries organised hierarchically

    into namespaces. The Class Library covers a wide range, including user interface,

    data access and database connectivity (ADO.NET), cryptography, web application

    Development (ASP.NET), numeric algorithms, XML and network communications.

    The Class Library is language-independent.

    For example, the System namespace is at the top of the namespace hierarchy. It

    Contains all the types that represent the base data types such as text, numbers and

    Dates. The Systems. Windows. Forms namespace allows the programmer to take

    Advantage of the Windows forms engine to create graphical user interface objects

    Easily.

    The Common Language Specification (CLS) is a specification for creating or porting

    Programming languages to that they are .NET compatible. The CLS uses a Common

    Type System (CTS). This is a component of the CLR and provides a

    Common set of data types that are consistent between all .NET languages .

    (26)

  • 8/8/2019 Dot Net Report

    27/61

    2.2.3 ASP.NET

    Contents

    Introduction

    Web Application Fundamentals

    Parts of an ASP.NET Web Application

    ASP.NET Architecture

    INTRODUCTION:ASP.NET is the platform used to create Web applications and Web services that run

    under IIS (Internet Information Service).

    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.

    ASP.NET is a compiled, .NET-based environment; Developer 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.

    Developers can easily access the benefits of these technologies, which include the

    managed common language runtime environment, type safety, inheritance, and so on.

    ASP.NET has been designed to work seamlessly with WYSIWYG HTML editors and

    other programming tools, including Microsoft Visual Studio .NET. Not only does this

    (27)

  • 8/8/2019 Dot Net Report

    28/61

    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 using authentication schemes;

    cache frequently used data, or customizes applications configuration, to name only a few

    possibilities.

    Web Forms allows building powerful forms-based Web pages. When building

    these pages, ASP.NET server controls can be used to create common UI elements,

    and program them for common tasks. These controls allow to rapidly building a

    Web Form out of reusable built-in or custom components, simplifying the code of

    a page.

    An XML Web service provides the means to access server functionality

    remotely. Using Web services, businesses can expose programmatic interfaces to

    their data or business logic, which in turn can be obtained and manipulated by

    client and server applications. XML Web services enable the exchange of data in

    client-server or server-server scenarios, using standards like HTTP and XML

    messaging to move data across firewalls. XML Web services are not tied to a

    particular component technology or object-calling convention. As a result,

    programs written in any language, using any component model, and running on

    any operating system can access XML Web services

    (28)

  • 8/8/2019 Dot Net Report

    29/61

    Web Application Fundamentals

    The Internet allows people from all over the world to communicate with each other via

    their computers. This technology has brought about many new possibilities, including e-

    mail, instant messaging and the World Wide Web.

    Originally, web sites were very simple. There were only HTML pages on any topic

    .people could share whatever they liked, those early pages were static-visitors could not

    interact with them in any way.

    The Web quickly evolved and new levels of functionality were added, including images,

    tables, and forms. This finally allowed visitors to interact with Web sites, giving rise to

    guest books and user polls. Web site developers began to build other neat little tricks into

    their sites, such as image rollovers and dropdown menus.

    This allowed interactivity, but true dynamic content was still lacking. Then server

    processing was introduced. A visitor can now interact with database, process content, and

    determine new types of visitor demographics over the Web.

    ASP.Net is a server technology that brings together the different pieces of the Web to

    give Web sites developer more power than ever.

    (29)

  • 8/8/2019 Dot Net Report

    30/61

    Dynamic processing

    The internet works on the client /server model .Two computers work together, sending

    information back and forth, to perform a task. The most common scenario is

    communication between a server (a computer that holds information) and a client (a

    computer that wants the information).

    The client computer sends a request for information to he server, the server then responds

    to the client with the information that was requested of it. This paradigm is the

    request/response model, and it is an integral part of the client/server model. Although

    this is a marvelous way to communicate and distribute information, its rather simple and

    static. It cant provide any dynamic information or processing. The server simply waits

    around for someone t request information, and then it returns the data thats already

    stored on its hard drive without really looking at what its sending.

    Generally, static Web request follows these four steps:

    1. The client locates a Web Server through its URL (such as www.microsoft.com).

    2. The client requests page (such as index.htm).

    3. The server sends the requested document.

    4. The client receives the document and displays it.

    On the other hand in server processing the server takes a look at what it sends before it

    sends it, and it can take orders from the client. The server can return dynamic data, such

    (30)

  • 8/8/2019 Dot Net Report

    31/61

    as that from a database, calculations it performs and anything else the client may ask for.

    The modified work flow is as follows:

    1. The client locates a Web Server through its URL (such as www.microsoft.com).

    2. The client requests page (such as index.htm).

    3. The server examines the requested file and processes any code it contains.

    4. The server translates the results of the processing to HTML and sends the requested

    document to the client.

    5. The client receives the document and displays it.

    Theres another model for communicating between servers and clients, known as the

    event-driven model. The server waits around for something to happen on the client.

    Once it does the server takes action and performs some piece of functionality. This model

    is much easier for building applications than using a request/response scenario.

    ASP.net works in this way-it detects actions and responds to them.

    Client-side processing

    Client side processing occurs when some programming code in an HTML page is placed

    the client can understand. This code is simply HTML that the browser executes. For

    example

    (31)

  • 8/8/2019 Dot Net Report

    32/61

    alert (Hello World);

    -- >

    Welcome to my page

    If browser supports client side scripting, it will understand that line 5 is telling it to

    display message box to the user saying Hello World.

    So now we have two places to execute code: on the server, where everything is returned

    to the clients as HTML, and on the client. These two locations of code are distinct and

    cannot interact with each other. Table below outlines the differences client-side and

    server-side code.

    (32)

  • 8/8/2019 Dot Net Report

    33/61

    3.1 Table Name: The differences between Client side and server side

    Location Description

    Client-side This code isnt processed at all by theserver. Thats solely the client

    responsibility. Code is written in scripts-

    plain text commands that instruct theclient to do something.

    Generally used for performing dynamicclient effects, such as image rollovers or

    dynamic message boxes.

    Server-side This code is executed only on the server.

    Any content or information that this code

    produces must be converted to plain

    HTML before sent to the client.Code can be written in scripts as well, but

    ASP.net uses compiled languages.

    Used for processing content an returning

    data.

    Parts of an ASP.NET Web Application

    A Web application consists of three parts: content, program logic, and Web configuration

    information. Table below summarizes these parts and gives examples of where they

    reside in an ASP.NET Web application.

    (33)

  • 8/8/2019 Dot Net Report

    34/61

    3.2 Table Name: Parts of an ASP.NET Web Application

    Part Types of Files Description

    Content Web Forms, HTML,images, audio, video, other

    data

    Content files determine theappearance of a Web

    application. They can

    contain static text andimages as well as elements

    that are composed on the fly

    by the program logic (as inthe case of a database

    query).

    Program Logic Executable files, scripts The program logic

    determines how the

    application responds to useractions. ASP.NET Web

    applications have a

    dynamic-link library (DLL)

    file that runs on the server,and they can also include

    scripts that run on the client

    machine.

    Configuration Web configuration file,

    Style sheets, IIS settings

    The configuration files and

    settings determine how theapplication runs on the

    server, who has access, howerrors are handled, and

    other details.

    The Web form is the key element of a Web application. A Web form is a cross between a

    regular HTML page and a Windows form: It has the same appearance and similar

    behavior to an HTML page, but it also has controls that respond to events and run code,

    like a Windows form.

    (34)

  • 8/8/2019 Dot Net Report

    35/61

    In a completed Web application, the executable portion of the Web form is stored in an

    executable (.dll) that runs on the server under the control of IIS. The content portion of

    the Web form resides in a content directory of the Web server, as shown in Figure

    Fig.3.3Web Application parts on a Web Server

    When a user navigates to one of the Web Forms pages from his or her browser, the

    following sequence occurs:

    IIS starts the Web applications executable if it is not already running.

    The executable composes a response to the user based on the content of the Web Forms

    page that the user requested and any program logic that provides dynamic content.

    IIS returns the response to the user in the form of HTML.

    Once the user gets the requested Web form, he or she can enter data, select options, click

    buttons, and use any other controls that appear on the page. Some controls, such as

    (35)

  • 8/8/2019 Dot Net Report

    36/61

  • 8/8/2019 Dot Net Report

    37/61

    As the illustration shows, all Web clients communicate with ASP.NET applications

    through IIS. IIS deciphers and optionally authenticates the request. IIS also finds the

    requested resource (such as an ASP.NET application), and, if the client is authorized,

    returns the appropriate resource.

    Integrating with IIS

    IIS always assumes that a set of credentials maps to a Windows NT account and uses

    them to authenticate a user. There are three different kinds of authentication

    available in IIS 5.0: basic, digest, andIntegrated WindowsAuthentication (NTLMor Kerberos). A developer can select the type of authentication to use in the IIS

    administrative services. If URL is requested containing an ASP.NET application,

    the request and authentication information are handed off to the application.

    ASP.NET provides the two additional types of authentication described in the

    following table

    3.4 Table Name: Two type of authentication provide by ASP.NET

    ASP.NET authentication provider Description

    Forms authentication A system by which unauthenticated

    requests are redirected to an HTML

    form using HTTP client-side redirection.The user provides credentials and

    submits the form. If the application

    authenticates the request, the systemissues a form that contains the

    credentials or a key for reacquiring theidentity. Subsequent requests are issuedwith the form in the request headers;

    they are authenticated and authorized by

    an ASP.NET handler using whatevervalidation method the application

    (37)

  • 8/8/2019 Dot Net Report

    38/61

    developer specifies.

    Passport authentication Centralized authentication service

    provided by Microsoft that offers a

    single log on and core profile servicesfor member sites.

    Using ASP.NET Configuration Files

    ASP.NET configuration, of which security is a part, has a hierarchical architecture. All

    configuration information for ASP.NET is contained in files named Web.config and

    Machine.config. Web.config can be placed in the same directories as the application files.

    The Machine.config file is in the Config directory of the install root. Subdirectories

    inherit a directory's settings unless overridden by a Web.config file in the subdirectory. In

    a Web.config file, there are sections for each major category of ASP.NET functionality.

    2.2.4 DATABASE USED IN PROJECT:

    SQL 2005:

    INTRODUCTION:

    Microsoft SQL Server is a relational model database serverproduced by Microsoft. Its

    primary query languages are T-SQL and ANSI .

    ARCHITECTURE:

    Protocol layer

    Protocol layer implements the external interface to SQL Server. All operations that can

    be invoked on SQL Server are communicated to it via a Microsoft-defined format,

    called Tabular Data Stream (TDS). TDS is an application layer protocol, used to transfer

    (38)

    http://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Database_serverhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Query_languagehttp://en.wikipedia.org/wiki/Transact-SQLhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Tabular_Data_Streamhttp://en.wikipedia.org/wiki/Relational_modelhttp://en.wikipedia.org/wiki/Database_serverhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Query_languagehttp://en.wikipedia.org/wiki/Transact-SQLhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/Tabular_Data_Stream
  • 8/8/2019 Dot Net Report

    39/61

    data between a database server and a client. Initially designed and developed by Sybase

    Inc. for theirSybase SQL Serverrelational database engine in 1984, and later by

    Microsoft in Microsoft SQL Server, TDS packets can be encased in other physical

    transport dependent protocols, including TCP/IP, Named pipes, and Shared memory.

    Consequently, access to SQL Server is available over these protocols. In addition, the

    SQL Server API is also exposed over bando web services.

    DATA STORAGE:

    The main unit ofdata storage is a database, which is a collection of tables

    with typed columns. SQL Server supports different data types, includingprimary

    types such as Integer, Float,Decimal, Char (including character

    strings), Varchar (variable length character strings), binary (for unstructuredblobs of

    data), Text (for textual data) among others. It also allows user-defined composite types

    (UDTs) to be defined and used. SQL Server also makes server statistics available as

    virtual tables and views (called Dynamic Management Views or DMVs). A database can

    also contain other objects including views, stored procedures, indexes and constraints, in

    addition to tables, along with a transaction log. A SQL Server database can contain a

    maximum of 231 objects, and can span multiple OS-level files with a maximum file size

    of 220TB. The data in the database are stored in primary data files with an

    extension .mdf. Secondary data files, identified with an .ndf extension, are used to store

    optional metadata. Log files are identified with the .ldf extension.

    Storage space allocated to a database is divided into sequentially numbered pages, each 8

    KB in size. A page is the basic unit of I/O for SQL Server operations. A page is marked

    (39)

    http://en.wikipedia.org/wiki/Sybase_SQL_Serverhttp://en.wikipedia.org/wiki/TCP/IPhttp://en.wikipedia.org/wiki/Named_pipehttp://en.wikipedia.org/wiki/Shared_memoryhttp://en.wikipedia.org/wiki/Web_servicehttp://en.wikipedia.org/wiki/Computer_data_storagehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Type_systemhttp://en.wikipedia.org/wiki/Primary_typehttp://en.wikipedia.org/wiki/Primary_typehttp://en.wikipedia.org/wiki/Binary_large_objecthttp://en.wikipedia.org/wiki/View_(database)http://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/Index_(database)http://en.wikipedia.org/wiki/Constraint_(database)http://en.wikipedia.org/wiki/Terabytehttp://en.wikipedia.org/wiki/Sybase_SQL_Serverhttp://en.wikipedia.org/wiki/TCP/IPhttp://en.wikipedia.org/wiki/Named_pipehttp://en.wikipedia.org/wiki/Shared_memoryhttp://en.wikipedia.org/wiki/Web_servicehttp://en.wikipedia.org/wiki/Computer_data_storagehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Type_systemhttp://en.wikipedia.org/wiki/Primary_typehttp://en.wikipedia.org/wiki/Primary_typehttp://en.wikipedia.org/wiki/Binary_large_objecthttp://en.wikipedia.org/wiki/View_(database)http://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/Index_(database)http://en.wikipedia.org/wiki/Constraint_(database)http://en.wikipedia.org/wiki/Terabyte
  • 8/8/2019 Dot Net Report

    40/61

    with a 96-byte header which stores metadata about the page including the page number,

    page type, free space on the page and the ID of the object that owns it. Page type defines

    the data contained in the page - data stored in the database, index, allocation map which

    holds information about how pages are allocated to tables and indexes, change map

    which holds information about the changes made to other pages since last backup or

    logging, or contain large data types such as image or text. While page is the basic unit of

    an I/O operation, space is actually managed in terms of an extent which consists of 8

    pages. A database object can either span all 8 pages in an extent ("uniform extent") or

    share an extent with up to 7 more objects ("mixed extent"). A row in a database table

    cannot span more than one page, so is limited to 8 KB in size. However, if the data

    exceeds 8 KB and the row contains Varchar orVarbinary data, the data in those columns

    are moved to a new page (or possibly a sequence of pages, called an Allocation unit) and

    replaced with a pointer to the data.

    For physical storage of a table, its rows are divided into a series of partitions (numbered 1

    to n). The partition size is user defined; by default all rows are in a single partition. A

    table is split into multiple partitions in order to spread a database over a cluster. Rows in

    each partition are stored in eitherB-tree orheap structure. If the table has an

    associated index to allow fast retrieval of rows, the rows are stored in-order according to

    their index values, with a B-tree providing the index. The data is in the leaf node of the

    leaves, and other nodes storing the index values for the leaf data reachable from the

    respective nodes. If the index is non-clustered, the rows are not sorted according to the

    index keys. An indexed view has the same storage structure as an indexed table. A table

    (40)

    http://en.wikipedia.org/wiki/Cluster_computinghttp://en.wikipedia.org/wiki/B-treehttp://en.wikipedia.org/wiki/Heap_(data_structure)http://en.wikipedia.org/wiki/Index_(database)http://en.wikipedia.org/wiki/View_(database)http://en.wikipedia.org/wiki/Cluster_computinghttp://en.wikipedia.org/wiki/B-treehttp://en.wikipedia.org/wiki/Heap_(data_structure)http://en.wikipedia.org/wiki/Index_(database)http://en.wikipedia.org/wiki/View_(database)
  • 8/8/2019 Dot Net Report

    41/61

    without an index is stored in an unordered heap structure. Both heaps and B-trees can

    span multiple allocation units.

    Buffer management

    SQL Serverbuffers pages in RAM to minimize disc I/O. Any 8 KB page can be buffered

    in-memory, and the set of all pages currently buffered is called the buffer cache. The

    amount of memory available to SQL Server decides how many pages will be cached in

    memory. The buffer cache is managed by the Buffer Manager. Either reading from or

    writing to any page copies it to the buffer cache. Subsequent reads or writes are

    redirected to the in-memory copy, rather than the on-disc version. The page is updated on

    the disc by the Buffer Manager only if the in-memory cache has not been referenced for

    some time. While writing pages back to disc, asynchronous I/O is used whereby the I/O

    operation is done in a background thread so that other operations do not have to wait for

    the I/O operation to complete. Each page is written along with its checksum when it is

    written. When reading the page back, its checksum is computed again and matched with

    the stored version to ensure the page has not been damaged or tampered with in the

    meantime.

    Logging and Transaction

    SQL Server ensures that any change to the data is ACID-compliant, i.e., it

    uses transactions to ensure that any operation either totally completes or is undone if

    fails, but never leaves the database in an intermediate state. Using transactions, a

    sequence of actions can be grouped together, with the guarantee that either all actions

    will succeed or none will. SQL Server implements transactions using a write-ahead log.

    (41)

    http://en.wikipedia.org/wiki/Data_bufferhttp://en.wikipedia.org/wiki/RAMhttp://en.wikipedia.org/wiki/Checksumhttp://en.wikipedia.org/wiki/ACIDhttp://en.wikipedia.org/wiki/Transaction_(database)http://en.wikipedia.org/wiki/Data_bufferhttp://en.wikipedia.org/wiki/RAMhttp://en.wikipedia.org/wiki/Checksumhttp://en.wikipedia.org/wiki/ACIDhttp://en.wikipedia.org/wiki/Transaction_(database)
  • 8/8/2019 Dot Net Report

    42/61

    Any changes made to any page will update the in-memory cache of the page,

    simultaneously all the operations performed will be written to a log, along with the

    transaction ID which the operation was a part of. Each log entry is identified by an

    increasing Log Sequence Number (LSN) which ensure that no event overwrites another.

    SQL Server ensures that the log will be written onto the disc before the actual page is

    written back. This enables SQL Server to ensure integrity of the data, even if the system

    fails. If both the log and the page were written before the failure, the entire data is on

    persistent storage and integrity is ensured. If only the log was written (the page was either

    not written or not written completely), then the actions can be read from the log and

    repeated to restore integrity. If the log wasn't written then integrity is also maintained

    although the database state remains unchanged as if the transaction never occurred. If it

    was only partially written, then the actions associated with the unfinished transaction are

    discarded. Since the log was only partially written, the page is guaranteed to have not

    been written, again ensuring data integrity. Removing the unfinished log entries

    effectively undoes the transaction. SQL Server ensures consistency between the log and

    the data every time an instance is restarted.

    Concurrency and locking

    SQL Server allows multiple clients to use the same database concurrently. As such, it

    needs to control concurrent access to shared data, to ensure data integrity - when multiple

    clients update the same data, or clients attempt to read data that is in the process of being

    changed by another client. SQL Server provides two modes of concurrency

    control: pessimistic concurrency and optimistic concurrency. When pessimistic

    (42)

    http://en.wikipedia.org/wiki/Concurrency_controlhttp://en.wikipedia.org/wiki/Optimistic_concurrency_controlhttp://en.wikipedia.org/wiki/Concurrency_controlhttp://en.wikipedia.org/wiki/Optimistic_concurrency_control
  • 8/8/2019 Dot Net Report

    43/61

    concurrency control is being used, SQL Server controls concurrent access by using locks.

    Locks can be either shared or exclusive. Exclusive lock grants the user exclusive access

    to the data - no other user can access the data as long as the lock is held. Shared locks are

    used when some data is being read - multiple users can read from data locked with a

    shared lock, but not acquire an exclusive lock. The latter would have to wait for all

    shared locks to be released. Locks can be applied on different levels of granularity - on

    entire tables, pages, or even on a per-row basis on tables. For indexes, it can either be on

    the entire index or on index leaves. The level of granularity to be used is defined on a

    per-database basis by the database administrator. While a fine grained locking system

    allows more users to use the table or index simultaneously, it requires more resources. So

    it does not automatically turn into higher performing solution. SQL Server also includes

    two more lightweight mutual exclusion solutions - latches and spinlocks - which are less

    robust than locks but are less resource intensive. SQL Server uses them for DMVs and

    other resources that are usually not busy. SQL Server also monitors all worker threads

    that acquire locks to ensure that they do not end up in deadlocks - in case they do, SQL

    Server takes remedial measures, which in many cases is to kill one of the threads

    entangled in a deadlock and rollback the transaction it started. To implement locking,

    SQL Server contains the Lock Manager. The Lock Manager maintains an in-memory

    table that manages the database objects and locks, if any, on them along with other

    metadata about the lock. Access to any shared object is mediated by the lock manager,

    which either grants access to the resource or blocks it.

    (43)

    http://en.wikipedia.org/wiki/Mutual_exclusionhttp://en.wikipedia.org/wiki/Deadlockhttp://en.wikipedia.org/wiki/Mutual_exclusionhttp://en.wikipedia.org/wiki/Deadlock
  • 8/8/2019 Dot Net Report

    44/61

    SQL Server also provides the optimistic concurrency control mechanism, which is similar

    to the multiversion concurrency control used in other databases. The mechanism allows a

    new version of a row to be created whenever the row is updated, as opposed to

    overwriting the row, i.e., a row is additionally identified by the ID of the transaction that

    created the version of the row. Both the old as well as the new versions of the row are

    stored and maintained, though the old versions are moved out of the database into a

    system database identified as Tempdb. When a row is in the process of being updated,

    any other requests are not blocked (unlike locking) but are executed on the older version

    of the row. If the other request is an update statement, it will result in two different

    versions of the rows - both of them will be stored by the database, identified by their

    respective transaction IDs.

    DATA RETRIVAL:

    The main mode of retrieving data from an SQL Server database is querying for it. The

    query is expressed using a variant ofSQL called T-SQL, a dialect Microsoft SQL Server

    shares withSybase SQL Serverdue to its legacy. The query declaratively specifies what is

    to be retrieved. It is processed by the query processor, which figures out the sequence of

    steps that will be necessary to retrieve the requested data. The sequence of actions

    necessary to execute a query is called a query plan. There might be multiple ways to

    process the same query. For example, for a query that contains a join statement and

    a select statement, executing join on both the tables and then executing select on the

    results would give the same result as selecting from each table and then executing the

    join, but result in different execution plans. In such case, SQL Server chooses the plan

    (44)

    http://en.wikipedia.org/wiki/Multiversion_concurrency_controlhttp://en.wikipedia.org/wiki/Database_queryhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/T-SQLhttp://en.wikipedia.org/wiki/Adaptive_Server_Enterprisehttp://en.wikipedia.org/wiki/Declarative_programming_languagehttp://en.wikipedia.org/wiki/Join_(SQL)http://en.wikipedia.org/wiki/Select_(SQL)http://en.wikipedia.org/wiki/Multiversion_concurrency_controlhttp://en.wikipedia.org/wiki/Database_queryhttp://en.wikipedia.org/wiki/SQLhttp://en.wikipedia.org/wiki/T-SQLhttp://en.wikipedia.org/wiki/Adaptive_Server_Enterprisehttp://en.wikipedia.org/wiki/Declarative_programming_languagehttp://en.wikipedia.org/wiki/Join_(SQL)http://en.wikipedia.org/wiki/Select_(SQL)
  • 8/8/2019 Dot Net Report

    45/61

    that is supposed to yield the results in the shortest possible time. This is called query

    optimization and is performed by the query processor itself.

    SQL Server includes a cost-based query optimizer which tries to optimize on the cost, in

    terms of the resources it will take to execute the query. Given a query, the query

    optimizer looks at the database schema, the database statistics and the system load at that

    time. It then decides which sequence to access the tables referred in the query, which

    sequence to execute the operations and what access method to be used to access the

    tables. For example, if the table has an associated index, whether the index should be

    used or not - if the index is on a column which is not unique for most of the columns (low

    "selectivity"), it might not be worthwhile to use the index to access the data. Finally, it

    decides whether to execute the queryconcurrently or not. While a concurrent execution is

    more costly in terms of total processor time, because the execution is actually split to

    different processors might mean it will execute faster. Once a query plan is generated for

    a query, it is temporarily cached. For further invocations of the same query, the cached

    plan is used. Unused plans are discarded after some time.

    SQL Server also allows stored procedures to be defined. Stored procedures are

    parameterized T-SQL queries, that are stored in the server itself (and not issued by the

    client application as is the case with general queries). Stored procedures can accept

    values sent by the client as input parameters, and send back results as output parameters.

    They can call defined functions, and other stored procedures, including the same stored

    procedure (up to a set number of times). They can be selectively provided access to.

    Unlike other queries, stored procedures have an associated name, which is used at

    (45)

    http://en.wikipedia.org/wiki/Query_optimizationhttp://en.wikipedia.org/wiki/Query_optimizationhttp://en.wikipedia.org/wiki/Database_schemahttp://en.wikipedia.org/wiki/Concurrent_computinghttp://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/Access_controlhttp://en.wikipedia.org/wiki/Query_optimizationhttp://en.wikipedia.org/wiki/Query_optimizationhttp://en.wikipedia.org/wiki/Database_schemahttp://en.wikipedia.org/wiki/Concurrent_computinghttp://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/Access_control
  • 8/8/2019 Dot Net Report

    46/61

    runtime to resolve into the actual queries. Also because the code need not be sent from

    the client every time (as it can be accessed by name), it reduces network traffic and

    somewhat improves performance. Execution plans for stored procedures are also cached

    as necessary.

    SQL CLR

    Microsoft SQL Server 2005 includes a component named SQL CLR("Common

    Language Runtime") via which it integrates with .NET Framework. Unlike most other

    applications that use.NET Framework, SQL Server itself hosts the .NET

    Frameworkruntime, i.e., memory, threading and resource management requirements

    of .NET Framework are satisfied by SQLOS itself, rather than the underlying Windows

    operating system. SQLOS provides deadlock detection and resolution services for .NET

    code as well. With SQL CLR, stored procedures and triggerscan be written in

    any managed.NET language, including C# and VB.NET. Managed code can also be used

    to define UDT's (user defined types), which can persist in the database.Managed code is

    compiled to .NET assemblies and after being verified fortype safety, registered at the

    database. After that, they can be invoked like any other procedure.[11]However, only a

    subset of the Base Class Library is available, when running code under SQL CLR. Most

    APIs relating to user interface functionality are not available.[11]

    When writing code for SQL CLR, data stored in SQL Server databases can be accessed

    using the ADO.NET APIs like any othermanaged application that accesses SQL Server

    data. However, doing that creates a new database session, different from the one in which

    the code is executing. To avoid this, SQL Server provides some enhancements to

    (46)

    http://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/Trigger_(database)http://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/.NET_languageshttp://en.wikipedia.org/wiki/C_Sharp_(programming_language)http://en.wikipedia.org/wiki/VB.NEThttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/User_defined_typehttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/Assembly_(.NET)http://en.wikipedia.org/wiki/Type_safetyhttp://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/APIhttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Stored_procedurehttp://en.wikipedia.org/wiki/Trigger_(database)http://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/.NET_languageshttp://en.wikipedia.org/wiki/C_Sharp_(programming_language)http://en.wikipedia.org/wiki/VB.NEThttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/User_defined_typehttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/Assembly_(.NET)http://en.wikipedia.org/wiki/Type_safetyhttp://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-clroverview-10http://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/APIhttp://en.wikipedia.org/wiki/Managed_code
  • 8/8/2019 Dot Net Report

    47/61

    the ADO.NETprovider that allows the connection to be redirected to the same session

    which already hosts the running code. Such connections are called context connections

    and are set by settingcontext connection parameter to true in the connection string. SQL

    Server also provides several other enhancements to the ADO.NET API, including classes

    to work with tabular data or a single row of data as well as classes to work with internal

    metadata about the data stored in the database. It also provides access to the XML

    features in SQL Server, including XQuerysupport. These enhancements are also available

    in T-SQL Procedures in consequence of the introduction of the new XML Datatype

    (query,value,nodes functions).

    TOOLS:

    SQLCMD

    SQLCMD is a command line application that comes with Microsoft SQL Server, and

    exposes the management features of SQL Server. It allows SQL queries to be written and

    executed from the command prompt. It can also act as a scripting language to create and

    run a set of SQL statements as a script. Such scripts are stored as a .sql file, and are used

    either for management of databases or to create the database schema during the

    deployment of a database.

    SQLCMD was introduced with SQL Server 2005 and this continues with SQL Server

    2008. Its predecessor for earlier versions was OSQL, which is functionally equivalent and

    many of the command line parameters are identical.

    (47)

    http://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/XQueryhttp://en.wikipedia.org/wiki/Scripting_languagehttp://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/ADO.NEThttp://en.wikipedia.org/wiki/XQueryhttp://en.wikipedia.org/wiki/Scripting_language
  • 8/8/2019 Dot Net Report

    48/61

    Visual Studio:

    Microsoft Visual Studio includes native support for data programming with Microsoft

    SQL Server. It can be used to write and debug code to be executed by SQL CLR. It also

    includes adata designer that can be used to graphically create, view or edit database

    schemas. Queries can be created either visually or using code. SSMS 2008 onwards,

    provides intellisense for SQL queries as well.

    SQL Server Management Studio:

    SQL Server Management Studio is a GUI tool included with SQL Server 2005 and

    later for configuring, managing, and administering all components within Microsoft SQL

    Server. The tool includes both script editors and graphical tools that work with objects

    and features of the server.[31] SQL Server Management Studio replaces Enterprise

    Manageras the primary management interface for Microsoft SQL Server since SQL

    Server 2005. A version of SQL Server Management Studio is also available for SQL

    Server Express Edition, for which it is known as SQL Server Management Studio

    Express (SSMSE).

    A central feature of SQL Server Management Studio is the Object Explorer, which allows

    the user to browse, select, and act upon any of the objects within the server. It can be

    used to visually observe and analyze query plans and optimize the database performance,

    among others. SQL Server Management Studio can also be used to create a new

    database, alter any existing database schema by adding or modifying tables and indexes,

    or analyze performance. It includes the query windows which provide a GUI based

    interface to write and execute queries.

    (48)

    http://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Intellisensehttp://en.wikipedia.org/wiki/SQL_Server_Management_Studiohttp://en.wikipedia.org/wiki/GUIhttp://en.wikipedia.org/wiki/Microsoft_SQL_Server#cite_note-30http://en.wikipedia.org/wiki/Enterprise_Managerhttp://en.wikipedia.org/wiki/Enterprise_Managerhttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Intellisensehttp://en.wikipedia.org/wiki/SQL_Server_Management_Studiohttp://en.wikipedia.org/wiki/GUIhttp://en.wikipedia.org/wiki/Microsoft_SQL_S