MyEclipse “Sync-on-Demand” Deployment Technology
13Jul2003
When it comes to seamless J2EE development, application server deployment has always been the stumbling block for a true end-to-end solution. With Synch on demand deployment, MyEclipse provides developers an intelligent solution for uninterrupted and real-time development, testing and deployment on one or more application server environments, e.g., JBoss, WebLogic, and WebSphere. MyEclipse rich set of integrated application server connectors when combined with the innovative Synch-on-Demand deployment technologies has the power to greatly improve developers’ productivity.
Prior to MyEclipse’s “Sync-on-Demand” deployment technology, application server deployment was more an art than science. Technologists relied on one of two methods for deployment to application servers. Batched generation of packaged archives, typically using ANT scripts, is the most dominant method. This method is a direct application of traditional command-line build-management practices and involves writing additional script code to help package developers’ code in a way that can be interrupted by the application servers. Not only does this method add additional points of failure to an already complex development model for J2EE, it requires incremental experience for each application server, and creates artificial boundaries that stand in the way of interactive development practices. The result is a “big hammer” approach” since small changes require the same amount of work as large ones to resynchronize with application servers. As projects grow in size and number of developers, re-synchronization turns into entropy, forcing companies to add more process and structure at the expense of development productivity and to cloud line of sight between developers effort and end solution.
The second deployment strategy attempts to avoid the inefficiencies of batch packaging and redeployment by deploying projects from the IDE workspace directly to the application server in an exploded archive format. While more efficient, exploded archive formats have not always been possible without some batching effort. This approach typically requires that the user either manually modify application server specific configuration files or assume the risk of automating the modification of these files. Also, in environments like Eclipse where nested project structures are disallowed, configuring exploded archive projects is limited to Web and EJB projects. In the case of enterprise projects (EAR), this approach must be augmented with the use of intermediate batch-processing scripts to restage the deployed elements of one or more Web or EJB projects into an exploded EAR structure.
With Sync-on-Demand deployment, MyEclipse allows users to deploy a J2EE project to one or more application servers, simultaneously if desired. As changes are made to the project’s codebase, the modified components are updated to each server in one fluid process. Sync-on-Demand works with either packaged deployment or exploded archive models, the later being the most advantageous to developers. The MyEclipse Sync-on-Demand Deployment Agent, which plugs into the Eclipse incremental builder framework, insures deployment consistency by monitoring all changes that may affect a project’s deployment. As project changes are detected, Sync-on-Demand determines the minimum amount of work required to synchronize a deployment and then performs the necessary operations. The Sync-on-Demand strategy avoids the time consuming batch redeployment issues as well as the need for manual or automated alteration of server configuration files.
Prior to MyEclipse’s “Sync-on-Demand” deployment technology, application server deployment was more an art than science. Technologists relied on one of two methods for deployment to application servers. Batched generation of packaged archives, typically using ANT scripts, is the most dominant method. This method is a direct application of traditional command-line build-management practices and involves writing additional script code to help package developers’ code in a way that can be interrupted by the application servers. Not only does this method add additional points of failure to an already complex development model for J2EE, it requires incremental experience for each application server, and creates artificial boundaries that stand in the way of interactive development practices. The result is a “big hammer” approach” since small changes require the same amount of work as large ones to resynchronize with application servers. As projects grow in size and number of developers, re-synchronization turns into entropy, forcing companies to add more process and structure at the expense of development productivity and to cloud line of sight between developers effort and end solution.
The second deployment strategy attempts to avoid the inefficiencies of batch packaging and redeployment by deploying projects from the IDE workspace directly to the application server in an exploded archive format. While more efficient, exploded archive formats have not always been possible without some batching effort. This approach typically requires that the user either manually modify application server specific configuration files or assume the risk of automating the modification of these files. Also, in environments like Eclipse where nested project structures are disallowed, configuring exploded archive projects is limited to Web and EJB projects. In the case of enterprise projects (EAR), this approach must be augmented with the use of intermediate batch-processing scripts to restage the deployed elements of one or more Web or EJB projects into an exploded EAR structure.
With Sync-on-Demand deployment, MyEclipse allows users to deploy a J2EE project to one or more application servers, simultaneously if desired. As changes are made to the project’s codebase, the modified components are updated to each server in one fluid process. Sync-on-Demand works with either packaged deployment or exploded archive models, the later being the most advantageous to developers. The MyEclipse Sync-on-Demand Deployment Agent, which plugs into the Eclipse incremental builder framework, insures deployment consistency by monitoring all changes that may affect a project’s deployment. As project changes are detected, Sync-on-Demand determines the minimum amount of work required to synchronize a deployment and then performs the necessary operations. The Sync-on-Demand strategy avoids the time consuming batch redeployment issues as well as the need for manual or automated alteration of server configuration files.


