Client-server architecture is a well documented and popular approach to design of distributed systems. A server that provides a set of services (applications) to various clients is called an application server; such servers have a common set of needs to fulfil their role. These needs are addressed by providing a software package that encapsulates many of these areas of functionality into one bundle. Many different software bundles exist, but probably the most renowned ones are Red Hat’s JBoss, IBM’s WebSphere, Oracle’s Oracle Application Server and BEA WebLogic. Almost every enterprise application is required to persist various data beyond the execution time frame, being customer information, product information or whatever data is needed to provide certain functionality over time. A typical application server consists of an application server frontend which hosts a number of enterprise applications that does all communication with the clients and a backend database which ensures persistent data. The work of mapping relational data (relational databases store data in relations, much different from the object oriented approach commonly used in applications today) to objects within the enterprise applications running on the application server is tedious and error prone, this mapping is provided by the application server software bundle to ease development of enterprise applications. Sun provides JavaEE (Java Enterprise Edition version 5) as a framework for developing server side applications. One of the major parts of Java Enterprise Edition is Enterprise Java Beans (EJB) specification. EJB is a framework aiding developers in creating frontend interfaces for the clients (called session beans) and classes representing persistent data (called entity beans). These classes are plain old java objects (POJO) with annotations that define how the application server should handle these classes (more on this in sections 2.2 and 2.3).Web services is a new communication standard between server and client and is based on XML as data representation language and WSDL as definition language. The server publishes via WSDL what services it can provide and the client can connect to the web service endpoint to utilize this service. Web services have gained broad acceptance as the new standard for language neutral software communication.This thesis will focus on a detailed analysis of a Java EE software stack with primary focus on the persistence and object relational mapping section. To achieve this, a system that mimics the TPC-App (Transaction Processing Performance Council, 2005) specification will be used (see section 3.1 for further details).