Reference | Help | Introduction | Slide Show | Class Hierarchy | InterClient
PREV | NEXT | FRAMES | NO FRAMES |  |

## InterClient Architecture

The JDBC API is the framework for the InterClient API. The JDBC API is a Java application programming interface to SQL databases that was developed by Sun Microsystems. As a Java/InterClient developer, it's important to be familiar with JDBC and how it is driving client-server database applications development.

### About the JDBC API

##### Figure 1 - JDBC Architecture

Java developers wanted to write code that is independent of the DBMS or database connection type being used, so Sun decided to support the Java community by defining a framework for generic SQL database access. The JDBC API is a generic call-level SQL interface that allows Java developers to develop DBMS-independent Java applications and tools using a single interface. The JDBC API does the following:

- Allows programmers to write to a single database interface
- Enables Java application development tools and products to be DBMS-independent
- Allows database vendors to provide a wide variety of connectivity solutions

Note: JDBC constructs are interfaces which the InterClient classes support. The JDBC interface is simply an API that provides entry points to the JDBC; there is no code associated with it. The InterClient classes provide the code that actually implements the JDBC API.

### Why Use Java?

Java is a robust, secure, easy to use, easy to understand language, and applications written in Java can be downloaded automatically on a network. This makes it an excellent language framework for developing client/server database applications. Java's ability to deliver executable content over the Internet/Intranet allows Web pages to contain dynamic and interactive content, where the best a Java-less Web has to offer is static, hyperlinked content.

### About InterClient

As an all-Java JDBC driver, InterClient enables platform-independent, client/server development for the Internet and corporate Intranets. The advantage of an all-Java driver versus a native-code driver is that you can deploy InterClient-based applets without having to manually load platform-specific JDBC drivers on each client system (the Web servers automatically download the InterClient classes along with the applets). Therefore, there's no need to manage local native database libraries, which simplifies administration and maintenance of customer applications. As part of a Java applet, InterClient can be dynamically updated, further reducing the cost of application deployment and maintenance.

InterClient allows Java applets and applications to:

- Open and maintain a high-performance, direct connection to an InterBase database server
- Bypass resource-intensive, stateless Web server access methods
- Allow higher throughput speeds and reduced Web server traffic

### InterClient Audience

The primary audience for InterClient is developers who wish to create Java-based client-server applications. Java developers should be able to seamlessly swap RDBMS back-ends underneath their JDBC applications. InterClient provides a small footprint, easy to maintain RDBMS (InterBase) as the back end to JDBC applications. An InterBase backend is an ideal solution because it's small, economical, and conforms to the same SQL standards as the JDBC.

InterBase developers who are writing new Java-based client programs can use InterClient to access their existing InterBase databases. Because InterClient is an all-Java driver, it can also be used on Sun's new NC (Network Computer), a desktop machine that runs applets. The NC has no hard drive or CD ROM; users access all of their applications and data via applets downloaded from servers.

### InterClient Architecture

######

###### Figure 2 - InterClient Architecture

The InterClient product consists of two major pieces:

- A client-side Java package, called InterClient, containing a library of Java classes that implement most of the JDBC API and a set of extensions to the JDBC API. This package interacts with the JDBC Driver Manager to allow client-side Java applications and applets to interact with InterBase databases.
- A server-side driver, called InterServer. This server-side middleware serves as a translator between the InterClient-based clients and the InterBase database server.

Developers can deploy InterClient-based clients in two ways:

- Java applets are Java programs that can be included in an HTML page with the <APPLET> tag, served via a web server, and viewed and used on a client system using a Java-enabled web browser. This deployment method doesn't require manual installation of the InterClient package on the client system. It does however require a Java-enabled browser on the client system.
- Java applications are stand-alone Java programs for execution on a client system. This deployment method requires the InterClient package, and a Java Runtime Environment (JRE) installed on the client system. The JRE includes the JDBC Driver Manager.

#### InterClient Communication

InterClient is a driver for managing interactions between a Java applet or application and an InterBase database server. On a client system, InterClient works with the JDBC Driver Manager to handle client requests through the JDBC API. To access an InterBase database, InterClient communicates via a TCP/IP connection with an InterServer translator that runs on the same system as the InterBase database server. InterServer forwards InterClient requests to the InterBase server and passes back the results to the InterClient process on the client machine.

Reference | Help | Introduction | Slide Show | Class Hierarchy | InterClient
PREV | NEXT | FRAMES | NO FRAMES |  |

Send comments or suggestions to interclient@interbase.com