Upload
shalini-jhunjhunwala
View
86
Download
3
Tags:
Embed Size (px)
Citation preview
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.
SYSTEM ANALYSIS
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
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.
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
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.
SOFTWARE REQUIREMENT SPECIFICATION
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.
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.
SOFTWARE AND HARDWARE SPECIFICATIONS
Hardware:
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
TOOLS, PLATFORM/LANGUAGES USED
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
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
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.
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.
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
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.
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
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
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
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
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
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
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
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.
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
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
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 .
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
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