From the Trenches of the Enterprise Software

Yakov Fain

Subscribe to Yakov Fain: eMailAlertsEmail Alerts
Get Yakov Fain via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: RIA Developer's Journal, Apache Web Server Journal, Java Developer Magazine

RIA & Ajax: Article

Yakov Fain's Java Blog: "Good Old Java" Comes to the Rescue Again – with JavaDB

"Dear Web-app architects take a closer look at JavaDB to be ahead of the game."

Java Developer's Journal enterprise editor, Yakov Fain, writes: Fat client, thin client, Flex, AJAX, asynchronous messaging, applets...How good are all these technologies, from a salesman-sitting-at-a-client perspective, if you’ve lost your database connection? Then comes good old Java to the rescue again, in the shape of a product called JavaDB - Sun’s version of the Apache Derby database.

While this is not the first embedded Java database (BerkeleyDB has existed in this space for a while), its beauty lies in its relatively small footprint (2MB). In the broadband connection era, this opens the door to the new ways of architecting web applications. Your Swing, Flex, or AJAX web client brings the database right to the client PC, and you do not really care anymore if you maintain your connection with the remote database server or not.

Today’s  technologies  provides solutions for disconnected clients. For example, in Java you can use the JDBC RowSet interface which offers a disconnected result set. With Flex remoting, you define messaging channels (AMF and RMTP), and if one connection is not available it’ll try another one.

But isn’t it a breath  of fresh air (especially for the AJAX guys), when the most important part of your application, THE DATA, is right here in your PC's memory, and runs in your browser’s JVM?

How to deploy it on the client? No sweat. It arrives automatically over your HTTP connection packaged in a nice-looking JAR.

As per Francois Orsini, this database was demo'ed at the recent  Apache conference. It would be interesting to take a closer look at this product.

Combine Java DB with some JSR-80  implementation, and you can arrive at the airport with a USB memory stick in your shirt pocket,  stop by the nearby Internet kiosk, download your business application, and work with it for half an hour. Oops they started boarding…No problem. Save the results of your work through the USB port, and off you go!

Dear Web-app architects take a closer look at JavaDB to be ahead of the game.

posted Tuesday, 2 May 2006

More Stories By Yakov Fain

Yakov Fain is a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay. He wrote a thousand blogs (http://yakovfain.com) and several books about software development. Yakov authored and co-authored such books as "Angular 2 Development with TypeScript", "Java 24-Hour Trainer", and "Enterprise Web Development". His Twitter tag is @yfain

Comments (4) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Most Recent Comments
Yakov Fain 05/08/06 05:52:08 AM EDT

We are talking about extra time during initial load of your app only. Clients with fast connection will be able to download 4+2 MB in less than 15 sec. Clients with slow connection will have to wait for 90 sec or so.
Do not forget, that you can use Java WebStart, in which case the entire application is stored on your client's PC.

Rauf 05/06/06 04:52:25 PM EDT

What if my data alone is 4MB, would the client dowload all of it when using Apache Derby database?

What is the cutoff line for the size of data where embedded database ceases to become a not very efficient solution, given my customer has all the mumbo jumbo bandwidth?

Never hesitate to ask stupid/foolish questions!


Denis Robert 05/02/06 09:27:44 AM EDT

JSR-80? As far as I can tell, there is not much work going on in that direction, only some outdated projects. Seems to me to be a dead spec. Could you point us to an actual, working implementation for multiple platforms?

Welcome News 05/02/06 07:02:38 AM EDT

Wow! How long's this been around, is it brand new?