Service-oriented architectures (SOA) provide numerous benefits: reuse of
business logic by many clients, location transparency of business logic,
simplified unit testing, better scalability through distributed and
load-balanced processing, and the composition of new services from existing
services. Enterprise JavaBeans are a favorite platform on which to base
service-oriented architectures because of their enterprise-class features.
As many new SOA applications are now developed on the J2EE platform, a
problem arises: how to maintain 100% availability while deploying maintenance
fixes and new versions of the services. Most application server vendors do
not recommend hot deployment of applications in production; problems may
occur with unloading classes, class loaders, and resources being used by
existing deployments. Instead, the vendors recommend restarting the serv... (more)