Distributed transaction processing is the best solution for providing enterprise software systems with high performance. However, it needs an environment that assures consistency beside high concurrency. Therefore in this paper we extend the Concurrency Control Service (CCS) of CORBA with new features, such as generic calling context, fault tolerance and deadlock management. The most outstanding feature of ECCS is the generic calling context that makes it applicable for both transactional and non-transactional clients. Through fault tolerance considerations, ECCS supports long-duration distributed transactions in addition to short-duration ones. Deadlock management efficiently prevents any deadlock occurrences. The experimentations show that we successfully included all the new capabilities with an acceptable amount of overhead and without negatively affecting the scalability of CCS.