web to database connectivity tools
DESCRIPTION
Web to Database Connectivity Tools. Frank Cervone Assistant Director for Systems DePaul University Libraries Access ‘98 October 3, 1998. Introduction. Databases Database APIs Programming Languages Access Models. Databases. Flat files Relational databases Object-oriented databases. - PowerPoint PPT PresentationTRANSCRIPT
Web to Database Web to Database Connectivity ToolsConnectivity Tools
Frank CervoneAssistant Director for Systems
DePaul University Libraries
Access ‘98
October 3, 1998
IntroductionIntroduction
• Databases
• Database APIs
• Programming Languages
• Access Models
DatabasesDatabases
• Flat files
• Relational databases
• Object-oriented databases
Flat FilesFlat Files
• Simple implementation– regular text– basic encoding– word, excel files
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
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
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
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
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
Object-oriented ExampleObject-oriented Example
StudentsCourses
Database APIsDatabase APIs
• Native-interface
• ODBC
• JDBC
• CORBA
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
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
ODBC ExampleODBC Example
Application
MS-Access Driver
Driver Manager
MS-Access
Database
OracleDriver
Oracle
Database
MS-SQLDriver
MS-SQL
Database
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
CORBACORBA
• Common Object Request Broker Architecture
• Standard method for requesting objects from object-oriented database servers
• Adoption has been slow, but is growing
Programming LanguagesProgramming Languages
• Java
• C and/or C++
• PERL/CGI
• VBScript/ASP
CGICGI
• Common Gateway Interface
• A standard programming interface to web server applications
• These applications act as gateways between the web server and the database
CGI OverviewCGI Overview
Client Web Browser
Web Server
Program or Script
Database
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
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
CGI InteractionCGI Interaction
Client Web Browser
Web Server
Program or Script
Database
HTTP
CGI
ODBC
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
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
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.)
ScenariosScenarios
• FileMaker Pro
• MS-IIS/VBScript
• mSQL/Lite
• ColdFusion/Oracle
SuggestionsSuggestions
• Understand your current needs
• Project for your future plans
• Keep server diversity to a minimum
• Hire/train appropriate personnel