DistributedTransaction is hard. And JavaLanguage is not easy either. Apparently sometimes, somewhere, someone felt it worthwhile to implement JavaDistributedTransaction. I hope there will be some good stories coming through, for purposes of mutual education.
JavaTwoEnterpriseEdition is a federation of several specifications, one of which is the JavaTransactionApi
? (JTA). So you don't need EJB to do distributed transactions.
EnterpriseJavaBeans is a component model that also has implicit transaction demarcation. You do need a JTA-based transaction coordinator, which usually comes with a J2EE server. JTA doesn't re-invent the transaction wheel, it's just a binding to the XA standard model and re-uses CorbaIiop
? as one of the accepted wire protocols.