The Enterprise JavaBeans architecture provides automatic support for
distributed transactions in component based applications. Such distributed
transactions can atomically update data in multiple databases, possibly even
distributed across multiple sites. The Enterprise JavaBeans model shifts the
complexities of managing these transactions from the application developer
to the container provider.