41
INTRODUCTION TO THE PROJECT : This Software project is aimed at automation of a Bus Reservation Agency. Objective of the project is to develop customize software package for Bus Reservation. The system also provides a comprehensive mechanism of ticket booking for any place. It is designed to help wide range of buses to come together and provide service to the customer. Panang Agency’s comprehensive functionality helps it to expand its horizons in the field of providing service to the customers. System: Local Booking: In this field of booking the agency provides the services available with its agency local to its area. Non local Booking: In this field the agency provides the services available with non-local agency. But service to the customer it provided by non-local providers of the same agency. Shared Booking: In this field the agency can book the tickets for the customers with the services provided by other travel agencies. In this case customer handling is taken care by the other agency. System Work Behavior: All the customers register to a common service called webservice as a client after which they are liable to interact with the agency employees who provide services at different levels. A client has to provide the webservice with all the necessary information regarding his travel schedule.

Bus Reservation Doc

Embed Size (px)

Citation preview

Page 1: Bus Reservation Doc

INTRODUCTION TO THE PROJECT:

This Software project is aimed at automation of a Bus Reservation Agency. Objective of the project is to develop customize software package for Bus Reservation.

The system also provides a comprehensive mechanism of ticket booking for any place. It is designed to help wide range of buses to come together and provide service to the customer. Panang Agency’s comprehensive functionality helps it to expand its horizons in the field of providing service to the customers.

System:

Local Booking:

In this field of booking the agency provides the services available with its agency local to its area.

Non local Booking:

In this field the agency provides the services available with non-local agency. But service to the customer it provided by non-local providers of the same agency.

Shared Booking:

In this field the agency can book the tickets for the customers with the services provided by other travel agencies. In this case customer handling is taken care by the other agency.

System Work Behavior:

All the customers register to a common service called webservice as a client after which they are liable to interact with the agency employees who provide services at different levels. A client has to provide the webservice with all the necessary information regarding his travel schedule.

A webservice hold the latest information regarding all its clients such as the different destinations to which the bus travels, number of passengers, fares, ticket details, customer details, present status of the bus, etc.

When a particular customer books a ticket for himself within his area or other the change should be reflected on to the webservice. So that others customers get the latest information regarding the service.

The entire project is based on the E-commerce architecture where a transaction between the agencies has to be handled via the webservice.

Page 2: Bus Reservation Doc

SYSTEM ANALYSIS

Page 3: Bus Reservation Doc

Definition and reason for Condition Analysis

System analysis will be performed to determine if it is feasible to design an

information based on policies and plans of the organization and on user

requirements and to eliminate the weaknesses of the present system.

General requirements are: -

1. The new system should be cost effective.

2. To augment management, improve productivity and services.

3. To enhance User/System interface.

4. To improve information qualify and usability.

5. To upgrade system’s reliability, availability, flexibility and growth potential.

IDENTIFICATION OF NEED

The Panang Agency system is currently maintaining the Transport company’s

process manually which is a very time consuming process. It deals with transport

industry’s ticket booking and transport maintainance, so it becomes a very tedious

job for the transporter to look after these particulars to complete the task at right

time. It not only deals with booking the tickets but also deals with the routing of the

buses.

Further Drawbacks of the Existing System:

The following are the drawbacks of the existing manual System.

Time Delay: In the existing system, information related to all transactions is stored

in different registers. Since all the transactions are stored in different registers it

takes lot of time to prepare different reports.

Redundancy: As the information passes through different registers, each register is

consolidated and sent to next register. So the same information is being tabulated at

Page 4: Bus Reservation Doc

each register, which involves lot of complication and duplication in work, thus it

causes redundancy.

Accuracy: Since the same data is compiled at different sections, the

possibility of tabulating data wrongly increases. Also if the data is more,

validations become difficult. This may result in loss of accuracy of data.

Information Retrieval: As the information is stored in the particular Format, it can

only be retrieved in the same format. But if it is to be retrieve in different format, it is

not possible.

Storage Media: In the existing system, data transaction being stored on too long

registers it is very difficult to refer after some time.

Reports: At the various reports are tabulated manually. They are not such

Attractive and require more time. They do not provide adequate help in maintaining

the accounts.

Enquiry: Enquiry for different level of information is much more difficult. On

line enquiry of data is not possible.

Page 5: Bus Reservation Doc

FEASIBILITY STUDY

TECHINICAL FEASIBILITY:

Evaluating the technical feasibility is the trickiest part of a feasibility study.

This is because, at this point in time, not too many detailed design of the system,

making it difficult to access issues like performance, costs on (on account of the kind

of technology to be deployed) etc.

A number of issues have to be considered while doing a technical

analysis.

i) Understand the different technologies involved in the proposed

system:

Before commencing the project, we have to be very clear about what are the

technologies that are to be required for the development of the new system.

ii) Find out whether the organization currently possesses the required

technologies:

Is the required technology available with the organization?

If so is the capacity sufficient?

For instance –

“Will the current printer be able to handle the new reports and forms required for the

new system?”

OPERATIONAL FEASIBILITY:

Proposed projects are beneficial only if they can be turned into information systems

that will meet the organizations operating requirements. Simply stated, this test of

feasibility asks if the system will work when it is developed and installed. Are there

Page 6: Bus Reservation Doc

major barriers to Implementation? Here are questions that will help test the

operational feasibility of a project:

Is there sufficient support for the project from management from users? If

the current system is well liked and used to the extent that persons will not be

able to see reasons for change, there may be resistance.

Are the current business methods acceptable to the user? If they are not,

Users may welcome a change that will bring about a more operational and useful

systems.

Have the user been involved in the planning and development of the project?

Early involvement reduces the chances of resistance to the system and in

General and increases the likelihood of successful project.

Since the proposed system was to help reduce the hardships encountered

In the existing manual system, the new system was considered to be operational

feasible.

ECONOMIC FEASIBILITY:

Economic feasibility attempts 2 weigh the costs of developing and

implementing a new system, against the benefits that would accrue from having the

new system in place. This feasibility study gives the top management the economic

justification for the new system.

A simple economic analysis which gives the actual comparison of costs and

benefits are much more meaningful in this case. In addition, this proves to be a

useful point of reference to compare actual costs as the project progresses. There

could be various types of intangible benefits on account of automation. These could

include increased customer satisfaction, improvement in product quality better

decision making timeliness of information, expediting activities, improved accuracy

of operations, better documentation and record keeping, faster retrieval of

information, better employee morale.

Page 7: Bus Reservation Doc

SOFTWARE REQUIREMENT SPECIFICATION

Page 8: Bus Reservation Doc

REQUIREMENT SPECIFICATION:

The software, Panang Agency, which is designed for administrating & automating ticket reservation activities that are carried out in an bus Agency to increase the efficiency of the Agency in order to provide better service to the customer.

INTRODUCTION

Purpose: The main purpose for preparing this document is to give a general insight into the analysis and requirements of the existing system or situation and for determining the operating characteristics of the system.

Scope: This Document plays a vital role in the development life cycle (SDLC)As it describes the complete requirement of the system. It is meant for use by the developers and will be the basic during testing phase. Any changes made to the requirements in the future will have to go through formal change approval process.

Developers Responsibilities Overview :

The developer is responsible for: 1) Developing the system, which meets the SRS and solving all the requirements of the system.

2) Demonstrating the system and installing the system at client's location after the acceptance testing is successful.

3) Submitting the required user manual describing the system interfaces to work on it and also the documents of the system.

4) Conducting any user training that might be needed for using the system.

5) Maintaining the system for a period of one year after installation.

Functional Requirements:

Inputs: The major inputs for Panang Agency can be categorized module -wise.

Basically all the information is managed by the software and in order to access the

information one has to produce one's identity by entering the user-id and password.

Page 9: Bus Reservation Doc

Output: The major outputs of the system are tables and reports. Tables are created

dynamically to meet the requirements on demand. Reports, as it is obvious, carry

the gist of the whole information that flows across the institution.

This application must be able to produce output at different modules for

different inputs.

Performance Requirements:

Performance is measured in terms of reports generated weekly and monthly.

Page 10: Bus Reservation Doc

SOFTWARE AND HARDWARE SPECIFICATIONS

Hardware:

Page 11: Bus Reservation Doc

Processor : Intel Pentium or more

Ram : 256 MB or more

Cache : 512 KB

Hard disk : 16 GB hard disk recommended for primary partion.

Software:

Operating system : All editions: Windows NT 4.0/ 2000 or later or windows

Front End Software: Visual Basic.NET BackEnd Software : Oracle 8i

Page 12: Bus Reservation Doc

TOOLS, PLATFORM/LANGUAGES USED

Page 13: Bus Reservation Doc

SELECTED SOFTWARE

ABOUT VB.Net

Overview of the .NET Framework

The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. The .NET Framework is designed to fulfill the following objectives:

To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.

To provide a code-execution environment that minimizes software deployment and versioning conflicts.

To provide a code-execution environment that guarantees safe execution of code, including code created by an unknown or semi-trusted third party.

To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments.

To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications.

To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.

The .NET Framework has two main components: the common language runtime and the .NET Framework class library. The common language runtime is the foundation of the .NET Framework. You can think of the runtime as an agent that manages code at execution time, providing core services such as memory management, thread management, and remoting, while also enforcing strict type safety and other forms of code accuracy that ensure security and robustness. In fact, the concept of code management is a fundamental principle of the runtime. Code that targets the runtime is known as managed code, while code that does not target the runtime is known as unmanaged code. The class library, the other main component of the .NET Framework, is a comprehensive, object-oriented collection of reusable types that you can use to develop applications ranging from traditional command-line or graphical user interface (GUI) applications to applications based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services.

The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that can exploit both managed and unmanaged features. The .NET Framework not only provides several runtime hosts, but also supports the development of third-party runtime hosts.

For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for managed code. ASP.NET works directly with the runtime to enable Web Forms applications and XML Web services, both of which are discussed later in this topic.

Internet Explorer is an example of an unmanaged application that hosts the runtime (in the form of a MIME type extension). Using Internet Explorer to host the runtime enables you to embed managed components or Windows Forms controls in HTML documents. Hosting the

Page 14: Bus Reservation Doc

runtime in this way makes managed mobile code (similar to Microsoft® ActiveX® controls) possible, but with significant improvements that only managed code can offer, such as semi-trusted execution and secure isolated file storage.

The following illustration shows the relationship of the common language runtime and the class library to your applications and to the overall system. The illustration also shows how managed code operates within a larger architecture.

Features of the Common Language Runtime

The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime.

With regards to security, managed components are awarded varying degrees of trust, depending on a number of factors that include their origin (such as the Internet, enterprise network, or local computer). This means that a managed component might or might not be able to perform file-access operations, registry-access operations, or other sensitive functions, even if it is being used in the same active application.

The runtime enforces code access security. For example, users can trust that an executable embedded in a Web page can play an animation on screen or sing a song, but cannot access their personal data, file system, or network. The security features of the runtime thus enable legitimate Internet-deployed software to be exceptionally feature rich.

The runtime also enforces code robustness by implementing a strict type- and code-verification infrastructure called the common type system (CTS). The CTS ensures that all managed code is self-describing. The various Microsoft and third-party language compilers generate managed code that conforms to the CTS. This means that managed code can consume other managed types and instances, while strictly enforcing type fidelity and type safety.

In addition, the managed environment of the runtime 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 being used. This automatic memory management resolves the two most common application errors, memory leaks and invalid memory references.

The runtime also accelerates developer productivity. For example, programmers can write applications in their development language of choice, yet take full advantage of the runtime, the class library, and components written in other languages by other developers. Any compiler vendor who chooses to target the runtime can do so. Language compilers that target the .NET Framework make the features of the .NET Framework available to existing code written in that language, greatly easing the migration process for existing applications.

While the runtime is designed for the software of the future, it also supports software of today and yesterday. Interoperability between managed and unmanaged code enables developers to continue to use necessary COM components and DLLs.

The runtime is designed to enhance performance. Although the common language runtime provides many standard runtime services, managed code is never interpreted. A feature called just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it is executing. Meanwhile, the memory manager removes the possibilities of fragmented memory and increases memory locality-of-reference to further increase performance.

Finally, the runtime can be hosted by high-performance, server-side applications, such as Microsoft® SQL Server™ and Internet Information Services (IIS). This infrastructure enables

Page 15: Bus Reservation Doc

you to use managed code to write your business logic, while still enjoying the superior performance of the industry's best enterprise servers that support runtime hosting.

.NET Framework Class Library

The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. The class library is object oriented, providing types from which your own managed code can derive functionality. This not only makes the .NET Framework types easy to use, but also reduces the time associated with learning new features of the .NET Framework. In addition, third-party components can integrate seamlessly with classes in the .NET Framework.

For example, the .NET Framework collection classes implement a set of interfaces that you can use to develop your own collection classes. Your collection classes will blend seamlessly with the classes in the .NET Framework.

As you would expect from an object-oriented class library, the .NET Framework types enable you to accomplish a range of common programming tasks, including tasks such as string management, data collection, database connectivity, and file access. In addition to these common tasks, the class library includes types that support a variety of specialized development scenarios. For example, you can use the .NET Framework to develop the following types of applications and services:

Console applications.

Scripted or hosted applications.

Windows GUI applications (Windows Forms).

ASP.NET applications.

XML Web services.

Windows services.

For example, the Windows Forms classes are a comprehensive set of reusable types that vastly simplify Windows GUI development. If you write an ASP.NET Web Form application, you can use the Web Forms classes.

Client Application Development

Client applications are the closest to a traditional style of application in Windows-based programming. These are the types of applications that display windows or forms on the desktop, enabling a user to perform a task. Client applications include applications such as word processors and spreadsheets, as well as custom business applications such as data-entry tools, reporting tools, and so on. Client applications usually employ windows, menus, buttons, and other GUI elements, and they likely access local resources such as the file system and peripherals such as printers.

Another kind of client application is the traditional ActiveX control (now replaced by the managed Windows Forms control) deployed over the Internet as a Web page. This application is much like other client applications: it is executed natively, has access to local resources, and includes graphical elements.

In the past, developers created such applications using C/C++ in conjunction with the Microsoft Foundation Classes (MFC) or with a rapid application development (RAD) environment such as Microsoft® Visual Basic®. The .NET Framework incorporates aspects of these existing products into a single, consistent development environment that drastically simplifies the development of client applications.

Page 16: Bus Reservation Doc

The Windows Forms classes contained in the .NET Framework are designed to be used for GUI development. You can easily create command windows, buttons, menus, toolbars, and other screen elements with the flexibility necessary to accommodate shifting business needs.

For example, the .NET Framework provides simple properties to adjust visual attributes associated with forms. In some cases the underlying operating system does not support changing these attributes directly, and in these cases the .NET Framework automatically recreates the forms. This is one of many ways in which the .NET Framework integrates the developer interface, making coding simpler and more consistent.

Unlike ActiveX controls, Windows Forms controls have semi-trusted access to a user's computer. This means that binary or natively executing code can access some of the resources on the user's system (such as GUI elements and limited file access) without being able to access or compromise other resources. Because of code access security, many applications that once needed to be installed on a user's system can now be safely deployed through the Web. Your applications can implement the features of a local application while being deployed like a Web page.

Server Application Development

Server-side applications in the managed world are implemented through runtime hosts. Unmanaged applications host the common language runtime, which allows your custom managed code to control the behavior of the server. This model provides you with all the features of the common language runtime and class library while gaining the performance and scalability of the host server.

The following illustration shows a basic network schema with managed code running in different server environments. Servers such as IIS and SQL Server can perform standard operations while your application logic executes through the managed code.

Server-side managed code

ASP.NET is the hosting environment that enables developers to use the .NET Framework to target Web-based applications. However, ASP.NET is more than just a runtime host; it is a complete architecture for developing Web sites and Internet-distributed objects using managed code. Both Web Forms and XML Web services use IIS and ASP.NET as the publishing mechanism for applications, and both have a collection of supporting classes in the .NET Framework.

XML Web services, an important evolution in Web-based technology, are distributed, server-side application components similar to common Web sites. However, unlike Web-based applications, XML Web services components have no UI and are not targeted for browsers such as Internet Explorer and Netscape Navigator. Instead, XML Web services consist of reusable software components designed to be consumed by other applications, such as traditional client applications, Web-based applications, or even other XML Web services. As a result, XML Web services technology is rapidly moving application development and deployment into the highly distributed environment of the Internet.

If you have used earlier versions of ASP technology, you will immediately notice the improvements that ASP.NET and Web Forms offers. For example, you can develop Web Forms pages in any language that supports the .NET Framework. In addition, your code no longer needs to share the same file with your HTTP text (although it can continue to do so if you prefer). Web Forms pages execute in native machine language because, like any other managed application, they take full advantage of the runtime. In contrast, unmanaged ASP pages are always scripted and interpreted. ASP.NET pages are faster, more functional, and easier to develop than unmanaged ASP pages because they interact with the runtime like any managed application.

Page 17: Bus Reservation Doc

The .NET Framework also provides a collection of classes and tools to aid in development and consumption of XML Web services applications. XML Web services are built on standards such as SOAP (a remote procedure-call protocol), XML (an extensible data format), and WSDL ( the Web Services Description Language). The .NET Framework is built on these standards to promote interoperability with non-Microsoft solutions.

For example, the Web Services Description Language tool included with the .NET Framework SDK can query an XML Web service published on the Web, parse its WSDL description, and produce C# or Visual Basic source code that your application can use to become a client of the XML Web service. The source code can create classes derived from classes in the class library that handle all the underlying communication using SOAP and XML parsing. Although you can use the class library to consume XML Web services directly, the Web Services Description Language tool and the other tools contained in the SDK facilitate your development efforts with the .NET Framework.

If you develop and publish your own XML Web service, the .NET Framework provides a set of classes that conform to all the underlying communication standards, such as SOAP, WSDL, and XML. Using those classes enables you to focus on the logic of your service, without concerning yourself with the communications infrastructure required by distributed software development.

Finally, like Web Forms pages in the managed environment, your XML Web service will run with the speed of native machine language using the scalable communication of IIS.

Introduction to Windows Forms (Visual Basic.NET)

Windows Forms is the new platform for Microsoft Windows application development, based on the .NET Framework. This framework provides a clear, object-oriented, extensible set of classes that enable you to develop rich Windows applications. Additionally, Windows Forms can act as the local user interface in a multi-tier distributed solution. Windows Forms is a framework for building Windows client applications that utilize the common language runtime. Windows Forms applications can be written in any language that the common language runtime supports.

What Is a Form?

A form is a bit of screen real estate, usually rectangular, that you can use to present information to the user and to accept input from the user. Forms can be standard windows, multiple document interface (MDI) windows, dialog boxes, or display surfaces for graphical routines. The easiest way to define the user interface for a form is to place controls on its surface. Forms are objects that expose properties which define their appearance, methods which define their behavior, and events which define their interaction with the user. By setting the properties of the form and writing code to respond to its events, you customize the object to meet the requirements of your application.

As with all objects in the .NET Framework, forms are instances of classes. The form you create with the Windows Forms Designer is a class, and when you display an instance of the form at run time, this class is the template used to create the form. The framework also allows you to inherit from existing forms to add functionality or modify existing behavior. When you add a form to your project, you can choose whether it inherits from the Form class provided by the framework, or from a form you have previously created.

Additionally, forms are controls, because they inherit from the Control class.

Within a Windows Forms project, the form is the primary vehicle for user interaction. By combining different sets of controls and writing code, you can elicit information from the user

Page 18: Bus Reservation Doc

and respond to it, work with existing stores of data, and query and write back to the file system and registry on the user's local computer.

Although the form can be created entirely in the Code Editor, it is easier to use the Windows Forms Designer to create and modify forms.

Some of the advantages of using Windows Forms include the following:

Simplicity and power: Windows Forms is a programming model for developing Windows applications that combines the simplicity of the Visual Basic 6.0 programming model with the power and flexibility of the common language runtime.

Lower total cost of ownership: Windows Forms takes advantage of the versioning and deployment features of the common language runtime to offer reduced deployment costs and higher application robustness over time. This significantly lowers the maintenance costs (TCO) for applications written in Windows Forms.

Architecture for controls: Windows Forms offers an architecture for controls and control containers that is based on concrete implementation of the control and container classes. This significantly reduces control-container interoperability issues.

Security: Windows Forms takes full advantage of the security features of the common language runtime. This means that Windows Forms can be used implement everything from an untrusted control running in the browser to a fully trusted application installed on a user's hard disk.

XML Web services support: Windows Forms offers full support for quickly and easily connecting to XML Web services.

Rich graphics: Windows Forms is one of the first ship vehicles for GDI+, a new version of the Windows Graphical Device Interface (GDI) that supports alpha blending, texture brushes, advanced transforms, rich text support, and more.

Flexible controls: Windows Forms offers a rich set of controls that encompass all of the controls offered by Windows. These controls also offer new features, such as "flat look" styles for buttons, radio buttons, and check boxes.

Data awareness: Windows Forms offers full support for the ADO data model.

ActiveX control support: Windows Forms offers full support for ActiveX controls. You can easily host ActiveX controls in a Windows Forms application. You can also host a Windows Forms control as an ActiveX control.

Licensing: Windows Forms takes advantage of the common language runtime enhanced licensing model.

Printing: Windows Forms offers a printing framework that enables applications to provide comprehensive reports.

Accessibility: Windows Forms controls implement the interfaces defined by Microsoft Active Accessibility (MSAA), which make it simple to build applications that support accessibility aids, such as screen readers.

Page 19: Bus Reservation Doc

Design-time support: Windows Forms takes full advantage of the meta-data and component model features offered by the common language runtime to provide thorough design-time support for both control users and control implementers.

Crystal Reports 

Crystal Reports for Visual Basic .NET is the standard reporting tool for Visual Basic.NET; it brings the ability to create interactive, presentation-quality content — which has been the strength of Crystal Reports for years — to the .NET platform.

With Crystal Reports for Visual Basic.NET, you can host reports on Web and Windows platforms and publish Crystal reports as Report Web Services on a Web server.

To present data to users, you could write code to loop through recordsets and print them inside your Windows or Web application. However, any work beyond basic formatting can be complicated: consolidations, multiple level totals, charting, and conditional formatting are difficult to program.

With Crystal Reports for Visual Studio .NET, you can quickly create complex and professional-looking reports. Instead of coding, you use the Crystal Report Designer interface to create and format the report you need. The powerful Report Engine processes the formatting, grouping, and charting criteria you specify.

Report Experts

Using the Crystal Report Experts, you can quickly create reports based on your development needs:

Choose from report layout options ranging from standard reports to form letters, or build your own report from scratch.

Display charts that users can drill down on to view detailed report data.

Calculate summaries, subtotals, and percentages on grouped data.

Show TopN or BottomN results of data.

Conditionally format text and rotate text objects.

ACTIVE X DATA OBJECTS

Page 20: Bus Reservation Doc

In Visual Basic .Net, three data access interfaces are available: Active X Data

Objects( ADO), Remote Data Objects (RDO) and Data Access Objects (DAO). These

access interfaces are used to access the data from database.

Why use ADO?

Consistently accessing data within the enterprise is a challenge for today's

business applications. ODBC provides the first step toward overcoming this

challenge by enabling applications to access relational databases. However, as

developers and system architects want to include nonrelational data sources and to

work in environments such as the Internet, they encounter the dilemma of either

developing their own data-access paradigms or working with application program

interfaces (APIs) that are incompatible in the new environments. Microsoft®

ActiveX® Data Objects (ADO) along with OLEDB solves this dilemma by providing a

single model that works with all data sources in a variety of environments.

ADO provides consistent, high-performance access to data, whether you're

creating a front-end database client or middle-tier business object using an

application, tool, language, or even an Internet browser. ADO is the single data

interface you need for developing 1- to n-tier client/server and Web-based, data-

driven solutions.

This paper introduces ADO and the ADO programming model for application

developers who are targeting Microsoft SQL Server™. Particular attention is given to

taking advantage of SQL Server features with ADO, such as stored procedures and

server cursors. The concepts presented in the sections titled "The ADO Object

Model" and "Using ADO with Visual Basic, VBScript, Visual C++, and Java" are

applicable to all ADO programmers.

ADO Overview

ADO was first introduced as the data access interface in Microsoft Internet

Information Server (IIS). ADO is easy to use because it is called using a familiar

metaphor: the Automation interface, available from just about any tool and language

Page 21: Bus Reservation Doc

on the market today. Because of its popularity as an easy-to-use, lightweight

interface to all kinds of data, and the growing need for an interface spanning many

tools and languages, ADO is being enhanced to combine the best features of, and

eventually replace, RDO and DAO, the data access interfaces in widest use today.

ADO is in many ways similar to RDO and DAO. For example, it uses similar language

conventions. ADO provides simpler semantics, which makes it easy to learn for

today's developers.

ADO is designed to be the application-level interface to OLEDB, Microsoft's

newest and most powerful data access paradigm. OLEDB provides high-performance

access to any data source. Together ADO and OLEDB form the foundation of the

Universal Data Access strategy. OLEDB enables universal access to any data. ADO

makes it easy for developers to program. Because ADO is built on top of OLEDB, it

benefits from the rich universal data access infrastructure that OLEDB provides.

OLEDB Overview

OLEDB is an open specification designed to build on the success of ODBC by

providing an open standard for accessing all kinds of data throughout the enterprise.

OLEDB is a core technology supporting universal data access. Whereas ODBC was

created to access relational databases, OLEDB is designed for the relational and

nonrelational information sources, such as mail stores, text and graphical data for

the Web, directory services, and IMS and VSAM data stored in the mainframe. OLEDB

components consist of data providers, which expose data; data consumers, which

use data; and service components, which process and transport data (for example,

query processors and cursor engines). These components are designed to integrate

smoothly to help OLEDB component vendors quickly bring high-quality OLEDB

components to market. OLEDB includes a bridge to ODBC to enable continued

support for the broad range of ODBC relational database drivers available today.

OLEDB Providers

There are two types of OLEDB applications: consumers and providers. A

consumer can be any application that uses or consumes OLEDB interfaces. For

Page 22: Bus Reservation Doc

example, a Microsoft Visual C++® application that uses OLEDB interfaces to

connect to a database server is an OLEDB consumer. The ADO object model that

uses OLEDB interfaces is an OLEDB consumer. Any application that uses the ADO

object model uses OLEDB interfaces indirectly through the ADO objects. An OLEDB

provider implements OLEDB interfaces; therefore, an OLEDB provider allows

consumers to access data in a uniform way through a known set of documented

interfaces. In a sense, an OLEDB provider is similar to an ODBC driver that provides a

uniform mechanism for accessing relational data. OLEDB providers not only provide

a mechanism for relational data but also for nonrelational types of data.

Furthermore, OLEDB providers are built on top of Component Object Model (COM)

interfaces that allow more flexibility; whereas ODBC drivers build on top of a C API

specification.

Microsoft OLEDB SDK version 1.1 shipped two OLEDB providers: the ODBC Provider

and sample text provider. The sample text provider is an example that demonstrates

the implementation detail of an OLEDB provider. The ODBC Provider is an OLEDB

provider for ODBC drivers. This provider enables consumers to use the existing

ODBC drivers without having to implement new OLEDB providers to replace existing

ODBC drivers. With OLEDB version 2.0, providers for SQL Server, Oracle data, and

Microsoft Jet databases were added to the SDK. For more information about OLEDB

and OLEDB providers, see the OLEDB section of the Microsoft Data Access

The ODBC Provider

The ODBC Provider maps OLEDB interfaces to ODBC APIs. With the ODBC

Provider, OLEDB consumers can connect to a database server through the existing

ODBC drivers in the following process: A consumer calls an OLEDB interface on the

ODBC Provider. The ODBC Provider invokes corresponding ODBC APIs and sends the

requests to an ODBC driver.

Because the ODBC Provider allows OLEDB consumers to use existing ODBC

drivers, there may be some performance concern about the additional layer of the

Page 23: Bus Reservation Doc

ODBC Provider on top of the existing ODBC driver manager. The design goal of the

ODBC Provider is to implement all the functionality of the ODBC driver manager;

therefore, the ODBC driver manager is not needed. However, the ODBC Provider still

requires the ODBC Driver Manager to support connection pooling with ODBC

applications.

The ADO Object Model

The ADO object model defines a collection of programmable objects that you can use

in Visual Basic, Visual C++, Microsoft Visual Basic, Scripting Edition, Java, and any

platform that supports both COM and Automation. The ADO object model is designed

to expose the most commonly used features of OLEDB.

The ADO object model contains their objects:

Connection

Command

Recordset

The Connection Object

The Connection object allows you to establish a communication link with a

data source. The Connection object provides a mechanism for initializing and

establishing the connection, executing queries, and using transactions.

The underlying OLEDB provider used for connecting is not limited to the ODBC

Provider; you can also use other providers for connecting. Specify a provider through

the Provider property. If none is specified, MSDASQL (the ODBC provider) is the

default provider used for the connection.

The Command Object

The Command object allows you to issue commands to the database. These

commands can be, but are not limited to, query strings, prepared query strings, and

associated parameters with query strings. The actual command language and

features supported are dependent on the underlying provider for the database. The

Page 24: Bus Reservation Doc

information and examples contained here focus on the Microsoft ODBC Provider that

supports a wide variety of relational databases.

The Recordset Object

The Recordset object provides methods for manipulating result sets; it allows

you to add, update, delete, and scroll through records in the result set. You can

retrieve and update each record using the Fields collection and the Field objects.

You can make updates on the Recordset object in an immediate or batch mode.

When you create a Recordset object, a cursor is automatically opened.

Dynamic Cursor

Allows you to view additions, changes and deletions by other users, and allows

all types of movement through the records that don’t rely on bookmarks; Allows

bookmarks if the provider supports them.

Key-set Cursor

Behaves like a dynamic cursor, except that it prevents you from seeing

records that other users ad, and prevents access to records that other users delete.

Data changes by other users will still be visible. It always supports bookmarks and

therefore

Allows all types of movement through the Records.

Static Cursor

Provides a static copy of a set of records for you to use to find or generate

reports. Always allows bookmarks and therefore allows all types of movement

through the records. Additions, changes or deletions by other users will not be

visible. This is the only type of cursor allowed when you open a client_side (ADO)

records object.

Forward-only Cursor

Page 25: Bus Reservation Doc

Behaves identically to a dynamic cursor except that it allows you to scroll only

forward through records. This improves performance in situation where you need to

make only a single pass through a record.

Understanding the advantages of VISUAL BASIC

ABOUT ORACLE

DATABASE

A database management, or DBMS, gives the user access to their data and

helps them transform the data into information. Such database management

Page 26: Bus Reservation Doc

systems include dBase, paradox, IMS, and Oracle. These systems allow users to

create, update and extract information from their database.

A database is a structured collection of data. Data refers to the

characteristics of people, things and events. Oracle stores each data item in its own

fields. In oracle, the fields relating to a particular person, thing or event are bundled

together to form a single complete unit of data, called a record (it can also be

referred to as raw or an occurrence). Each record is made up of a number of fields.

No two fields in a record can have the same field name.

During an Oracle Database design project, the analysis of your business needs

identifies all the fields or attributes of interest. If your business needs change over

time, you define any additional fields or change the definition of existing fields.

Oracle Tables

Oracle stores records relating to each other in a table. Different tables are

created for the various groups of information. Related tables are grouped together to

form a database.

Primary Key

Every table in oracle has a field or a combination of fields that uniquely

identifies each record in the table. The Unique identifier is called the Primary Key, or

simply the Key. The primary key provides the means to distinguish one record from

all other in a table. It allows the user and the database system to identify, locate

and refer to one particular record in the database.

Relational Database

Sometimes all the information of interest to a business operation can be

stored in one table. Oracle makes it very easy to link the data in multiple tables.

Matching an employee to the department in which they work is one example. This is

what makes oracle a relational database management system, or RDBMS. It stores

data in two or more tables and enables you to define relationships between the table

and enables you to define relationships between the tables.

Page 27: Bus Reservation Doc

Foreign Key

When a field is one table matches the primary key of another field is referred

to as a foreign key. A foreign key is a field or a group of fields in one table whose

values match those of the primary key of another table.

Referential Integrity

Not only does Oracle allow you to link multiple tables, it also maintains

consistency between them. Ensuring that the data among related tables is correctly

matched is referred to as maintaining referential integrity.

Data Abstraction

A major prupose of a database system is to provide users with an abstract

view of the data. This system hides certain details of how the data is stored and

maintained. Data abstraction is divided into three levels.

Physical level: This is the lowest level of abstraction at which one describes how

the data are actually stored.

Conceptual Level: At this level of database abstraction all the attributed and what

data are actually stored is described and entries and relationship among them.

View level: This is the highest level of abstraction at which one describes only part

of the database.

Advantages of RDBMS

Redundancy can be avoided

Inconsistency can be eliminated

Data can be Shared

Standards can be enforced

Security restrictions ca be applied

Integrity can be maintained

Conflicting requirements can be balanced

Page 28: Bus Reservation Doc

Data independence can be achieved.

Disadvantages of DBMS

A significant disadvantage of the DBMS system is cost. In addition to the cost

of purchasing of developing the software, the hardware has to be upgraded to allow

for the extensive programs and the workspace required for their execution and

storage. While centralization reduces duplication, the lack of duplication requires

that the database be adequately backed up so that in case of failure the data can be

recovered.

FEATURES OF ORACLE (RDBMS)

ORACLE is the leading database management system (DBMS) because it is

the only Database that meets the uncompromising requirements of today’s most

demanding information systems. From complex decision support systems (DSS) to

the most rigorous online transaction processing (OLTP) application, even application

that require simultaneous DSS and OLTP access to the same critical data, Oracle

leads the industry in both performance and capability

ORACLE is a truly portable, distributed, and open DBMS that delivers unmatched

performance, continuous operation and support for every database.

ORACLE RDBMS is high performance fault tolerant DBMS which is specially designed

for online transactions processing and for handling large database application.

ORACLE with transactions processing option offers two features which contribute to

very high level of transaction processing throughput, which are

The row level lock manager

PL/SQL a procedural language extension to SQL

Enterprise wide Data Sharing

Page 29: Bus Reservation Doc

The unrivaled portability and connectivity of the ORACLE DBMS enables all the

systems in the organization to be linked into a singular, integrated computing

resource.

Portability

ORACLE is fully portable to more than 80 distinct hardware and operating

systems platforms, including UNIX, MSDOS, OS/2, Macintosh and dozens of

proprietary platforms. This portability gives complete freedom to choose the

database sever platform that meets the system requirements.

Open Systems

ORACLE offers a leading implementation of industry –standard SQL. Oracle’s

open architecture integrates ORACLE and non –ORACLE DBMS with industries most

comprehensive collection of tools, application, and third party software products

Oracle’s Open architecture provides transparent access to data from other relational

database and even non-relational database.

Distributed Data Sharing

Oracle’s networking and distributed database capabilities to access data

stored on remote server with the same ease as if the information was stored on a

single local computer. A single SQL statement can access data at multiple sites. You

can store data where system requirements such as performance, security or

availability dictate.

Unmatched Performance

The most advanced architecture in the industry allows the ORACLE DBMS to

deliver unmatched performance.

Sophisticated Concurrency Control

Real World applications demand access to critical data. With most database

Systems application becomes “contention bound” – which performance is limited not

by the CPU power or by disk I/O, but user waiting on one another for data access .

Page 30: Bus Reservation Doc

Oracle employs full, unrestricted row-level locking and contention free queries to

minimize and in many cases entirely eliminates contention wait times.

No I/O Bottlenecks

Oracle’s fast commit groups commit and deferred write technologies

dramatically reduce disk I/O bottlenecks. While some database write whole data

block to disk at commit time, oracle commits transactions with at most sequential

log file on disk at commit time, On high throughput systems, one sequential writes

typically group commit multiple transactions. Data read by the transaction remains

as shared memory so that other transactions may access that data without reading

it again from disk. Since fast commits write all data necessary to the recovery to the

log file, modified blocks are written back to the database independently of the

transaction commit, when written from memory to disk.

SQL * NET

This is Oracle’s networking software, which interfaces between ORACLE and

the OS networking protocol. SQL * NET enables the integration of diverse, OS,

database, communication protocols and application to create a unified computing

information resource.

Application Development Tools

SQL * Plus

This is the primary interface to the ORACLE RDBMS. It provides a powerful

environment for querying, defining and controlling data. Based on a full

implementation of ANSI standard SQL, it also provides a rich set of extensions in

PL/SQL, another data manipulation language

SQL * MENU

It is a development tool for creating menu-based applications. It can also tie

together Oracle and non- – Oracle applications into a fully integrated environment.

SQL * REPORTWRITER

Page 31: Bus Reservation Doc

It is an advanced report generation tool, which is a non-procedural application

development tool. It’s powerful formatting capabilities and fill-in-the form interface

allows the user to develop complex reports without resource to extensive

programming