EJB - potřebujeme střílet vrabce “kanónem”?
Tímto chci všem zůčastněným poděkovat za podnětné připomínky k mým EJB příspěvkům.
Rád bych reagoval především na jAbLoK spot “EJB 3.0 aneb Proč že tu mrtvolu stále resuscitují?“od Pavla Kolešnikova, který jsem pochopil jako vyčítání komplikovanosti specifikace EJB 2.x pro jejich nutná rozhraní, záznam v DD, či vyhazovaní vyjímek. Pavel staví rovněž otázku, zda jsou EJB vhodné pro triviální webové aplikace.
Ale co když nechceme psát “jednoduchou” webovou aplikaci, ale skutečně systém, který musí být škálovatelný a robustní, kde musíme používat clustering a load balancing a kde uvítáme, že se pro vyžadovanou spolehlivost a složitost rádi soustředíme hlavně na business implementaci?
EJB přece ví a počítají s tím, že budou použity pro rozsáhlé projekty a zastřešují hlavní potřeby vývojářů tím, že se na sebe snaží převzít do maximální možné míry tolik potřebný “background”. IDE díky jasným pravidlům umožňují tvořit komponenty velmi rychle a celý návrh tak minimalizuje množství chyb. Že jsou třeba k beanu minimálně 2 další rozhraní (pominu-li message-driven beans)? No a? Pravidla jsou tak dána, umožňují nám pak určitou funkčnost a je na každém, zda mu tato vyhovuje, či ne.
Technologií pro Javu je velmi mnoho a nelze jednoznačně říct, že EJB jsou všelékem na veškeré problémy, které musíme řešit. Místo porovnávání “kdo z koho” je rozumných východiskem zvážit, čím může být konkrétní technologie přínosem pro náš projekt. Pokud se najde vhodnější kandidát pro naše potřeby, bylo by hříchem jej nepoužít. Právě volnost rozhodování nám dává prostor pro další zdokonalování a psaní kvalitnějšího software. A pro mě jsou EJB vhodnou technologií.