Title: Chapter 14 Databases and The Internet
1Chapter 14Databases and The Internet
Database Systems Design, Implementation, and
Management 4th Edition Peter Rob Carlos Coronel
2Internet Technologies and Databases
- To support the global business reach, IS
departments must ensure the integration of
databases and their components and universal
access to them from anywhere in the world. - Internet technologies provide unparalleled
advantages because the Internet is a global
network that provides universal access through an
interface known as a Web browser, which is easy
to use and runs on multiple platforms. - For IS departments, the new frontier is the use
of Internet technologies to facilitate database
access and to provide services to customers,
partners, employees, and the general public.
3Characteristics And Benefits Of Internet
Technologies
Table 14.1
4A Sample Of Applications That Use Internet
Technology
Table 14.2
5Table 14.3
6Basic Components Of The World Wide Web
Figure 14.1
7Intranets and Extranets
- Intranets
- An Intranet is a locally owned and operated
Internet whose access is carefully controlled.
Its objective is to enhance company operations
through improved data access management. - Intranets provide a platform for the development
of new systems in a timely and cost-effective
manner. - Intranets are relatively easy to set up and to
implement at the technical level. Once
implemented, intranet services tend to grow
exponentially. - Extranets
- If an intranet extends beyond a single corporate
entity, it is known as an extranet. - An extranet extends the intranets to the
corporations value chain.
8Intranet/Extranet Components
Figure 14.2
9Intranets and Extranets
- Intranet/Extranet Advantages
- Open standards
- Platform independence and portability
- Support for multiple data sources and types
- Process distribution and scalability
- Ease of use
- Shorter development times and reduced costs
- Development tools that are integrated through the
use of open standards - The universal client provides a common interface
to all services - Communications infrastructure
10Intranet Architecture
Common Intranet Services
- Web server
- Electronic mail
- Document search
- File Transfer Protocol (FTP)
- News or discussion groups
- Workflow and team collaboration
- Web-to-database services
- Transaction processing
- Directory, security, and authentication services
- Firewalls and proxy servers
- Load balancing and caching
- Web-to-host access
11A Multitier Intranet Architecture
Figure 14.3
12Intranet Architecture
- Server-Side Extensions Web-to-Database
Middleware - A server-side extension is a program that
interacts directly with the Web server to handle
specific types of requests. - A database server-side extension program is also
known as Web-to-database middleware.
13Figure 14.4 Web-To-Database Middleware
(ColdFusion)
14Intranet Architecture
- Web Server Interfaces
- Two Web well-defined server interfaces
- Common Gateway Interface (CGI)
- The CGI uses script files that perform specific
functions based on the clients parameters that
are passed to the Web servers. - The script file is a small program containing
commands written in some programming language
(e.g., PERL, C, or Visual Basic) - Application programming interfaces (APIs)
- APIs are a newer Web server interface standard
that is much more efficient and faster than CGI
scripts. - APIs are implemented as shared code or as
dynamic-link libraries (DLLs).
15The API And CGI Web Server Interfaces
Figure 14.5
16Intranet Architecture
- Open Database Connectivity (ODBC)
- ODBC is Microsofts implementation of a superset
of the SQL Access Group Call-Level-Interface
(CLI) standard for database access.
Figure 14.6
17(No Transcript)
18Intranet Architecture
- The Web Browser
- The Web browser is located in the client computer
and it is the end user interface to the Web. - The Web browsers job is to interpret the HTML
code that it receives from the Web server and to
present the different page components in a
standard way. - The browsers interpretation and presentation
capabilities are not sufficient to develop
Web-based applications, requiring plug-ins and
other client-side extensions.
19Intranet Architecture
- Client-Side Extensions
- Plug-ins
- A plug-in is an external application that is
automatically invoked by the browser when needed.
- The plug-in is OS specific.
- The plug-in is associated with a data object to
allow the Web server to properly handle data that
are not originally supported. - Java
- Java is an object-oriented programming language
developed by Sun Microsystems that run on top of
the Web browser software. - Java applications are compiled and stored in the
Web server. - Calls to Java routines are embedded inside the
HTML page.
20Intranet Architecture
- JavaScript
- JavaScript, developed by Netscape, is a scripting
language that allows Web authors to design
interactive sites. - JavaScript code is embedded in the Web pages.
- The embedded JavaScript is downloaded with the
Web page and is activated when a specific event
takes place. - Active X
- Active X is Microsofts alternative to Java. It
is a specification for writing programs that will
run inside the Microsoft client browser. - Active X extends the browser by adding controls
to Web pages. These controls can be downloaded
from the Web server and let the user manipulate
data inside the browser.
21Intranet Architecture
- VBScript
- VBScript is another Microsoft product that is
used to extend the browser's functionality. - VBScript is derived from Visual Basic.
- VBScript code is embedded inside an HTML page and
this code is activated by triggering events such
as clicking on a link.
22Using A Web-to-DB Production Tool ColdFusion
- ColdFusion application middleware can be used to
- Connect to and query a database from a Web page.
- Present database data in a Web page, using
various formats. - Create dynamic Web search pages.
- Create Web pages to insert, update, and delete
database data. - Define required and optional relationships.
- Define required and optional form fields.
- Enforce referential integrity in form fields.
- Use simple and nested queries and form select
fields to represent business rules.
23How ColdFusion Works
Figure 14.8
24The RobCor Databases Relational Schema
Figure 14.9
25Using A Web-to-DB Production Tool ColdFusion
- Creating a Simple Query with CFQuery and CFOutput
- Tasks
- Query the database, using standard SQL to
retrieve a data set that contains all records
found in the VENDOR table. - Format all of the records generated in Step 1 in
HTML to let them be included in the page that is
returned to the client browser. - See Script 14.1 for the script and Figure 14.10
for the output.
26Script 14.1 A Simple Query Using CFQUERY And
CFOUTPUT
27The CH14-1.CFM Script Output
Figure 14.10
28CFQUERY With Tabular CFOUTPUT
Script 14.2
29The CH14-2.CFM Script Output
Figure 14.11
30Using A Web-to-DB Production Tool ColdFusion
- Creating a Simple Query with CFQuery and CFTable
- Task
- Perform the same query with the result presented
in tabular format. - See Script 14-3 and Figure 14.12
31Script 14.3 CFQUERY With CFTABLE
32The CH14-3.CFM Script Output
Figure 14.12
33Using A Web-to-DB Production Tool ColdFusion
- Creating a Dynamic Search Page
- Two steps to create a dynamic query
- 1. Create a script that will generate a form
- 2. Create a script that will execute the query
and display the results based on the parameters
that are passed to it by the script created in
Step 1. - See Script 14.4A and Figure 14.13
34Script 14.4A Dynamic Search Query Criteria
Entry Form
35The CH14-4A.CFM Script Output
Figure 14.13
36Script 14.4B The Vendor Search Results
37The CH14-4B.CFM Script Output1OP4.062
Figure 14.14
38The Vendor List For the Condition VEN_STATE GA
Figure 14.15
39Using A Web-to-DB Production Tool ColdFusion
- The Web as a Stateless System
- The Web is said to be a stateless system because
the Web does not reserve memory to maintain an
open communications state between the client
and the server. - The browser does not have computational abilities
beyond formatting output text and accepting form
field inputs. - To perform processing (e.g., data entry) in the
client, the Web defers to other Web-programming
languages such as Java, JavaScript, VBScript, etc.
40Script 14.5A The Insert Query Data Entry Screen
41Figure 14.16 The CH14-5A.CFM Script Output
Figure 14.17 The Insert Query Form Server-Side
Validation Error Message
42The Insert Query Confirmation Screen
Script 14.5B
43The CH14-5B.CFM Script Output
Figure 14.18
44The Insert Query ODBC Integrity Violation Error
Figure 14.19
45Using A Web-to-DB Production Tool ColdFusion
- Data Updates
- Three pages required to update data
- The first page (Script 14-6a) will allow the end
user to select the record to be updated. When the
user clicks on the Edit button, the second page,
produced by Script 14-6b, is called and the first
pages search field value is passed to this
second page. - The second page (Figure 14-20) will read the
selected record, then display a data entry form
to enable the end user to modify the data. - The third page (Script 14-6c) will update the
data in the database and present a confirmation
message.
46Script 14.6A The Update Query Record
Selection Screen
47The CH14-6A.CFM Script Output
Figure 14.20
48Script 14.6B The Update Query Edit Record Screen
49The CH14-6B.CFM Script Output
Figure 14.21
50Update Query Result Confirmation Screen
Script 14.6C
51The CH14-6C.CFM Script Output
Figure 14.22
52Using A Web-to-DB Production Tool ColdFusion
- Deleting Data
- Three pages required to delete data
- The first page (Script 14-7a) will allow the end
user to select the record that is to be deleted.
When the user clicks the forms Delete button,
Script 14-7b is invoked, and the DEPT_ID form
field value is passed to it. - The second page (Script 14-7b) will read the
selected record and display its data on the
screen. - The third page (Script 14-7c) will delete the
department row from the database table, using the
DEPT_ID form field value passed from its calling
program.
53Script 14.7A Delete Query Record Selection
Screen
54The CH14-7A.CFM Script Output
Figure 14.23
55Script 14.7B Delete Query Show Record Screen
56The CH14-7B.CFM Script Output
Figure 14.24
57Delete Query Result Confirmation Screen
Script 14.7C
58The CH14-7C.CFM Script Output
Figure 14.25
59The Delete Record Validation
Figure 14.26
60Internet DB SystemsSpecial Considerations
- What Data Types Are Supported?
- How does one store and extract data objects such
as documents, pictures, and movies through a Web
browser? - How much overhead will be created by the storage
of binary objects in the database? How robust
must the DBMS be to handle binary object
transactions? What are the limitations for
extended or OLE data types? How many extended or
OLE data type fields can tables have? - Does the client browser support the data type of
the object you are trying to access? Are the
necessary plug-ins available? Is there a way to
automatically translate documents from their
native format to HTML? - Does the DBMS support Very Large Databases? What
about transaction speed? How many users are going
to access the database? How often?
61Internet DB SystemsSpecial Considerations
- Data Security
- Security can be implemented in the Web server,
the database and in the networking
infrastructure. - At the Web server level, most Web clients and
servers can perform secure transactions by using
encryption routines at the TCP/IP protocol level. - At the SQL level, administrators can use the
GRANT and REVOKE commands to assign access
restrictions to tables and/or to specific SQL
commands. - Web-to-database middleware vendors usually have
several security mechanisms available to
interface with databases.
62Internet DB SystemsSpecial Considerations
- Transaction Management
- The designers must ensure proper transaction
management support at the database server level
since the Web does not support the concept of
database transaction - The Web cannot maintain an open line between the
client and the database server. - The mechanics of a recovery from incomplete or
corrupted database transactions require that the
client must maintain an open communications line
with the database server.
63Internet DB SystemsSpecial Considerations
- Denormalization of Database Tables
- The Web environment does not support multitable
(parent-child) data entry. - Although implementing the parent/child data entry
is not impossible in a Web environment, its final
outcome is less than optimum, counterintuitive,
less user-friendly, and prone to errors. - Web programming languages such as Java,
JavaScript, or VBScript can be used to create the
required Web interfaces.