Database Systems - Hiram College

righteousgaggleData Management

Jan 31, 2013 (4 years and 8 months ago)

140 views

Web Technology and DBMS’s

(CB 29)

CPSC 356 Database Design

Ellen Walker

Hiram College

(Includes figures from
Database Systems
by Connolly & Begg, © Addison Wesley 2005)

What is the Internet?


Interconnected Networks


Interoperable via standards (TCP, IP)


History


ARPANet (late 60’s, early 70’s)
-

military


NSF took over, provided funding (1986)


Commercial backbones (1996
-

present)

Internet vs. Intranet


Internet


Global, open, public


Called “extranet” to distinguish from Intranet


Intranet


Private network for exclusive use of an
organization


Behind a firewall


Typically, limited interaction

Internet Evolution of a
Business (Cisco)


E
-
mail


Web site


E
-
Commerce


Customers can place and pay for orders via web


E
-
Business


Complete integration of Internet technology into
business’s infrastructure


Ecosystem


Entire business process automated
-

customers,
suppliers, alliance partners, corporate
infrastructure merged into seamless system

Web vs. Internet


Internet provides infrastructure of
information transmission across the
network


Web contains interlinked information
(web pages)


Servers: contain pages and transmit on
request


Clients (browsers): request and display
pages to users

Languages of the Web


HTTP
-

protocol for sending / receiving web
pages. Includes GET vs. POST


HTML
-

basic markup language (represents
complex pages as text). Includes mechanism
(href) to reference other pages.


XML
-

extended markup language
-

generalization of HTML to represent more
complex document information


(etc)
--

this is not a complete list!

Limitations of HTTP


Each transaction consists of a single
request for data and a single response.


GET = request data


POST = response (or data from form)


Protocol is “stateless”
-

does not retain
information beteween transactions


Workarounds: cookies or hidden text

Static vs. Dynamic Web Page


Static web page


Contents of page stored in a file, served as
originally written


Dynamic web page


Generated as needed


Only instructions for generating the page
are stored (e.g. php query/display based
on argument)

Dynamic Web Pages


Input provided as parameters or from
forms in the page


Data generated from queries


Pages written in a “scripting language”
(PHP is one example)

Requirements for Web
-
DBMS
Integration


Ability to maintain data security


Not tied to a single DBMS


Not tied to a single browser


Availability of all features of DBMS


Open
-
architecture approach, supporting
multiple servers, standard interoperability
languages (e.g. DCOM, CORBA, XML,
SOAP)


Advantages of Web Approach


Simplicity


Platform independence


Graphical User Interface


Standardization


Transparent network access


Simplified deployment


Global access

Disadvantages



(lack of) Reliability


(lack of) Security


Cost (!)


Heavy (unpredictable) loads


HTML limitations


Bandwidth & Performance limitations


Immaturity of platform & tools

Tools to Integrate the Web


Scripting Languages


Client
-
side or Server
-
side


Common Gateway Interface (CGI)


Server
-
side


Web server extensions


Java, J2EE, SQLJ, etc.


Microsoft .Net


Oracle’s Internet platform

Scripting languages


Programs embedded in HTML files on
server


Behavior of
all
clients changed by
changing script on server


Scripts are generally interpreted, not
compiled

JavaScript


Server
-
side or Client
-
side (client
-
side
more common)


Allows immediate reaction to user
interface widgets


Object
-
based (Document Object Model)


Limited relative to Java


(VBScript : Visual Basic = JavaScript :
Java)

Perl, PHP


Server side languages


Heavy Unix flavor (e.g. use of regular
expressions)


PHP preferred for Linux


Integrates with Apache HTTP Server


Works well with MySQL or PostgreSQL

Common Gateway Interface
(CGI)


Defines how scripts communicate with web
servers


Uses Environment variables, standard I/O on
server side


Uses HTML Forms on client side (original impetus
for forms)


Nearly any programming language can run
on server (std. output returned to browser)


Server runs script based on filename (x.cgi,
x.php, etc)
-

this is configurable



CGI Environment

Advantages of CGI


Standardized interface


Programming
-
language independent


Web
-
server independence


Simplicity


Wide acceptance

Disadvantages of CGI


Web server can be bottleneck


Problems from HTTP Statelessness


No validation of user input (must go “back” to
repopulate form)


No transactions (must connect to database on
every page)


Security risks


Scripts with greater privileges than server


Risk of unanticipated (or malicious) user input


HTTP Cookies


Stored by browser in a file on client


Cookies set / retrieved by HTTP request


Issues:


Not supported by all browsers


For privacy reasons, users disable cookies

Non
-
CGI Gateways


API Extensions to server (NSAPI,
ISAPI)


Scripts loaded as part of server


Direct interaction with back end


One copy per server, not per request


Changes server executable (risk?)


Requires specialized programmers

Vendor Specific Scripting


Developed by vendors as server add
-
ons


JSP
-

Java Server pages (Sun)


ASP
-

Active Server pages (Microsoft)


Flexibility of CGI, without performance
overhead and I/O limitations


Better integration with vendor’s other web
solutions


Some compatibility limitations


Sun’s Java Platform


Java language: “write once run
anywhere”


Assorted “editions”


ME (embedded)


SE (standard)
-

for desktop & workstation


EE (enterprise)
-

for multi
-
tier, robust,
multiuser applications

Java 2 Platform (1999)

Microsoft .NET Platform


Integrated across servers, OS, applications,
programming language environments


OLE
-

Object Linking and Embedding


Shared objects that provide specific functionality
(e.g. sound clip)


[D]COM([Distributed] Component Object
Model)


Connects client application and object (binary
-
compatible components)

MS OLE
-

DB

.NET Framework

Oracle’s Approach


Aimed at distributed environments


N
-
tier architecture, based on industry
standards


Designed for e
-
business


Components include:


TopLink (relate Java objects to relational
databases)


Portal (entry point for web access)


Business Intelligence (Reports, Discoverer, etc)

Oracle Internet Platform