As I understand it, the problem EJBs tried to solve was
the need for server logic that could be isolated & thus made persistent if needed, but more importantly an EJB conformed to a standard design that supported getters setters *and* introspection.
A EJB container being the mechanism for managing the persistence of the beans.
AFAIR IBM's Hursley lab (of CICS fame) had a lot to do with the architecting & developement of EJB despite any dubious claims to the contrary from Sun. IBM were trying to bring some scalability to Java.
As a former strong proponent of Java, I find it has become so damned complex and has so many non-OOT exceptions to the rule, that I wonder why the world missed ST.
But such is life ...
Doug Marker
(Java was so digestable to former C programmers)