WebLogic application server provides Hot Deployment (a.k.a. Side by Side Deployment or Production Redeployment) feature to update applications without affecting existing clients. How does it work? – WebLogic performs deployment of newer version of application alongside existing version, new clients will use newer version of application whereas existing sessions continue to use older version. Older version of application is eventually retired when it does not have any active connections.
This is very useful for critical applications where downtime is not allowed. FlexDeploy WebLogic Plugin makes it very easy to implement Side by Side deployment without use of any Scripting. Here is FlexDeploy workflow for this purpose which just uses FlexDeploy WebLogic plugin’s sideBySideDeploy operation.
Plugin operation takes care of all necessary steps to perform side by side deployment. For example, plugin will
- Undeploy previously retired application version if present.
- Update unique version string in MANIFEST.MF file.
- Place new deployment archive in unique folder.
Now let’s deploy two different versions of sample application to WebLogic cluster. We will first deploy version 1.0.4 of WorkBetterFaces and then version 1.0.5 using FlexDeploy. Once version 1.0.5 is deployed, 1.0.4 will be retired. Deployment activity can be seen on FlexDeploy project as shown below.
After deployment of version 1.0.5, WebLogic console will look like this. You can see that version 1.0.4 is in stop Running mode as there are users using the application. New user sessions will use version 1.0.5.
At some point, user sessions connected to version 1.0.4 will be timed out, and it will be marked as Retired.
At this point if we deploy version 1.0.6, FlexDeploy will undeploy version 1.0.4 before deploying new version as this Side by Side deployment strategy requires that only one version be installed when deploying new application version.
We did not talk about configuration (Admin URL, Credentials etc.) in this post, but that is very standard setup in FlexDeploy Topology. You will configure target server or cluster on FlexDeploy project. This allows for reuse of Workflows across many projects.
Download FlexDeploy Community Edition to try all these features.