Web to Database Connectivity Tools
-
Upload
marshall-giles -
Category
Documents
-
view
27 -
download
0
description
Transcript of Web to Database Connectivity Tools
![Page 1: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/1.jpg)
Web to Database Web to Database Connectivity ToolsConnectivity Tools
Frank CervoneAssistant Director for Systems
DePaul University Libraries
Access ‘98
October 3, 1998
![Page 2: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/2.jpg)
IntroductionIntroduction
• Databases
• Database APIs
• Programming Languages
• Access Models
![Page 3: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/3.jpg)
DatabasesDatabases
• Flat files
• Relational databases
• Object-oriented databases
![Page 4: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/4.jpg)
Flat FilesFlat Files
• Simple implementation– regular text– basic encoding– word, excel files
![Page 5: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/5.jpg)
dbm Filesdbm Files
• UNIX/gnu
• library of routines that manage data files containing key/data pairs
• read, write, delete by key
• nonsorted traversal of all keys
![Page 6: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/6.jpg)
dbm File Exampledbm File Example
SID CID LastName
FirstName
Description
00001ZX Able John01294SA PSY101 Jones Mary Intro to
Psychology01294SA CSC329 Jones Mari Database Design12309DE PSY101 Public John
There is no inherent mechanism for ensuring data consistency
![Page 7: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/7.jpg)
Relational DatabasesRelational Databases
• Most common data management scheme
• Data is organized into two-dimensional tables of rows and columns– Data is decomposed to its simplest form– Normalization reduces data inconsistency– Referential integrity
![Page 8: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/8.jpg)
Relational Database Relational Database ExampleExample
SID Last Name FirstName
00001XZ Able John01294SA Jones Mary12309DE Public John
Student Table
Course TableCID Description
PSY101 Intro to Psychology
CSC329 Database Design SID CID01294SA PSY10101294SA CSC32912309DE PSY101
Enrollment Table
![Page 9: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/9.jpg)
Object-oriented DatabasesObject-oriented Databases
• Can mean many things
• Data exists as objects– each object encapsulates
• data (attributes)• methods (procedures)• is a member and instance of a class of objects• may be a subset of a class and inherit
characteristics of the superclass
![Page 10: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/10.jpg)
Object-oriented ExampleObject-oriented Example
StudentsCourses
![Page 11: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/11.jpg)
Database APIsDatabase APIs
• Native-interface
• ODBC
• JDBC
• CORBA
![Page 12: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/12.jpg)
Native InterfaceNative Interface
• Low-level interface
• Direct call from a program to an access method to retrieve data
• Typically only used directly when accessing flat files
• Often used from compiled programming languages
![Page 13: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/13.jpg)
ODBCODBC
• Open Database Connectivity• Standard method for applications to
request database information from other applications (i.e., database servers)
• Common interface and language (SQL) to disparate database systems
• Examples: Oracle, MS-SQL Server, MS-Access, DB2
![Page 14: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/14.jpg)
ODBC ExampleODBC Example
Application
MS-Access Driver
Driver Manager
MS-Access
Database
OracleDriver
Oracle
Database
MS-SQLDriver
MS-SQL
Database
![Page 15: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/15.jpg)
JDBC™JDBC™
• Java Database Connectivity
• Interface to ODBC for Java programs
• Standard method for Java programs to request database information from other applications ( i.e., database servers)
• Common interface and language (SQL) to ODBC-compliant database servers
![Page 16: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/16.jpg)
CORBACORBA
• Common Object Request Broker Architecture
• Standard method for requesting objects from object-oriented database servers
• Adoption has been slow, but is growing
![Page 17: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/17.jpg)
Programming LanguagesProgramming Languages
• Java
• C and/or C++
• PERL/CGI
• VBScript/ASP
![Page 18: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/18.jpg)
CGICGI
• Common Gateway Interface
• A standard programming interface to web server applications
• These applications act as gateways between the web server and the database
![Page 19: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/19.jpg)
CGI OverviewCGI Overview
Client Web Browser
Web Server
Program or Script
Database
![Page 20: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/20.jpg)
CGI DetailsCGI Details
• Browser sends URL request with embedded CGI program name
• Web server set environment variables, executes program, and passes form data via STDIN
• Program examines environment variables, reads STDIN, performs requested functions, calls database
• Database receives request from program and retrieves data
![Page 21: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/21.jpg)
CGI Details ContinuedCGI Details Continued
• Database returns data to calling program• Program acts on returned data
– HTML page, text page, redirect command– sends results to web server via STDOUT
• Web server creates HTTP-formatted result• Browser displays web page
![Page 22: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/22.jpg)
CGI InteractionCGI Interaction
Client Web Browser
Web Server
Program or Script
Database
HTTP
CGI
ODBC
![Page 23: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/23.jpg)
Using Databases from the Using Databases from the WebWeb
• CGI program– C, C++ – PERL
• Intermediate program– mSQL/Lite
• Database with web support– FileMaker Pro
• Special web server– VBScript/IIS– ColdFusion
![Page 24: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/24.jpg)
Displaying the DataDisplaying the Data
• CGI program - – generates the web page on the fly
• Database with web support– page is generated by database program
• Intermediate program/Special web server - – page is interpreted and a new one is
generated in its place
![Page 25: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/25.jpg)
Interpreted Page ExampleInterpreted Page Example
<HTML><BODY><% set conn=server.createobject(“adodb.connection”) conn.open “DSN=Students;uid=master;pwd=test” set result=conn.execute(“select * fromenrollment”) response.write “<TABLE BORDER=1>” response.write “<TR>” for I=0 to howmanyfields response.write “<TD><B>” & result(i).name & “</B></TD>” next response.write “</TR>”... (etc.)
![Page 26: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/26.jpg)
ScenariosScenarios
• FileMaker Pro
• MS-IIS/VBScript
• mSQL/Lite
• ColdFusion/Oracle
![Page 27: Web to Database Connectivity Tools](https://reader035.fdocuments.us/reader035/viewer/2022062321/5681355f550346895d9cc5b5/html5/thumbnails/27.jpg)
SuggestionsSuggestions
• Understand your current needs
• Project for your future plans
• Keep server diversity to a minimum
• Hire/train appropriate personnel