Subject Re: [Firebird-Java] Re: JayBird
Author Rick Fincher
Hi Ann,

Ann wrote:

> if someone could provide some rough notes on the middle stuff,
> we could probably get some press.

I'll take a stab at this.

Forgive me if you already know some of this stuff.

JDBC is the Java Database Connectivity specification. The folks who oversee
the development of the Java language have devised this standard to make it
easy for Java programs to connect to databases.

The basic concept is that a JDBC driver is written that conforms to a
defined interfacefor each database. That way the Java program can be
written to use the same classes and methods no matter which database is
used. In theory if multiple databases use the same command language, like
SQL, the Java programmer should be able to modify the program to use any of
them by simply installing the the new JDBC driver and recompiling.

If the Java Naming and Directory Interface (JNDI) is used, the driver is
described to the Java program by an XML configuration file. Changing driver
with JNDI doesn't even require a recompile. The programmer simply updates
the XML file with the new driver name, location, and other info and the Java
program can immediately make use of it.

The JDBC specification defines several levels of JDBC driver. Interclient
2.0, an Interbase/Firebird JDBC driver, is a level 3 JDBC driver. This
means it must communicate with the database by means of a middleware
program. In this case, the middleware is a program called Interserver.
Interserver must be installed on the database server for Interclient to

A type 4 driver connects directly to to a database. JayBird is a type 4
JDBC driver. It communicates directly with Firebird without using
Interserver. This allows Interserver to be removed from the database
server, making it simpler to setup and maintain, and more reliable.

JayBird is also what is called a JCA driver. JCA stands for J2EE
Connectivity Architecture. JCA is a specification that defines how
databases are connected to Java 2 Enterprise Edition (J2EE) servers.

J2EE provides a framework for providing Portal and Web Services. It handles
things like single sign-on login, security, code sharing, HTML servers,
Enterprise Java Beans (reusable code), Java Server Pages, servlets, database
storage, and data translation services, among others.

Since JayBird provides JCA support it can be used to connect Firebird to
enterprise servers like JBoss, Webshpere, Webgain, etc. Once connected to
the J2EE server, Firebird can be the database the server uses to store
usernames and passwords, user configuration settings, persistent sessions,
object storage, as well as traditional database info.

Many J2EE servers ship with an SQL database written in Java, or which has
minimal capabilities. By using Firebird as the database, server performance
can be dramatically improved.

JayBird also has built-in connection pooling. Setting up and tearing down
the connections to a network database are time consuming tasks for a Java
program. In a server environment with large numbers of logons, this can be
a real performance bottleneck.

Performance can be markedly improved by pooling the connections. With a
connection pool, database connections can be reused and even pre-allocated,
so that user response time is improved, and server load is reduced. Most
J2EE servers have connection pooling built in, but JayBird allows the
programmer to set up pooling for stand alone programs, or for servlet and
JSP containers (servers programs that serve up servlets and Java Server
Pages to HTML browsers) that don't offer pooling.

Hope this helps,


----- Original Message -----
From: "Ann W. Harrison" <aharrison@...>
To: <>
Sent: Thursday, October 31, 2002 4:19 PM
Subject: Re: [Firebird-Java] Re: JayBird

> At 08:55 PM 10/31/2002 +0000, g868avx wrote:
> >We need to help more people to realise that Firebird is the best
> >choice of open source database. I spent many months evaluating the
> >open source databases - and was surprised to discover that the best
> >available did not have one of the highest profiles.
> I'm a pretty decent writer - at least I think I am - but I'm
> totally ignorant of JDBC. I've written a bit of Java, a bit
> more C++, and quite a bit of an obscure object language called
> Jello, so I've kind of got the two ends - objects and Firebird -
> if someone could provide some rough notes on the middle stuff,
> we could probably get some press.
> Regards,
> Ann
> We have answers.
> To unsubscribe from this group, send an email to:
> Your use of Yahoo! Groups is subject to