Lecture 7- Web Database Connections

advertisement
Web Database Processing
1
Web Database Applications



Static Report Publishing
a report is prepared from a database
application and exported to HTML
DB Query Publishing
an HTML form is used to submit a query
and the server responds with query results
Application Publishing
Support transaction logic, provide
concurrency control over database changes
etc.
Page 277
Query Example
Transaction Example
ABC web connection tutorial
http://buscom.mcmaster.ca/users/yuanyu
f/Tutorial_asp/homepage.html
For students using facbusad1:
http:/facbusad1.mcmaster.ca/users/ap1/y
uanyuf/Tutorial_asp/homepage.html
Three-Tier Architecture
Page 279
Figure 11-6
© 2000 Prentice Hall
Functions of Tiers
Page 280
Figure 11-7
© 2000 Prentice Hall
Browser




Connect to Web servers through URL
Request and display web pages
Submit data through forms
Perform client site process
Web Server functions



Maintaining session states
Maintaining Server Side Scripting
Environment
Publishing Web pages
Maintaining Session States




HTTP is a stateless protocol
When database is used for transaction process,
the Web server needs to maintain the identity of
the client
http://aserver/anapplication/default.asp
ASP creates two objects:



Application object references an application
Session object references a client
The properties of application and session objects
can be referenced by script in ASP page
Maintaining Server Side
Scripting Environment







Communication with DB server
Data caching
Constraint enforcement
View construction (XML or other)
Security and control
Application logic
View materialization
Web hosting
Web browser vs. web server


Personal web server allows other
people view your web page if your
computer is connected to internet
with an IP number.
You can copy any web page to your
hard disk and view it using web
browser without the need of local
web server
ODBC


Open Database Connectivity
DBMS-independent means for
processing relational database data
ORACLE
 SYBASE
 INFORMIX
 Microsoft SQL server
 IBM DB2
Page 342

Role of ODBC Standard
Page 340
Figure 13-2
© 2000 Prentice Hall
ODBC Terminology



Data source: the database, its
associated DBMS, operating system,
and network platform
Driver manager: intermediary between
the application and DBMS drivers
Driver: processes ODBC requests and
submits SQL statements to a data
source
Page 343
ODBC Architecture
Page 343
Figure 13-5
© 2000 Prentice Hall
Conformance Levels

ODBC conformance level
concerned through driver’s application
program interface (API)


Core, level 1, level 2
SQL conformance level



Page 344
Minimum SQL Grammar
Core SQL Grammar
Extended SQL Grammar
ODBC Data Source Name




A data source is a ODBC data structure that
identifies a database and the DBMS that
processes it.
File data source: a file shared among
database users
System data source: local to a single
computer
User data source: only available to the user
who created it
Page 346
Role of OLE DB
Page 341
Figure 13-3
© 2000 Prentice Hall
OLE DB




Object Linking and Embedding Database;
OLE DB breaks the features and functions of
a DBMS up into objects
Provides an object-oriented interface to data
of almost any type and used as an interface
to ODBC and non-relational data
With OLE DB, a DBMS vendor can implement
portions of their product
Page 348
Object Terminology
Abstraction: a generalization of something,
e.g. rowset is abstraction of recordset
 Method: actions that an object can perform,
e.g. Open, MoveFirst, Move Next, Close
 Property: a characteristic of an object, e.g.
AllowEdit, RecordsetType of a recordset
 Collection: object that contains a group of
other objects, e.g. a recordset is a collection
of field objects
 Recordset.Fields.Count is a number of fields
Page 348
of a recordset

ADO


Active Data Objects;
an interface that enables programmers
in almost any language (including
scripting) to access OLE DB
functionality
Page 351
Role of ADO
Page 342
Figure 13-4
© 2000 Prentice Hall
ADO Object Model
Page 352
Figure 13-14
© 2000 Prentice Hall
ADO Object Model





Connection object
RecordSet object
Fields Collection
Errors Collection
Command object
Web-to-Database Connection
with Active Server Pages (ASP)





A scripting environment that you can use to
create and run dynamic, interactive Web
server applications
The Web Server find the file and then
processes all the ASP code between <% ...
%> before handing back the page.
Allows for easy querying and updating of a
database from a Web page
http://www.learnasp.com
http://www.asp101.com/samples/index.asp
A Simple Example of ASP
<html><head>
<TITLE>hi.asp</TITLE>
</head>
<body bgcolor="#FFFFFF">
Today is <%=now%> and all is well<br>
<%if hour(now())<12 THEN%>
Good Morning
<%ELSE%>
Good Day!
<%END IF%>
</body></html>
Use ASP to access database





Create a data base on the server
Create DSN (Data Source Name) using ODBC
(Open Data Base Connectivity)
In a HTML form, use action to invoke an ASP
page
In ASP page, connect to the database
through DSN, using the values from the form
to make a SQL query
Execute SQL and generate a result HTML
page
http://www.asp101.com/samples/index.asp
http://www.asp101.com/samples/index.asp
WYSIWYG Web Database Tool
http://builder.cnet.com/webbuilding/pages/Authoring/WebDB/?tag=st.bl.3880.pro_h.bl_WebDB


The shift from code-based
approach to tools with graphical
interfaces.
All of the top-end WYSIWYG
HTML editors have added
database connectivity to some
degree.
Macromedia Dreamweaver MX


a professional HTML editor for designing,
coding, and developing websites, web
pages, and web applications.
Dreamweaver helps you to build dynamic
database-backed web applications using
server languages such as ASP, ASP.NET,
ColdFusion Markup Language (CFML), JSP,
and PHP.
ASP vs. PHP


ASP (Active Sever Pages) is a Microsoft
product, and is usually used in conjunction
with the IIS (Internet Information Server)
that runs on Microsoft services. Uses
Microsoft Visual Basic.
PHP (Hypertext Pre Processor) is a open
source program that runs on UNIX and
Linux servers. Uses C++ and MySQL (free)
Download