JDBC - Java DataBase Connectivity
RTP JUG Presentation - originally given on July 31 1996
by Pratik R. Patel
JDBC - The Who? What? When? Where? and Why?
First, and most importantly, Why?
- Emerging need for database connectivity for Java Applets
- Focus of Java's cross-platform compatibility: one uniform interface for programmers
- Internet considerations: many types data sources ( Oracle, Sybase, etc )
- Enterprise appeal of Java - realization that databases are foundation of client/server systems
- Software vendors were already starting to come out with database products; this was meant to standardize the interface between the vendor's low-level product and the high level Java API
- Wanted to have a better low-level programming interface than ODBC: JDBC is simpler, based on Java so no pointers like ODBC( more robust ), and more secure
Who?
Javasoft, with help from many, many software vendors:
Borland,
Bulletproof,
Cyber SQL Corporation,
DataRamp,
Dharma Systems Inc.,
Gupta Corporation,
IBM's Database 2 (DB2),
Imaginary (mSQL),
Informix Software Inc.,
Intersoft,
Intersolv,
Object Design Inc.,
Open Horizon,
OpenLink Software,
Oracle Corporation,
Persistence Software,
Presence Information Design,
PRO-C Inc.,
RogueWave Software Inc.,
SAS Institute Inc. (tm),
SCO,
Sybase Inc.,
Symantec,
Thunderstone,
Visigenic Software Inc.,
WebLogic Inc.,
XDB Systems, inc.
Recital Corporation
These companies were working in conjunction with Javasoft to produce the specification, so this is an industry-wide effort.
What?
So, what is this JDBC?
- It's a specification for using data sources in Java applets and applications.
- It's an API for using low level JDBC drivers.
- It's an API for creating these low-level drivers, which do the actual connecting/transactions with data sources.
- JDBC is based on the X/Open SQL Call Level Interface ( CLI ) that defines how client/server interactions are implemented for databased systems
- For a driver to be JDBC compliant, it must be at least ANSI SQL-92 (SQL-2)capable, but it doesn't have to be.
- Goal: DBMS independant interface, "generic SQL database access framework", uniform interface to different data sources
- programmer writes ONE database interface; using JDBC, program can access any data source without recoding
When?
The project started around the first of the year (1996) and the frozen version of the specification was released in the second week of June 1996. Currently, there are several vendors who have JDBC drivers for popular RDBMS's.
Where?
Javasoft's
JDBC site
is a good place to start.