Project Report as Ha

download Project Report as Ha

of 148

Transcript of Project Report as Ha

  • 8/9/2019 Project Report as Ha

    1/148

    ClassifiedsOnline.com

    Page

    1

    INTRODUCTION

  • 8/9/2019 Project Report as Ha

    2/148

    ClassifiedsOnline.com

    INTRODUCTION

    ClassifiedsOnline is being launched because a need for a destination where

    the local community could come together and help each other is seen.

    Community members within a city can come here to find an apartment to live

    in, sell their old car, or music system, promote their small business, find a

    life partner, join a salsa class, find people who share their interests, get an

    audience for a local event, trade any item that they might want or have to

    offer and make new friends while doing all of the above.

    Classif iedsOnlineClassif iedsOnline fulfills the requirements of an individual related to classifieds (situation

    vacant / and help each other. A person can search for a house on rent

    without the buy n sell / ). Its a destination where the local community

    could come together involvement of a property dealer and save the extra

    money which he/she would have paid as commission. Moreover, the person

    do all this in a single click of the mouse button i.e, searching / traversing &

    posting advertisements etc. can be done while sitting at home.

    What is ClassifiedsOnline all about?

    ClassifiedsOnlineClassifiedsOnline is a web application that automatically matches posters

    of ADs with potential viewers through a communication network in which a

    host system communicates with the Posters and Potential Viewers. The host

    system obtains and stores a first set of records each corresponding to a

    particular ad. This set of records can then be searched by a remote data

    terminal associated with a potential viewer. The results of this search arethen provided to the potential poster, who indicates specific ad listings that

    the viewer may be interested in. The viewer provides identifying information

    which is then provided to the poster of the indicated ad.

    Provisions are made to ensure that the ad posters who list ads support the

    Page

    2

  • 8/9/2019 Project Report as Ha

    3/148

    ClassifiedsOnline.com

    system.

    Further, the system permits automatic evaluation of potential viewers to

    screen posters whose information does not match minimum criteria. Its a

    system for selectively displaying ad listings to potential viewers and forobtaining ad viewer profile information associated with said potential viewers

    which is provided to ad posters of ad described in said ad listings.

    C C lassified lassified ss O O nl inenline provides the platform but does not directlyparticipate in, nor is it involved in any Classifieds transactions. Classifieds

    are posted not by my system, but users of my system. My system requires a

    user to register before sending a quote. My system will send the information

    as filled in by the user on the form to require registration for those who

    participate in a variety of its services.

    The system has an administrator who keeps an eye on the overall functioning

    of the system. The system gets revenue by displaying Banner

    Advertisements which is done and controlled by the administrator.

    The system entitled ClassifiedsOnline (Online classifieds and is

    application software, which aims at providing services to the local communityand providing them with an option of selecting the ADs of their choices and

    further decide to continue with the transaction. It is developed by using

    ASP.NET technology and related SQL SERVER2005 database.

    Page

    3

  • 8/9/2019 Project Report as Ha

    4/148

    ClassifiedsOnline.com

    OBJECTIVE

    The summary of the objective of this software is to completely automate the

    process of:

    Provide better understanding between ad posters and its viewers.

    Provide a user friendly environment so that the ad posters can post their

    ads easily and free of cost.

    To maintain and store ad details, response details, ad viewers details, ad

    posters details

    Provide excellent and easy to access means of communication medium

    between ad posters and its viewers.

    Provide value to its contributors by making available to them its vast

    global audience reach

    Provide Classifieds as a service to enable its users to connect with one

    another.

    Provide local commerce site, uniquely integrating Classifieds

    . The system offers unmatched values such as Real Estate, Travels,

    jobs/Training, Movies/Entertainment, buy/sale, Matrimonial and more.

    The following advertising opportunities are offered:-

    Banner Advertising

    Add Your Logo

    Button Advertising

    Page

    4

    http://www.shopsafe.com.au/customer_service/banners.htm#banner%23bannerhttp://www.shopsafe.com.au/customer_service/banners.htm#enhanced%23enhancedhttp://www.shopsafe.com.au/customer_service/banners.htm#button%23buttonhttp://www.shopsafe.com.au/customer_service/banners.htm#enhanced%23enhancedhttp://www.shopsafe.com.au/customer_service/banners.htm#button%23buttonhttp://www.shopsafe.com.au/customer_service/banners.htm#banner%23banner
  • 8/9/2019 Project Report as Ha

    5/148

    ClassifiedsOnline.com

    What contribution would the Project Make?

    This is an era of Information Technology where getting information is

    the base of each and every thing. Success of any business depends upon itspopularity and goodwill. Today, market has been expanded and you have to

    be a global player, today every individual wants to access most of the

    information from his own place and then do transaction. The project would

    help in effective and systematic access to the Advertisements posted by the

    Poster and invalid access by any person will be caught at the time of

    registration of the Viewer.

    Page

    5

  • 8/9/2019 Project Report as Ha

    6/148

    ClassifiedsOnline.com

    System Development Methodology

    System Development Life Cycle

    PHASES:

    1.2.1 Initiation Phase

    The initiation of a system (or project) begins when a business need or

    opportunity is identified. A Project Manager should be appointed to manage

    the project. This business need is documented in a Concept Proposal. After

    the Concept Proposal is approved, the System Concept Development Phase

    begins.

    1.2.2 System Concept Development Phase

    Once a business need is approved, the approaches for accomplishing

    the concept are reviewed for feasibility and appropriateness. The Systems

    Boundary Document identifies the scope of the system and requires Senior

    Official approval and funding before beginning the Planning Phase.

    1.2.3 Planning Phase

    The concept is further developed to describe how the business will operate

    once the approved system is implemented, and to assess how the system will

    impact the administrator and user privacy. To ensure the products and /or

    services provide the required capability on-time and within budget, project

    resources, activities, schedules, tools, and reviews are defined. Additionally,security certification and accreditation activities begin with the identification

    of system security requirements and the completion of a high level

    vulnerability assessment.

    Page

    6

  • 8/9/2019 Project Report as Ha

    7/148

    ClassifiedsOnline.com

    1.2.4 Requirements Analysis Phase

    Functional user requirements are formally defined and delineate the

    requirements in terms of data, system performance, security, andmaintainability requirements for the system. All requirements are defined to

    a level of detail sufficient for systems design to proceed. All requirements

    need to be measurable and testable and relate to the business need or

    opportunity identified in the Initiation Phase.

    1.2.5 Design Phase

    The physical characteristics of the system are designed during this phase.The operating environment is established, major subsystems and their inputs

    and outputs are defined, and processes are allocated to resources.

    Everything requiring user input or approval must be documented and

    reviewed by the user. The physical characteristics of the system are specified

    and a detailed design is prepared. Subsystems identified during design are

    used to create a detailed structure of the system. Each subsystem is

    partitioned into one or more design units or modules. Detailed logic

    specifications are prepared for each software module.

    1.2.6 Development Phase

    The detailed specifications produced during the design phase are translated

    into hardware, communications, and executable software. Software shall be

    unit tested, integrated, and retested in a systematic manner. Hardware is

    assembled and tested.

    1.2.7 Integration and Test Phase

    The various components of the system are integrated and systematically

    tested. The user tests the system to ensure that the functional requirements,

    as defined in the functional requirements document, are satisfied by the

    developed or modified system. Prior to installing and operating the system in

    Page

    7

  • 8/9/2019 Project Report as Ha

    8/148

  • 8/9/2019 Project Report as Ha

    9/148

    ClassifiedsOnline.com

    SDLC Objectives

    This guide was developed to disseminate proven practices to system

    developers, project managers, program/account analysts and system

    owners/users throughout the DOJ. The specific objectives expected include

    the following:

    To reduce the risk of project failure

    To consider system and data requirements throughout the entire life of

    the system

    To identify technical and management issues early

    To disclose all life cycle costs to guide business decisions To foster realistic expectations of what the systems will and will not

    provide

    To provide information to better balance programmatic, technical,

    management, and cost aspects of proposed system development or

    modification

    To encourage periodic evaluations to identify systems that are no

    longer effective

    To measure progress and status for effective corrective action To support effective resource management and budget planning

    To consider meeting current and future business requirements

    Key Principles

    This guidance document refines traditional information system life cycle

    management approaches to reflect the principles outlined in the following

    subsections. These are the foundations for life cycle management.

    Life Cycle Management Should be used to Ensure a Structured

    Approach to Information Systems Development, Maintenance, and

    Operation

    Page

    9

  • 8/9/2019 Project Report as Ha

    10/148

    ClassifiedsOnline.com

    This SDLC describes an overall structured approach to information

    management. Primary emphasis is placed on the information and systems

    decisions to be made and the proper timing of decisions. The manual

    provides a flexible framework for approaching a variety of systems projects.The framework enables system developers, project managers,

    program/account analysts, and system owners/users to combine activities,

    processes, and products, as appropriate, and to select the tools and

    methodologies best suited to the unique needs of each project.

    Support the use of an Integrated Product Team

    The establishment of an Integrated Product Team (IPT) can aid in thesuccess of a project. An IPT is a multidisciplinary group of people who

    support the Project Manager in the planning, execution, delivery and

    implementation of life cycle decisions for the project. The IPT is composed of

    qualified empowered individuals from all appropriate functional disciplines

    that have a stake in the success of the project. Working together in a

    proactive, open communication, team oriented environment can aid in

    building a successful project and providing decision makers with the

    necessary information to make the right decisions at the right time.

    Each System Project must have a Program Sponsor

    To help ensure effective planning, management, and commitment to

    information systems, each project must have a clearly identified program

    sponsor. The program sponsor serves in a leadership role, providing guidance

    to the project team and securing, from senior management, the required

    reviews and approvals at specific points in the life cycle. An approval fromsenior management is required after the completion of the first seven of the

    SDLC phases, annually during Operations and Maintenance Phase and six-

    months after the Disposition Phase. Senior management approval authority

    may be varied based on dollar value, visibility level, congressional interests

    or a combination of these.

    Page

    10

  • 8/9/2019 Project Report as Ha

    11/148

    ClassifiedsOnline.com

    The program sponsor is responsible for identifying who will be

    responsible for formally accepting the delivered system at the end of the

    Implementation Phase.

    A Single Project Manager must be Selected for Each System

    Project

    The Project Manager has responsibility for the success of the project

    and works through a project team and other supporting organization

    structures, such as working groups or user groups, to accomplish the

    objectives of the project. Regardless of organizational affiliation, the Project

    Manager is accountable and responsible for ensuring that project activitiesand decisions consider the needs of all organizations that will be affected by

    the system. The Project Manager develops a project charter to define and

    clearly identify the lines of authority between and within the agencys

    executive management, program sponsor, (user/customer), and developer

    for purposes of management and oversight.

    A Comprehensive Project Management Plan is Required for Each

    System Project

    The project management plan is a pivotal element in the successful

    solution of an information management requirement. The project

    management plan must describe how each life cycle phase will be

    accomplished to suit the specific characteristics of the project. The project

    management plan is a vehicle for documenting the project scope, tasks,

    schedule, allocated resources, and interrelationships with other projects. The

    plan is used to provide direction to the many activities of the life cycle andmust be refined and expanded throughout the life cycle.

    Page

    11

  • 8/9/2019 Project Report as Ha

    12/148

    ClassifiedsOnline.com

    Specific Individuals Must be Assigned to Perform Key Roles

    Throughout the Life Cycle

    Certain roles are considered vital to a successful system project and at

    least one individual must be designated as responsible for each key role.

    Assignments may be made on a full- or part-time basis as appropriate. Key

    roles include program/functional management, quality assurance, security,

    telecommunications management, data administration, database

    administration, logistics, financial, systems engineering, test and evaluation,

    contracts management, and configuration management. For most projects,

    more than one individual should represent the actual or potential users of the

    system (that is, program staff) and should be designated by the ProgramManager of the program and organization

    Page

    12

    SYSTEM STUDY AND

    PROBLEM FORMULATION

  • 8/9/2019 Project Report as Ha

    13/148

    ClassifiedsOnline.com

    REQUIREMENTS ANALYSYS

    SYSTEM STUDY AND PROBLEM FORMULATION

    THE EXISTING SYSTEM

    The existing system i.e, classifieds system works by manually

    supplying information regarding an Advertisement to be placed in the media

    (say Newspapers, magazines etc.)which must be checked thoroughly before

    given for final print.. The existing system has got lot of intricacies within

    itself and need lot of human effort and paper works. All above the data need

    to be maintained properly and maintaining this is a tedious and risky process

    as a small printing error may completely change the sense of the

    Advertisement. Moreover to view a data or to keep a record of a particular

    Advertisement may need lot of paper to be searched.

    Some of the negative aspects of the existing system are as follows:

    1) Course of action is time consuming. Wherever a need for search

    arises, the process evolves search through paper records.

    2) Readability of records is constrained. All the records may not be

    handled or written by the same person. So the format and style of

    records differ and hence it is difficult to understand.

    3) Paper records are easily damaged in course of time. The life time of

    paper record is unreliable less that it easily gets spoiled.

    4) Expenditure is high. Manual system needs added man power.

    5) It is difficult for the user to categorize and do the comparative studyof the ADs on the basis of just reading about it on a piece of Paper.

    To overcome these, the proposed system has been suggested.

    Page

    13

  • 8/9/2019 Project Report as Ha

    14/148

    ClassifiedsOnline.com

    THE PROPOSED SYSTEM

    The proposed system is a computerized one. This has greater

    accuracy and efficiency. This takes only limited time for retrieval of desiredresult from the user.

    The proposed system can be used to maintain efficiently the

    postings and retrieval of any type of Advertisement posted by a Poster. The

    proposed system is also useful and helpful in checking out different

    Advertisements by a Viewer so that he/she can easily categorize and select

    the appropriate AD for him/herself depending on the requirement and his/her

    choice. He/she can also create his/her mail account using my system. Since

    my system is allowing Banner Advertisements to obtain revenue out of it, a

    user can post his/her companys or firms Advertisement using my system.

    The system includes two users:

    1) Administrator---------- Poster ( post ADs )

    2) General User---------- Viewer ( view ADs )

    The user gets into the system using user name and a unique

    password. Each user has his own accessibility permission to accomplish his

    task flawlessly. The administrator also has a ID and password to get access

    to the system so that no unauthorized person is able to keep an eye on the

    working of the complete system.

    Advantages of the proposed system are

    1) Easy access to the data

    2) The new system is more user friendly, reliable and flexible.

    3) Pop-up menus to carry out transactions for a new user, and

    for other alert messages.

    4) Timely Report generation.

    Page

    14

  • 8/9/2019 Project Report as Ha

    15/148

    ClassifiedsOnline.com

    Requirement Analysis

    At the heart of system analysis is a detailed understanding of all

    important facets of business area under investigation. (For this reason, the

    process of acquiring this is often termed the detailed investigation) Analyst,

    working closely with the employees and managers, must study the business

    process to answer these key questions:

    What is being done?

    How is it being done?

    How frequent does it occur?

    How great is the volume of transaction or decisions?

    How well is the task being performed?

    Does a problem exist?

    If a problem exist, how serious is it?

    If a problem exists, what is the underlying cause?

    Requirement analysis relies on fact-finding techniques. These include:

    InterviewQuestionnaires

    Record inspection

    On-site observation

    Page

    15

  • 8/9/2019 Project Report as Ha

    16/148

    ClassifiedsOnline.com

    IDENTIFICATION OF NEED

    In the world we are growing for globalization day by day with the

    development in IT resources and advancement, by using latest technologiesit is possible to access any information of any type while sitting at home.

    Survival on manual system is difficult that is why computerized systems are

    more in demand. The modules should be complete database driven and

    interactive that should provide the proper information regarding the online

    classifieds and yellow pages system.

    Success of any system depends up to a large extent on how

    accurately a problem is defined, thoroughly investigated and properly

    carried out to the choice of solution. Analysis is the only phase in which

    the requirements for the new system are identified. System analysis is a

    detailed study of the various operations performed by a system and their

    relationship within and outside of the system. The question is: what must

    be done to solve the problem? One aspect of analysis is defining the

    boundaries of the system and determining whether or not a user system

    should consider other related system. During analysis data are collectedon the available files, decision points and transactions handled by the

    parent system. Data flow diagram, interviews, onsite observations,

    questionnaires are used as a logical system model and tools to perform

    the analysis.

    An analyst is responsible for performing following tasks:

    Gathered all facts about the present system from theemployees.

    Studied strength and weakness of the current system.

    Determined what must be done to solve the problem.

    Prepared a functional specifications document.

    Page

    16

  • 8/9/2019 Project Report as Ha

    17/148

    ClassifiedsOnline.com

    In order to reduce the time, there is a need for computerized system that

    can retrieve data, insert data, update existing data or delete existing data.

    These modules are developed wit the aim of reducing time, reducing

    manpower, reducing cost so that the records can be easily maintained.The volume of work and complexity are increasing year by year. This

    system reduces complexity and workload.

    PRELIMINARY INVESTIGATION

    A request to take assistance from information system can be made for

    many reasons, but in each case someone in the organization initiate therequest. When the request is made, the first system activity the

    preliminary investigation begins. This activity has three parts:

    Request clarification

    Feasible Study

    Request approval

    Many requests from employees and users in the organization are notclearly defined. Therefore, it becomes necessary that project request must

    be examined and clarified properly before considering systems

    investigation.

    The feasibility study is carried out by a small group of people who are

    familiar with information system techniques, understand the parts of the

    business or organization that will be involved or affected by the project, and

    are skilled in the system analysis and design process.

    Request Approval:

    It is not necessary that all request projects are desirable or feasible. Some

    organizations receive so many projects request from employees that only a

    Page

    17

  • 8/9/2019 Project Report as Ha

    18/148

    ClassifiedsOnline.com

    few of them can be purchased. However, those projects that are feasible and

    desirable should be put into a schedule.

    In some cases, development can start immediately, although usually

    system staff members are busy on other ongoing projects. When suchsituation arises, management decides which projects are more urgent and

    schedule them accordingly. After a project request is approved, its cost,

    priority, completion time and personal requirements are estimated and used

    to determine whether to add it to any existing project list. Later on, when the

    other projects have been completed, the proposed application development

    can be initiated.

    Analysis is a process of studying a problem and to find the best

    solution to that problem. System analysis gives us the target for the design

    and the implementation. Analysis is one phase, which is important phase for

    system development life cycle. System development is a problem solving

    techniques. Analysis involves interviewing the client and the user. Three

    people and the existing documents about the current mode of operation are

    the basic source of information for the analyst.

    Analysis is the process of studying a problem to find the best solution to thatproblem. System analysis gives us the target for the design and the

    implementation. Analysis is one phase of the very important phase of the

    system development life cycle. System development is a problem solving

    techniques. Analyses involve interviewing the client and the user. These

    people and the existing document about the current mode of operation are

    the basic source of information for the analyst.

    Page

    18

  • 8/9/2019 Project Report as Ha

    19/148

    ClassifiedsOnline.com

    SOFTWARE ENGINEERING PARADIGM

    Computer Aided Software Engineering can be as simple as a single tool that

    support a specific software engineering activity or as complex as a complete environment that encompasses tools, a database, people, hardware, a

    network, operating system, standards, and myriad other components. Each

    building block forms a foundation for the next, with tools sitting as the top of

    the heap. It is interesting to note that the foundation for effective CASE

    environment has relatively little to do for software engineering tools

    themselves. Rather, successful environments appropriate hardware and

    systems software. In addition, the environment architecture must consider

    the human work patterns that are applied during the software engineering

    process.

    The environment composed of the hardware platform and system support

    (including networking software, software management, and object

    management services), the groundwork for CASE. But the CASE environment

    itself demands other building blocks. A set of portability services provides a

    bridge between CASE tools and their integration framework and theenvironment architecture. The integration framework is a collection of

    specialized programs that enables individuals CASE tools to communicate

    one another, to create a project database, and to exhibit the same look and

    feel to the end user (the software engineer). Portability services allow CASE

    tools and their integration framework to migrate across different hardware

    platforms and operating system with out significant adaptive maintenance.

    The building blocks represent a comprehensive foundation for the integrationof CASE tools. However, most CASE tools in use today have been:

    constructed using all these building blocks.

    In fact some CASE tools remain point solution: That is, a tool is used to

    assist in a particular software engineering activity (e.g. analysis modeling)

    Page

    19

  • 8/9/2019 Project Report as Ha

    20/148

    ClassifiedsOnline.com

    but does not directly communicate with other tools, is not tied into a project

    database, is not part of an integrated CASE environment (l-CASE). Although

    this situation is not ideal, a CASE tool can be used quite effectively, even if it

    is a point solution.

    At the low end of the integration spectrum is the individual (point solution)

    tool. When individual tools can provide tools provide facilities for data

    exchange, the integration level is improved slightly. Such tools produce

    output in a standard format that should be compatible with other tools that

    can read the format. In some cases, the builder of complementary CASE

    tools work together to form a bridge between the tools (e.g. an analysis and

    design tool that is coupled with a code generator). Using this approach, the

    team develops, synergy between the tools separately. Single source

    integration occurs when a single CASE tools vendor integrates a number of

    different tools and sells them as a package.

    Although this approach is quite effective, the closed architecture of most

    single source environments precludes easy addition from other vendors.

    Feasibility Study

    Page

    20

  • 8/9/2019 Project Report as Ha

    21/148

  • 8/9/2019 Project Report as Ha

    22/148

    ClassifiedsOnline.com

    sophisticated and dont needs extra components to load the software. Hence

    the organization can implement the new system without any additional

    expenditure. Hence, it is economically feasible.

    Software Cost :

    Manpower Cost :

    Technical Feasibility

    Page

    22

    HOSTING SERVER : 20000 /-

    ASP.NET : 15000 /-

    SQL SERVER2005 : 10000 /-

    Team cost : 25000 /-

    System Cost : 40,000 /-

    Total Cost :100000 / -

  • 8/9/2019 Project Report as Ha

    23/148

    ClassifiedsOnline.com

    It is a measure of the practically of a specific technical solution and the

    availability of technical resources and expertise

    The proposed system uses ASP.NET3.5 as front-end and SQL

    SERVER2005 EXPRESSas back-end tool.

    SQL SERVER is a popular tool used to design and develop database

    objects such as table views, indexes.

    The above tools are readily available, easy to work with and widely

    used for developing commercial application.

    Hardware used in this project are- p4 processor 2.4GHz, 128

    MB RAM, 40 GB hard disk, floppy drive. These hardware were already

    available on the existing computer system. The software like Sql server,

    Asp.net3.5, and operating system WINDOWS-XP used were already

    installed On the existing computer system. So no additional hardware and

    software were required to purchase and it is technically feasible. The

    technical feasibility is in employing computers to the organization. The

    organization is equipped with enough computers so that it is easier for

    updating. Hence the organization has not technical difficulty in adding this

    system.

    Tools Used :

    1) ASP.NET 3.5 FRAMEWORK

    2) SQLSERVER 2005 EXPRESS

    3) SILVERLIGHT

    4) PRE BUILD ASSEMBLIES

    Duration of Project:-

    Page

    23

  • 8/9/2019 Project Report as Ha

    24/148

    ClassifiedsOnline.com

    Operational Feasibility

    The system will be used if it is developed well then be resistance for

    users that undetermined

    No major training and new skills are required as it is

    based on Database model.

    It will help in the time saving and fast processing and

    dispersal of user request and applications.

    New product will provide all the benefits of present

    system with better performance.

    Improved information, better management and collection

    of the reports.

    User support.

    Page

    24

    Time Duration

    For study 15 days

    Designing 20 days

    For development 90 days

    Testing 15 days

    Total time 140 days

  • 8/9/2019 Project Report as Ha

    25/148

    ClassifiedsOnline.com

    User involvement in the building of present system is

    sought to keep in mind the user specific requirement and

    needs.

    User will have control over there own information.

    Important information such as pay-slip can be generated

    at the click of a button.

    Faster and systematic processing of user application

    approval, allocation of IDs, payments, etc. used had

    greater chances of error due to wrong information

    entered by mistake.

    Behavioral Feasibility

    People are inherent to change. In this type of feasibility check, we

    come to know if the newly developed system will be taken and accepted by

    the working force i.e. the people who will use it.

    Page

    25

  • 8/9/2019 Project Report as Ha

    26/148

    ClassifiedsOnline.com

    Page

    26

    PROJECT CATEGORY AND TOOL SELECTION

  • 8/9/2019 Project Report as Ha

    27/148

    ClassifiedsOnline.com

    C C lassified lassified ss O O nl inenline (online classified) is being made as web-application.

    Project can be categorized in two ways:-

    Local Area Network projects.

    Distributed Projects .

    Local Area Network projects are those projects where application has

    to be incorporated in the Local area network of the client i.e within itspremises only. In case of LAN, server is not remotely located and client

    accesses the application through the network. Here the question of platform

    independence does not arise and we can use the technologies like: Visual

    Studio C#, Fox pro, D2k or C, C++, etc.

    Distributed projects are those projects where application is remotely

    situated. In these kinds of projects, application is remotely situated on to the

    remote server from where client machine accesses the application. WAN and

    Internet is a kind of distributed application where client machine connects to

    the remote server and application is downloaded on to the client machine.

    Here the question of platform independence arises and we use technologies

    like Java Servlet, Java Server Pages, Java Beans, RMI,C# etc.

    Page

    27

  • 8/9/2019 Project Report as Ha

    28/148

    ClassifiedsOnline.com

    Page

    28

    PLATFORM

    (Technologies/Tools)

  • 8/9/2019 Project Report as Ha

    29/148

    ClassifiedsOnline.com

    PLATFORM (Technology/Tool Selection)

    Introduction to C#

    C# (pronounced "see sharp") is a multi-paradigm programming language

    encompassing imperative , functional , generic , object-oriented ( class-based ),

    and component-oriented programming disciplines. It was developed by

    Microsoft within the .NET initiative and later approved as a standard by Ecma

    (ECMA-334) and ISO (ISO/IEC 23270). C# is one of the programming

    languages designed for the Common Language Infrastructure .

    History of C#

    During the development of the .NET Framework, the class libraries

    were originally written using a managed code compiler system called Simple

    Managed C (SMC) James Gosling , who created the Java programming

    language in 1994, and Bill Joy , a co-founder of Sun Microsystems, the

    proprietor of Java, called C# an "imitation" of Java Microsoft had considered

    keeping the name "Cool" as the final name of the language, but chose not todo so for trademark reasons. By the time the .NET project was publicly

    announced at the July 2000 Professional Developers Conference , the

    language had been renamed C#, and the class libraries and ASP.NET runtime

    had been ported to C#.

    Page

    29

    http://en.wikipedia.org/wiki/Multi-paradigm_programming_languagehttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Generic_programminghttp://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Class_(computer_science)http://en.wikipedia.org/wiki/Component-based_software_engineeringhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Ecma_Internationalhttp://en.wikipedia.org/wiki/International_Organization_for_Standardizationhttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/James_Goslinghttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Bill_Joyhttp://en.wikipedia.org/wiki/Professional_Developers_Conferencehttp://en.wikipedia.org/wiki/ASP.NEThttp://en.wikipedia.org/wiki/Multi-paradigm_programming_languagehttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Generic_programminghttp://en.wikipedia.org/wiki/Object-oriented_programminghttp://en.wikipedia.org/wiki/Class_(computer_science)http://en.wikipedia.org/wiki/Component-based_software_engineeringhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Ecma_Internationalhttp://en.wikipedia.org/wiki/International_Organization_for_Standardizationhttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/Managed_codehttp://en.wikipedia.org/wiki/James_Goslinghttp://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Java_(programming_language)http://en.wikipedia.org/wiki/Bill_Joyhttp://en.wikipedia.org/wiki/Professional_Developers_Conferencehttp://en.wikipedia.org/wiki/ASP.NET
  • 8/9/2019 Project Report as Ha

    30/148

    ClassifiedsOnline.com

    C# Features

    Some of the important features of c# are as follows:

    Simplicity Orientation

    Platform Independence

    Security

    High Performance

    Multi Threading

    Dynamic linking.

    Garbage Collection.

    One of the most important features of C# is platform independence,

    which makes it famous and suitable language for World Wide Web.

    Why C# is Independent?

    C# is Platform Independent because of CIL

    Common Intermediate Language

    Common Intermediate Language (CIL, pronounced either "sil" or "kil")

    (formerly called Microsoft Intermediate Language or MSIL) is the lowest-level

    human-readable programming language defined by the Common Language

    Infrastructure specification and used by the .NET Framework and Mono .

    Languages which target a CLI-compatible runtime environment compile to

    CIL, which is assembled into bytecode . CIL is an object-oriented assembly

    language , and is entirely stack-based . It is executed by a virtual machine .

    Page

    30

    http://en.wikipedia.org/wiki/Human-readablehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Mono_(software)http://en.wikipedia.org/wiki/Bytecodehttp://en.wikipedia.org/wiki/Object-orientedhttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Stack-based_memory_allocationhttp://en.wikipedia.org/wiki/Virtual_machinehttp://en.wikipedia.org/wiki/Human-readablehttp://en.wikipedia.org/wiki/Programming_languagehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/Common_Language_Infrastructurehttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Mono_(software)http://en.wikipedia.org/wiki/Bytecodehttp://en.wikipedia.org/wiki/Object-orientedhttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Assembly_languagehttp://en.wikipedia.org/wiki/Stack-based_memory_allocationhttp://en.wikipedia.org/wiki/Virtual_machine
  • 8/9/2019 Project Report as Ha

    31/148

    ClassifiedsOnline.com

    The execution process looks like this:

    1. Source code is converted to Common Intermediate Language, CLI's

    equivalent to Assembly language for a CPU.

    2. CIL is then assembled into bytecode and a .NET assembly is created.

    3. Upon execution of a .NET assembly, its bytecode is passed through the

    runtime's JIT compiler to generate native code. (Ahead-of-time

    compilation eliminates this step at run time.)

    4. The native code is executed by the computer's processor.

    Microsoft .NET Framework

    The Microsoft .NET Framework is a software framework that 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 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 user interface , 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

    NET Framework 3.5

    Version 3.5 of the .NET Framework was released on 19 November 2007, but

    it is not included with Windows Server 2008 . As with .NET Framework 3.0,

    version 3.5 uses the CLR of version 2.0. In addition, it installs .NET

    Framework 2.0 SP1, (installs .NET Framework 2.0 SP2 with 3.5 SP1) and

    Page

    31

    http://en.wikipedia.org/wiki/.NET_assemblyhttp://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/Microsofthttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/User_interfacehttp://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/Algorithmhttp://en.wikipedia.org/wiki/Computer_networkinghttp://en.wikipedia.org/wiki/Computer_networkinghttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Windows_Server_2008http://en.wikipedia.org/wiki/.NET_assemblyhttp://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/Microsofthttp://en.wikipedia.org/wiki/Base_Class_Libraryhttp://en.wikipedia.org/wiki/User_interfacehttp://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/Algorithmhttp://en.wikipedia.org/wiki/Computer_networkinghttp://en.wikipedia.org/wiki/Computer_networkinghttp://en.wikipedia.org/wiki/Source_codehttp://en.wikipedia.org/wiki/Windows_Server_2008
  • 8/9/2019 Project Report as Ha

    32/148

    ClassifiedsOnline.com

    .NET Framework 3.0 SP1 (installs .NET Framework 3.0 SP2 with 3.5 SP1),

    which adds some methods and properties to the BCL classes in version 2.0

    which are required for version 3.5 features such as Language Integrated

    Query (LINQ) . These changes do not affect applications written for version2.0, however

    Changes since version 3.0

    New language features in C# 3.0 and VB.NET 9.0 compiler

    Adds support for expression trees and lambda methods

    Extension methods Expression trees to represent high-level source code at runtime.

    Anonymous types with static type inference

    Language Integrated Query (LINQ) along with its various providers

    o LINQ to Objects

    o LINQ to XML

    o LINQ to SQL

    Paging support for ADO.NET

    ADO.NET synchronization API to synchronize local caches and server

    side datastores

    Asynchronous network I/O API .

    Peer-to-peer networking stack, including a managed PNRP resolver

    Managed wrappers for Windows Management Instrumentation and

    Active Directory APIs

    Enhanced WCF and WF runtimes, which let WCF work with POX and

    JSON data, and also expose WF workflows as WCF services. WCFservices can be made stateful using the WF persistence model.

    Support for HTTP pipelining and syndication feeds .

    ASP.NET AJAX is included.

    Page

    32

    http://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/C_Sharp_(programming_language)http://en.wikipedia.org/wiki/Visual_Basic_.NEThttp://en.wikipedia.org/wiki/Lambda_calculushttp://en.wikipedia.org/wiki/Extension_methodhttp://en.wikipedia.org/wiki/Expression_treehttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Ado.nethttp://en.wikipedia.org/wiki/PNRPhttp://en.wikipedia.org/wiki/Windows_Management_Instrumentationhttp://en.wikipedia.org/wiki/Active_Directoryhttp://en.wikipedia.org/wiki/Application_programming_interfacehttp://en.wikipedia.org/wiki/Windows_Communication_Foundationhttp://en.wikipedia.org/wiki/Windows_Workflow_Foundationhttp://en.wikipedia.org/wiki/Plain_Old_XMLhttp://en.wikipedia.org/wiki/JSONhttp://en.wikipedia.org/wiki/HTTP_pipelininghttp://en.wikipedia.org/wiki/Web_feedhttp://en.wikipedia.org/wiki/ASP.NET_AJAXhttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/C_Sharp_(programming_language)http://en.wikipedia.org/wiki/Visual_Basic_.NEThttp://en.wikipedia.org/wiki/Lambda_calculushttp://en.wikipedia.org/wiki/Extension_methodhttp://en.wikipedia.org/wiki/Expression_treehttp://en.wikipedia.org/wiki/Language_Integrated_Queryhttp://en.wikipedia.org/wiki/Ado.nethttp://en.wikipedia.org/wiki/PNRPhttp://en.wikipedia.org/wiki/Windows_Management_Instrumentationhttp://en.wikipedia.org/wiki/Active_Directoryhttp://en.wikipedia.org/wiki/Application_programming_interfacehttp://en.wikipedia.org/wiki/Windows_Communication_Foundationhttp://en.wikipedia.org/wiki/Windows_Workflow_Foundationhttp://en.wikipedia.org/wiki/Plain_Old_XMLhttp://en.wikipedia.org/wiki/JSONhttp://en.wikipedia.org/wiki/HTTP_pipelininghttp://en.wikipedia.org/wiki/Web_feedhttp://en.wikipedia.org/wiki/ASP.NET_AJAX
  • 8/9/2019 Project Report as Ha

    33/148

    ClassifiedsOnline.com

    ASP.NET :

    ASP.NET is a web application framework developed and marketed by

    Microsoft to allow programmers to build dynamic web sites , web applications

    and web services . It was first released in January 2002 with version 1.0 of

    the .NET Framework , and is the successor to Microsoft's Active Server Pages

    (ASP) technology. ASP.NET is built on the Common Language Runtime (CLR),

    Page

    33

    http://en.wikipedia.org/wiki/Web_application_frameworkhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Programmerhttp://en.wikipedia.org/wiki/Web_sitehttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Web_servicehttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Active_Server_Pageshttp://en.wikipedia.org/wiki/Common_Language_Runtimehttp://en.wikipedia.org/wiki/Web_application_frameworkhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Programmerhttp://en.wikipedia.org/wiki/Web_sitehttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Web_servicehttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Active_Server_Pageshttp://en.wikipedia.org/wiki/Common_Language_Runtime
  • 8/9/2019 Project Report as Ha

    34/148

    ClassifiedsOnline.com

    allowing programmers to write ASP.NET code using any supported .NET

    language .

    .NET:

    .NET pages, known officially as "web forms", are the main building

    block for application development. Web forms are contained in files with an

    ".aspx" extension; these files typically contain static ( X) HTML markup, as

    well as markup defining server-side Web Controls and User Controls where

    the developers place all the required static and dynamic content for the web

    page. Additionally, dynamic code which runs on the server can be placed in a

    page within a block which is similar to other web

    development technologies such as PHP , JSP , and ASP , but this practice is

    generally discouraged except for the purposes of data binding since it

    requires more calls when rendering the page

    Code-behind model

    ASP.NET's code-behind model marks a departure from Classic ASP in that it

    encourages developers to build applications with separation of presentation

    and content in mind. In theory, this would allow a web designer Microsoft

    recommends dealing with dynamic program code by using the code-behind

    model, which places this code in a separate file or in a specially designated

    script tag. Code-behind files typically have names like MyPage.aspx.cs or

    MyPage.aspx.vb while the page file is MyPage.aspx (same filename as the

    page file (ASPX), but with the final extension denoting the page language).

    This practice is automatic in Microsoft Visual Studio and other IDEs . Whenusing this style of programming, the developer writes code to respond to

    different events, like the page being loaded, or a control being clicked, rather

    than a procedural walk through the document.

    , for example, to focus on the design markup with less potential for

    disturbing the programming code that drives it. This is similar to the

    Page

    34

    http://en.wikipedia.org/wiki/.NET_Languageshttp://en.wikipedia.org/wiki/.NET_Languageshttp://en.wikipedia.org/wiki/XHTMLhttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/JavaServer_Pageshttp://en.wikipedia.org/wiki/Active_Server_Pageshttp://en.wikipedia.org/wiki/Binding_(computer_science)http://en.wikipedia.org/wiki/Separation_of_presentation_and_contenthttp://en.wikipedia.org/wiki/Separation_of_presentation_and_contenthttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/.NET_Languageshttp://en.wikipedia.org/wiki/.NET_Languageshttp://en.wikipedia.org/wiki/XHTMLhttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/JavaServer_Pageshttp://en.wikipedia.org/wiki/Active_Server_Pageshttp://en.wikipedia.org/wiki/Binding_(computer_science)http://en.wikipedia.org/wiki/Separation_of_presentation_and_contenthttp://en.wikipedia.org/wiki/Separation_of_presentation_and_contenthttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Integrated_development_environment
  • 8/9/2019 Project Report as Ha

    35/148

    ClassifiedsOnline.com

    separation of the controller from the view in model-view-controller

    frameworks .

    User controls

    An event bubbling mechanism provides the ability to pass an event fired by a

    user control up to its containing page.

    Custom Controls

    Programmers can also build Custom controls for ASP.NET applications. Unlike

    User controls , these controls don't have an ASCX markup-file, having all their

    code compiled into a DLL-file. Such Custom controls can be used across

    multiple web-applications and Visual Studio projects (which is not allowed

    with User controls ). By using a Register directive, the control is loaded from

    the DLL.

    Rendering technique

    ASP.NET uses a visited composites rendering technique. During compilation,

    the template (.aspx) file is compiled into initialization code which builds a

    control tree (the composite) representing the original template. Literal text

    goes into instances of the Literal control class, and server controls are

    represented by instances of a specific control class. The initialization code is

    combined with user-written code (usually by the assembly of multiple partial

    classes) and results in a class specific for the page. The page doubles as the

    root of the control tree.

    Actual requests for the page are processed through a number of steps. First,

    during the initialization steps, an instance of the page class is created and

    the initialization code is executed. This produces the initial control tree which

    is now typically manipulated by the methods of the page in the following

    steps. As each node in the tree is a control represented as an instance of a

    Page

    35

    http://en.wikipedia.org/wiki/Model-view-controllerhttp://en.wikipedia.org/wiki/Model-view-controller
  • 8/9/2019 Project Report as Ha

    36/148

    ClassifiedsOnline.com

    class, the code may change the tree structure as well as manipulate the

    properties/methods of the individual nodes. Finally, during the rendering step

    a visitor is used to visit every node in the tree, asking each node to render

    itself using the methods of the visitor. The resulting HTML output is sent tothe client.

    After the request has been processed, the instance of the page class is

    discarded and with it the entire control tree. This is usually a source of

    confusion among novice ASP.NET programmers that rely on class instance

    members that are lost with every page request/response cycle.

    State management

    ASP.NET applications are hosted by a web server and are accessed using the

    stateless HTTP protocol. As such, if an application uses stateful interaction, it

    has to implement state management on its own. ASP.NET provides various

    functions for state management. Conceptually, Microsoft treats "state" as

    GUI state; problems may arise if an application needs to keep track of "data

    state", for example, a finite state machine which may be in a transient statebetween requests ( lazy evaluation ) or which takes a long time to initialize.

    Application state

    Application state is held by a collection of shared user-defined variables.

    These are set and initialized when the Application_OnStart event fires on the

    loading of the first instance of the applications and are available till the lastinstance exits. Application state variables are accessed using the Applications

    collection, which provides a wrapper for the application state variables.

    Application state variables are identified by name.

    Page

    36

    http://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Stateless_serverhttp://en.wikipedia.org/wiki/HTTPhttp://en.wikipedia.org/wiki/State_managementhttp://en.wikipedia.org/wiki/GUIhttp://en.wikipedia.org/wiki/Lazy_evaluationhttp://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Stateless_serverhttp://en.wikipedia.org/wiki/HTTPhttp://en.wikipedia.org/wiki/State_managementhttp://en.wikipedia.org/wiki/GUIhttp://en.wikipedia.org/wiki/Lazy_evaluation
  • 8/9/2019 Project Report as Ha

    37/148

    ClassifiedsOnline.com

    Session state

    Server-side session state is held by a collection of user-defined session

    variables, which are persisted during a user session. These variables,

    accessed using the Session collection, are unique to each session instance.

    The variables can be set to be automatically destroyed after a defined time of

    inactivity, even if the session does not end. Client-side user session is

    maintained by either a cookie or by encoding the session ID in the URL itself.

    ASP.NET supports three modes of persistence for session variables:

    In Process Mode

    When using In Process Mode, the session variables are maintained

    within the ASP.NET process . This is the fastest way; however, in this

    mode the variables are destroyed when the ASP.NET process is

    recycled or shut down.

    ASPState Mode

    In this mode, ASP.NET runs a separate Windows service that maintains

    the state variables. As state management happens outside theASP.NET process and .NET Remoting must be utilized by the ASP.NET

    engine to access the data there is a negative impact on performance

    compared to the In Process mode. This mode allows an ASP.NET

    application to be load-balanced and scaled across multiple servers and

    because the state management service runs independently of

    ASP.NET, the session variables can persist across ASP.NET process

    shutdowns. However, since session state server runs as a single

    instance it is still a single point of failure so far as session state is

    concerned. The session-state service cannot be load balanced and

    there are restrictions on types that can be stored in a session variable.

    SqlServer Mode

    In this mode, the state variables are stored in a database allowing

    session variables to be persisted across ASP.NET process shutdowns.

    The main advantage of this mode is that it allows the application toPage

    37

    http://en.wikipedia.org/wiki/HTTP_cookiehttp://en.wikipedia.org/wiki/Process_(computing)http://en.wikipedia.org/wiki/Windows_servicehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/HTTP_cookiehttp://en.wikipedia.org/wiki/Process_(computing)http://en.wikipedia.org/wiki/Windows_servicehttp://en.wikipedia.org/wiki/Database
  • 8/9/2019 Project Report as Ha

    38/148

    ClassifiedsOnline.com

    balance load on a server cluster, sharing sessions between servers.

    This is the slowest method of session state management in ASP.NET.

    View state

    View state refers to the page-level state management mechanism, utilized by

    the HTML pages emitted by ASP.NET applications to maintain the state of the

    web form controls and widgets . The state of the controls is encoded and sent

    to the server at every form submission in a hidden field known as

    __VIEWSTATE. The server sends back the variable so that when the page is

    re-rendered, the controls render at their last state. At the server side, theapplication may change the viewstate, if the processing requires a change of

    state of any control. The states of individual controls are decoded at the

    server, and are available for use in ASP.NET pages using the ViewState

    collection.

    The main use for this is to preserve form information across postbacks. View

    state is turned on by default and normally serializes the data in every control

    on the page regardless of whether it is actually used during a postback. Thisbehavior can (and should) be modified, however, as View state can be

    disabled on a per-control, per-page, or server-wide basis.

    Developers need to be wary of storing sensitive or private information in the

    View state of a page or control, as the base64 string containing the view

    state data can easily be de-serialized. By default, View state does not encrypt

    the __VIEWSTATE value. Encryption can be enabled on a server-wide (and

    server-specific) basis, allowing for a certain level of security to be

    maintained.

    Page

    38

    http://en.wikipedia.org/wiki/GUI_widgethttp://en.wikipedia.org/wiki/Base64http://en.wikipedia.org/wiki/GUI_widgethttp://en.wikipedia.org/wiki/Base64
  • 8/9/2019 Project Report as Ha

    39/148

    ClassifiedsOnline.com

    Server-side caching

    ASP.NET offers a "Cache" object that is shared across the application and can

    also be used to store various objects. The "Cache" object holds the data only

    for a specified amount of time and is automatically cleaned after the session

    time-limit elapses

    Directory structure

    In general, the ASP.NET directory structure can be determined by the

    developer's preferences. Apart from a few reserved directory names, the site

    can span any number of directories. The structure is typically reflected

    directly in the urls. Although ASP.NET provides means for intercepting the

    request at any point during processing, the developer is not forced to funnel

    requests through a central application or front controller.

    The special directory names (from ASP.NET 2.0 on) are:

    App_Browsers

    holds site-specific browser definition files.

    App_Code

    This is the "raw code" directory. The ASP.NET server automatically

    compiles files (and subdirectories) in this folder into an assembly

    which is accessible in the code of every page of the site. App_Code will

    typically be used for data access abstraction code, model code and

    business code. Also any site-specific http handlers and modules and

    web service implementation go in this directory. As an alternative to

    using App_Code the developer may opt to provide a separate

    assembly with precompiled code.

    Page

    39

  • 8/9/2019 Project Report as Ha

    40/148

    ClassifiedsOnline.com

    App_Data

    default directory for databases , such as Access mdb files and SQL

    Server mdf files. This directory is usually the only one with write

    access for the application.

    App_LocalResources

    Contains localized resource files for individual pages of the site. E.g. a

    file called CheckOut.aspx.fr-FR.resx holds localized resources for the

    French version of the CheckOut.aspx page. When the UI culture is set

    to french, ASP.NET will automatically find and use this file for

    localization.

    App_GlobalResources

    Holds resx files with localized resources available to every page of the

    site. This is where the ASP.NET developer will typically store localized

    messages etc. which are used on more than one page.

    App_Themes

    holds alternative themes of the site.

    App_WebReferences

    holds discovery files and WSDL files for references to web services to

    be consumed in the site.

    Bin

    Contains compiled code (.dll files) for controls, components, or other

    code that you want to reference in your application. Any classes

    represented by code in the Bin folder are automatically referenced inyour application.

    Page

    40

    http://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Web_Services_Description_Languagehttp://en.wikipedia.org/wiki/Web_servicehttp://en.wikipedia.org/wiki/Databasehttp://en.wikipedia.org/wiki/Web_Services_Description_Languagehttp://en.wikipedia.org/wiki/Web_service
  • 8/9/2019 Project Report as Ha

    41/148

    ClassifiedsOnline.com

    Performance

    ASP.NET aims for performance benefits over other script-based technologies

    (including Classic ASP) by compiling the server-side code to one or more DLL

    files on the web server . This compilation happens automatically the first time

    a page is requested (which means the developer need not perform a

    separate compilation step for pages). This feature provides the ease of

    development offered by scripting languages with the performance benefits of

    a compiled binary. However, the compilation might cause a noticeable but

    short delay to the web user when the newly-edited page is first requested

    from the web server, but won't again unless the page requested is updated

    further.

    The ASPX and other resource files are placed in a virtual host on an Internet

    Information Services server (or other compatible ASP.NET servers; see Other

    Implementations, below). The first time a client requests a page, the .NET

    framework parses and compiles the file(s) into a .NET assembly and sends

    the response; subsequent requests are served from the DLL files. By default

    ASP.NET will compile the entire site in batches of 1000 files upon first

    request. If the compilation delay is causing problems, the batch size or the

    compilation strategy may be tweaked.

    Developers can also choose to pre-compile their "codebehind" files before

    deployment, using MS Visual Studio, eliminating the need for just-in-time

    compilation in a production environment. This also eliminates the need of

    having the source code on the web server

    Ajax

    (shorthand for asynchronous JavaScript and XML) is a group of interrelated

    web development techniques used on the client-side to create interactive

    web applications . With Ajax, web applications can retrieve data from the

    server asynchronously in the background without interfering with the display

    Page

    41

    http://en.wikipedia.org/wiki/Dynamic_link_libraryhttp://en.wikipedia.org/wiki/Computer_filehttp://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Internet_Information_Serviceshttp://en.wikipedia.org/wiki/Internet_Information_Serviceshttp://en.wikipedia.org/wiki/Asynchronous_I/Ohttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/XMLhttp://en.wikipedia.org/wiki/Web_developmenthttp://en.wikipedia.org/wiki/Client-sidehttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Dynamic_link_libraryhttp://en.wikipedia.org/wiki/Computer_filehttp://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Internet_Information_Serviceshttp://en.wikipedia.org/wiki/Internet_Information_Serviceshttp://en.wikipedia.org/wiki/Asynchronous_I/Ohttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/XMLhttp://en.wikipedia.org/wiki/Web_developmenthttp://en.wikipedia.org/wiki/Client-sidehttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Web_applicationhttp://en.wikipedia.org/wiki/Web_server
  • 8/9/2019 Project Report as Ha

    42/148

    ClassifiedsOnline.com

    and behavior of the existing page. The use of Ajax techniques has led to an

    increase in interactive or dynamic interfaces on web pages. Data is usually

    retrieved using the XMLHttpRequest object . Despite the name, the use of

    XML is not actually required, nor do the requests need to be asynchronous .[2]

    Like DHTML and LAMP, Ajax is not a technology in itself, but a group of

    technologies. Ajax uses a combination of HTML and CSS to mark up and style

    information. The DOM is accessed with JavaScript to dynamically display, and

    to allow the user to interact with the information presented. JavaScript and

    the XMLHttpRequest object provide a method for exchanging data

    asynchronously between browser and server to avoid full page reloads.

    Server-side pages are contained in PHP or server-side scripting

    In the 1990s, web browsers and web sites were based on static pages and

    each user action required that the page be re-loaded from the server (or a

    new page loaded). This could slow down user interaction considerably.

    Asynchronous loading of content first became practical when Java applets

    were introduced in the first version of the Java language in 1995. These allow

    compiled client-side code to load data asynchronously from the web server

    after a web page is loaded. [3] In 1996, Internet Explorer introduced the

    IFrame element to HTML, which also enabled asynchronous loading. In 1999,

    Microsoft created the XMLHTTP ActiveX control in Internet Explorer 5 , which

    is now supported by Mozilla , Safari , Opera and other browsers as the native

    XMLHttpRequest object. The utility of background HTTP requests to the

    server and asynchronous web technologies remained fairly obscure until it

    started appearing in full scale online applications such as Oddpost (2002),

    and later, notably Google made a wide deployment of Ajax with Gmail (2004)

    and Google Maps (2005).

    Page

    42

    http://en.wikipedia.org/wiki/XMLHttpRequesthttp://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/XMLhttp://en.wikipedia.org/wiki/Asynchronyhttp://en.wikipedia.org/wiki/Ajax_(programming)#cite_note-wrox-1http://en.wikipedia.org/wiki/Dynamic_HTMLhttp://en.wikipedia.org/wiki/LAMP_(software_bundle)http://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/Cascading_Style_Sheetshttp://en.wikipedia.org/wiki/Document_Object_Modelhttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/Java_applethttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Ajax_(programming)#cite_note-applets-2http://en.wikipedia.org/wiki/Internet_Explorerhttp://en.wikipedia.org/wiki/HTML_element#Frameshttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/ActiveXhttp://en.wikipedia.org/wiki/Internet_Explorer_5http://en.wikipedia.org/wiki/Mozillahttp://en.wikipedia.org/wiki/Safari_(web_browser)http://en.wikipedia.org/wiki/Opera_(web_browser)http://en.wikipedia.org/wiki/Oddposthttp://en.wikipedia.org/wiki/Gmailhttp://en.wikipedia.org/wiki/Google_Mapshttp://en.wikipedia.org/wiki/XMLHttpRequesthttp://en.wikipedia.org/wiki/Object_(computer_science)http://en.wikipedia.org/wiki/XMLhttp://en.wikipedia.org/wiki/Asynchronyhttp://en.wikipedia.org/wiki/Ajax_(programming)#cite_note-wrox-1http://en.wikipedia.org/wiki/Dynamic_HTMLhttp://en.wikipedia.org/wiki/LAMP_(software_bundle)http://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/Cascading_Style_Sheetshttp://en.wikipedia.org/wiki/Document_Object_Modelhttp://en.wikipedia.org/wiki/JavaScripthttp://en.wikipedia.org/wiki/PHPhttp://en.wikipedia.org/wiki/Java_applethttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Ajax_(programming)#cite_note-applets-2http://en.wikipedia.org/wiki/Internet_Explorerhttp://en.wikipedia.org/wiki/HTML_element#Frameshttp://en.wikipedia.org/wiki/HTMLhttp://en.wikipedia.org/wiki/ActiveXhttp://en.wikipedia.org/wiki/Internet_Explorer_5http://en.wikipedia.org/wiki/Mozillahttp://en.wikipedia.org/wiki/Safari_(web_browser)http://en.wikipedia.org/wiki/Opera_(web_browser)http://en.wikipedia.org/wiki/Oddposthttp://en.wikipedia.org/wiki/Gmailhttp://en.wikipedia.org/wiki/Google_Maps
  • 8/9/2019 Project Report as Ha

    43/148

    ClassifiedsOnline.com

    The term "Ajax" was coined in 2005 by Jesse James Garrett . However, a

    patent application covering this type of user interface was filed on September

    3, 2003, thus predating the term itself by two years. This application resulted

    in US Patent #7,523,401 being issued to Greg Aldridge of Kokomo, IN.

    On April 5, 2006 the World Wide Web Consortium (W3C) released the first

    draft specification for the object in an attempt to create an official web

    standard .

    ASP.NET Web Site Administration Tool

    The ASP.NET Web Site Administration Tool is a utility provided along with

    Microsoft Visual Studio which assists in the configuration and administration

    of a website created using Microsoft Visual Studio 2005 and later versions.

    History

    The Web Site Administration tool was first introduced with ASP.NET 2.0 along

    with ASP.NET Microsoft Management Console (MMC) Snap-in.

    Page

    43

    http://en.wikipedia.org/wiki/Jesse_James_Garretthttp://en.wikipedia.org/wiki/World_Wide_Web_Consortiumhttp://en.wikipedia.org/wiki/Web_standardhttp://en.wikipedia.org/wiki/Web_standardhttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Configure_script_(computing)http://en.wikipedia.org/wiki/System_administratorhttp://en.wikipedia.org/wiki/Websitehttp://en.wikipedia.org/wiki/Microsoft_Visual_Studio#Visual_Studio_2005http://en.wikipedia.org/wiki/ASP.NET_2.0http://en.wikipedia.org/wiki/Jesse_James_Garretthttp://en.wikipedia.org/wiki/World_Wide_Web_Consortiumhttp://en.wikipedia.org/wiki/Web_standardhttp://en.wikipedia.org/wiki/Web_standardhttp://en.wikipedia.org/wiki/Microsoft_Visual_Studiohttp://en.wikipedia.org/wiki/Configure_script_(computing)http://en.wikipedia.org/wiki/System_administratorhttp://en.wikipedia.org/wiki/Websitehttp://en.wikipedia.org/wiki/Microsoft_Visual_Studio#Visual_Studio_2005http://en.wikipedia.org/wiki/ASP.NET_2.0
  • 8/9/2019 Project Report as Ha

    44/148

    ClassifiedsOnline.com

    Accessing the Tool

    the Web Site Administration Tool could be accessed by clicking ASP.NET

    Configuration from the Website menu. It can also be accessed by clicking on

    the ASP.NET Configuration icon in the Solution Explorer window.

    Features

    The ASP.NET Web Site Administration tool is a multi-tabbed utility which has

    the following features:

    Web Site Administration Tool Security Tab

    Web Site Administration Tool Application Tab

    Web Site Administration Tool Provider Tab

    Web Site Administration Tool Internals

    Web Site Administration Tool Security Tab

    The security tab is used to create users and roles, group users under

    different roles and assign access rules either at the role-level or user-level.

    When the Web site administration tool is opened to modify the existing

    settings, a new database is created in the App_Data folder of the application.This database stores ASP.NET membership-related information. The name of

    the database created is ASPNETDB by default.

    The security tab simplifies and optimizes user authentication and

    authorization . It makes it comparatively easy to configure user permissions

    than code-based user-defined authentication systems which require a great

    Page

    44

    http://en.wikipedia.org/wiki/Authenticationhttp://en.wikipedia.org/wiki/Authorizationhttp://en.wikipedia.org/wiki/File:Website_Admin_Security.jpghttp://en.wikipedia.org/wiki/File:Website_Admin_Security.jpghttp://en.wikipedia.org/wiki/Authenticationhttp://en.wikipedia.org/wiki/Authorization
  • 8/9/2019 Project Report as Ha

    45/148

    ClassifiedsOnline.com

    amount of time, cost and manpower. However, a major drawback of this tool

    is that access rules could be defined only at the folder-level and not at the

    page-level .

    Web Site Administration Tool Application Tab

    The Application tab is used to specify application settings, configure SMTP

    settings and enable or disable debugging and tracing apart from other uses.

    The Application tab interacts with the configuration file of the application

    ( web.config ) and not with the ASPNETDB database. Application settings are

    created as objects and inserted as name-value pairs in the web.config file.

    Web Site Administration Tool Provider Tab

    The Provider tab is used to specify the database provider for the ASPNETDB

    database used to store ASP.NET membership and role information. The

    security page does not appear unless and until the database provider is

    specified in the Providers tab. An SQL Data provider is generally used, but

    Oracle Data providers are also used in case of Oracle databases. The provider

    alloows the user the option of choosing a single database to store all data

    related to the ASP.NET Website Administration tool or different databases foreach purpose.

    Web Site Administration Tool Internals

    Apart from these tabs, there are a number of other features and components

    associated with the ASP.NET Web Administration tool. The ASP.NET

    Configuration APIs which the ASP.NET Web Site Administration tool makes

    use of to access and modify the security and application settings in the

    Web.config file is one of them.

    Programmatic access

    Programmatic access to the features provided by the ASP.NET Web Site

    administration tool is made possible by inclusion of the System.Web.Security

    namespace in the ASP.NET program. The classes Membership and Roles are

    Page

    45

    http://en.wikipedia.org/wiki/Folderhttp://en.wikipedia.org/wiki/Pagehttp://en.wikipedia.org/wiki/SMTPhttp://en.wikipedia.org/wiki/Debugginghttp://en.wikipedia.org/wiki/Tracinghttp://en.wikipedia.org/wiki/Web.confighttp://en.wikipedia.org/wiki/Folderhttp://en.wikipedia.org/wiki/Pagehttp://en.wikipedia.org/wiki/SMTPhttp://en.wikipedia.org/wiki/Debugginghttp://en.wikipedia.org/wiki/Tracinghttp://en.wikipedia.org/wiki/Web.config
  • 8/9/2019 Project Report as Ha

    46/148

    ClassifiedsOnline.com

    used to store, access and modify user information in the ASPNETDB

    database. The user could be authenticated using the

    Membership.ValidateUser or FormsAuthentication.Authenticate methods.

    Page-based user authorization is realized by the usage of the AuthorizeRequest event of the HttpApplication class.

    Internet Information Services

    Internet Information Services (IIS) - formerly called Internet Information

    Server - is a web server application and set of feature extension modules

    created by Microsoft for use with Microsoft Windows . It is the world's second

    most popular web server in terms of overall websites behind the industry

    leader Apache HTTP Server . As of March 2010, it served 24.47% of all

    websites on the Internet according to Netcraft . The protocols supported in

    IIS 7 include: FTP , FTPS , SMTP , NNTP , and HTTP / HTTPS .

    Versions

    IIS 1.0, Windows NT 3.51 available as a free add-on

    IIS 2.0, Windows NT 4.0

    IIS 3.0, Windows NT 4.0 Service Pack 3

    IIS 4.0, Windows NT 4.0 Option Pack

    IIS 5.0, Windows 2000

    IIS 5.1, Windows XP Professional , Windows XP Media Center Edition

    IIS 6.0, Windows Server 2003 and Windows XP Professional x64

    Edition

    IIS 7.0, Windows Server 2008 and Windows Vista (Home Premium,

    Business, Enterprise, Ultimate Editions)

    IIS 7.5, Windows Server 2008 R2 and Windows 7

    Page

    46

    http://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Apache_HTTP_Serverhttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/Netcrafthttp://en.wikipedia.org/wiki/File_Transfer_Protocolhttp://en.wikipedia.org/wiki/FTPShttp://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocolhttp://en.wikipedia.org/wiki/Network_News_Transfer_Protocolhttp://en.wikipedia.org/wiki/HTTPhttp://en.wikipedia.org/wiki/HTTPShttp://en.wikipedia.org/wiki/Windows_NT_3.51http://en.wikipedia.org/wiki/Windows_NT_4.0http://en.wikipedia.org/wiki/Windows_NT_4.0http://en.wikipedia.org/wiki/Windows_NT_4.0http://en.wikipedia.org/wiki/Windows_2000http://en.wikipedia.org/wiki/Windows_XPhttp://en.wikipedia.org/wiki/Windows_XP_Media_Center_Editionhttp://en.wikipedia.org/wiki/Windows_Server_2003http://en.wikipedia.org/wiki/Windows_XP_Professional_x64_Editionhttp://en.wikipedia.org/wiki/Windows_XP_Professional_x64_Editionhttp://en.wikipedia.org/wiki/Windows_Server_2008http://en.wikipedia.org/wiki/Windows_Vistahttp://en.wikipedia.org/wiki/Windows_Server_2008_R2http://en.wikipedia.org/wiki/Windows_7http://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Microsofthttp://en.wikipedia.org/wiki/Microsoft_Windowshttp://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/Apache_HTTP_Serverhttp://en.wikipedia.org/wiki/Internethttp://en.wikipedia.org/wiki/Netcrafthttp://en.wikipedia.org/wiki/File_Transfer_Protocolhttp://en.wikipedia.org/wiki/FTPShttp://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocolhttp://en.wikipedia.org/wiki/Network_News_Transfer_Protocolhttp://en.wikipedia.org/wiki/HTTPhttp://en.wikipedia.org/wiki/HTTPShttp://en.wikipedia.org/wiki/Windows_NT_3.51http://en.wikipedia.org/wiki/Windows_NT_4.0http://en.wikipedia.org/wiki/Windows_NT_4.0http://en.wikipedia.org/wiki/Windows_NT_4.0http://en.wikipedia.org/wiki/Windows_2000http://en.wikipedia.org/wiki/Windows_XPhttp://en.wikipedia.org/wiki/Windows_XP_Media_Center_Editionhttp://en.wikipedia.org/wiki/Windows_Server_2003http://en.wikipedia.org/wiki/Windows_XP_Professional_x64_Editionhttp://en.wikipedia.org/wiki/Windows_XP_Professional_x64_Editionhttp://en.wikipedia.org/wiki/Windows_Server_2008http://en.wikipedia.org/wiki/Windows_Vistahttp://en.wikipedia.org/wiki/Windows_Server_2008_R2http://en.wikipedia.org/wiki/Windows_7
  • 8/9/2019 Project Report as Ha

    47/148

    ClassifiedsOnline.com

    IIS is not turned on by default when Windows is installed, but it can be

    selected from the list of optional features. It is available in all editions of

    Windows Vista and Windows 7, including Home Basic, but some features are

    not supported on client versions of Windows.

    History

    The first Microsoft web server was a research project at European Microsoft

    Windows NT Academic Centre (EMWAC), part of the University of Edinburgh

    in Scotland , and was distributed as freeware . However since the EMWAC

    server was unable to scale sufficiently to handle the volume of traffic going to

    microsoft.com, Microsoft was forced to develop its own webserver, IIS.

    IIS was initially released as a set of web-based services for Windows NT

    3.51. IIS 2.0 followed, adding support for the Windows NT 4.0 operating

    system; and IIS 3.0 introduced the Active Server Pages dynamic scripting

    environment.

    IIS 4.0 dropped support for the Gopher protocol and was released as part of

    an "Option Pack" for Windows NT 4.0. ]

    The current shipping version of IIS is 7.5 for Windows 7 and Windows Server

    2008 R2 , 7.0 for Windows Vista and Windows Server 2008 , 6.0 for Windows

    Server 2003 and Windows XP Professional x64 Edition , and IIS 5.1 for

    Windows XP Professional .

    Windows XP has a restricted version of IIS 5.1 that supports only 10

    simultaneous connections and a single web site.

    IIS 7.0 on Vista does not limit the number of allowed connections as IIS on

    XP did, but limits concurrent requests to 10 (Windows Vista Ultimate,

    Business, and Enterprise Editions) or 3 (Vista Home Premium). Additional

    requests are queued, which hampers performance, but they are not rejected

    as with XP.

    Page

    47

    http://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/University_of_Edinburghhttp://en.wikipedia.org/wiki/Scotlandhttp://en.wikipedia.org/wiki/Freewarehttp://en.wikipedia.org/wiki/Active_Server_Pageshttp://en.wikipedia.org/wiki/Gopher_(protocol)http://en.wikipedia.org/wiki/Windows_7http://en.wikipedia.org/wiki/Windows_Server_2008_R2http://en.wikipedia.org/wiki/Windows_Server_2008_R2http://en.wikipedia.org/wiki/Windows_Vistahttp://en.wikipedia.org/wiki/Windows_Server_2008http://en.wikipedia.org/wiki/Windows_Server_2003http://en.wikipedia.org/wiki/Windows_Server_2003http://en.wikipedia.org/wiki/Windows_XP_Professional_x64_Editionhttp://en.wikipedia.org/wiki/Windows_XPhttp://en.wikipedia.org/wiki/Web_serverhttp://en.wikipedia.org/wiki/University_of_Edinburghhttp://en.wikipedia.org/wiki/Scotlandhttp://en.wikipedia.org/wiki/Freewarehttp://en.wikipedia.org/wiki/Active_Server_Pageshttp://en.wikipedia.org/wiki/Gopher_(protocol)http://en.wikipedia.org/wiki/Windows_7http://en.wikipedia.org/wiki/Windows_Server_2008_R2http://en.wikipedia.org/wiki/Windows_Server_2008_R2http://en.wikipedia.org/wiki/Windows_Vistahttp://en.wikipedia.org/wiki/Windows_Server_2008http://en.wikipedia.org/wiki/Windows_Server_2003http://en.wikipedia.org/wiki/Windows_Server_2003http://en.wikipedia.org/wiki/Windows_XP_Professional_x64_Editionhttp://en.wikipedia.org/wiki/Windows_XP
  • 8/9/2019 Project Report as Ha

    48/148

    ClassifiedsOnline.com

    IIS 6.0 added support for IPv6 . A FastCGI module is also available for IIS

    5.1, IIS 6.0 and IIS 7.

    IIS 7.0 (Windows Vista/2008) has better performance than IIS 5.1 (Windows

    XP) because it relies on the HTTP.SYS kernel driver.

    Security

    Earlier versions of IIS were hit with a number of vulnerabilities , chief among

    them CA-2001-19 which led to the infamous Code Red worm ; however, both

    versions 6.0 and 7.0 currently have no reported issues with this specific

    vulnerability. In IIS 6.0 Microsoft opted to change the behaviour of pre-

    installed ISAPI handlers, many of which were culprits in the vulnerabilities of

    4.0 and 5.0, thus reducing the attack surface of IIS. In addition, IIS 6.0

    added a feature called "Web Service Extensions" that prevents IIS from

    launching any program without explicit permission by an administrator.

    In the current release, IIS 7, the components are provided as modules so

    that only the required components have to be installed, thus further reducing

    the attack surface. In addition, security features are added such as Request

    Filtering, which rejects suspicious URLs based on a user-defined rule set.

    By default IIS 5.1 and lower run websites in-process under the SYSTEM

    account, a default Windows account with 'superuser' rights. Under 6.0 all

    request handling processes have been brought under a Network Services

    account with significantly fewer privileges so that should there be a

    vulnerability in a feature or in custom code it won't necessarily compromise

    the entire system given the sandboxed environment these worker processes

    run in. IIS 6.0 also contained a new kernel HTTP stack (http.sys) with a

    stricter HTTP request parser and response cache for both static and dynamic

    content.

    There are various built-in security features from Microsoft. Many companies

    offer third-party security tools and features, also known as "Web App

    Firewalls, or Web Application Firewalls." The advantage of such tools is thatPage

    48

    http://en.wikipedia.org/wiki/IPv6http://en.wikipedia.org/wiki/FastCGIhttp://en.wikipedia.org/wiki/Vulnerability_(computing)http://www.cert.org/advisories/CA-2001-13.htmlhttp://en.wikipedia.org/wiki/Code_Red_wormhttp://en.wikipedia.org/wiki/ISAPIhttp://en.wikipedia.org/wiki/Attack_surfacehttp://en.wikipedia.org/wiki/Sandbox_(computer_security)http://en.wikipedia.org/wiki/IPv6http://en.wikipedia.org/wiki/FastCGIhttp://en.wikipedia.org/wiki/Vulnerability_(computing)http://www.cert.org/advisories/CA-2001-13.htmlhttp://en.wikipedia.org/wiki/Code_Red_wormhttp://en.wikipedia.org/wiki/ISAPIhttp://en.wikipedia.org/wiki/Attack_surfacehttp://en.wikipedia.org/wiki/Sandbox_(computer_security)
  • 8/9/2019 Project Report as Ha

    49/148

    ClassifiedsOnline.com

    they offer much more comprehensive elements (such as easy-to-use GUI,

    etc.) that aid in protecting an IIS installation with an additional layer of

    protection at a higher level. Though no security system is ever complete,

    most admins choose to run an application-layer firewall and an IntrusionPrevention System (IPS).

    IIS Features

    IIS 7 is built on a modular architecture. Modules, also called extensions, canbe added or removed individually so that only modules required for specificfunctionality have to be installed. IIS 7 includes native modules as part of thefull installation. These modules are individual features that the server uses toprocess requests and include the following:

    HTTP modules - Used to perform tasks specific to HTTP in the request-processing pipeline, such as responding to information and inquiriessent in client headers, returning HTTP errors, and redirecting requests.

    Security modules - Used to perform tasks related to security in therequest-processing pipeline, such as specifying authenticationschemes, performing URL authorization, and filtering requests.

    Content modules - Used to perform tasks related to content in the

    request-processing pipeline, such as processing requests for staticfiles, returning a default page when a client does not specify aresource in a request, and listing the contents of a directory.

    Compression modules - Used to perform tasks related to compressionin the request-processing pipeline, such as compressing responses,applying Gzip compression transfer coding to responses, andperforming pre-compression of static content.

    Caching modules - Used to perform tasks related to caching in the

    request-processing pipeline, such as storing processed information inmemory on the