AJAX, Java DB a High-Octane Match

By Lisa Vaas  |  Posted 2005-12-16

AJAX, Java DB a High-Octane Match

The AJAX community is dubbing Java DB open-source database a crucial next step for this hot new Web development language.

AJAX (Asynchronous JavaScript and XML) is all about a rich client experience using JavaScript and XML Web services from the client-side.

For its part, Java DB, a distribution of the Apache Derby open-source embedded database, like all databases, is server-side.

Putting the two together is where the magic happens, as was demonstrated during a keynote at the Apache Software Foundations ApacheCon in San Diego on Tuesday.

During the keynote, Tim Bray, director of Web Technologies at Sun and XML specification co-editor, said that Sun was incorporating the open-source Java DB into the Sun Java Enterprise System and providing additional support for the database with the NetBeans IDE (integrated development environment) 5.0 plug-in.

Ted Leung, a member of the ASF (Apache Software Foundation) who works at the OSAF (Open Source Applications Foundation), wrote on his blog that this introduction of a database with the rich functionality of Apache saved him from wandering the ApacheCon halls in a jaded daze.

"I was disappointed when [Bray] said that he was going to make a product announcement, and I was unenthusiastic when the announcement turned out to be about a Sun version of Derby," Leung wrote.

That all changed about a minute into the demo by Francois Orsini, an engineer at Sun, Leung said. Orsini is a long-time engineer for Cloudscape—the IBM-donated database from which Derby derives—and works on Derby at Sun.

The demo that changed Leungs mind showed how Derby can be used as a local store for Firefox. Orsini showed Derby running within a Firefox window.

Click here to read about how businesses can benefit from open code.

The demo displayed a simple tax form application. Orsini showed how a user could fill in a form, quit or crash the browser, and have the data returned upon restarting the Web application, thus allowing temporarily disconnected use of a database by a browser-based application.

"Adam Bosworth has previously written about the need for local synchronizable storage for the Web browser, and I know that the Mozilla folks have been investigating embedding SQLite, for just these sort of reasons," Leung wrote.

"That effort is slated for Mozilla 1.5 or later. It seems to me that what Francois has done is to make that capability available today. I spent some time talking with Francois over lunch, and it turns out that he also has some code that wraps Derby in a way that is AJAX-friendly, which means that AJAX applications can do similar tricks without needing [to] use the embedded Java support.

Next Page: A cool combination.

A Cool Combination

"All of this is pretty cool," Leung continued. "Mike Radwin from Yahoo was sitting behind me, and he and his companion were making excited noises while Francois was showing his stuff.

"I also IMed a few ASF people and their reactions were the same. Apparently the conference backchannel lit up as well, but I neglected to sign in to IRC, so I missed that."

While some questioned the need to rename the database, I checked with Simon Phipps, Suns Chief Open Source Officer, who told me that calling it Java DB wasnt entirely a marketing ploy to push Suns Java line.

Rather, Apaches rules state that if a user wants to call their embedded database Apache Derby, it must have the same exact signed binaries of Apache Derby.

Thus, renaming the database frees up Sun to ship bug patches and make the "tiny changes" that will be required to fit the database into its product line, Phipps told me. Although, he noted, Sun intends to stick very closely to the ASFs Derby code set.

Brian Behlendorf, a luminary in the open-source movement, a key developer of the Apache Web server and now the CTO at CollabNet, told me in an e-mail exchange that from a market perspective, its interesting and encouraging to see Sun adopt an open-source project that originally came out of IBM.

"Its interesting in a very good way, as it shows that these two companies [and everyone else involved in Apache Derby, the underlying open-source project] can work together on common technologies and go up the stack," he said.

Indeed, Phipps told me, this is what open source is supposed to be about. "This is the essence of open source: Two competitors competing over what differentiates us," he said. "We benefit from each others contributions."

Specifically, what Java DB means for AJAX is that it can now be used in freestanding applications. "That gives AJAX [developers] the possibility of writing full-strength enterprise applications that can run on browsers," Phipps told me.

Sun pushes for more use of OpenDocument Format. Click here to read more.

For example, Phipps said, hes "really looking forward" to running expense claim applications for his travel expenses with Sun.

"Its good for enterprises to move to browser-based applications, but mobile employees like me have trouble running them," he said.

With Java DB, Phipps told me, hell now be able to enter travel expenses as hes disconnected from the server—as hes traveling, in other words.

Under the covers will be SQL transactions, waiting to synchronize when he hooks back up to the server after he gets back to the office.

Sun up until now has been running the expense claim application as a platform application that runs in Java Web Starts. Java Web Start technology allows standalone Java software applications to be deployed with a single click over the network, ensuring that the most current version of the application will be deployed, as well as the correct version of the Java Runtime Environment.

But with Java DB, Phipps said, hell be able to sit "in the middle of a field and do it without access to the database."

For the purpose of understanding this Java DB beast, I called up Josh Berkus, a core team member for PostgreSQL. Berkus described Derby as something of a high-end embedded database. Its known for rich functionality, including almost ACID-quality transaction support, and a variety of SQL and SQL-like functions.

Plugging that database functionality into Sun products sounds like a good deal for Sun customers. And it will just get better, because Sun isnt stopping with Java DB. Indeed, this is the second open-source database its embraced in short order: The company announced last month that it would distribute and support PostgreSQL with its Solaris Operating System.

Suns not stopping there, either. Expect more announcements to come as the company keeps on inspecting open-source databases and their potential use to customers, Phipps told me.

"The strategy is to provide customers with an extensive choice on the Solaris platform," he said.

Extensive database choices? I say, Merry Christmas to that.

First PostgreSQL, now Derby. What other open-source database would you like to see Sun take a look at, and why? Write to me at lisa_vaas@ziffdavis.com.

Lisa Vaas is Ziff Davis Internets news editor in charge of operations. She is also the editor of eWEEK.coms Database and Business Intelligence topic center. She has been with eWEEK and eWEEK.com since 1995, most recently covering enterprise applications and database technology.

Check out eWEEK.coms for the latest database news, reviews and analysis.

Rocket Fuel