I decided write this after reading several blogs where people were struggling with the complexities of managing project dependencies during deployment. It is common in most enterprises to have multiple projects which are dependent on other projects. My example below is for Oracle SOA, but the issue exists with many technologies and FlexDeploy makes it easy to handle such dependencies as you’ll see.
Project Dependencies
Projects can contain artifacts that depend on other artifacts. When dependencies like these occur between multiple projects, it is necessary to deploy them in a given order.
For example:
- SOA Services Project depends on MDS Objects project
- OSB Services Project depends on OSB common services project
- DB objects need to be deployed before the OSB and SOA projects
FlexDeploy makes it easy by providing a priority setting for these projects under an application, and makes sure these projects are deployed in desired order.
Deployment
Below is a screen shot of the project execution for this deployment. FlexDeploy executes requests based on the priority order configured for the application. I have the DB and MDS objects set to the highest priority so they can run first, and in parallel. After they complete, the OSBCommon project will be deployed. Then finally the HROSBServices and HRSOAService can be deployed in parallel.
Using FlexDeploy you can deploy any number of projects within an application and configure the dependencies as required. FlexDeploy takes care of the rest, it’s that simple. No need to modify xml files, property files, or deal with the dependencies manually. FlexDeploy manages all the dependencies, running parallel executions where appropriate, and all controlled by setting the priority for the projects within an application. That’s it!