Abstract. In this experience report, we present an evaluation of different techniques to manage concurrency in the context of application servers. Traditionally, using entity beans is considered as the only way to synchronize concurrent access to data in Jave EE and using mechanism such as synchronized blocks within EJBs is strongly not recommended. In our evaluation we consider the use of software transactional memory to enable concurrent accesses to shared data across different session beans. We are also comparing our approach with using (1) entity beans and (2) session beans synchronized by a global lock. Key words: Application Server, Java EE, EJB, Software Transactional Memory 1 Intoduction Multicore CPUs have become common nowadays, but taking advantage of their processing power is still considered a hard task. There is a big gap between the scientific community and specialized vendors on one hand, and end developers with domain-specific skills but limited experience with mult...