1
Chapter 29
Web Technology and DBMSs
Transparencies
2
Chapter 28
-
Objectives
•
Basics of Internet, Web, HTTP, HTML,
URLs.
•
Difference between two
-
tier and three
-
tier client
-
server architecture.
•
Advantages and disadvantages of Web
as a database platform.
•
Approaches for integrating databases
into Web:
–
Scripting Languages
–
Common Gateway Interface (CGI)
–
HTTP Cookies
3
Chapter 28
-
Objectives
–
Extending the Web Server
–
Java and JDBC, SQLJ, Servlets, and JSP
–
Microsoft Web Solution Platform: ASP and
ADO
–
Oracle Internet Platform.
4
Introduction
•
Web
:
the
most
popular
and
powerful
networked
information
system
to
date
.
•
As
architecture
of
Web
was
designed
to
be
platform
-
independent,
can
significantly
lower
deployment
and
training
costs
.
•
Organizations
using
Web
as
strategic
platform
for
innovative
business
solutions,
in
effect
becoming
Web
-
centric
.
5
Introduction
•
Many
Web
sites
today
are
file
-
based
where
each
Web
document
is
stored
in
separate
file
.
•
For
large
sites,
this
can
lead
to
significant
management
problems
.
•
Also many Web sites now contain more
dynamic information, such as product and
pricing data.
•
Maintaining such data in both a database
and in separate HTML files is problematic.
•
Accessing database directly from Web
would be a better approach.
6
Internet
Worldwide
collection
of
interconnected
networks
.
•
Began
in
late
‘
60
s
in
ARPANET,
a
US
DOD
project,
investigating
how
to
build
networks
that
could
withstand
partial
outages
.
•
Starting
with
a
few
nodes,
Internet
estimated
to
have
over
100
million
users
in
1997
,
and
over
390
million
users
in
over
100
countries
in
2001
.
•
May
be
640
million
users
of
Web
by
year
2003
.
•
About
2
.
5
billion
documents
on
Internet
(
550
billion
if
intranets/extranets
included)
.
7
Intranet and Extranet
•
Intranet
-
Web site or group of sites
belonging to an organization,
accessible only by members of that
organization.
•
Extranet
-
An
intranet
that
is
partially
accessible
to
authorized
outsiders
.
•
Whereas
intranet
resides
behind
firewall
and
is
accessible
only
to
people
who
are
members
of
same
organization,
extranet
provides
various
levels
of
accessibility
to
outsiders
.
8
eCommerce and eBusiness
•
eCommerce
-
Customers can place and pay
for orders via the business’s Web site.
•
eBusiness
-
Complete
integration
of
Internet
technology
into
economic
infrastructure
of
the
business
.
•
Business
-
to
-
business
transactions
may
reach
$
1
.
3
trillion
by
2003
.
•
eCommerce
may
account
for
$
3
.
2
trillion
in
worldwide
corporate
revenue
by
2003
and
could
represent
5
%
of
sales
in
the
global
economy
.
9
The Web
Hypermedia
-
based
system
that
provides
a
simple
‘point
and
click’
means
of
browsing
information
on
the
Internet
using
hyperlinks
.
•
Information
presented
on
Web
pages,
which
can
contain
text,
graphics,
pictures,
sound,
and
video
.
•
Can
also
contain
hyperlinks
to
other
Web
pages,
which
allow
users
to
navigate
in
a
non
-
sequential
way
through
information
.
•
Web documents written using HTML.
10
The
Web
•
Web
consists
of
network
of
computers
that
can
act
in
two
roles
:
–
as
servers
,
providing
information
;
–
as
clients
(browsers)
,
requesting
information
.
•
Protocol that governs exchange of
information between Web server and
browser is HTTP and locations within
documents identified as a URL.
•
Much of Web’s success is due to its
simplicity and platform
-
independence.
11
Basic Components of Web
Environment
12
HyperText Transfer Protocol
(HTTP)
Protocol
used
to
transfer
Web
pages
through
Internet
.
•
Based
on
request
-
response
paradigm
:
•
Connection
-
Client
establishes
connection
with
Web
server
.
Request
-
Client
sends
request
to
Web
server
.
Response
-
Web
server
sends
response
(HTML
document)
to
client
.
Close
-
Connection
closed
by
Web
server
.
13
HyperText
Transfer
Protocol
(HTTP)
•
HTTP/
1
.
0
is
stateless
protocol
-
each
connection
is
closed
once
server
provides
response
.
•
This
makes
it
difficult
to
support
concept
of
a
session
that
is
essential
to
basic
DBMS
transactions
.
14
HyperText Markup Language
(HTML)
Document
formatting
language
used
to
design
most
Web
pages
.
•
A
simple,
yet
powerful,
platform
-
independent
document
language
.
•
HTML is an application of Standardized
Generalized Markup Language (SGML),
a system for defining structured
document types and markup
languages to represent instances of
those document types.
15
HyperText Markup Language
(HTML)
16
HyperText Markup Language
(HTML)
17
Uniform Resource Locators
(URLs)
String
of
alphanumeric
characters
that
represents
location
or
address
of
a
resource
on
Internet
and
how
that
resource
should
be
accessed
.
•
Defines
uniquely
where
documents
(resources)
can
be
found
.
•
Uniform
Resource
Identifiers
(URIs)
-
generic
set
of
all
Internet
resource
names/addresses
.
•
Uniform
Resource
Names
(URNs)
-
persistent,
location
-
independent
name
.
Relies
on
name
lookup
services
.
18
Uniform
Resource
Locators
(URLs)
•
URL
consists
of
three
basic
parts
:
–
protocol
used
for
the
connection,
–
host
name,
–
path
name
on
host
where
resource
stored
.
•
Can
optionally
specify
:
–
port
through
which
connection
to
host
should
be
made,
–
query
string
.
http
:
//www
.
w
3
.
org/Markup/MarkUp
.
html
19
Static and Dynamic Web Pages
•
HTML
document
stored
in
file
is
static
Web
page
.
•
Content
of
dynamic
Web
page
is
generated
each
time
it
is
accessed
.
•
Thus,
dynamic
Web
page
can
:
–
respond
to
user
input
from
browser
;
–
be
customized
by
and
for
each
user
.
•
Requires hypertext to be generated by
servers.
•
Need scripts that perform conversions
from different data formats into HTML ‘
on
-
the
-
fly’
.
20
Requirements for Web
-
DBMS
Integration
•
Ability to access valuable corporate data in
a secure manner.
•
Data
-
and vendor
-
independent connectivity
to allow freedom of choice in DBMS
selection.
•
Ability to interface to database independent
of any proprietary browser or Web server.
•
Connectivity solution that takes advantage
of all the features of an organization’s
DBMS.
21
Requirements for Web
-
DBMS
Integration
•
Open architecture to allow interoperability with
a variety of systems and technologies. For
example:
–
different Web servers;
–
Microsoft's (Distributed) Common Object
Model (DCOM/COM);
–
CORBA/IIOP (Internet Inter
-
ORB protocol);
–
Java/Remote Method Invocation (RMI).
•
Cost
-
effective solution that allows for
scalability, growth, and changes in strategic
directions, and helps reduce applications
development costs.
22
Requirements for Web
-
DBMS
Integration
•
Support for transactions that span
multiple HTTP requests.
•
Support for session
-
and application
-
based authentication.
•
Acceptable performance.
•
Minimal administration overhead.
•
Set of high
-
level productivity tools to
allow applications to be developed,
maintained, and deployed with relative
ease and speed.
23
Two
-
Tier Client
-
Server
Architecture
24
Three
-
Tier Client
-
Server
Architecture
•
Client
side
presented
two
problems
preventing
true
scalability
:
–
‘Fat’
client,
requiring
considerable
resources
on
client’s
computer
to
run
effectively
.
–
Significant
client
side
administration
overhead
.
•
By 1995, three layers proposed, each
potentially running on a different
platform.
25
Three
-
Tier Client
-
Server
Architecture
•
Advantages
:
–
‘Thin’
client,
requiring
less
expensive
hardware
.
–
Application
maintenance
centralized
.
–
Easier
to
modify
or
replace
one
tier
without
affecting
others
.
–
Separating
business
logic
from
database
functions
makes
it
easier
to
implement
load
balancing
.
–
Maps
quite
naturally
to
Web
environment
.
26
Three
-
Tier Client
-
Server
Architecture
27
Advantages of Web
-
DBMS
Approach
•
DBMS
advantages
•
Simplicity
•
Platform independence
•
Graphical User Interface
•
Standardization
•
Cross
-
platform support
•
Transparent network access
•
Scalable deployment
•
Innovation
28
Disadvantages of Web
-
DBMS
Approach
•
Reliability
•
Security
•
Cost
•
Scalability
•
Limited functionality of HTML
•
Statelessness
•
Bandwidth
•
Performance
•
Immaturity of development tools
29
Approaches to Integrating Web
and DBMSs
•
Scripting Languages.
•
Common Gateway Interface (CGI).
•
HTTP Cookies.
•
Extending the Web Server.
•
Java, JDBC, SQLJ, Servlets, and JSP.
•
Microsoft Web Solution Platform: ASP
and ADO.
•
Oracle Internet Platform.
30
Scripting Languages
(JavaScript and VBScript)
•
Scripting
languages
can
be
used
to
extend
browser
and
Web
server
with
database
functionality
.
•
As
script
code
is
embedded
in
HTML,
it
is
downloaded
every
time
page
is
accessed
.
•
Updating
browser
is
simply
a
matter
of
changing
Web
document
on
server
.
•
Some
popular
scripting
languages
are
:
JavaScript,
VBScript,
Perl,
and
PHP
.
•
They
are
interpreted
languages,
not
compiled,
making
it
easy
to
create
small
applications
.
31
Common Gateway Interface
(CGI)
Specification
for
transferring
information
between
a
Web
server
and
a
CGI
program
.
•
Server
only
intelligent
enough
to
send
documents
and
to
tell
browser
what
kind
of
document
it
is
.
•
But
server
also
knows
how
to
launch
other
programs
.
•
When
server
sees
that
URL
points
to
a
program
(script),
it
executes
script
and
sends
back
script’s
output
to
browser
as
if
it
were
a
file
.
32
CGI
-
Environment
33
CGI
-
Passing Parameters on
Command Line
34
CGI
-
Advantages
•
CGI
is
the
de
facto
standard
for
interfacing
Web
servers
with
external
applications
.
•
Possibly
most
commonly
used
method
for
interfacing
Web
applications
to
data
sources
.
•
Advantages
:
–
simplicity,
–
language
independence,
–
Web
server
independence,
–
wide
acceptance
.
35
CGI
-
Disadvantages
•
Communication
between
client
and
database
server
must
always
go
through
Web
server
.
•
Lack
of
efficiency
and
transaction
support,
and
difficulty
validating
user
input
inherited
from
statelessness
of
HTTP
protocol
.
•
HTTP
never
intended
for
long
exchanges
or
interactivity
.
•
Server
has
to
generate
a
new
process
or
thread
for
each
CGI
script
.
•
Security.
36
HTTP Cookies
•
Cookies
can
make
CGI
scripts
more
interactive
.
•
Cookies
are
small
text
files
stored
on
Web
client
.
•
CGI
script
creates
cookie
and
has
Web
server
send
it
to
client’s
browser
to
store
on
hard
disk
.
•
Later,
when
client
revisits
Web
site
and
uses
a
CGI
script
that
requests
this
cookie,
client’s
browser
sends
information
stored
in
the
cookie
.
•
Cookies
can
be
used
to
store
registration
information
or
preferences
(e
.
g
.
for
virtual
shopping
cart)
.
•
However,
not
all
browsers
support
cookies
.
37
Server
-
Side JavaScript for
Database Access
38
Java
•
Proprietary
language
developed
by
Sun
.
•
Originally
intended
to
support
environment
of
networked
machines
and
embedded
systems
.
•
Now,
Java
is
rapidly
becoming
de
facto
language
for
Web
computing
.
•
Interesting
because
of
its
potential
for
building
Web
applications
(
applets)
and
server
applications
(
servlets
)
.
39
Java
‘A
simple,
object
-
oriented,
distributed,
interpreted,
robust,
secure,
architecture
neutral,
portable,
high
-
performance,
multi
-
threaded
and
dynamic
language’
.
•
Has
a
machine
-
independent
target
architecture,
the
Java
Virtual
Machine
(JVM)
.
•
Since
almost
every
Web
browser
vendor
has
already
licensed
Java
and
implemented
an
embedded
JVM,
Java
applications
can
currently
be
deployed
on
most
end
-
user
platforms
.
40
import java.sql.*;
import java.io.*;
import java.util.*;
public class Total1 {
public static void main (String[] arg)
{
try {
Class.forName ("oracle.jdbc.driver.OracleDriver");
}
catch (Exception e) {
System.out.println("Could not load driver");
}
41
// Connect to the database
try {
Connection
conn=DriverManager.getConnection("jdbc:oracle:thin:@orion.t
owson.edu:1521:cosc", “user_name",“password");
Statement stmt = conn.createStatement ();
ResultSet rset=null;
try {
rset= stmt.executeQuery("SELECT * from department");
ResultSetMetaData rsmd=rset.getMetaData();
while (rset.next())
{ System.out.println(" " + rset.getString(1) + " " +
rset.getString(2) +
" " + rset.getString(3) +" ");
}
}
42
catch (SQLException e){
System.out.println("writetolog:
error in SQL "+e+"<br>");
}
}
catch (SQLException e) {
System.out.println("Something
wrong " + e.toString());
}
}
}
43
Java
44
Java
2
Platform
•
In
mid
-
1999
,
Sun
announced
it
would
pursue
a
distinct
and
integrated
Java
enterprise
platform
:
–
J
2
ME
:
aimed
at
embedded
and
consumer
-
electronics
platforms
.
–
J
2
SE
:
aimed
at
typical
desktop
and
workstation
environments
.
Essentially
equivalent
to
JDK
1
.
2
.
–
J
2
EE
:
aimed
at
robust,
scalable,
multiuser,
and
secure
enterprise
applications
.
•
J
2
EE
was
designed
to
simplify
complex
problems
with
development,
deployment,
and
management
of
multitier
enterprise
applications
.
45
Java
2
Platform
•
Cornerstone
of
J
2
EE
is
Enterprise
JavaBeans
(EJB),
a
standard
for
building
server
-
side
components
in
Java
.
•
Two
types
of
EJB
components
:
–
EJB
Session
Beans
,
components
implementing
business
logic,
business
rules,
and
workflow
.
–
EJB
Entity
Beans
,
components
encapsulating
some
data
contained
by
the
enterprise
.
Entity
Beans
are
persistent
.
•
From
database
perspective,
interested
in
two
J
2
EE
components
:
JDBC
and
JSP
.
46
Java
2
Platform
47
JDBC
•
Modeled
after
ODBC,
JDBC
API
supports
basic
SQL
functionality
.
•
With
JDBC,
Java
can
be
used
as
host
language
for
writing
database
applications
.
•
On
top
of
JDBC,
higher
-
level
APIs
can
be
built
.
•
Currently,
two
types
of
higher
-
level
APIs
:
–
An
embedded
SQL
for
Java
(e
.
g
.
SQLJ)
.
–
A
direct
mapping
of
relational
database
tables
to
Java
classes
(e
.
g
.
Java
Blend
from
Sun)
.
48
JDBC
-
Advantages/Disadvantages
•
Advantage
of
using
ODBC
drivers
is
that
they
are
a
de
facto
standard
for
PC
database
access,
and
are
available
for
many
DBMSs,
for
very
low
price
.
•
Disadvantages
with
this
approach
:
–
Non
-
pure
JDBC
driver
will
not
necessarily
work
with
a
Web
browser
.
–
Currently
downloaded
applet
can
connect
only
to
database
located
on
host
machine
.
–
Deployment
costs
increase
.
49
Java Servlets
•
Servlets
are programs that run on
Java
-
enabled Web server and build
Web pages, analogous to CGI.
•
Have a number of advantages over
CGI:
–
improved performance;
–
portability;
–
extensibility;
–
simpler session management;
–
improved security and reliability.
50
Java Server Pages (JSP)
•
JSP is
a Java
-
based server
-
side scripting
language that allows static HTML to be
mixed with dynamically
-
generated HTML.
•
Behind scenes, JSP is compiled into Java
servlet and processed by a Java
-
enabled
Web server (JSP works with most Web
servers).
•
Since servlet is compiled, performance is
improved.
51
Microsoft Web Solution
Platform
•
Microsoft Web Solution Platform, a
precursor to .NET, has been created
for building and deploying
interoperable Web solutions.
•
Contains various tools, services, and
technologies, such as:
–
Windows 2000,
–
Exchange Server,
–
Visual Studio,
–
HTML/XML,
–
scripting languages,
–
components (Java, ActiveX).
52
Object Linking and Embedding
for DataBases (OLE DB)
•
Microsoft
has
defined
set
of
data
objects,
collectively
known
as
OLE
DB
.
•
Allows
OLE
-
oriented
applications
to
share
and
manipulate
sets
of
data
as
objects
.
•
OLE
DB
is
an
object
-
oriented
specification
based
on
C++
API
.
•
Components
can
be
treated
as
data
consumers
and
data
providers
.
Consumers
take
data
from
OLE
DB
interfaces
and
providers
expose
OLE
DB
interfaces
.
53
OLE DB Architecture
54
Active Server Pages (ASP)
•
ASP
is
programming
model
that
allows
dynamic,
interactive
Web
pages
to
be
created
on
server
.
•
ASP
provides
flexibility
of
CGI,
without
performance
overhead
discussed
previously
.
•
ASP
runs
in
-
process
with
the
server,
and
is
optimized
to
handle
large
volume
of
users
.
•
When
an
‘
.
asp’
file
is
requested,
Web
server
calls
ASP,
which
reads
requested
file,
executes
any
commands,
and
sends
generated
HTML
page
back
to
browser
.
•
http
:
//triton
.
towson
.
edu/~cscfr/htmlPage/
55
Active Server Pages (ASP)
56
Comparison of ASP and JSP
•
Both designed to enable developers to
separate page design from
programming logic through use of
callable components.
•
Differences
:
–
JSP
is
essentially
platform
and
server
independent
whereas
ASP
primarily
restricted
to
MS
Windows
-
based
platforms
.
–
JSP
perhaps
more
extensible
as
JSP
developers
can
extend
the
JSP
tags
available
.
–
JSP
components
are
reusable
across
platforms
.
–
JSP
benefits
from
in
-
built
Java
security
model
.
57
Oracle Internet Platform
•
Comprises Oracle Internet
Application Server (
i
AS) and Oracle
DBMS.
•
It is
n
-
tier architecture based on
industry standards such as:
–
HTTP and HTML/XML for Web enablement.
–
OMG’s CORBA technology.
–
IIOP for object interoperability and RMI.
–
Java, EJB, JDBC, and SQLJ for database
connectivity, Java servlets, and JSP.
58
Oracle Internet Platform
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο