As of today, the Java language has not only gained success with desktop
applications and web applets but also has taken a strong place as the platform of
complex server-side enterprise systems. Such applications have to meet various
non-functional requirements, such as scalability and reliability. These factors also
determine at what extent they can satisfy user needs and how they help the company
to accomplish its goals. An application that cannot deal with incoming requests
can easily lead to unsatisfied clients that means a risk for the business success.
Enterprise applications have their specific tasks, such as persistence or
authentication. These are usually implemented by a middle layer, the so called
middleware. The middleware services significantly help the rapid development
because the developer does not have to implement these herself. On the other
hand, they contribute to the correctness of the software because they usually offer
a mature solution for these problems.
In the field of Enterprise Java development, various alternatives have emerged
that implement the middleware services and help meeting the non-functional
requirements. The choice among them is not always trivial because the different
technologies focus on different aspects and they are evolving quickly, sometimes
adopting solutions of other vendors, sometimes choosing totally different ways.
This Master's Thesis explains the two most significant technologies of this kind –
Enterprise JavaBeans and Spring Framework – and also compares them, providing
some guidelines for the choice.