pondělí 26. června 2006

JDK 6.0 (Mustang) s přibalenou databází

JDK pro nadcházející verzi 6.0 (kódové označení Mustang) bude obsahovat přibalenou nativní databázi Java DB. Sun za tímto krokem vidí možnost jak mezi vývojáře dostat malou embedded databázi s podporou specifikace JDBC 4.0. Podle prvních reakcí nebyl tento krok komunitou přijat s velkým nadšením.

Java DB je nativní Java databáze založena na Apache Derby s podporou SQL, JDBC, Java EE, Java ME CDC – konkurenční přístup, trigry, Java stored procedury. Velikost databáze je 2MB a databáze může běžet jak v klasickém režimu klient server tak v takzvaném režimu embedded (je programově spuštěna v rámci vlastní aplikace - tj. sdílí stejnou JVM).

Filozofická otázka, která přišla s tímto krokem Sunu zní, Měla by být databáze součástí JDK?. I přesto, že se to komunitě moc nezajídá, zacož může především samotný Sun neboť selhal na komunikační úrovni, určitě databáze do JDK patří. Poznámka na margo komunity, jde o způsob jakým Sun začlenění databáze provedl.

Databáze by měla být součástí JDK ze dvou důvodu. Usnadňuje počáteční vývoj JDBC pro nováčky a nabízí defaultní RDBMS úložiště pro aplikace, které se rozhodnou uchovávat data. Z hlediska nasazení nemusí být nutně tato databáze použita jako produkční, ale svoje místo najde například při testování či jiných servisních operacích.

Nevýhodou začlenění do JDK je svázání s jednou verzí databáze. Naštěstí není Java DB nijak provázaná s JRE takže nemůže dojít k problémům s aktualizací jako v případě Xercesu. V případě, že se rozhodnete databází s JDK používat, mělo by stačit přidat jar na classpath.

Sun tímto krokem rozvířil otázku jakým způsobem koncipovat skladbu JDK. Dnes je situace taková, že Sun může prakticky z čehokoliv učinit součást JDK. Na snadě je tedy jakási modularice JDK. Už dnes je součástí jednoho z distribučních balíčků JDK IDE NetBeans.

Mě osobně by nebyla cizí myšlenka jakéhosi Full JDK kompletu tj. všeho nutného pro vývoj v ME, SE a EE.

Základem by bylo JRE. Nad ním by byly stand alone komponenty nutné pro vývoj ve specifické oblasti například aplikační server pro J2EE a nebo emulátor mobilních telefonů pro ME. Součástí by bylo i IDE, které by krom obyčjneých nástrojů nabízelo například i profiler a nebo databázový prohlížeč. A nesmíme zapomenout na dokumentaci, příklady a návody.

Celý Full JDK bundle by se měl vtěsnat na jedno CD a měl by umožňovat plnohodnotnou službu i v offline módu. Samozřejmostí by byla i automatická aktualizace. Byl by pro Vás Full JDK bundle přínosem a nebo jste se současným JDK konceptem spokojeni?

Zdroje