pátek 9. července 2004

Springománie

V poslední době se kolem Spring frameworku rozpoutalo mnoho debat. Spring jasně ukázal cestu jakou by se měly odlehčené J2EE kontejenery vydat.

Autoři Spring frameworku se snaží držet myšlenky nevynalézat kolo a nesnažit se nahradit stávající technologie, ale spíše pomoci vývojářům v jejich využívání.

Potřebujete pracovat s persistentní vrstvou? Spring nabízí podporu pro O/R frameworky jako Hibernate, iBatis či rovnou pro JDO. Potřebujete DAO vrstvu, Spring má opět třídy, které vám to usnadní. Potřebujete transakční zpracování, je libo pragmatické nebo deklarativní s propagací transakce aka. EJB, žádný problém Spring to umožňuje velice snadno.

Samozřejmě bych mohl pokračovat dalšími vlastnostmi jako podpora AOP (aspektově orientované programování), remoting (podpora exportování logiky formou webových služeb), chytrá JDBC datová vrstva, MVC a mnoho dalších.

Spring ctí myšlenku neinvazivnosti tj. promíchání vašeho kódu se Spring API, aby k tomuto nedocházelo je celý Spring protkán IoC (viz. Dagblog 17.5.2004 J2EE vzory: Inversion of Control a Dependency Injection) designem. Samozřejmě výhody IoC pak můžete uplatnit pro vlastní aplikaci.

Ovšem zpět k článkům a debatám kolem Springu z tohoto týdne. Spring na příkladu Pet Store.

Rozhovor se spoluautorem Springu Rodem Johnsonem nejen o Springu, ale o AOP, lightweight kontejnerech a mnohém dalším.

středa 7. července 2004

Benchmark servletových kontejnerů

Christopher L Merrill z webperformance připravil opravdu rozsáhlý test servletových kontejnerů Servlet Performance Report. Testu se zúčastnily tyto servery

  • Apache Tomcat 5.0.25
  • IronFlare Orion 2.0.2
  • MortBay Jetty 4.2.20
  • Caucho Resin 3.0.8
  • IBM WebSphere 5.1
  • Macromedia JRun 4 (update 3)

Cílem testu nebylo najít vítěze, ale ukázat jak si jednotlivé servery vedou v určitých situacích např. vrácení statického obsah, práce se session atd. Tyto aspekty byly měřeny několika testy.

Ač se jedná o velice pěkně zpracované měření, došlo k některým řekněme "botám". První věc, která mě trochu zarazila byl propad serveru Jetty, který normálně používáme bez sebemenších problému v produkčním nasazení.

Ukázalo se, že všechny servery byly testovány v standardní konfiguraci. Jetty s defaultně nastavenými 50 vnitřními vlákny(vlákna, která vyřizují příchozí požadavky) byl srovnáván např. s Tomcatem, který jich má defaultně 150.

Autor a vedoucí vývoje serveru Jetty Greg Wilkins se samozřejmě k měření vyjádřil Servlet Performance Report - The Jetty Response. Další diskuse kolem měření a výsledků proběhly na TSS a v diskusním fóru testu.

neděle 4. července 2004

Hádanka o kuličkách

Vzhledem k úspěchu hádanky o dvou matematicích jsem si pro vás další hádankovou perlu. Pozorně si přečtěte zadání, tahle hádanka je opravdu kouzelná.

Máme dvanáct kuliček, jedna z těchto kuliček má jinou váhu než zbytek. Dokážete za pomocí dvouramenné váhy, na tři vážení, najít kuličku s odlišnou váhou?

Dvouramenná váha je úplně stejná váha, na kterém vážili v pekle Dorotu Máchalovou.

07.07.2004 - doplněno o řešení