JDataConnect™ Support
New Features
Technical Features
JDataConnect is a set of JDBC drivers that provide database
connectivity for Java applets, servlets and applications. The
JDataConnect product consists of the following set of JDBC packages:
- JData2_0: Provides a complete implementation of Sun's JDBC 2.0 specification.
- JData3_0 Provides a complete implementation of Sun’s JDBC 3.0 specification.
- JData4_0 Provides a complete implementation of Sun’s JDBC 4.0 specification.
- JDataLite Provides an ultra light JDBC driver that downloads quickly on low bandwidth Internet connections. JDataLite also supports a number of JDBC 2.0 features such as scrollable-updateable result sets and can provide these features in non Java 2.0 environments such as web browsers.
- JDataServer A robust, high performance, multi-threaded database access engine that provides networked database access for all driver packages.
Type 3 JDBC and the 3 Tier Network Architecture
JDataConnect is a type 3 JDBC driver. According to Sun, type 3
provides the the most flexible approach to database access with
Java. JDataConnect is also implemented as a robust 3 tier
architecture. A true three-tier architecture provides flexibility,
performance, data security, and scalability. 3 tier is the most
flexible architecture because it allows many different deployment
architectures. For example, databases may be located on servers
remote from the web server. Network access is achievable for
otherwise non networked desktop databases such as Microsoft Access
and Microsoft FoxPro.
The type 3 JDBC driver is the only type of driver that supports
“Zero Install” on the client because clients need only install a web
browser to run the application. Zero Install means there is
absolutely nothing to install on the client’s machine other than a
web browser for applets or a Java VM for applications. Zero Install
is a mandatory feature for developers building Internet based
applications.
Multiple Driver Packages
JDataConnect provides a set of driver packages that can be used
interoperably with JDataServer. See our FAQ on the differences
between the packages and when to use which package.
By having multiple packages the Java developer can choose the
package that best suits the needs of their specific project. Most
importantly, Java source code does not require modification to run
on either package. The only difference is which package is imported
by the application.
All driver packages are certified 100% Pure Java. All packages
support client side “zero install”. A single running instance of
JDataServer can concurrently support applications written using
either JData2_0, JData3_0, JData4_0 or JDataLite.
The JData2_0, JData3_0 and JData4_0 Packages
JData2_0 (supporting JDBC 2.0), JData3_0 (supporting JDBC 3.0) and
JData4_0 (supporting JDBC 4.0) provide full support for the standard
JDBC specifications.
The JData2_0, JData3_0 and JData4_0 packages also support all the
unique features of JDataConnect including SSL Security, Round Trip
Reduction technology, HTTP Tunneling and Connection Pooling.
The JDataLite Package – Ultra Light Weight JDBC
The JDataLite package allows rapid applet downloads over slow
network connections due to it’s ultra light weight size. JDataLite
supports a core JDBC 2.0 API subset which allows the Java developer
to insert, update, delete, query and transact data in networked
databases.
The JDataLite package supports database connections, regular,
prepared and callable statements and scrollable and updateable
result sets. The package also supports all the commonly used SQL
datatypes such as text, integer, long, float, blobs, double and date
and supports multiple statements per connection. JDataLite also
provides all the JDBC functions required to support transaction and
isolation level control on databases.
The JDataLite package supports all the unique features of
JDataConnect including SSL Security, Round Trip Reduction
technology, HTTP Tunneling, and Connection Pooling.
JDataServer – Scalable, Robust, High Performance Database Access
JDataServer is the database server component of JDataConnect.
JDataServer provides scalable, robust and high performance
enterprise data access to relational databases.
JDataServer is multithreaded to provide reliable concurrent access
for many users. Every new client connection is allocated a server
side thread to ensure maximum throughput for multiple concurrent
connections. JDataServer automatically cleans up connections and
other resources that have timed out to provide reliability on
servers that are infrequently re-booted.
JDataServer can be run as a console application or an NT service.
Installing JDataServer as an NT service ensures the server is
available on unattended servers whenever the server is powered up.
JDataServer provides full control over logging options and can log
to various locations such as the NT Event Log, a specific log file
or to the console window. JDataServer can log many events such as
errors, SQL requests and object creates and destroys.
JDataServer provides a number of important unique features that are
described below.
-
Connection Pooling: Connection pooling provides a major performance improvement by reducing the time taken by them to connect to the database. Without pooling, new physical connections must always be established which is time consuming and expensive on the database engine.JDataConnect supports two forms of connection pooling. Both forms of connection pooling are transparent to developers (require no special coding) and may be used separately or together as required.
-
Client Side Pooling: Client side pooling enables connections from servlets, applets and applications that share a common JVM to be pooled. For example, all the servlets running in an application server could pool connections. JDataConnect supports the JDBC 2.0 Optional API connection pooling API in all drivers except the JDataLite driver. This support enables the JDataConnect drivers to participate in any middleware implementations of connection pooling that are standard extension compliant. JDataConnect also ships with a Standard Extension compliant implementation of a connection pooling data source.
-
Server Side Pooling: Server side pooling pools connections for applets, applications and servlets running in separate JVM’s. For example, if you provide applet access to your database you would use server side pooling to allow all applets to pool connections even though those applets are running on different client machines (i.e. their JVM’s are different.)JDataServer can be configured to create multiple sets of pooled connections when it starts. When a client requests a connection JDataServer simply returns one of the pre-opened connections thereby eliminating the overhead of having to open the connection at request time. When a client closes a connection the driver places the connection back into the connection pool.No special coding is required by the Java developer to enable pooling – Java connection syntax is identical to regular connections.Finally, server side connection pooling also provides enhanced security since connection pooling can be setup so that database passwords are not transmitted over the network.
-
Remote Monitoring: In most production deployments JDataServer is located on a remote server. Remote Monitoring allows the system administrator to query the status of JDataServer via a standard web browser via the Internet, intranet or local area network. JDataServer will generate an HTML page to the user’s browser that shows the up time of the server, the number of active connections, total connections overall, a breakdown of the connection types, error counts and other status data that provides valuable information for the system administrator.