Team Apache Cocoon wypuścił pierwszą wersję beta projektu Cocoon 2. Jeżeli jeszcze o tym projekcie nie słyszeliście to chyba jest dobra okazja, żeby czegoś się na jego temat dowiedzieć. Cocoon to rozbudowany serevlet (napisany oczywiście w języku Java) który korzystając z technologii XSL potrafi przerabiać dokumenty XML na HTML, SVG oraz PDF. W akcji można obejrzeć go korzystając z linków na tej stronie (są już pierwsze serwisy korzystające z Cocoon’a 2). Dopiero co wypuszczony Cocoon 2 jest praktycznie przepisywany od nowa, bowiem pewne założenia Cocoon’a znacząco blokowały jego rozwój.

Co tak naprawdę zmieniło się w Cocoon’ie 2? Przede wszystkim zmieniono API z DOM level 1 na SAX (bazujący na modelu zdarzeń). Zmiana jest o tyle istotna, że DOM to API tak naprawdę przewidziane dla klienta, a nie serwera. API DOM wymagało np.: aby przetwarzany dokument był trzymany w pamięci, co odbijało się negatywnie na pracy serwisów które intensywnie korzystały z Cocoon’a. Mniejsze zużycie pamięci, to przy okazji języka Java poprawiona wydajność. Wygodny dla programistów garbage collector uruchamia się za każdym razem jak przekraczany jest tzw. heap size (blok allokowanej przez JVM pamięci). W przypadku przetwarzania dokumentów przez Cocoon’a miało to miejsce nader często, a taki garbage collecting mimo różnych optymalizacji pochłania sporo czasu procesora.

Znacząco została zmieniona architektura. Dotychczasowa separacja logiki, zawartości i stylu (logic, content, style) podzas pracy Cocoon’a znalazła swoje odzwierciedlenie w jego architekturze. Podział na odpowiednie warstwy ułatwi znacznie zapanowanie nad całym projektem, bowiem prace w ramach każdej warstwy można prowadzić niezależnie od pozostałych (przynajmniej teoretycznie :).

Ponadto zostanie wprowadzony szereg drobnych usprawnien związanych z wydajnością: pre-compilation, pre-generation i caching. Dotychczas Cocoon interpretował wszystko w locie, ale dwójka będzie kompilować generatory (strony/XSP) i transformatory (stylesheety XSL) które to znacznie przyspieszą przetwarzanie dokumentów.

…a wszystko po to aby w praktyce ucieleśniać założenia XML’a – one content, many views.
Archiwalny news dodany przez użytkownika: elczupi.
Kliknij tutaj by zobaczyć archiwalne komentarze.

Share →