úterý 26. června 2007

Servlety - co nás čeká a nemine (doufejme)

Minulý týden se pod JSR 315 objevila specifikace Servlet 3.0. Netuším sice proč se změnilo číslování, když poslední verze byla 2.5, ale to není to podstatné. Servlet 3.0 specifikace je plánována pro J2EE 6.0 a je řízena dvěma hlavními tématy a to jednoduchý vývoj a jednoduchá integrace web frameworků postavených nad Servlety.

jednoduchý vývoj
Servlety byla jedna z mála oblastí, které se nedotkly změny v Jave 5, speciálně anotace a generiky. To by měla verze 3.0 napravit. Další pěkná věc, která se osvědčila v EJB 3.0, je minimální nutná konfigurace a eliminace XML deployment descriptorů.
integrace web frameworku
Většina web frameworků se integruje na úrovni web.xml kde se definuje servlet či listener pro inicializaci a příjímání požadavků. Díky anotacím by nemělo být nutné deklarovat tyto věci v web.xml. Dále by mělo být servlet API rozšířeno o možnost programového přístupu web.xml a možnost měnit zadané hodnoty.
zpracování požadavku
Neblokující čtení/zápis, odložení zpracování požadavku, asynchronní notifikace a další požadavky, vyplívající z Comet přístupu viz článek Komety přilétají.
bezpečnost
podpora přihlášení, odhlášení, registrace. Není mi sice moc jasné jak tyto konkrétní operace začlenit, ale uvidíme.
spolupráce s dalšími JSR v J2EE 6.0
Především se jedná o připrované specifikace pro JSF 2.0 (JSR 314) a REST (JSR 311) a z nich vyplývající požadavky.
drobné úpravy
vylepšená welcome file definice, pořadí servlet context listenerů, file upload podpora (progress listener)

K přispěvatelům a inspiraci v oblasti integrace budou použity známe open source frameworky jako Grizzly (HTTP/S connector), DWR (Comet a AJAX framework), servlet kontainery Jetty, Apache a webframeworky jako Struts, Shale, Spring Web Flow. První veřejné review specifikace by mělo být k dispozici na konci tohoto roku.