Seriál o programování s databázovou platformou
                  Caché od InterSystems v JAVA
Jazyk Java si za zhruba 15 let své existence
                  vydobyl jedno z čelných míst v oblibě mezi vývojáří
                  aplikací. Jeho hlavní devizou je skutečnost, že je
                  nezávislý na operačním systému a tudíž s ním lze
                  vyvíjet aplikace, které lze nasadit v podnicích
                  preferujících různá prostředí. Další velkou výhodou
                  Javy je to, že samotná technologie je zdarma. (I když
                  pro vývoj a provoz skutečně rozsáhlých aplikací je
                  potřeba hezky za peníze nakoupit vývojová prostředí a
                  aplikační servery, není-liž pravda?) Jednu slabinu
                  však Java má, a tou je práce s databázemi. Java totiž
                  nemá žádné vlastní OPRAVDU EFEKTIVNÍ možnosti pro
                  práci s persistentními (tj. trvalými, na disku
                  uloženými) datovými strukturami. Tímto netvrdím, že
                  nemá žádné možnosti, jak s persistentními daty
                  pracovat. Jen musí opustit svůj svět objektů a pustit
                  se do světa relačních databází a tedy paradigmaticky
                  úplně jiného pojetí práce.
Na druhé straně existuje již téměř 30 let velice
                  efektivní databázová technologie, vycházející z
                  vícerozměrného (pro zjednodušení si taková data
                  můžete představit jako stromy nebo adresáře s
                  hierarchickou strukturou) uspořádání dat, která
                  nabízí vysoký výkon jak při transakčním zpracování,
                  tak při dotazování. Z jejích kořenů vychází
                  databázová a aplikační platforma Caché. Tato
                  technologie v sobě jedinečným způsobem spojuje jak
                  možnost prezentovat uložená data objektově, tak
                  relačně nebo jako XML dokumenty. Podobně jako Java,
                  je i Caché nezávislá na operačním systému a nabízí
                  širokou škálovatelnost od jednouživatelských aplikací
                  až po heterogenní síťové aplikace s nimiž pracují
                  najednou desítky tisíc uživatel hlavních („mission
                  critical“) systémů velkých korporací. Jelikož je
                  Caché primárně aplikačním a databázovým serverem,
                  nemá vlastní prostředky pro tvorbu grafického
                  uživatelského rozhraní.
A tady je právě vidět, že jak Java tak Caché, pokud
                  se spojí v aplikaci do jednoho celku, dokonale
                  obsáhnou veškerou požadovanou funkčnost, od
                  uživatelského rozhraní (Java), přes vrstvu
                  aplikačního serveru (EJB nebo Caché) až po objektovou
                  persistenci (Caché).
V tomto seriálu probereme podrobně všechny možnosti
                  propojení těchto technologií a ukážeme, jak mohou
                  vývojáři na platformě Java těžit z výhod
                  poskytovaných oběma technologiemi.
V základě existují následující možné směry
                  propojení Javy a Caché.
- 
Nativní projekce Caché tříd do Java objektů 
- 
Persistence Java tříd pomocí JALAPENO knihovny 
Z uvedených metod je starší nativní projekce Caché
                  tříd. Ta spočívá v přidání informací k definici
                  (persistentní) třídy v Caché, které jsou při její
                  kompilaci interpretovány a na jejichž základě se
                  generují Java třídy, buď ve formě zdrojového kódu
                  nebo přeloženého binárního kódu. Tyto třídy
                  představující proxy třídy, které lze přidat do
                  libovolné vývojového prostředí Javy a pracovat s nimi
                  jako by to byly třídy napsané přímo v daném IDE
                  prostředí. Tedy, při tomto způsobu se předpokládá
                  určitá předchozí znalost prostředí Caché, a to
                  alespoň na té úrovni, aby vývojář byl schopen
                  definovat datový model v prostředí IDE Caché, jelikož
                  primárním zdrojem informací jsou třídy na straně
                  Caché a každá změna serverové části aplikace vyžaduje
                  změny v Caché a posléze jejich přenesení (byť je
                  obstaráno automaticky) na stranu Javy.
Naproti tomu, JALAPENO, což je akronym pro JAva LAnguage PErsistence
                  with NO mapping, představuje opačný přístup.
                  Primárním zdrojem informací o propojení je prostředí
                  Java a z něj se generují třídy v Caché. Programátor
                  tedy nemusí být znalý jazyka popisujícího definice
                  tříd v Caché. Tato technologie se opírá o tzv.
                  anotace, což je rozšíření jazyka Java zavedené ve
                  verzi 1.5. V tomto případě se tedy v Caché generují
                  pouze persistentní třídy, které neobsahují žádnou
                  aplikační logiku.
Pro úplnost dodejme, že součástí Caché je nově i
                  tzv. Java brána, jež umožňuje spouštět třídy nebo
                  Java archivy v procesech Caché aplikačního serveru.
                  Tedy umí provozovat Java aplikace mimo JVM ve svém
                  vlastním virtuálním stroji.
Následující články se budou detailně zabývat všemi
                  výše naznačenými možnostmi včetně předložení ukázek
                  kódu. Nejdříve se budeme věnovat projektu JALAPENO, o
                  kterém se podrobněji rozepíšeme v příštích několika
                  dílech.
