prj_sourabh

Upload: harshit-sengar

Post on 14-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 PRJ_SOURABH

    1/117

    SUBMITTED TO :: SUBMITTED BY ::

    ______________________ JATIN

    KULSHRESHTRAMUKUND

    MOLASARIYASOURABH PANDEY

    MAKHANLAL RHASTRIYA PATRAKARITAVISHWAVIDHYALAYA

    PROJECT REPORT

    ON

    iNDEX FURNITURES Ideas For Life

  • 7/29/2019 PRJ_SOURABH

    2/117

    ACKNOWLEDGEMENT

    Every passing day adds a new landmark to the

    developmental history of technology. In such a

    scenario the biggest challenge is to keep oneself

    updated with the latest advancements in the

    technology.

    For me this Project has been a great opportunity to

    polish our technical skills. It bestowed me a chance

    to get an insight into different Areas of Web

    Application Development.

    I m extremely obliged to our Faculty for escorting

    me all the way through this learning expedition.

    (SOURABH PANDEY)

  • 7/29/2019 PRJ_SOURABH

    3/117

    CERTIFICATE

    This is to certify that project entitled IndexFURNITURES submitted in partial fulfillment ofthe degree of Bachelor of Computer Application tothe Makhanlal Chaturvedi Rashtriya PatrakaritaVishwavidyalaya,Bhopal through Victor College ofProfessional Studies done by SOURABH PANDEYunder my guidance. The matter embodied in thisproject has not been submitted earlier for award ofany degree or diploma to the best of myknowledge and belief.

    (Signature Student)

    (Signature Guide)

  • 7/29/2019 PRJ_SOURABH

    4/117

    SELF CERTIFICATE

    This is to certify that project entitled INDEXFURNITURES is done by me is an authentic workcarried out for the partial fulfillment of therequirements for the award of the degree ofBachelor of Computer Application under theguidance of Mr. XXX. The matter embodied in

    this project work has not Been submitted earlierfor award of any degree or diploma to theBest of my knowledge and belief.

    (SOURABH PANDEY)

  • 7/29/2019 PRJ_SOURABH

    5/117

    CERTIFICATE

    This is to certify that project entitled INDEXFURNITURESsubmitted in partial fulfillment of the degree ofBachelor of Computer Application to the MakhanlalChaturvedi Rashtriya PatrakaritaVishwavidyalaya,Bhopal through Victor Collegeof Professional Studies done by SOURABHPANDEY under my guidance. The matterembodied in this project has not been submittedearlier for award of any degree or diplomato the best of my knowledge and belief.

    (Signature H.O.D.)

  • 7/29/2019 PRJ_SOURABH

    6/117

  • 7/29/2019 PRJ_SOURABH

    7/117

    INDEX

    INTRODUCTION

    ECOMMERCE

    OBJECTIVE

    TECHNICAL DETAILS

    TECHNOLOGY OVERVIEW

    SYSTEM DEVELOPMENT METHODOLOGY

    SDLC

    USE CASES

    DATABASE STRUCTURE

    SCREEN SHOTS

    SOURCE CODE

  • 7/29/2019 PRJ_SOURABH

    8/117

    INTRODUCTION

    INTRODUCTION

    INDEX FURNITURE is a web based solution mainly

    designed for customers to shop online for various

    cateogaries of furniture items. This service has

    been developed for helping people to take

    advantage of internet revolution and its increased

    use. Index furniture is focused on key procedures

    that any E-commerce company uses to collect

    sales orders , take online payments , interacting

    with customers directly etc.

    This internet service will allow its users to shop for

    their desired furniture items and adds them to

    their shopping cart and place an order with our

    company. It will also enable them to make use of

    keyword base search functionality while searching

    for the designated item.

  • 7/29/2019 PRJ_SOURABH

    9/117

    E-COMMERCE

    Electronic Commerce, commonly known as(electronic marketing) e-commerce or eCommerce,consists of the buying and selling of products orservices over electronic systems such as theInternet and other computer networks. The amountof trade conducted electronically has grownextraordinarily with widespread Internet usage.The use of commerce is conducted in this way,spurring and drawing on innovations in electronic

    funds transfer, supply chain management, Internetmarketing, online transaction processing,electronic data interchange (EDI), inventorymanagement systems, and automated datacollection systems. Modern electronic commercetypically uses the World Wide Web at least at somepoint in the transaction's lifecycle, although it can

    encompass a wider range of technologies such ase-mail as well.

    A large percentage of electronic commerce isconducted entirely electronically for virtual itemssuch as access to premium content on a website,

  • 7/29/2019 PRJ_SOURABH

    10/117

    but most electronic commerce involves thetransportation of physical items in some way.Online retailers are sometimes known as e-tailers

    and online retail is sometimes known as e-tail.Almost all big retailers have electronic commercepresence on the World Wide Web.

    Electronic commerce that is conducted betweenbusinesses is referred to as business-to-business orB2B. B2B can be open to all interested parties (e.g.commodity exchange) or limited to specific, pre-

    qualified participants (private electronic market).Electronic commerce that is conducted betweenbusinesses and consumers, on the other hand, isreferred to as business-to-consumer or B2C. This isthe type of electronic commerce conducted bycompanies such as Amazon.com.

    Electronic commerce is generally considered to bethe sales aspect of e-business. It also consists ofthe exchange of data to facilitate the financing andpayment aspects of the business transactions.

  • 7/29/2019 PRJ_SOURABH

    11/117

    OBJECTIVE

    To help businesses like your own attract, select,develop, engage and retain the best and brightest.Our innovative solutions address both sellingstrategies and organizational effectiveness- peopleand performance.

    The Internet provides a direct interface betweenbusinesses and their market for a wide variety ofservices, many of which we now use both in theoffice and in our homes. Our online services

    provide a marketplace for customers to markettheir deals and detail their expectations and for usto market their needs.

  • 7/29/2019 PRJ_SOURABH

    12/117

    TECHNICAL DETAILSTOOLS:

    FRONT-END : ASP.NET(With C# 2.0)

    BACK-END : SQL SERVER 2000

    PLATFORM:

    MICROSOFT WINDOWS

    HARDWARE AND SOFTWARE ENVIRONMENT

    HARDWARE ENVIRONMENT:

    PROCESSOR : P-IV(1.80 GHZ)

    RAM : 128 MB

    STORAGE CAPACITY : 40 GB

    DRIVERS : 52X24X

  • 7/29/2019 PRJ_SOURABH

    13/117

    52X CD : 1.44 MB FDD

    SOFTWARE ENVIRONMENT:

    OPERATING SYSTEM : WINDOW XP PROFESSIONAL

    RDBMS : SQL SERVER 2000

    TECHNOLOGY OVERVIEW

    .Net 2005 with c# 2.0

    The Microsoft .NET Framework version 2.0 extendsthe .NET Framework version 1.1 with new features,

    improvements to existing features, andenhancements to the documentation. This sectionprovides information about some key additions andmodifications.For more information about compatibility and for alist of the public API modifications to the classlibrary that might affect the compatibility of your

    application.

    64-Bit Platform Support

  • 7/29/2019 PRJ_SOURABH

    14/117

    The new generation of 64-bit computers enablesthe creation of applications that can run faster andtake advantage of more memory than is available

    to 32-bit applications. New support for 64-bitapplications enables users to build managed codelibraries or easily use unmanaged code libraries on64-bit computers. For more information, see 64-bitApplications.

    Access Control List Support

    An access control list (ACL) is used to grant orrevoke permission to access a resource on acomputer. New classes have been added to the.NET Framework that allows managed code tocreate and modify an ACL. New members that usean ACL have been added to the I/O, registry, andthreading classes.

    ADO.NET

    New features in ADO.NET include support for user-defined types (UDT), asynchronous database

    operations, XML data types, large value types,snapshot isolation, and new attributes that allowapplications to support multiple active result sets(MARS) with SQL Server 2005.

  • 7/29/2019 PRJ_SOURABH

    15/117

    ASP.NET

    The Microsoft .NET Framework 2.0 includessignificant enhancements to all areas of ASP.NET.For Web page development, new controls make iteasier to add commonly used functionality todynamic Web pages. New data controls make itpossible to display and edit data on an ASP.NETWeb page without writing code. An improved code-

    behind model makes developing ASP.NET pageseasier and more robust. Caching features provideseveral new ways to cache pages, including theability to build cache dependency on tables in aSQL Server database.You can now customize Web sites and pages in avariety of ways. Profile properties enable ASP.NET

    to track property values for individual usersautomatically. Using Web Parts, you can createpages that users can customize in the browser.You can add navigation menus using simplecontrols.Improvements to Web site features allow you tocreate professional Web sites faster and moreeasily. Master pages allow you to create a

    consistent layout for all the pages in a site, andthemes allow you to define a consistent look forcontrols and static text. To help protect your sites,you can precompile a Web site to produceexecutable code from source files (both code files

  • 7/29/2019 PRJ_SOURABH

    16/117

    and the markup in .aspx pages). You can thendeploy the resulting output, which does not includeany source information, to a production server.

    Enhancements to ASP.NET also include new toolsand classes to make Web site management easierfor Web site developers, server administrators, andhosters.ASP.NET accommodates a wide variety of browsersand devices. By default, controls render outputthat is compatible with XHTML 1.1 standards. Youcan use device filtering to specify differentproperty values on the same control for differentbrowsers.

    Authenticated Streams

    Applications can use the new Negotiate Stream

    and SslStream classes for authentication and tohelp secure information transmitted between aclient and a server. These authenticated streamclasses support mutual authentication, dataencryption, and data signing. The NegotiateStream class uses the Negotiate security protocolfor authentication. The SslStream class uses the

    Secure Socket Layer (SSL) security protocol forauthentication.

    Console Class Additions

  • 7/29/2019 PRJ_SOURABH

    17/117

    New members of the Console class enableapplications to manipulate the dimensions of theconsole window and screen buffer; to move a

    rectangular area of the screen buffer, which isuseful for performing smooth, simple animation;and to wait while reading console input until a keyis pressed. Other new class members control theforeground and background colors of text, thevisibility and size of the cursor, and the frequencyand duration of the console beep.

    Data Protection API

    The new Data Protection API (DPAPI) includes fourmethods that allow applications to encryptpasswords, keys, connections strings, and so on,without calling platform invoke. You can also

    encrypt blocks of memory on computers runningWindows Server 2003 or later operating systems.

    Debugger Display Attributes

    You can now control how Visual Studio displays aclass or member when an application is beingdebugged. The debugger's Display Attributes

    feature enables you to identify the most usefulinformation to display in the debugger.

    Debugger Edit and Continue Support

  • 7/29/2019 PRJ_SOURABH

    18/117

    The .NET Framework 2.0 reintroduces the Edit andContinue feature that enables a user who is

    debugging an application in Visual Studio to makechanges to source code while executing in Breakmode. After source code edits are applied, the usercan resume code execution and observe the effect.Furthermore, the Edit and Continue feature isavailable in any programming language supportedby Visual Studio.

    Detecting Changes in NetworkConnectivity

    The NetworkChange class allows applications toreceive notification when the Internet Protocol (IP)address of a network interface, also known as a

    network card or adapter, changes. An interfaceaddress can change for a variety of reasons, suchas a disconnected network cable, moving out ofrange of a wireless local area network, or hardwarefailure. The NetworkChange class provides addresschange notification by raising events when achange is detected.

    Distributed Computing

    In the System.Net namespace, support has beenadded for FTP client requests, caching of HTTPresources, automatic proxy discovery, and

  • 7/29/2019 PRJ_SOURABH

    19/117

    obtaining network traffic and statisticalinformation.The namespace now includes a Web server class

    that you can use to create a simple Web server forresponding to HTTP requests. Classes thatgenerate network traffic have been instrumentedto output trace information for applicationdebugging and diagnostics. Security andperformance enhancements have been added tothe System.Net.Sockets.Socket and System.Uriclasses.In the System.Web.Services namespaces, supportfor SOAP 1.2 and nullable elements has beenadded.In the System.Runtime.Remoting.Channelsnamespaces, channel security features have beenadded. The TCP channel now supportsauthentication and encryption, as well as several

    new features to better support load balancing.

    FTP Support

    Applications can now access File Transfer Protocolresources using the WebRequest, WebResponse,and WebClient classes.

    Generics and Generic Collections

  • 7/29/2019 PRJ_SOURABH

    20/117

    The .NET Framework 2.0 introduces generics toallow you to create flexible, reusable code.Language features collectively known as generics

    act as templates that allow classes, structures,interfaces, methods, and delegates to be declaredand defined with unspecified, or generic typeparameters instead of specific types. Actual typesare specified later when the generic is used.Several namespaces, such as System Namespaceand System.Collections.Generic, provide genericclasses and methods. The newSystem.Collections.Generic namespace providessupport for strongly typed collections.System.Nullable is a standard representationof optional values. Generics are supported in threelanguages: Visual Basic, C#, and C++.Reflection has been extended to allow runtimeexamination and manipulation of generic types

    and methods. New members have been added toSystem.Type and System.Reflection.MethodInfo,including IsGenericType to identify generic types(for example, class Gen {...}),GetGenericArguments to obtain type parameterlists, and MakeGenericType to create specific types(for example, new Gen()).

    Globalization

    Five new globalization features provide greatersupport for developing applications intended fordifferent languages and cultures.

  • 7/29/2019 PRJ_SOURABH

    21/117

    Support for custom cultures enables you to defineand deploy culture-related information as needed.This feature is useful for creating minor

    customizations of existing culture definitions, andcreating culture definitions that do not yet exist inthe .NET Framework. For more information, see theCultureAndRegionInfoBuilder class.Encoding and decoding operations map a Unicodecharacter to or from a stream of bytes that can betransferred to a physical medium such as a disk ora communication line. If a mapping operationcannot be completed, you can compensate byusing the new encoding and decoding fallbackfeature supported by several classes in theSystem.Text namespace.Members in the UTF8Encoding class, whichimplements UTF-8 encoding, are now several timesfaster than in previous releases. UTF-8 is the most

    common encoding used to transform Unicodecharacters into bytes on computers.The .NET Framework now supports the latestnormalization standard defined by the UnicodeConsortium. The normalization process convertscharacter representations of text to a standardform so the representations can be compared for

    equivalence.The GetCultureInfo method overload provides acached version of a read-only CultureInfo object.Use the cached version when creating a new

  • 7/29/2019 PRJ_SOURABH

    22/117

    CultureInfo object to improve system performanceand reduce memory usage.

    I/O EnhancementsImprovements have been made to the usabilityand functionality of various I/O classes. It is noweasier for users to read and write text files andobtain information about a drive.You can now use the classes in theSystem.IO.Compression namespace to read and

    write data with the GZIP compression anddecompression standard, described in the IETF RFC1951 and RFC 1952 specifications, which areavailable at the IETF Request for Comments (RFC)search page. Note: search is limited to RFCnumbers.

    Manifest-Based Activation

    This feature provides new support for loading andactivating applications through the use of amanifest. Manifest-based activation is essential forsupporting ClickOnce applications. Traditionally,applications are activated through a reference toan assembly that contains the application's entrypoint. For example, clicking an application's .exefile from within the Windows shell causes the shellto load the common language runtime (CLR) andcall a well-known entry point within that .exe file'sassembly.

    http://go.microsoft.com/fwlink/?LinkId=45286http://go.microsoft.com/fwlink/?LinkId=45286http://go.microsoft.com/fwlink/?LinkId=45286http://go.microsoft.com/fwlink/?LinkId=45286http://go.microsoft.com/fwlink/?LinkId=45286http://go.microsoft.com/fwlink/?LinkId=45286
  • 7/29/2019 PRJ_SOURABH

    23/117

    The manifest-based activation model uses anapplication manifest for activation rather than anassembly. A manifest fully describes the

    application, its dependencies, securityrequirements, and so forth. The manifest modelhas several advantages over the assembly-basedactivation model, especially for Web applications.For example, the manifest contains the securityrequirements of the application, which enables theuser to decide whether to allow the application toexecute before downloading the code. Themanifest also contains information about theapplication dependencies.

    Manifest-based activation is provided by a set ofAPIs that allow managed hosts to activateapplications and add-ins described by a manifest.These APIs contain a mixture of both new classes

    and extensions to existing classes.This activation model also invokes an entity calleda Trust Manager that performs the following tasks:

    Determines whether an application is allowed to beactivated. This decision can be made by promptingthe user, querying policy, or by any other means

    deemed appropriate for a given Trust Manager.

    Sets up the security context to run an applicationin. Most commonly, this step involves setting upacode access security (CAS) policy tree on the

  • 7/29/2019 PRJ_SOURABH

    24/117

    application domain in which the application willrun.

    .NET Framework Remoting

    .NET Framework remoting now supports IPv6addresses and the exchange of generic types. Theclasses in the

    System.Runtime.Remoting.Channels.Tcpnamespace support authentication and encryptionusing the Security Support Provider Interface(SSPI). Classes in the newSystem.Runtime.Remoting.Channels.Ipcnamespace allow applications on the samecomputer to communicate quickly without usingthe network. Finally, you can now configure theconnection cache time-out and the number ofmethod retries, which can improve theperformance of network load-balanced remoteclusters.Using classes in theSystem.Net.NetworkInformation namespace,applications can access IP, IPv4, IPv6, TCP, and

    UDP network traffic statistics. Applications can alsoview address and configuration information for thelocal computers network adapters. Thisinformation is similar to the information returnedby the Ipconfig.exe command-line tool.

  • 7/29/2019 PRJ_SOURABH

    25/117

    PingThe Ping class allows an application to determinewhether a remote computer is accessible over the

    network. This class provides functionality similar tothe Ping.exe command-line tool, and supportssynchronous and asynchronous calls.

    Processing HTTP Requests from WithinApplications

    You can use the HttpListener class to create a

    simple Web server that responds to HTTP requests.The Web server is active for the lifetime of theHttpListener object and runs within yourapplication, with your application's permissions.This class is available only on computers runningthe Windows XP Service Pack 2 or Windows Server2003 operating systems.

    Programmatic Control of Caching

    Using the classes in the System.Net.Cachenamespace, applications can control the caching ofresources obtained using the WebRequest,WebResponse, and WebClient classes. You can usethe predefined cache policies provided by the .NET

    Framework or specify a custom cache policy. Youcan specify a cache policy for each request anddefine a default cache policy for requests that donot specify a cache policy.

  • 7/29/2019 PRJ_SOURABH

    26/117

    The .NET Framework is an integral Windowscomponent that supports building and running thenext generation of applications and XML Web

    services. The .NET Framework is designed to fulfillthe following objectives:To provide a consistent object-orientedprogramming environment whether object code isstored and executed locally, executed locally butInternet-distributed, or executed remotely.To provide a code-execution environment thatminimizes software deployment and versioningconflicts.To provide a code-execution environment thatpromotes safe execution of code, including codecreated by an unknown or semi-trusted third party.To provide a code-execution environment thateliminates the performance problems of scripted orinterpreted environments.

    To make the developer experience consistentacross widely varying types of applications, suchas Windows-based applications and Web-basedapplications.To build all communication on industry standardsto ensure that code based on the .NET Frameworkcan integrate with any other code.

    The .NET Framework has two main components:the common language runtime and the .NETFramework class library. The common languageruntime is the foundation of the .NET Framework.You can think of the runtime as an agent that

  • 7/29/2019 PRJ_SOURABH

    27/117

    manages code at execution time, providing coreservices such as memory management, threadmanagement, and remoting, while also enforcing

    strict type safety and other forms of code accuracythat promote security and robustness. In fact, theconcept of code management is a fundamentalprinciple of the runtime. Code that targets theruntime is known as managed code, while codethat does not target the runtime is known asunmanaged code. The class library, the other maincomponent of the .NET Framework, is acomprehensive, object-oriented collection ofreusable types that you can use to developapplications ranging from traditional command-lineor graphical user interface (GUI) applications toapplications based on the latest innovationsprovided by ASP.NET, such as Web Forms and XMLWeb services.

    The .NET Framework can be hosted by unmanagedcomponents that load the common languageruntime into their processes and initiate theexecution of managed code, thereby creating asoftware environment that can exploit bothmanaged and unmanaged features. The .NETFramework not only provides several runtime

    hosts, but also supports the development of third-party runtime hosts.For example, ASP.NET hosts the runtime to providea scalable, server-side environment for managedcode. ASP.NET works directly with the runtime to

  • 7/29/2019 PRJ_SOURABH

    28/117

    enable ASP.NET applications and XML Webservices, both of which are discussed later in thistopic.

    Internet Explorer is an example of an unmanagedapplication that hosts the runtime (in the form of aMIME type extension). Using Internet Explorer tohost the runtime enables you to embed managedcomponents or Windows Forms controls in HTMLdocuments. Hosting the runtime in this way makesmanaged mobile code (similar to MicrosoftActiveX controls) possible, but with significantimprovements that only managed code can offer,such as semi-trusted execution and isolated filestorage.The following illustration shows the relationship ofthe common language runtime and the classlibrary to your applications and to the overallsystem. The illustration also shows how managed

    code operates within a larger architecture.

    .NET Framework in context

  • 7/29/2019 PRJ_SOURABH

    29/117

    Features of the Common Language

    RuntimeThe common language runtime manages memory,thread execution, code execution, code safetyverification, compilation, and other systemservices. These features are intrinsic to the

  • 7/29/2019 PRJ_SOURABH

    30/117

    managed code that runs on the common languageruntime.With regards to security, managed components are

    awarded varying degrees of trust, depending on anumber of factors that include their origin (such asthe Internet, enterprise network, or localcomputer). This means that a managed componentmight or might not be able to perform file-accessoperations, registry-access operations, or othersensitive functions, even if it is being used in thesame active application.The runtime enforces code access security. Forexample, users can trust that an executableembedded in a Web page can play an animationon screen or sing a song, but cannot access theirpersonal data, file system, or network. The securityfeatures of the runtime thus enable legitimateInternet-deployed software to be exceptionally

    feature rich.The runtime also enforces code robustness byimplementing a strict type-and-code-verificationinfrastructure called the common type system(CTS). The CTS ensures that all managed code isself-describing. The various Microsoft and third-party language compilers generate managed code

    that conforms to the CTS. This means thatmanaged code can consume other managed typesand instances, while strictly enforcing type fidelityand type safety.

  • 7/29/2019 PRJ_SOURABH

    31/117

    In addition, the managed environment of theruntime eliminates many common software issues.For example, the runtime automatically handles

    object layout and manages references to objects,releasing them when they are no longer beingused. This automatic memory managementresolves the two most common application errors,memory leaks and invalid memory references.The runtime also accelerates developerproductivity. For example, programmers can writeapplications in their development language ofchoice, yet take full advantage of the runtime, theclass library, and components written in otherlanguages by other developers. Any compilervendor who chooses to target the runtime can doso. Language compilers that target the .NETFramework make the features of the .NETFramework available to existing code written in

    that language, greatly easing the migrationprocess for existing applications.While the runtime is designed for the software ofthe future, it also supports software of today andyesterday. Interoperability between managed andunmanaged code enables developers to continueto use necessary COM components and DLLs.

    The runtime is designed to enhance performance.Although the common language runtime providesmany standard runtime services, managed code isnever interpreted. A feature called just-in-time (JIT)compiling enables all managed code to run in the

  • 7/29/2019 PRJ_SOURABH

    32/117

    native machine language of the system on which itis executing. Meanwhile, the memory managerremoves the possibilities of fragmented memory

    and increases memory locality-of-reference tofurther increase performance.Finally, the runtime can be hosted by high-performance, server-side applications, such asMicrosoft SQL Server and Internet InformationServices (IIS). This infrastructure enables you touse managed code to write your business logic,while still enjoying the superior performance of theindustry's best enterprise servers that supportruntime hosting.

    .NET Framework Class Library

    The .NET Framework class library is a collection ofreusable types that tightly integrate with the

    common language runtime. The class library isobject oriented, providing types from which yourown managed code can derive functionality. Thisnot only makes the .NET Framework types easy touse, but also reduces the time associated withlearning new features of the .NET Framework. Inaddition, third-party components can integrateseamlessly with classes in the .NET Framework.For example, the .NET Framework collectionclasses implement a set of interfaces that you canuse to develop your own collection classes. Yourcollection classes will blend seamlessly with theclasses in the .NET Framework.

  • 7/29/2019 PRJ_SOURABH

    33/117

    As you would expect from an object-oriented classlibrary, the .NET Framework types enable you toaccomplish a range of common programming

    tasks, including tasks such as string management,data collection, database connectivity, and fileaccess. In addition to these common tasks, theclass library includes types that support a varietyof specialized development scenarios. Forexample, you can use the .NET Framework todevelop the following types of applications andservices:Console applications.Windows GUI applications (Windows Forms).ASP.NET applications.XML Web services.

    Server Application Development

    Server-side applications in the managed world areimplemented through runtime hosts. Unmanagedapplications host the common language runtime,which allows your custom managed code to controlthe behavior of the server. This model providesyou with all the features of the common languageruntime and class library while gaining theperformance and scalability of the host server.The following illustration shows a basic networkschema with managed code running in differentserver environments. Servers such as IIS and SQLServer can perform standard operations while your

  • 7/29/2019 PRJ_SOURABH

    34/117

    application logic executes through the managedcode.Server-side managed code

    ASP.NET is the hosting environment that enablesdevelopers to use the .NET Framework to targetWeb-based applications. However, ASP.NET ismore than just a runtime host; it is a completearchitecture for developing Web sites and Internet-distributed objects using managed code. Both WebForms and XMLWeb services use IIS and ASP.NETas the publishing mechanism for applications, andboth have a collection of supporting classes inthe .NET Framework.XML Web services, an important evolution in Web-based technology, are distributed, server-sideapplication components similar to common Websites. However, unlike Web-based applications,

    XML Web services components have no UI and arenot targeted for browsers such as Internet Explorerand Netscape Navigator. Instead, XML Webservices consist of reusable software componentsdesigned to be consumed by other applications,

  • 7/29/2019 PRJ_SOURABH

    35/117

    such as traditional client applications, Web-basedapplications, or even other XML Web services. As aresult, XML Web services technology is rapidly

    moving application development and deploymentinto the highly distributed environment of theInternet.If you have used earlier versions of ASPtechnology, you will immediately notice theimprovements that ASP.NET and Web Forms offer.For example, you can develop Web Forms pages inany language that supports the .NET Framework.In addition, your code no longer needs to share thesame file with your HTTP text (although it cancontinue to do so if you prefer). Web Forms pagesexecute in native machine language because, likeany other managed application, they take fulladvantage of the runtime. In contrast, unmanagedASP pages are always scripted and interpreted.

    ASP.NET pages are faster, more functional, andeasier to develop than unmanaged ASP pagesbecause they interact with the runtime like anymanaged application.The .NET Framework also provides a collection ofclasses and tools to aid in development andconsumption of XML Web services applications.

    XML Web services are built on standards such asSOAP (a remote procedure-call protocol), XML (anextensible data format), and WSDL ( the WebServices Description Language). The .NET

  • 7/29/2019 PRJ_SOURABH

    36/117

    Framework is built on these standards to promoteinteroperability with non-Microsoft solutions.For example, the Web Services Description

    Language tool included with the .NET FrameworkSDK can query an XML Web service published onthe Web, parse its WSDL description, and produceC# or Visual Basic source code that yourapplication can use to become a client of the XMLWeb service. The source code can create classesderived from classes in the class library thathandle all the underlying communication usingSOAP and XML parsing. Although you can use theclass library to consume XML Web servicesdirectly, the Web Services Description Languagetool and the other tools contained in the SDKfacilitate your development efforts with the .NETFramework.If you develop and publish your own XML Web

    service, the .NET Framework provides a set ofclasses that conform to all the underlyingcommunication standards, such as SOAP, WSDL,and XML. Using those classes enables you to focuson the logic of your service, without concerningyourself with the communications infrastructurerequired by distributed software development.

    Finally, like Web Forms pages in the managedenvironment, your XML Web service will run withthe speed of native machine language using thescalable communication of IIS.

  • 7/29/2019 PRJ_SOURABH

    37/117

    Common Language Runtime (CLR)

    Compilers and tools expose the runtime'sfunctionality and enable you to write code thatbenefits from this managed executionenvironment. Code that you develop with alanguage compiler that targets the runtime is

    called managed code; it benefits from featuressuch as cross-language integration, cross-languageexception handling, enhanced security, versioningand deployment support, a simplified model forcomponent interaction, and debugging andprofiling services.

    To enable the runtime to provide services tomanaged code, language compilers must emitmetadata that describes the types, members, andreferences in your code. Metadata is stored withthe code; every loadable common languageruntime portable executable (PE) file containsmetadata. The runtime uses metadata to locateand load classes, lay out instances in memory,

    resolve method invocations, generate native code,enforce security, and set run-time contextboundaries.

  • 7/29/2019 PRJ_SOURABH

    38/117

    The runtime automatically handles object layoutand manages references to objects, releasing themwhen they are no longer being used. Objects

    whose lifetimes are managed in this way are calledmanaged data. Garbage collection eliminatesmemory leaks as well as some other commonprogramming errors. If your code is managed, youcan use managed data, unmanaged data, or bothmanaged and unmanaged data in your .NETFramework application. Because languagecompilers supply their own types, such as primitivetypes, you might not always know (or need toknow) whether your data is being managed.The common language runtime makes it easy todesign components and applications whose objectsinteract across languages. Objects written indifferent languages can communicate with eachother, and their behaviors can be tightly

    integrated. For example, you can define a classand then use a different language to derive a classfrom your original class or call a method on theoriginal class. You can also pass an instance of aclass to a method of a class written in a differentlanguage. This cross-language integration ispossible because language compilers and tools

    that target the runtime use a common type systemdefined by the runtime, and they follow theruntime's rules for defining new types, as well asfor creating, using, persisting, and binding totypes.

  • 7/29/2019 PRJ_SOURABH

    39/117

    As part of their metadata, all managedcomponents carry information about thecomponents and resources they were built against.

    The runtime uses this information to ensure thatyour component or application has the specifiedversions of everything it needs, which makes yourcode less likely to break because of some unmetdependency. Registration information and statedata are no longer stored in the registry wherethey can be difficult to establish and maintain.Rather, information about the types you define(and their dependencies) is stored with the code asmetadata, making the tasks of componentreplication and removal much less complicated.Language compilers and tools expose theruntime's functionality in ways that are intended tobe useful and intuitive to developers. This meansthat some features of the runtime might be more

    noticeable in one environment than in another.How you experience the runtime depends on whichlanguage compilers or tools you use. For example,if you are a Visual Basic developer, you mightnotice that with the common language runtime,the Visual Basic language has more object-orientedfeatures than before. Following are some benefits

    of the runtime:Performance improvements.The ability to easily use componentsdeveloped in other languages.Extensible types provided by a class library.

  • 7/29/2019 PRJ_SOURABH

    40/117

    New language features such as inheritance,interfaces, and overloading for object-orientedprogramming; support for explicit free threading

    that allows creation of multithreaded, scalableapplications; support for structured exceptionhandling and custom attributes.If you use Microsoft Visual C++ .NET, you canwrite managed code using the ManagedExtensions for C++, which provide the benefits ofa managed execution environment as well asaccess to powerful capabilities and expressive datatypes that you are familiar with. Additional runtimefeatures include:Cross-language integration, especially cross-language Inheritance.Garbage collection, which manages objectlifetime so that reference counting isunnecessary.

    Self-describing objects, which make usingInterface Definition Language (IDL)unnecessary.The ability to compile once and run on any CPUand operating system that supports the runtime.You can also write managed code using the C#language, which provides the following benefits:

    Complete object-oriented design.Very strong type safety.A good blend of Visual Basic simplicity andC++ power.Garbage collection.

  • 7/29/2019 PRJ_SOURABH

    41/117

    Syntax and keywords similar to C and C++.Use ofdelegates rather than functionpointers for increased type safety and

    security.

    Application Domains and Assemblies

    This topic describes the relationship between

    application domains and assemblies. You mustload an assembly into an application domainbefore you can execute the code it contains.Running a typical application causes severalassemblies to be loaded into an applicationdomain.If an assembly is used by multiple domains in aprocess, the JIT output from an assembly's code

    can be shared by all domains referencing theassembly. The runtime host decides whether toload assemblies as domain-neutral when it loadsthe runtime into a process. For more information,see the LoaderOptimizationAttribute attribute andthe associated LoaderOptimization enumeration.For hosting, see the documentation for

    CorBindToRuntimeEx in the common languageruntime Hosting Interfaces Specification found inthe .NET Framework SDK.There are three options for loading domain-neutralassemblies:

    http://ms-help//MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxintro/html/d69ea3da-d2bb-4a54-a6b6-8d8e71b89b94.htmhttp://ms-help//MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxintro/html/d69ea3da-d2bb-4a54-a6b6-8d8e71b89b94.htmhttp://ms-help//MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_fxintro/html/d69ea3da-d2bb-4a54-a6b6-8d8e71b89b94.htm
  • 7/29/2019 PRJ_SOURABH

    42/117

    Load no assemblies as domain-neutral, exceptMscorlib, which is always loaded domain-neutral.This setting is called single domain because it is

    commonly used when the host is running only asingle application in the process.Load all assemblies as domain-neutral. Use thissetting when there are multiple applicationdomains in the process, all of which run the samecode.Load strong-named assemblies as domain-neutral.Use this setting when running more than oneapplication in the same process.When you decide whether to load assemblies asdomain-neutral, you must make a tradeoffbetween reducing memory use and performance.The performance of a domain-neutral assembly isslower if that assembly contains static data orstatic methods that are accessed frequently.

    Access to static data is slower because of the needto isolate assemblies. Each application domain thataccesses the assembly must have a separate copyof the static data, to prevent references to objectsin static fields from crossing domain boundaries.As a result, the runtime contains additional logic todirect a caller to the appropriate copy of the static

    data or method. This extra logic slows down thecall.An assembly is not shared between domains whenit is granted a different set of permissions in eachdomain. This can occur if the runtime host sets an

  • 7/29/2019 PRJ_SOURABH

    43/117

    application domain-level security policy.Assemblies should not be loaded as domain-neutral if the set of permissions granted to the

    assembly is likely to be different in each domain.

    Microsoft SQL Server 2000

    Microsoft SQL Server 2000 extends theperformance, reliability, quality, and ease-of-use ofMicrosoft SQL Server version 7.0. Microsoft SQLServer 2000 includes several new features thatmake it an excellent database platform for large-scale online transactional processing (OLTP), datawarehousing, and e-commerce applications.The OLAP Services feature available in SQL Serverversion 7.0 is now called SQL Server 2000 AnalysisServices. The term OLAP Services has been

    replaced with the term Analysis Services. AnalysisServices also includes a new data miningcomponent. For more information,The Repository component available in SQL Serverversion 7.0 is now called Microsoft SQL Server2000 Meta Data Services. References to thecomponent now use the term Meta Data Services.

    The term repository is used only in reference to therepository engine within Meta Data Services.

    Relational Database Enhancements

  • 7/29/2019 PRJ_SOURABH

    44/117

    XML Support

    The relational database engine can return data asExtensible Markup Language (XML) documents.Additionally, XML can also be used to insert,update, and delete values in the database. Formore information,

    Federated Database Servers

    SQL Server 2000 supports enhancements todistributed partitioned views that allow you topartition tables horizontally across multipleservers. This allows you to scale out one databaseserver to a group of database servers thatcooperate to provide the same performance levelsas a cluster of database servers. This group, orfederation, of database servers can support thedata storage requirements of the largest Web sites

    and enterprise data processing systems.SQL Server 2000 introduces Net-Library support forVirtual Interface Architecture (VIA) system-areanetworks that provide high-speed connectivitybetween servers, such as between applicationservers and database servers.

    User-Defined Functions

    The programmability of Transact-SQL can beextended by creating your own Transact-SQLfunctions. A user-defined function can return eithera scalar value or a table.

  • 7/29/2019 PRJ_SOURABH

    45/117

    Indexed Views

    Indexed views can significantly improve theperformance of an application where queriesfrequently perform certain joins or aggregations.An indexed view allows indexes to be created onviews, where the result set of the view is storedand indexed in the database. Existing applicationsdo not need to be modified to take advantage ofthe performance improvements with indexed

    views.

    New Data Types

    SQL Server 2000 introduces three new data types.bigint is an 8-byte integer type. sql_variant is atype that allows the storage of data values of

    different data types. table is a type that allowsapplications to store results temporarily for lateruse. It is supported for variables, and as the returntype for user-defined functions.

    INSTEAD OF and AFTER Triggers

    INSTEAD OF triggers are executed instead of thetriggering action (for example, INSERT, UPDATE,DELETE). They can also be defined on views, inwhich case they greatly extend the types ofupdates a view can support. AFTER triggers fireafter the triggering action. SQL Server 2000

  • 7/29/2019 PRJ_SOURABH

    46/117

    introduces the ability to specify which AFTERtriggers fire first and last.

    Full-Text Search Enhancements

    Full-text search now includes change tracking andimage filtering. Change tracking maintains a log ofall changes to the full-text indexed data. You canupdate the full-text index with these changes byflushing the log manually, on a schedule, or asthey occur, using the background update index

    option. Image filtering allows you to index andquery documents stored in image columns. Theuser provides the document type in a column thatcontains the file name extension that thedocument would have had if it were stored as a filein the file system. Using this information, full-textsearch is able to load the appropriate document

    filter to extract textual information for indexing.

    Multiple Instances of SQL Server

    SQL Server 2000 supports running multipleinstances of the relational database engine on thesame computer. Each computer can run one

    instance of the relational database engine fromSQL Server version 6.5 or 7.0, along with one ormore instances of the database engine from SQLServer 2000. Each instance has its own set ofsystem and user databases. Applications canconnect to each instance on a computer similar to

  • 7/29/2019 PRJ_SOURABH

    47/117

    the way they connect to instances of SQL Serversrunning on different computers. The SQL Server2000 utilities and administration tools have been

    enhanced to work with multiple instances.

    Index Enhancements

    You can now create indexes on computed columns.You can specify whether indexes are built inascending or descending order, and if thedatabase engine should use parallel scanning and

    sorting during index creation. For moreinformation,The CREATE INDEX statement can now use the

    tempdb database as a work area for the sortsrequired to build an index. This results in improveddisk read and write patterns for the index creationstep, and makes it more likely that index pages will

    be allocated in contiguous strips. In addition, thecomplete process of creating an index is eligiblefor parallel operations, not only the initial tablescan.

    Net-Library Enhancements

    The SQL Server 2000 Net-Libraries have beenrewritten to virtually eliminate the need toadminister Net-Library configurations on clientcomputers when connecting SQL Server 2000clients to instances of SQL Server 2000. The new

  • 7/29/2019 PRJ_SOURABH

    48/117

    Net-Libraries also support connections to multipleinstances of SQL Server on the same computer,and support Secure Sockets Layer encryption over

    all Net-Libraries. SQL Server 2000 introduces Net-Library support for Virtual Interface Architecture(VIA) system-area networks that provide high-speed connectivity between servers, such asbetween application servers and database servers.

    Distributed Query Enhancements

    SQL Server 2000 introduces a newOPENDATASOURCE function, which you can use tospecify ad hoc connection information in adistributed query. SQL Server 2000 also specifiesmethods that OLE DB providers can use to reportthe level of SQL syntax supported by the provider

    and statistics on the distribution of key values inthe data source. The distributed query optimizercan then use this information to reduce theamount of data that has to be sent from the OLEDB data source. SQL Server 2000 delegates moreSQL operations to OLE DB data sources than earlierversions of SQL Server. Distributed queries alsosupport the other functions introduced in SQLServer 2000, such as multiple instances, mixingcolumns with different collations in result sets, andthe new bigint and sql_variant data types.SQL Server 2000 distributed queries add supportfor the OLE DB Provider for Exchange and the

  • 7/29/2019 PRJ_SOURABH

    49/117

    Microsoft OLE DB Provider for Microsoft DirectoryServices.

    Updatable Distributed Partitioned Views

    SQL Server 2000 introduces enhancements todistributed partitioned views. You can partitiontables horizontally across several servers, anddefine a distributed partitioned view on eachmember server that makes it appear as if a fullcopy of the original table is stored on each server.

    Groups of servers running SQL Server thatcooperate in this type of partitioning are calledfederations of servers. A database federation builtusing SQL Server 2000 databases is capable ofsupporting the processing requirements of thelargest Web sites or enterprise-level databases.

    Kerberos and Security Delegation

    SQL Server 2000 uses Kerberos to support mutualauthentication between the client and the server,as well as the ability to pass the securitycredentials of a client between computers, so thatwork on a remote server can proceed using the

    credentials of the impersonated client. WithMicrosoft Windows 2000, SQL Server 2000 usesKerberos and delegation to support bothintegrated authentication as well as SQL Serverlogins.

  • 7/29/2019 PRJ_SOURABH

    50/117

    Backup and Restore Enhancements

    SQL Server 2000 introduces a new, more easilyunderstood model for specifying backup andrestore options. The new model makes it clearerthat you are balancing increased or decreasedexposure to losing work against the performanceand log space requirements of different plans. SQLServer 2000 introduces support for recovery tospecific points of work using named log marks inthe transaction log, and the ability to do partial

    database restoresUsers can define passwords for backup sets andmedia sets that prevent unauthorized users fromaccessing SQL Server backups.

    Scalability Enhancements for Utility Operations

    SQL Server 2000 enhancements for utility

    operations include faster differential backups,parallel Database Console Command (DBCC)checking, and parallel scanning. Differentialbackups can now be completed in a time that isproportional to the amount of data changed sincethe last full backup. DBCC can be run withouttaking shared table locks while scanning tables,

    thereby enabling them to be run concurrently withupdate activity on tables. Additionally, DBCC nowtakes advantage of multiple processors, thusenabling near-linear gain in performance in

  • 7/29/2019 PRJ_SOURABH

    51/117

    relation to the number of CPUs (provided that I/O isnot a bottleneck).

    Text in Row Data

    SQL Server 2000 supports a new text in row tableoption that specifies that small text, ntext, andimage values be placed directly in the data rowinstead of in a separate page. This reduces theamount of space used to store small text, ntext,

    and image data values, and reduces the amount ofdisk I/O needed to process these values.

    XML Integration of Relational Data

    The Microsoft SQL Server 2000 relationaldatabase engine natively supports ExtensibleMarkup Language (XML).

    You can now access SQL Server 2000 over HTTPusing a Universal Resource Locator (URL). You candefine a virtual root on a Microsoft InternetInformation Services (IIS) server, which gives youHTTP access to the data and XML functionality ofSQL Server 2000.You can use HTTP, ADO, or OLE DB to work with

    the XML functionality of SQL Server 2000:You can define XML views of SQL Server 2000databases by annotating XML-Data Reduced (XDR)schemas to map the tables, views, and columnsthat are associated with the elements and

  • 7/29/2019 PRJ_SOURABH

    52/117

    attributes of the schema. The XML views can thenbe referenced in XPath queries, which retrieveresults from the database and return them as XML

    documents.The results of SELECT statements can be returnedas XML documents. The SQL Server 2000 Transact-SQL SELECT statement supports a FOR XML clausethat specifies that the statement results bereturned in the form of an XML document insteadof a relational result set. Complex queries, orqueries that you want to make secure, can bestored as templates in an IIS virtual root, andexecuted by referencing the template name.You can expose the data from an XML document asa relational rowset using the new OPENXML rowsetfunction. OPENXML can be used everywhere arowset function can be used in a Transact-SQLstatement, such as in place of a table or view

    reference in a FROM clause. This allows you to usethe data in XML documents to insert, update, ordelete data in the tables of the database, includingmodifying multiple rows in multiple tables in asingle operation.

    Graphical Administration Enhancements

    Microsoft SQL Server 2000 introduces thesegraphical administration improvements and newfeatures:

    Log Shipping

  • 7/29/2019 PRJ_SOURABH

    53/117

    Log shipping allows the transaction logs from asource database to be continually backed up andloaded into a target database on another server.

    This is useful for maintaining a warm standbyserver, or for offloading query processing from thesource server to a read-only destination server.

    SQL Profiler Enhancements

    SQL Profiler now supports size-based and time-

    based traces, and includes new events for DataFile Auto Grow, Data File Auto Shrink, Log File AutoGrow, Log File Auto Shrink, Show Plan All, ShowPlan Statistics, and Show Plan Text.

    SQL Query Analyzer Enhancements

    SQL Query Analyzer now includes Object Browser,

    which allows you to navigate through and getinformation (such as parameters anddependencies) about database objects, includinguser and system tables, views, stored procedures,extended stored procedures, and functions. TheObject Browser also supports generating scripts toeither execute or create objects. Otherenhancements include server tracing and clientstatistics that show information about the server-side and client-side impact of a given query.

    Copy Database Wizard

  • 7/29/2019 PRJ_SOURABH

    54/117

    Users can run the Copy Database Wizard toupgrade SQL Server version 7.0 databases to SQLServer 2000 databases. It can also be used to copy

    complete databases between instances of SQLServer 2000.

    Data Transformation ServicesEnhancements

    New Custom Tasks

    New DTS custom tasks, available through DTSDesigner or the DTS object model, allow you tocreate DTS packages that perform tasks or setvariables based on the properties of the run-timeenvironment. Use these tasks to:Import data from, and send data and completedpackages to, Internet and File Transfer Protocol

    (FTP) sites.Run packages asynchronously.Build packages that send messages to each other.Build packages that execute other packages.

    Join multiple package executions as part of a transaction.

    Enhanced Logging Facilities

    DTS package logs save information for each

    package execution, allowing you to maintain acomplete execution history. You can also viewexecution information for individual processeswithin a task.

  • 7/29/2019 PRJ_SOURABH

    55/117

    You can generate exception files for transformationtasks. When you log to exception files, you cansave source and destination error rows to a file

    through the DTS OLE DB text file provider and re-process the error rows.

    Using Parameterized Queries

    You can now use parameterized source queries ina DTS transformation task and an Execute SQL

    task. In addition, DTS includes an option for savingthe results of a parameterized query to a globalvariable, allowing you to perform functions such assaving disconnected Microsoft ActiveX DataObjects (ADO) recordsets in DTS.

    Working with Named and MultipleInstances of SQL Server 2000

    With Microsoft SQL Server 2000, you have theoption of installing multiple copies, or instances ofSQL Server on one computer. When setting up anew installation of SQL Server 2000 or maintainingan existing installation, you can specify it as:

    A default instance of SQL Server.

    This instance is identified by the network name ofthe computer on which it is running. Applicationsusing client software from earlier versions of SQLServer can connect to a default instance. SQL

  • 7/29/2019 PRJ_SOURABH

    56/117

    Server version 6.5 or SQL Server version 7.0servers can operate as default instances. However,a computer can have only one version functioning

    as the default instance at a time.

    A named instance of SQL Server.

    This instance is identified by the network name ofthe computer plus an instance name, in the format\. Applicationsmust use SQL Server 2000 client components to

    connect to a named instance. A computer can runany number of named instances of SQL Serverconcurrently. A named instance can run at thesame time as an existing installation of SQL Serverversion 6.5 or SQL Server version 7.0. The instancename cannot exceed 16 characters.A new instance name must begin with a letter, an

    ampersand (&), or an underscore (_), and cancontain numbers, letters, or other characters. SQLServer sysnames and reserved names should notbe used as instance names. For example, the term"default" should not be used as an instance namebecause it is a reserved name used by Setup.Single and multiple instances of SQL Server 2000

    (default or named) are available using the SQLServer 2000 Personal Edition, the SQL Server 2000Standard Edition, or the SQL Server 2000Enterprise Edition.Default Instances

  • 7/29/2019 PRJ_SOURABH

    57/117

    You cannot install a default instance of SQL Server2000 on a computer that is also running SQLServer 7.0. You must either upgrade the SQL

    Server 7.0 installation to a default instance of SQLServer 2000, or keep the default instance of SQLServer 7.0 and install a named instance of SQLServer 2000.You can install a default instance of SQL Server2000 on a computer running SQL Server 6.5, butthe SQL Server 6.5 installation and the defaultinstance of SQL Server 2000 cannot be running atthe same time. You must switch between the twousing the SQL Server 2000 vswitch commandprompt utility.Multiple InstancesMultiple instances occur when you have more thanone instance of SQL Server 2000 installed on onecomputer. Each instance operates independently

    from any other instance on the same computer,and applications can connect to any of theinstances. The number of instances that can run ona single computer depends on resources available.The maximum number of instances supported inSQL Server 2000 is 16.When you install SQL Server 2000 on a computer

    with no existing installations of SQL Server, Setupspecifies the installation of a default instance.However, you can choose to install SQL Server2000 as a named instance instead by clearing theDefault option in the Instance Name dialog box.

  • 7/29/2019 PRJ_SOURABH

    58/117

    A named instance of SQL Server 2000 can beinstalled at any time: before installing the defaultinstance of SQL Server 2000, after installing the

    default instance of SQL Server 2000, or instead ofinstalling the default instance of SQL Server 2000.Each named instance is made up of a distinct setof services and can have completely differentsettings for collations and other options. Thedirectory structure, registry structure, and servicenames all reflect the specific instance name youspecify.Working with Instances and Versions of SQLServerMultiple instances in Microsoft SQL Server2000 offer enhanced ways to work with earlierversions of Microsoft SQL Server already installedon your computer. You can leave previousinstallations intact, and also install and run SQL

    Server 2000. For example, you can run SQL Serverversion 7.0 and a named instance of SQL Server2000 at the same time, or you can run SQL Serverversion 6.5 in a version switch configuration withSQL Server 2000. If you need to have threedifferent versions of SQL Server installed on thesame computer, there are several ways to

    accomplish this.In addition, users of all editions of SQL Server canhave more than one instance of SQL Server 2000installed and running at once (multiple instances),as well as one or more earlier versions.

  • 7/29/2019 PRJ_SOURABH

    59/117

    Considerations for using SQL Server 2000 incombination with previous installations include:Using SQL Server 6.5 with the default instance or

    named instances of SQL Server 2000.Running SQL Server 7.0 with a named instance ofSQL Server 2000.Working with three versions of SQL Server: SQLServer 6.5, SQL Server 7.0, and SQL Server 2000.

    Fundamentals of SQL Server 2000Architecture

    Microsoft SQL Server 2000 is a family ofproducts that meet the data storage requirementsof the largest data processing systems andcommercial Web sites, yet at the same time canprovide easy-to-use data storage services to anindividual or small business.The data storage needs of a modern corporation orgovernment organization are very complex. Someexamples are:Online Transaction Processing (OLTP) systemsmust be capable of handling thousands of ordersplaced at the same time.Increasing numbers of corporations areimplementing large Web sites as a mechanism for

    their customers to enter orders, contact theservice department, get information aboutproducts, and for many other tasks that previouslyrequired contact with employees. These sites

  • 7/29/2019 PRJ_SOURABH

    60/117

    require data storage that is secure, yet tightlyintegrated with the Web.Organizations are implementing off-the-shelf

    software packages for critical services such ashuman resources planning, manufacturingresources planning, and inventory control. Thesesystems require databases capable of storing largeamounts of data and supporting large numbers ofusers.Organizations have many users who must continueworking when they do not have access to thenetwork. Examples are mobile disconnected users,such as traveling sales representatives or regionalinspectors. These users must synchronize the dataon a notebook or laptop with the current data inthe corporate system, disconnect from thenetwork, record the results of their work while inthe field, and then finally reconnect with the

    corporate network and merge the results of theirfieldwork into the corporate data store.Managers and marketing personnel needincreasingly sophisticated analysis of trendsrecorded in corporate data. They need robustOnline Analytical Processing (OLAP) systems easilybuilt from OLTP data and support sophisticated

    data analysis.Independent Software Vendors (ISVs) must be ableto distribute data storage capabilities withapplications targeted at individuals or smallworkgroups. This means the data storage

  • 7/29/2019 PRJ_SOURABH

    61/117

    mechanism must be transparent to the users whopurchase the application. This requires a datastorage system that can be configured by the

    application, and then tune itself automatically sothat the users do not need to dedicate databaseadministrators to constantly monitor and tune theapplicationSQL Server and XML SupportExtensible Markup Language (XML) is a hypertextprogramming language used to describe thecontents of a set of data and how the data shouldbe output to a device or displayed in a Web page.Markup languages originated as ways forpublishers to indicate to printers how the contentof a newspaper, magazine, or book should beorganized. Markup languages for electronic dataperform the same function for electronicdocuments that can be displayed on different

    types of electronic gear.Both XML and the Hypertext Markup Language(HTML) are derived from Standard GeneralizedMarkup Language (SGML). SGML is a very large,complex language that is difficult to fully use forpublishing data on the Web. HTML is a moresimple, specialized markup language than SGML,

    but has a number of limitations when working withdata on the Web. XML is smaller than SGML andmore robust than HTML, so is becoming anincreasingly important language in the exchange

  • 7/29/2019 PRJ_SOURABH

    62/117

    of electronic data through the Web orintracompany networks.In a relational database such as Microsoft SQL

    Server 2000, all operations on the tables in thedatabase produce a result in the form of a table.The result set of a SELECT statement is in the formof a table. Traditional client/server applicationsthat execute a SELECT statement process theresults by fetching one row or block of rows fromthe tabular result set at a time and mapping thecolumn values into program variables. Webapplication programmers, on the other hand, aremore familiar with working with hierarchicalrepresentations of data in XML or HTMLdocuments.SQL Server 2000 introduces support for XML.These new features include:The ability to access SQL Server through a URL.

    Support for XML-Data schemas and the ability tospecify XPath queries against these schemas.The ability to retrieve and write XML data:Retrieve XML data using the SELECT statementand the FOR XML clause.Write XML data using the OpenXML rowsetprovider.

    Enhancements to the Microsoft SQL Server 2000OLE DB provider (SQLOLEDB) that allow XMLdocuments to be set as command text and toreturn result sets as a streamDatabase Architecture

  • 7/29/2019 PRJ_SOURABH

    63/117

    Microsoft SQL Server 2000 data is stored indatabases. The data in a database is organizedinto the logical components visible to users. A

    database is also physically implemented as two ormore files on disk.When using a database, you work primarily withthe logical components such as tables, views,procedures, and users. The physicalimplementation of files is largely transparent.Typically, only the database administrator needs towork with the physical implementation.

    Each instance of SQL Server has four systemdatabases (master, model, tempdb, and msdb) andone or more user databases. Some organizationshave only one user database, containing all thedata for their organization. Some organizationshave different databases for each group in their

    organization, and sometimes a database used by asingle application. For example, an organizationcould have one database for sales, one for payroll,one for a document management application, andso on. Sometimes an application uses only onedatabase; other applications may access severaldatabases.

    It is not necessary to run multiple copies of theSQL Server database engine to allow multipleusers to access the databases on a server. Aninstance of the SQL Server Standard or EnterpriseEdition is capable of handling thousands of users

  • 7/29/2019 PRJ_SOURABH

    64/117

    working in multiple databases at the same time.Each instance of SQL Server makes all databasesin the instance available to all users that connect

    to the instance, subject to the defined securitypermissions.When connecting to an instance of SQL Server,your connection is associated with a particulardatabase on the server. This database is called thecurrent database. You are usually connected to adatabase defined as your default database by thesystem administrator, although you can useconnection options in the database APIs to specifyanother database. You can switch from onedatabase to another using either the Transact-SQLUSE database_name statement, or an API functionthat changes your current database context.SQL Server 2000 allows you to detach databasesfrom an instance of SQL Server, then reattach

    them to another instance, or even attach thedatabase back to the same instance. If you have aSQL Server database file, you can tell SQL Serverwhen you connect to attach that database file witha specific database name.English Query FundamentalsUsing English Query, you can turn your relational

    databases into English Query applications, whichallow end users to pose questions in Englishinstead of forming a query with an SQL statement.The English Query Model Editor appears within theMicrosoft Visual Studio version 6.0

  • 7/29/2019 PRJ_SOURABH

    65/117

    development environment. From there, you canchoose one of the English Query project wizards,the SQL Project Wizard or the OLAP Project Wizard,

    to automatically create an English Query projectand model. After the basic model is created, youcan refine, test, and compile it into an EnglishQuery application (*.eqd), and then deploy it (forexample, to the Web).

    Creating an English Query Project and ModelUsing the SQL Project Wizard or the OLAP Project Wizard, you incorporate thedatabase structure (table names, field names, keys, and joins) or cube information

    of the database into a project and a model.

  • 7/29/2019 PRJ_SOURABH

    66/117

    A model contains all the information needed for an English Query application,including the database structure, or schema, of the underlying SQL database orcube and the semantic objects (entities and relationships). You also defineproperties for an application and add entries to the English Query dictionary, as wellas manually add and modify entities and relationships while testing questions andset other options to expand the model.

    Creating Entities and Relationships

    With the wizards, semantic objects are automatically created for the model. Theseinclude entities and relationships (with phrasings such as customers buy products orCustomer_Names are the names of customers). Entities are usually represented bytables, fields, and OLAP objects.

  • 7/29/2019 PRJ_SOURABH

    67/117

    An entity is a real-world object, referred to by a noun (person, place, thing, or idea),for example: customers, cities, products, shipments, and so forth. In databases,entities are usually represented by tables, fields, and Analysis Services objects.

    Relationships describe what the entities have to do with one another, for example: customers

    purchaseproducts. Command relationships are not represented in the database but refer to

    actions to be executed. For example, a command to a compact disc player can allow requests

    such as "Play the album with song X on it."

  • 7/29/2019 PRJ_SOURABH

    68/117

    Deploying an English Query Application

    You can deploy an English Query application in several ways, including within a Microsoft

    Visual Basic or Microsoft Visual C++ application and on a Web page running on Microsoft

    Internet Information Services (IIS). In the Web scenario, the interface of the application is with a

    set of Active Server Pages (ASP).

  • 7/29/2019 PRJ_SOURABH

    69/117

    Troubleshooting Overview

    As a starting point to troubleshooting a problem inMicrosoft SQL Server 2000, you may find thesolution in one of the online troubleshooters fromSQL Server Product Support Services (PSS). Formore information, see Online Troubleshooters fromPSS. In addition, review current error logs forinformation that may pinpoint the problem. Othercurrent information about troubleshooting SQLServer 2000 can be found on the FAQs & Highlights

  • 7/29/2019 PRJ_SOURABH

    70/117

    for SQL Server page, available atMicrosoft Website.Error Logs

    The error log in SQL Server 2000 providescomplete information about events in SQL Server.You may also want to view the MicrosoftWindows 2000 or Windows NT 4.0 applicationlog, which provides an overall picture of eventsthat occur on the Windows NT 4.0 and Windows2000 operating systems, as well as events in SQLServer and SQL Server Agent. Both logs includeinformational messages (such as startup data),and both record the date and time of all eventsautomatically.SQL Server events are logged according to the wayyou start SQL Server.When SQL Server is started as a service under theWindows 2000 or Windows NT 4.0 operating

    system, events are logged to the SQL Server errorlog, to the Windows 2000 or Windows NTapplication log, or to both logs.When SQL Server is started from the commandprompt, events are logged to the SQL Server errorlog and to standard output (typically the monitor,unless output has been redirected elsewhere)..

    http://www.microsoft.com/isapi/redir.dll?prd=SQL&Sbp=FAQs%20and%20Highlights%20for%20SQL%20Serverhttp://www.microsoft.com/isapi/redir.dll?prd=SQL&Sbp=FAQs%20and%20Highlights%20for%20SQL%20Serverhttp://www.microsoft.com/isapi/redir.dll?prd=SQL&Sbp=FAQs%20and%20Highlights%20for%20SQL%20Serverhttp://www.microsoft.com/isapi/redir.dll?prd=SQL&Sbp=FAQs%20and%20Highlights%20for%20SQL%20Server
  • 7/29/2019 PRJ_SOURABH

    71/117

    SYSTEM DEVELOPMENTMETHODOLOGY

    1. Initiation PhaseThe initiation of a system (or project) begins

    when a business need or opportunity is identified.A Project Manager should be appointed to managethe project. This business need is documented in aConcept Proposal. After the Concept Proposal isapproved, the System Concept Development Phasebegins.

    2. System Concept Development Phase

    Once a business need is approved, theapproaches for accomplishing the concept arereviewed for feasibility and appropriateness. TheSystems Boundary Document identifies the scope

  • 7/29/2019 PRJ_SOURABH

    72/117

    of the system and requires Senior Official approvaland funding before beginning the Planning Phase.

    3. Planning Phase

    The concept is further developed to describe howthe business will operate once the approvedsystem is implemented, and to assess how thesystem will impact employee and customerprivacy. To ensure the products and /or servicesprovide the required capability on-time and withinbudget, project resources, activities, schedules,tools, and reviews are defined. Additionally,security certification and accreditation activitiesbegin with the identification of system securityrequirements and the completion of a high levelvulnerability assessment.

    4. Requirements AnalysisPhase Functional user requirements are formallydefined and delineate the requirements in terms ofdata, system performance, security, andmaintainability requirements for the system. Allrequirements are defined to a level of detailsufficient for systems design to proceed. Allrequirements need to be measurable and testableand relate to the business need or opportunityidentified in the Initiation Phase.

    5. Design PhaseThe physical characteristics of the system aredesigned during this phase. The operatingenvironment is established, major subsystems andtheir inputs and outputs are defined, and

  • 7/29/2019 PRJ_SOURABH

    73/117

    processes are allocated to resources. Everythingrequiring user input or approval must bedocumented and reviewed by the user. The

    physical characteristics of the system are specifiedand a detailed design is prepared. Subsystemsidentified during design are used to create adetailed structure of the system. Each subsystemis partitioned into one or more design units ormodules. Detailed logic specifications are preparedfor each software module.

    6. Development PhaseThe detailed specifications produced during thedesign phase are translated into hardware,communications, and executable software.Software shall be unit tested, integrated, andretested in a systematic manner. Hardware isassembled and tested.

    7. Integration and Test PhaseThe various components of the system areintegrated and systematically tested. The usertests the system to ensure that the functionalrequirements, as defined in the functionalrequirements document, are satisfied by thedeveloped or modified system. Prior to installing

    and operating the system in a productionenvironment, the system must undergocertification and accreditation activities.

    8. Implementation Phase

  • 7/29/2019 PRJ_SOURABH

    74/117

    Thesystem or system modifications are installedand made operational in a productionenvironment. The phase is initiated after the

    system has been tested and accepted by the . Thisphase continues until the system is operating inproduction in accordance withthe defined userrequirements.

    9. Operations and Maintenance PhaseThe system operation is ongoing. The system ismonitored for continued performance inaccordance with user requirements, and neededsystem modifications are incorporated. Theoperational system is periodically assessedthrough In-Process Reviews to determine how thesystem can be made more efficient and effective.Operations continue as long as the system can beeffectively adapted to respond to an organizationsneeds. When modifications or changes are

    identified as necessary, the system may reenterthe planning phase.

    10. Disposition PhaseThe disposition activities ensure the orderlytermination of the system and preserve the vitalinformation about the system so that some or all ofthe information may be reactivated in the future if

    necessary. Particular emphasis is given to properpreservation of the data processed by the system,so that the data is effectively migrated to anothersystem or archived in accordance with applicable

  • 7/29/2019 PRJ_SOURABH

    75/117

    records management regulations and policies, forpotential future access.

    SDLC OBJECTIVES To reduce the risk of project failure

  • 7/29/2019 PRJ_SOURABH

    76/117

    To consider system and data requirementsthroughout the entire life of the system

    To identify technical and management issuesearly

    To disclose all life cycle costs to guide businessdecisions

    To foster realistic expectations of what thesystems will and will not provide

    To provide information to better balanceprogrammatic, technical, management, andcost aspects of proposed system developmentor modification

    To encourage periodic evaluations to identifysystems that are no longer effective

    To measure progress and status for effectivecorrective action

    To support effective resource management andbudget planning

    To consider meeting current and future

    business requirements Key Principles

    This guidance document refines traditionalinformation system life cycle managementapproaches to reflect the principles outlined in thefollowing subsections. These are the foundationsfor life cycle management.

    This SDLC describes an overall structuredapproach to information management. Primaryemphasis is placed on the information and systemsdecisions to be made and the proper timing ofdecisions. The manual provides a flexible

  • 7/29/2019 PRJ_SOURABH

    77/117

    framework for approaching a variety of systemsprojects. The framework enables systemdevelopers, project managers, program/account

    analysts, and system owners/users to combineactivities, processes, and products, as appropriate,and to select the tools and methodologies bestsuited to the unique needs of each project.

    1. Support the use of an Integrated Product Team

    The establishment of an Integrated Product Team

    (IPT) can aid in the success of a project. An IPT is amultidisciplinary group of people who support theProject Manager in the planning, execution,delivery and implementation of life cycle decisionsfor the project. The IPT is composed of qualifiedempowered individuals from all appropriatefunctional disciplines that have a stake in the

    success of the project. Working together in aproactive, open communication, team orientedenvironment can aid in building a successfulproject and providing decision makers with thenecessary information to make the right decisionsat the right time.

    2. Each System Project must have a Program

    Sponsor

    To help ensure effective planning, management,and commitment to information systems, eachproject must have a clearly identified program

  • 7/29/2019 PRJ_SOURABH

    78/117

    sponsor. The program sponsor serves in aleadership role, providing guidance to the projectteam and securing, from senior management, the

    required reviews and approvals at specific points inthe life cycle. An approval from seniormanagement is required after the completion ofthe first seven of the SDLC phases, annually duringOperations and Maintenance Phase and six-monthsafter the Disposition Phase. Senior managementapproval authority may be varied based on dollarvalue, visibility level, congressional interests or acombination of these.

    The program sponsor is responsible foridentifying who will be responsible for formallyaccepting the delivered system at the end of theImplementation Phase.

    3. A Single Project Manager must be Selected for

    Each System ProjectThe Project Manager has responsibility for

    the success of the project and works through aproject team and other supporting organizationstructures, 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 forensuring that project activities and decisionsconsider the needs of all organizations that will beaffected by the system. The Project Managerdevelops a project charter to define and clearlyidentify the lines of authority between and within

  • 7/29/2019 PRJ_SOURABH

    79/117

    the agencys executive management, programsponsor, (user/customer), and developer forpurposes of management and oversight.

    4. A Comprehensive Project Management Plan isRequired for Each System Project

    The project management plan is a pivotalelement in the successful solution of aninformation management requirement. The projectmanagement plan must describe how each lifecycle phase will be accomplished to suit thespecific characteristics of the project. The project

    management plan is a vehicle for documenting theproject scope, tasks, schedule, allocated resources,and interrelationships with other projects. The planis used to provide direction to the many activitiesof the life cycle and must be refined and expandedthroughout the life cycle.5. Specific Individuals must be assigned to Perform

    Key Roles throughout the Life Cycle Certain roles are considered vital to a successfulsystem project and at least one individual must bedesignated as responsible for each key role.Assignments may be made on a full- or part-timebasis as appropriate. Key roles includeprogram/functional management, qualityassurance, security, telecommunicationsmanagement, data administration, databaseadministration, logistics, financial, systemsengineering, test and evaluation, contractsmanagement, and configuration management. Formost projects, more than one individual should

  • 7/29/2019 PRJ_SOURABH

    80/117

    represent the actual or potential users of thesystem (that is, program staff) and should bedesignated by the Program Manager of the

    program and organization

    FEASIBILITY STUDYA feasibility study is conducted to select the

    best system that meets performance requirement.This entails an identification description, an

    evaluation of candidate system and the selectionof best system for he job. The system requiredperformance is defined by a statement ofconstraints, the identification of specific systemobjective and a description of outputs.The key consideration in feasibility analysis are :

  • 7/29/2019 PRJ_SOURABH

    81/117

    1. Economic Feasibility:2. Technical Feasibility :

    3. Operational Feasibility:

    Economical feasibility

    It looks at the financial aspects of the project.It determines whether the management hasenough resources and budget to invest in theproposed system and the estimated time for therecovery of cost incurred. It also determineswhether it is worth while to invest the money in

    the proposed project. Economic feasibility isdetermines by the means of cost benefitanalysis.The proposed system is economicallyfeasible because the cost involved in purchasingthe hardware and the software are withinapproachable. The personal cost like salaries ofemployees hired are also nominal, because

    working in this system need not required a highlyqualified professional. The operating-environmentcosts are marginal. The less time involved alsohelped in its economical feasibility. It was observedthat the organization has already using computersfor other purpose, so that there is no additionalcost to be incurred for adding this system to itscomputers.The backend required for storing other details isalso the same database that is Sql. The computersin the organization are highly sophisticated anddont needs extra components to load thesoftware. Hence the organization can implement

  • 7/29/2019 PRJ_SOURABH

    82/117

    the new system without any additionalexpenditure. Hence, it is economically feasibleThe result of the feasibility study is a formal

    proposal. This is simply report-a formal documentdetailing the nature and the scope of the proposedsolution. The proposals summarize what is knownand what is going to be done. Three keyconsiderations are involved in the feasibilityanalysis: economic, technical and operationalbehavior.2.3.1 Economic Feasibility: Economic analysis isthe most frequently used method for evaluatingthe effectiveness of a candidate system. Moredetermine the benefits and the saving that areexpressed from a candidate system and comparethem costs. If benefits outweigh costs. Otherwise,further justification or alterations in the proposedsystem will have to be made if it is to have a

    chance of being approved. This is an ongoing effortthat improves in accuracy at each phase of thesystem life cycle.2.3.2 Technical Feasibility: Technical feasibilitycenter around the existing computer systemhardware etc. and to what extent it can supportthe proposed addition. For example, if the current

    computer is operating at 80% capacity - anarbitrary ceiling then running another applicationcould over load the system or require additionalhardware. This involves financial consideration toaccommodate technical enhancements. If the

  • 7/29/2019 PRJ_SOURABH

    83/117

    budget is a serious constraint then the project isjudged not feasible.2.3.3 Operational Feasibility: It is common

    knowledge that computer installations have something to do with turnover, transfers, retraining andchanges in employee job status. Therefore, it isunderstandable that the introduction of acandidate system requites special efforts toeducate, sell, and train the staff on new ways ofconducting business.

    Technical FeasibilityIt is a measure of the practically of a specific

    technical solution and the availability of technicalresources and expertiseThe proposed system uses Java as front-end andSql server 2003 as back-end tool.Oracle is a popular tool used to design and develop

    database objects such as table views, indexes.The above tools are readily available, easy to workwith and widely used for developing commercialapplication.

    Hardware used in this project are- p4processor 2.4GHz, 128 MB RAM, 40 GB hard disk,floppy drive. These hardware were already

    available on the existing computer system. Thesoftware like Sql Server 2003, iis,.net frameworkand operating system WINDOWS-XP used werealready installed On the existing computersystem. So no additional hardware and softwarewere required to purchase and it is technically

  • 7/29/2019 PRJ_SOURABH

    84/117

    feasible. The technical feasibility is in employingcomputers to the organization. The o