Sie sind auf Seite 1von 25

A Colloquium Report

On

Advanced Databases For Web


Development
Submitted in partial fulfillment of award of

MASTER OF COMPUTER APPLICATION


Degree from

Dr. A.P.J. Abdul Kalam Technical University

By
Ankit Mishra
MCA 3rd Year
(1409114903)
To MCA Department

JSS ACADEMY OF TECHNICAL EDUCATION


NOIDA
Guided By:
Mr. Hanumantha Rao
(Assistant Professor)

COLLOQUIUM ON ADVANCED DATABASES


FOR WEB DEVELOPMENT
1.INTRODUCTION
The initial attempts in the World Wide Webs were largely founded on static
HTML data stored in hierarchical file systems. The data was simple to
present via the Markup Language and even easier to manage in the shallow
structures of the file system. However such trends have changed now, the
recent trend has been to a greater level of complexity in the structure of the
Web's data. This complexity has been facilitated by the relational database.
Applications such as te tracking of "hits" to a website to the implementation
of full scale global applications, the database is rapidly becoming a
requirement for any site that wishes to be taken seriously on the Web.
Advancement of Web technologies over the last decade has moved the
database technology from close doors to outdoors. Presently most of the
websites require some basic level support at the backend through the
databases. The applications like e-commerce, information portals, shopping
malls, help lines etc. all require database technology at the server end in
distributed or non-distributed fashion. This process is also known as
publishing database content through a Web server
The merging of the two technologies (the Web and the relational database)
has been slow and the technical approaches as varied as the number of
companies providing solutions. Behind all the advertising and hype,
however, lies the essential challenge: getting data from the database to the
browser and from vice versa.

What is a Web Database?


A web database is a data store or information repository that can be
accessed via a query language or on application program. Unlike
conventional database systems a web database access is not typically
performed using queries typed at a command line or through custom
designed programming interfaces. Web databases are accessed via other
Web applications; especially forms that are developed using standardized
HTML tags. HTML form interfaces enable is to create applications that
integrate database functionality and provide access to organizational data

repositories on behalf of Web clients. An application can be designed solely


for the purpose of querying a database and returning specific information.
For example, the most popular of the university can be obtained even the
performance of student in that course can also be obtained through the
web. But why does one would like to create web databases after all it may
open up information for general use and data security issue?

A database, which can be integrated into applications that can be accessed


by using web browsers, makes a database a web database. A web database
is designed for:

Better management of large document-based information


repositories to internal and/or external users of the information.

Better use of legacy database systems, the information they


contain, and existing applications.

Unlocking the potential of unused information held within


organizational databases. Information from databases within
various parts of an organization, such as information relating to
finance, human resources, project management etc, can be
consolidated using Web-based applications and served to users as
though it is available from a single source.

Extending the functionality of the Web server so that the


information is made available to internal and external users

Database in Web Business Application


Web-based business applications provide the capability of providing valueadded services through the web for potential customers of e-company.
Database serves an important role in many applications being developed for
customer use and to improve the services provided to them. Some of the
services, which may be provided for a business, are:

Maintenance of customer, supplier, and business partner profiles,


needs, and preferences so that personalised services may be

provided. For example, customer account information for example,


past purchase history, balance due etc. can be kept on the web in a
secured environment and can be accessed by the authorized users

Product information and details that enable customers to easily


search for and obtain product specifications, pricing, suggested uses
and troubleshooting information. Customer support and sales
personnel for customer assistance can also use this information.

Inter-business agreements, transaction rules accounting


information, purchasing, and billing schedules that allow automated
ordering, purchasing, invoicing and payment transactions to occur
between businesses.

Site access statistics, customer demographics, sales trends etc.

Online shopping catalog control system.

Web based Personal Information Systems, One of the major


problems which lies ahead for the Web based Personal Databases is
the problem of security and privacy of Information being sent. If you
are sending information to a Web Database then please make sure
that it is a secured Database else if you are a Designer of the Web
Database then make sure that you have made a secure Web
Database. Please beware there are a huge lists of public
disclosures on the internet. For example, the persons not having
such permissions through the net may obtain details relating to a
group of faculty. The fast changing nature of the web and the ease
by which information can be accidentally left on an open web server
is a tremendous risk to a business organisation and its reputation.
Many services which are aimed at offering web disclosure analysis
services. These services try to break the security of your website to
ascertain the loopholes in security.

2.The Evolution of Database


From pre-stage flat-file system, to relational and object-relational systems,
database technology has gone through several generations and its history
that is spread over more than 40 years now.
The Evolution :
1968 File-Based: predecessor of database, Data was maintained in a flat
file.
Flat Files:
Earlier, punched cards technology was used to store data later, files. But
the files have no as such advantage, rather have several limitations.

Advantages
Limitations
Various access methods , e.g., Requires extensive
sequential, indexed, random
programming in thirdgeneration language such as

COBOL, BASIC.
Separation and isolation: Each
program maintains its own set
of data, users of one program
may not be aware of holding
or blocking by other programs
that are being used
somewhere else, by another
user.
Duplication of data same
data is held by different
programs, thus, wastes space
and resources.
High maintenance costs such
as ensuing data consistency
and controlling access
Sharing granularity is very
coarse.
Weak security.
Note: The distinction of storing data in files and databases is that
databases are intended to be used by multiple programs and types
of users.

[1968-1980] Era of Hierarchical Database: Prominent hierarchical


database model was IBMs first DBMS called IMS (Information
Management System).

Hierarchical Data Model:


Mid 1960s Rockwell collaborates with IBM to create the Information
Management System (IMS), IMS lead the mainframe database market in
70s and early 80s.
In this model, files are related in a parent/child manner, with each child file
having at most one parent file.

Advantages
Efficient searching.
Less redundant data.

Data independence.
Database security and
integrity.

Limitations
Complex implementation
Difficult to manage and lack of
standards, cant easily handle
many-many relationships.
Lacks structural independence.

Network Data Model:


Early 1960s, Charles Bachmann developed first DBMS at
Honeywell, Integrated Data Store (IDS)
It standardized in 1971 by the CODASYL group (Conference on Data
Systems Languages).
In Network data model, files are related as owners and members, similar to
the common network model except that each member file can have more
than one owner.
Network data model identified the following three database components:
1.
2.
3.

Network schemadatabase organization[structure]


Sub-schemaview s of database per user
Data management language at low level , procedural

Advantages
Ability to handle more
relationship types
Ease of data access

Limitations
System complexity and
difficult to design and
maintain
Lack of structural
independence as data
access method is
navigational.

Data Integrity
Data Independence

Prominent network database model was CODASYL DBTG model where


as IDMS was the most popular network DBMS.
Here, I am clearly mentioning one thing that the Hierarchical Model and the
Network Model were in use in almost the same era.
[1970-present] Era of Relational Database and Database
Management: The relational database model was conceived by E. F. Codd
in 1970. It can be defined using the following two terminologies:
1.

Instance a table with rows or columns.

2.

Schema specifies the structure (name of relation, name and type of


each column)
The model is based on branches of mathematics called set theory and
predicate logic.
Relational DBMS at a glance:

General Comparison:
Object Oriented Database Model:
It supports the modeling and creation of the data as objects.

Advantages
Can efficiently manage a large
number of different data types.
Objects with complex behaviors

Limitations
Switching an existing database to
OODBMS requires an entire
change from scratch.
An OODBMS is typically tied to a

are easy to handle using


inheritance and polymorphism
etc.
Reduces the large number of
relations by creating objects.

specific programming language


and an API; this reduces its
flexibility.
Ad-hoc queries are difficult to
implement as one cannot join
two classes as one can join two
tables in RDBMS. Therefore,
queries depend upon the design
of the system.
Creates problems when deleting
data in bulk.

Object Relational Database Model:


Object relational databases span the object and relational concepts.
Advantages
Large storage capacity

Limitations
The architecture of the object
relational model is not
appropriate for web applications.

High access speed


Lets take a fleeting look at the history.
1970: Ted Codd at IBMs San Jose Lab proposed relational models.
Two major projects start and both were operational in late 1970s
INGRES at University of California, Berkeley became commercial and
followed up POSTGRES which was incorporated into Informix.
System R at IBM san Jose Lab, later evolved into DB2, which became one of
the first DBMS product based on the relational model. (Oracle produced a
similar product just prior to DB2.)
1976: Peter Chen defined the Entity-relationship(ER) model
1980s: Maturation of the relational database technology, more relational
based DBMS were developed and SQL standard adopted by ISO and ANSI.
1985: Object-oriented DBMS (OODBMS) develops.

1990s: Incorporation of object-orientation in relational DBMSs, new


application areas, such as data warehousing and OLAP, web and Internet,
Interest in text and multimedia, enterprise resource planning (ERP) and
management resource planning (MRP)
1991: Microsoft ships access, a personal DBMS created as element of
Windows gradually supplanted all other personal DBMS products.
1995: First Internet database applications
1997: XML applied to database processing, which solves long-standing
database problems. Major vendors begin to integrate XML into DBMS
products.

3.Technology Involved
Web Database Technologies
Every major database vendor including several object-oriented database
vendors are working on integrating database management and the Web. In
fact, most database developers are trying to establish a mapping of an
ultimate relationship between the Web and corporate data. Such a situation
will allow you to take an HTML file, incorporate a JavaScript API in the sever
tag and embed SQL statements in the HTML file. That way you will be able
to extract data from a database or return it from a form, say, to the
database.
The industry's goal is to use the Web as a front-end for heavy-duty
transaction processing. Of course, a transaction processing system needs to
be fast, secure, and reliable. None of those are words that spring to mind
when discussing the Web today. Realizing the full potential of Web-based
transaction processing will require some major improvements in the Web
and in the way DBMSs work with it. While it is possible to conduct true
transaction processing over the Web today, the long-range goal of several
database vendors is to fully incorporate enterprise-class client/server
applications and mission-critical transaction capability in to the Web
browser.
One typical application of this technology may allow the potential customers
to download products. Customers may fill in a form with information about
them, and get access to downloadable software with no human intervention.
This information may directly be put in a database that may be a data
warehouse. The sales department can use this data warehouse to get the
desired sales reports generated. Thus, creating a seamless way of handling
data.
Such applications will change the total design outlook of the WebPages, as
this will allow dynamically changing database-oriented sites.
The ultimate vision for the Web and database is information anywhere, that
is, a system that can find information anywhere in the enterprise, in any
database in any format, put it into any desired form and return it to any user
across the Web.

What Do You Need from/for a Web Database?

Some of the important issues to consider before any deployment of Web


database can be made are:

Ease of deployment: The World Wide Web is a cheap and practical


alternative to traditional client/server-based deployment. In addition, it
also provides immediate cross-platform support on the client side.
However, whether proper tools are available for the large-scale database
project, which you are planning to deploy.

Ease of updates: Sending changes to HTML from a database is easier


than making many manual changes. Automating repetitive HTML tasks by
utilizing database technology helps in saving time and make site
management easier. For example, online results system through web will
keep student posted about the latest result position.

Server load: The requirements of a server to handle the increased load


of database access should be considered. You may also consider
requirements of memory, CPU speed, Internet connection speed, disk
subsystems, and other critical hardware factors. In case heavy database
traffic is expected, you may consider running the database application on
a separate machine. You may use existing database management tools
and performance management tools to help balance your server load.

Database scalability and reliability: Determine how much the


database is likely to grow. How will users use it? On average, how often will
it be hit? What is your Web site's overall growth estimate -- in both content
and readership?

Data security: This is one of the most important point to consider. You
may consider deploying firewalls or use other types of security
mechanism.

Getting the Data out of the Database and into HTML


In the Web world, there are database administrators and there are HTML
programmers. Most tools vendors understand that the two do not exactly
speak each other's language. So, you can find HTML and scripting tools that
make database access easy for Web programmers, and database tools that
make HTML easier for database administrators.

Tools for the Web database


There are many tools that make easy HTML oriented developments by
database system developers. Some of these are:

SQL Server 6.5


SQL Server 6.5 is having several tools to help the web database
developments. For example, with the SQL Server Web Assistant, an
individual familiar with SQL may simply write a query, schedule when that
query should be run, and enter some basic formatting information for the
HTML page to be generated. Web Assistant automatically creates the Web
page by inserting the query results into an HTML table. Web Assistant also
configures SQL Server to perform updates either by scheduling a task or
creating a trigger. This makes it very useful for retrieving data that changes
on a scheduled basis, such as daily sales figures.

ADC
Microsoft Active Database Connector (ADC) uses client-side ActiveX controls
to hook up to and manipulate ODBC data sources. It also helps keep traffic
off the server by utilizing client-side caching. ADC makes it easy for Visual

Basic developers to take traditional Visual Basic applications and move


them to HTML
Other types of tool are the database access tools for the Web
developers. Some of these tools are:

HTML Embedded-SQL Extensions


Many database systems provide a mechanism for embedding SQL
statements directly in HTML files passed to the Web client by the Web
server. When a user submits a query, the HTML file is passed to a CGI
program, which parses the SQL statements and passes these on to the
database system. Results of the SQL query are subsequently retrieved by
the CGI program, reformatted to HTML, and returned to the requesting
client. This mechanism is typical of many shareware databases and
gateways

'Code-less' Interfaces
Essentially, code -less types of access methods consist of software
toolsets (often Perl scripts) that work with developer-defined template
files. These template files specify various views into the database and
how extracted data should be manipulated and formatted when returned
to the requesting client. Programs within the software toolset use these
template files to automatically generate HTML forms. These forms, when
submitted by the user, are then processed by CGI programs, which query
the database and format the results in accordance with the predefined
templates.

Custom CGI Programs


Customized CGI programs are gateway programs that are specifically
written to accept and process Web client requests for a service provided by

the Web server. Typically these requests are submitted by users in the form
of inputs they have entered in an HTML form. CGI programs designed for
database access parse these user inputs, formulate queries based on the
inputs, connect to the database and submit the query, and accumulate
results. They can also manipulate these results or perform some other
specialized processing and dynamically create HTML documents, which are
subsequently sent back to the Web client.

ASP and ADO


Active Server Pages (ASP) is a server-side scripting language that is an
important part of Internet Information Server. It is flexible and powerful, and
includes sophisticated database access features.
Active Data Objects (ADO) is the key to data access using ASP. It allows
dynamic access to database information. ADO enables Web developers to
link a database to an "active" Web page to access and manipulate data.

Visual InterDev
Visual Interdev provides a visual interface to help you add database
features to a Web site, and it has great tools to help you manage data
access. It also will generate HTML and ASP server-side scripting. The tool
itself is tightly integrated with ASP, ADO, ODBC, VBScript, Jscript, Internet
Explorer, ActiveX, and Java.

ColdFusion
ColdFusion use Web server APIs (Application Programming Interfaces) to
interpret incoming requests for dynamic pages and query the database.

Issues of choosing technology for Web database systems


Before choosing a database technology, you will need a general idea
of application. Some of the questions, which may be asked, are:
Will it be a small list of company employees, accessed by a few dozen
users?
Will it store content and customer information for an enterprise-level ecommerce site?

How many simultaneous connections to the database do you


anticipate?
What are your security requirements?

Present database management systems come with a


variety of functionality.
Some of these features are:
Automatic Queries: Stored procedures are precompiled SQL
statements that run against the database. Because stored procedures are
precompiled and because they reside on the database server itself, they
execute much more quickly than standard SQL queries from a Web server. If
you are planning to execute a query a great number of times, this speed
difference becomes very important.

Transaction Locking: Transaction locking ensures that a series of


related database queries all execute successfully. If you have just received
an e-commerce order on your Web site, you will probably have to execute a
number of queries. You might store the customer's information in a
customer table, update your inventory table to reflect the sale, and add the
order and credit card number to an orders table. The vital statement here is
that transaction will fail in case any of its step fails

Security: Security is always a concern when the Internet is involved.


Most databases support some level of security, but features vary widely.
Some databases integrate with existing security systems in the operating
system on which the database runs. Others contain a security framework
within the database itself. The bottom line is that access to a Web-enabled
database must be made available only to those who need it. This restriction
is imperative for databases that contain sensitive data such as credit card
numbers. If your database runs on its own machine, separate from the Web
server, then you have an extra layer of security.

Database Size: Storage capacity is probably the most nebulous feature


simply because software makers often overstate a database's maximum
capacity. Pushing a database to its storage limits is a sure way to cause data
corruption. Even with this limitation in mind, most modern database
products can store huge amounts of information. The most robust databases

can store terabytes of data, so finding a database that can handle your
storage needs should not be difficult.

4.ARCHITECTURE
Web Application Servers

A new model for Web development has evolved to address the


development and deployment relating to increasingly complex sites. An
application server is a clear level of separation between the Web server and
data access layers. The application server model consists of at least three
back-end layers: the Web server layer, the application server layer, and the
data layer. In this model, most or all application logic exists in the middle
tier, with application servers handling all data manipulation and HTML pagecreation functions.

The application server approach offers a number of advantages, especially


for applications that are expected to grow in complexity of business logic or
in number of users. In particular, the application server approach offers the
following advantages:

Sophisticated application development environments.


Scalable deployment of applications to accommodate increasing
user demands over time.
Integration with legacy data sources

The Development Environment


Development in an application server environment is not like traditional CGI
scripting. Building large-scale Web applications typically involves two sets of
developers, first dealing with HTML coding and user interface issues, and
another handling the processing of business logic. HTML coders are free to
use their favorite Web authoring tools to design the pages, and Java or C++
programmers use the development tools provided with the application
server to create the application.

Application Architecture, Database Architecture


In the mainframe era, database applications were often under the
centralized control of multiple users of the mainframes. Operating-system
improvements and modular programming paved the way of implementation
of concepts such as dynamic linking and shared libraries. This trend of
distributing the logic of database applications is still continuing. In the
Client/server databases the client implements the presentation logic, but
they move rules and other business logic into the database for execution at
the server. Multi-tier architecture is an attempt to separate, with additional
tiers between the client and database server. The middle tiers include
application servers, Web servers, and transaction servers, as shown in the
following figure. This form of distributed computing permits developers to
distribute logic across multiple servers to prevent bottlenecks and provide
scalability.

Figure: 3 Tier Architecture


Distributed computing and multi-tier architectures are likely to become one
of the major models for intranet, extranet. One of the benefits, or perhaps
one of the drawbacks, of this new model is that application logic is
distributed across multiple computers, scripts, and the database. Web
developers unfamiliar with database technology may be unaware that SQL
servers provide the ability to store logic in the database and execute it at
the server. If you create Web pages that require persistent data, rules, and
other logic that cannot be implemented with HTML and scripts, you should
consider using a database. An SQL database can store logic and enforce
some of the rules about data.
Logic in the Database
The reason for building rules and logic in the database is uniformity across
applications. For example, suppose a company have an order-entry system
through a Web site having a shopping-cart application. The company's
business practices and rules for order processing should be consistent for all
classes of orders, whether they come from a regular mode or the Web site.
One rule might be to not extend credit limits to customers whose accounts

of past are for more than 3 months. If the original order-processing system
encapsulated that logic in a client-side Visual Basic program, it may not be
accessible to the HTML pages that implement the shopping cart. On the
other hand, if the logic resides in a database used by both the shopping-cart
pages and the order-entry system, the rule would be consistently applied.

5.Case Study:
Database-Driven Web Sites & Applications
The BC Forest Safety Council is an organization reliant on literally cutting
and pasting together custom reports on the safety records and activities of
BC's forest companies and workers. And with 3,900company records and
almost 9,000 worker records, that's a lot of cutting and pasting

Our job was to create a flexible, robust set of database-driven


applications that could help streamline and automate their record keeping
and management. In addition, we recommended they tie those applications
in to a new Drupal CMS Web site that we were building at the same time.
A CMS-based Web site making it easier for them to publish the stream
of forest safety alerts and statistics coming into them every day
while reducing their reliance on a single Webmaster and allowing each
business unit to keep its own information up to date
Registration tool for companies to become part of the mandatory SAFE
Companies program. Our application allows the Council to capture and
manage detailed information about each company, and provides a
seamless e-commerce interface that works with their Moneris account.
A similar registration and account process for individual workers who
sign up for mandatory and voluntary safety training courses.
These tools are scalable and extensible: auto-data insertion
technology, smart rendering and built-in paging support allow the
application to work effectively with huge datasets.
A training course management system that allows administrators to
easily create courses, assign instructors, and review and approve
course results.
A Safety Audit Review tool (currently being built) that will allow
multiple administrators to review each forest company's mandatory
safety audit. It saves all review scores, notes and recommendations,
andallows for editing by authorized personnel while safeguarding it
from everyone else.
Ultimately, the data generated by these and many other tools are saved
into a database, and this is where the real power comes for the BC Forest
Safety Council. The dynamic reporting grid we've built contains each field of
information from that, users can generate customized reports that help
them identify and analyze any kind of trend they wish. If they want to look
at all companies from Nelson with 12 employees who failed their first audit
but passed their second (oh, and who have an employee who took the
Occupational Health & Safety training course), that detailed report is theirs
in just a minute. Because of the complete filterability of every field and the
user's ability to eliminate unnecessary fields from a customized report, even
the most specific analysis can be undertaken.

6.Conclusion & Future Trends:


One of the major difficulties associated with IT systems in the health care
service sector over the years has been the ad hoc approach in which
systems were developed and implemented. By allowing different
departments and disciplines in the organisation to maintain their own files
independently, the traditional file environment created problems such as

data redundancy and inconsistency, programdata dependency, inflexibility,


poor security and lack of data-sharing and availability. This resulted in
inconsistent and inaccurate statistical reports as well as inflexible systems
that are unable to respond to the complexities of the environment in which
we now operate.
The adoption of an object-based database has allowed for an integrated
client centred system. This enables relevant disciplines across the services
to access and share relevant data of clients on an integrated and secure
basis.
This is in keeping with the objectives of the National Health Strategy which
states that our health services should be client centred. It also states that
client health information should be shared across all health service
departments as a means to creating a holistic service to customers.
One of the benefits of storing your data in a database is the ability to
upgrade. Since virtually all databases use SQL, it is not difficult to write a
query to extract all the data from one database and insert it into another.
Many databases even have built-in import and export features. If your
database gets past a limit of current system you may always move up to a
more robust solution.

Das könnte Ihnen auch gefallen