Web to Database Connectivity Tools Frank Cervone Assistant Director for Systems DePaul University...

27
Web to Database Web to Database Connectivity Tools Connectivity Tools Frank Cervone Assistant Director for Systems DePaul University Libraries Access ‘98 October 3, 1998

Transcript of Web to Database Connectivity Tools Frank Cervone Assistant Director for Systems DePaul University...

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