JDK 6.0 (Mustang) comes with a database
The JDK for the upcoming version 6.0, codenamed Mustang, will ship with the native database Java DB. Sun sees this as a way to get a small embedded database supporting the JDBC 4.0 specification into developers' hands. Judging by the first reactions, the community didn't greet the move with much enthusiasm.
Java DB is a native Java database based on Apache Derby, with support for SQL, JDBC, Java EE and Java ME CDC, plus concurrent access, triggers and Java stored procedures. It's 2 MB and can run in conventional client-server mode or in embedded mode. In the latter, you start it programmatically within your own application, so it shares the same JVM.
Sun's move raised a philosophical question: Should a database be part of the JDK? The community doesn't much like it, mainly because Sun failed to communicate it well, but a database certainly belongs in the JDK. As an aside, the community's issue is with how Sun went about adding it.
A database should be part of the JDK for two reasons. It makes it easier for newcomers to get started developing with JDBC and offers a default RDBMS for applications that need to store data. You don't necessarily have to use it as your production database. It can be useful in testing or for other maintenance work, for example.
One drawback of including it in the JDK is that it ties you to a single database version. Fortunately Java DB isn't tied to the JRE, so it can't have the upgrade problems Xerces had. If you decide to use the database with the JDK, adding the JAR to your classpath should be enough.
Sun's move has revived the question of what should be in the JDK. Today Sun can make practically anything part of it. Some kind of modularization of the JDK is the obvious next question. One JDK distribution already includes the NetBeans IDE.
I'd be open to the idea of a kind of Full JDK package, everything you need to develop for ME, SE and EE.

The JRE would be the foundation. On top would be standalone components for specific areas of development, such as an application server for J2EE or a mobile phone emulator for ME. There would also be an IDE with the usual tools plus, say, a profiler or database browser. And let's not forget documentation, examples and tutorials.
The entire Full JDK bundle should fit on one CD and let you work fully offline. Automatic updates would be a given. Would a Full JDK bundle be useful to you, or are you happy with the current JDK setup?
Sources
- Francois Orsini’s Blog Java DB is now part of Sun’s JDK
- JavaLobby.com Sun Bundles Java DB with Mustang b88
Related articles
Related CZ Podcast episodes
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi and Filemon discuss Java 6 and web application frameworks. · Czech audio
- #1 · Vývojová prostředí v Javě
The first CZ Podcast episode looks at Java development environments. · Czech audio