UserTransaction vs. TransactionManager
The UserTransaction interface allows applications to control transaction boundaries. The TransactionManager interface allows the application server to control transaction boundaries on behalf of the application being managed.