2008-09-08

UJO Framework verze 0.80

Dne 7.9.2008 byla uvolněna zásadně rozšířená verze UJO Framework 0.80, novinky jsou zejména:

  • nové rozhraní UjoExt pro lepší komfort vývojářů umožňující například řetěžení properties a setterů
  • optimalizovaná deserializace UJO objektů, která je nyní rychlejší jak JAXB 2.1
  • zjednodušení některých původních metod například pomocí rozhraní UjoAction
Framework poskytuje objekty s odlišnou architekturou od JavaBeans. Původní nápad vznikl jako hříčka s generickými datovými typy Java 5.0, postupem času se však objevilo několik klíčových vlastností:
  • snadno dostupná introspekce objektu bez nutnosti imlementovat PropertyDescriptor
  • možnost předávání properties UJO objektu (nikoli hodnot) pomocí kolekce (či pole)
  • jádro objektu stojí na dvou rozhraních, která umožňují snadnou implementaci

Uvedené vlastnosti otevírají nové možnosti využití v oblasti J2EE při tvorbě především generických operací nad objekty.
Framework obsahuje vedle vlastní specifikace UJO objektů také několik nástrojů pro jejich využití.
Pokud vás informace zaujaly, doporučuji shlédnout krátkou motivační prezentaci:

Slide show


Další informace najdete na domovské stránce projektu, k dispozici je i referenční aplikace jWorkSheet
pro měření času na projektech, která důsledně využívá architekturu UJO objektů pro všechny perzistentní objekty.
Vítám všechny ohlasy i připomínky.

2008-05-13

UJO Framework 0.74

O víkendu byla uvolněna nová verze, novinky jsou následující:
  • rychlost XML perzistence je 5x vyšší ve srovnání s perzistencí implementovanou v JRE 6.0
  • podpora CSV perzistence
  • nová implementace rozhraní Ujo pro lepší využití v objektech JavaBeans.
K dispozici je také srovnání rychlosti XML perzistence s výborným frameworkem JAXB 2.1. Podrobnější informace jsou na anglické verzi blogu, nebo přímo v dokumentaci UJO Frameworku.

2008-04-14

Potřebujete rychlou XML perzistenci ?

Na poslední verzi UJO Frameworku (0.73) jsem provedl rychlostní testy zápisu do formátu XML včetně zpětného obnovení objektů. Výsledky jsou velice příznivé zejména ve srovnání s rychlostí XML serializace (XMLEncoder, XMLDecoder) implementované v JRE 6.0.

Tabulka výsledků:
Implementace Rychlost serializace [sec] Rychlost deserializace [sec] Poměr celkem [%]
MapUjo 1,352 0,563 32,5
ArrayUjo 1,340 0,535 31,8
JavaBean 3,828 2,063 100

Prostředí: Windows XP, procesor Intel DuoCore 1.66 MHz, JRE 1.6.0_04.
Popis testu:
  • všechny business objekty jsou stejného typu (v rámci jednoho testu) a jsou rekurzivně sestavené vždy maximálně do čtvrté úrovně
  • každý business objekt obsahuje 11 atributů včetně jednoho relačního typu ArrayList
  • celkový počet instancí business objektu 6000
  • test byl proveden třídou XmlSpeedTest2 (druhý průchod) ze skupiny JUnit testů připojených k projektu
  • zveřejněné výsledky jsou aritmetickým průměrem hodnot ze čtyř pokusů

Závěr: XML perzistence implementovaná v UJO Frameworku je přibližně třikrát rychlejší ve srovnání s XML perzistencí implementovanou v JRE 6.0. Všechny připomínky vítám.

UJO Framework verze 0.73.final

Dnes byla uvolněna další verze projektu UJO Framework, soubory jsou ke stažení na SourceForge, změny jsou následující:

  • vybrané property UJO objektu lze exportovat do XML souboru jako atributy. Pro toto použití lze property označit například pomocí anotací
  • ladění výkonu perzistence do XML
  • doplnění a oprava dokumentace