| CONTENTS | PREV | NEXT | INDEX | J2EE BluePrints |
The J2EE platform provides facilities to make the deployment process simple. It uses JAR files as the standard package for components and applications, and XML-based deployment descriptors for customizing parameters. For the most part, the facilities provided by the platform support simplified application development through the use of tools that can read and write deployment descriptor files. These tools present users with a more intuitive view of the structure of an application and the capabilities of its components.
The J2EE packaging and deployment process involves three different J2EE roles: Application Component Provider, Application Assembler, and Deployer.
Application Component Providers specify component deployment descriptors and package components into modules. Application Component Providers should ensure that the Application Assembler and the Deployer can customize an enterprise bean's business logic via deployment descriptors rather than modifying source code. When packaging components into modules, Application Component Providers need to balance between the competing goals of reusability and simplicity.
Application Assemblers resolve dependencies between deployment descriptor elements in different modules and assemble modules into larger deployment units. Deployers customize deployment descriptor elements for environment in which the application is deployed and install deployment units. The Deployer must ensure that the values of all the environment entries declared by an enterprise bean are set to meaningful values.
The packaging and deployment process is best handled by specialized tools. Both Component Providers and Deployers need to deploy applications; however, their deployment needs are different. Component Providers want fast response times, and the ability to undeploy, redeploy, and partially deploy applications easily and quickly. In production, the priorities are robustness, performance, and stability. Deployment tools need to address both sets of requirements, as well as J2EE goals such as portability and backwards compatibility.