Ich bin gerade auf dem Rückweg vom MATHEMA Campus, wo ich einen Vortrag
über Spring gehalten. Das Feedback war ausgesprochen gut.
Dennoch habe ich ein mulmiges Gefühl von dort mitgenommen. Ich habe das
deutliche Gefühl, dass EJB in den Köpfen so tief verwurzelt ist, dass es
die Default-Technologie-Entscheidung ist. Auf der einen Seite ist dies
nicht überraschend, denn das Publikum dort ist eben EJB-minded. Aber auf
der anderen Seite ist es dann doch sehr erstaunlich, denn die Schwächen
von EJB sind seit langem bekannt. Es sind zahlreiche Artikel über dieses
Thema geschrieben worden und auch schon Vorträge darüber gehalten
worden. Ich selber habe mich mit diesem Thema 2003 beschäftigt und das
Buch "Bitter EJB" ist auch in dem Bereich erschinen. Jetzt ist es zwei
Jahre später und ich habe das Gefühl, wenn man die Frage stellt, warum
man EJB verwendet, wird man komisch angesehen. Es wird nicht mit
Nachdruck versucht, EJB als Technologie aus den Projekten zu
eliminieren, sondern es wird drumherum gebastelt.
Mich beunruhigt dies nicht wegen dem "Spring vs. EJB" Thema. Ich hoffe,
dass wir eines Tages einfach einen Stand erreichen, bei dem wir
unorthodox einfach die beste Technologie verwenden. Mich beunruhigt es,
weil es bedeutet, dass wir genau an dieser Stelle der "unorthodoxen
Sicht" nicht sind. Da Java zunehmend unter Druck von anderen
Technologien wie Ruby gerät, können wir als Java Programmierer uns
eigentlich nicht leisten, auch nur das kleinste bischen Produktivität
durch falsche Entscheidungen zu opfern. Wenn aber EJB schon so lange als
Problem bekannt ist, sollte doch das Ziel eines "mercy-less
Refactorings" die Eliminierung von EJB sein. Oder?
PS: Um es noch deutlich zu sagen: Die Rede ist in erster Linie von EJB
2.1, auf das sich ja auch die Kritik bezieht. Mit EJB 3 ist die
Technologie zwar einfacher, aber trotzdem sehe ich kaum zwingende Gründe
für den Einsatz von EJB 3.