Výkon webových aplikací s použitím XSLT
Motivem k napsání tohoto spotu bylo několik událostí, které spolu na první
pohled nesouvisí. Petr Bříza se v úvodním článku k XSLT mimo jiné
zmiňuje o opomíjení této technologie.
Osobně si nemyslím, že by XSLT bylo opomíjeno ba naopak, XSLT si své místo našlo
a jedná se o velice slibnou technologii. Na druhou stranu si nemyslím a to jsem také vyjádřil
v diskuzi pod článkem, že by
se XSLT hodilo na všechny druhy serverových úloh. Trochu nešikovně jsem zmínil případ
generování dynamického obsahu s každým požadavkem.
Rád bych svoje tvrzení uvedl na pravou míru. Jiří Kosek v té samé diskusi
argumentuje využitím XSLT jako prezentační vrstvy mnoha webových aplikací, kde se opravdu s
každým požadavkem generuje nová stránka. S tímto argumentem souhlasím a dokonce mi přijde řešení
prezentační vrstvy tímto způsobem jako vhodné, na druhou stranu si nedokážu představit
situaci, kdy v rámci například PHP hostingu používalo XSLT transformaci několik desítek
vývojářů. V takovém případě by totiž docházelo k obrovskému vytíženi serveru a neúměrnému
prodlužování doby odezvy serveru.
Na výkonnostní problémy ohledně XSLT lze nahlížet z několika úhlů. Čas potřebný k
provedení XSLT transformace je dán velikostí vstupních XML dat a provedením
XSLT šablony, kde záleží například na složitosti XPath výrazů. Výkonnostní problémy
lze řešit optimalizací XSLT šablony, použitím Transletu, navýšením hardwaru atd.
možností je několik. Nedokážu si představit, že by se ale takto ladilo v rámci
hostingu a několika desítek nebo stovek vývojářů.
Pokud bych to měl shrnout, XLST jako prezentační vrstva webových aplikací ano,
ale zvážit především výkonové důsledky takového nasazení. Poslední události, která
mě přiměla k tomuto spotu byl článek Pavla Sýkory Cocoon v příkladech (11): Výkonnost a nasazení v jiných servletových kontejnerech neboť
základem aplikací vystavěných na aplikačním serveru Cocoon je právě XSLT transformace.
Související články
- (Dagblog 05.02.2004) Translety — superrychlá XSL transformace
- (Dagblog 09.05.2003) 10 žhavých tipů pro Javu a XSLT
- (Dagblog 20.02.2004) Náhrada xsl:call-template pomocí xsl:apply-templates
Související články
Související epizody CZ Podcastu
- #217 · Ivo Lukačovič
O Windy, JavaScriptu a budování firem.
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi a Filemon o novinkách v Javě 6 a webových frameworcích.