Accessing databases via the Web is a technology in a stage of rapid evolution. In the past few years, we have moved from script-based techniques, such as CGI, to more flexible and portable solutions. Today's combination of Java applets and Java Database Connectivity (JDBC) drivers promises more freedom for developers who query and format data. However, it also adds the inevitable headache of linking Java code to existing layers of database infrastructure.
ThinAccess 1.0, a new data-access development solution from thinWeb.com, promises to help developers build simplified, efficient, browser-neutral Java clients that are also suitable for low-bandwidth or wireless clients.
The product provides a server - the component that manages client/database interactions - a set of Java classes, and JDBC drivers to include in your application.
ThinAccess enters the market as a reasonable alternative to using database vendor-provided drivers and software. The product offers small footprint JDBC drivers, support for multiple platforms, and compatibility with even early versions of Microsoft and Netscape Web browsers.
The ThinAccess Server is the heart of the product. It acts as an intermediary between the client and database and is available for Mac OS, OS/2, Windows, and most Unix platforms.
Each database access request made by your Java code is executed by the ThinAccess server, which interacts with the database system using either the included JDBC-ODBC driver or the JDBC driver provided by the database vendor. For example, to gain access to Oracle 8, you need Oracle's JDBC driver. You can find third-party JDBC drivers from Sun Microsystems at http://java.sun.com/products/jdbc/drivers.html.
You can run the ThinAccess server stand-alone or embed it in your applications or application server environment. To go through firewalls, you can easily include HTTP tunneling logic in your application and create a connection from your client to the database via the client browser, the Web server, a servlet, and finally the ThinAccess server. Access times to different databases do vary. However, ThinAccess has several features that improve scalability and reduce the wait time on the client.
For example, ThinAccess offers a JDBC driver that is sensibly smaller than most vendor-provided versions and has a footprint of just 50KB. Officials at thinWeb.com estimated that downloading its JDBC driver to the client is 20 to 30 times faster than other JDBC drivers. This reduced download time translates into less waiting for end users, making ThinAccess a desirable solution for Java applications - especially when limited bandwidth and fast response time are concerns.
The key reason for the ThinWeb driver's leanness is that it is only a proxy server; it forwards data requests from the client. The exchange between the ThinAccess server and the back-end relational database still takes advantage of the vendor's JDBC driver. Thus, using ThinAccess, you benefit from a fast download to the client without losing the database-access functionality of the vendor's driver.
In addition to the reduced footprint of the JDBC driver, ThinAccess offers Web-browser and Java-version transparency. In fact, to have immediate access to any database from your Web applications, you can choose between two JDBC drivers to include in your Java code. As shown below, using either of the two drivers will not complicate your code.
The first driver choice is Java Development Kit (JDK)-independent because it does not require copying the java.sql.* classes that may differ across Java versions. As the skeleton of the code shows, you import a ThinWeb-provided set of classes.
You should use this driver to achieve browser and JDK independence for your client applications.import java.awt.*;import java.applet.*;import com.thinweb.sql.*;public class AppletName extends Applet// Load the ThinWeb JDBC driverClass.forName('com.thinweb.sql.Thin Driver').newInstance();The second driver requires importing the java.sql.* classes and will work well only with browser versions that support the JDK 1.1.x. You should choose this driver when your development environments suggest compliance with a specific JDK.import java.awt.*;import java.applet.*;import java.sql.*;public class AppletName extends Applet// Load the ThinWeb JDBC driver Class .forName('com.thinweb.sql.jdbc11.Thin Driver').newInstance();ThinAccess allows you to set preconfigured connections to your database so that your application will save precious online response time when it starts. Each connection can serve multiple clients, and you can set up an allocation pool of slots for each connection to improve concurrent client access times.
You can also preconfigure SQL statements - shareable among concurrent users - that can be called by name from your application.
My first impression of ThinAccess 1.0 is very positive. This product helps deliver Java database applications that demand fewer resources and are far more manageable.the bottom lineThinAccess 1.0Summary: ThinAccess, from thinWeb.com, offers a unique set of tools, including small footprint Java Database Connectivity (JDBC) drivers, that simplifies the development of database-oriented Java applications.
Business Case: ThinAccess reduces the amount of time your customers and end users spend online; this is a critical part of successful data-enabled Web applications.
Pros: ¥ Little to no training needed ¥ Downloadable JDBC drivers have small footprint ¥ More efficient Java applicationsCons: ¥ New product in a highly competitive marketPlatforms: Server: OS/2, Mac OS, Windows 95/98, Windows NT, and most versions of Unix; Client: Microsoft and Netscape browsers 2.x and later Cost: Sold over the Web, ThinAccess costs $US995 per Software Development Kit, which includes one server and five users, plus $65 international delivery fee; $11,000 per CPU, unlimited user deployment licences.thinWeb.com http://www.thinweb.com