Business processes evolve over time. They need to reflect changing environments and business needs. These changes might be business-driven changes, such as changes in regulations, or optimizations of processes. Business-process applications can include long-running BPEL instances. These instances can run for weeks, months, or even years. This characteristic imposes specific requirements on the introduction of new versions of BPEL processes.
To create a new version of your BPEL process, create a new version of the corresponding module in Integration Designer, and make the changes that you need for the new process version. If the process is not part of a process application or toolkit, you must also give the new version of the process a valid-from date. To enable the migration of any existing process instances to the new version, you must also define a process migration specification in Integration Designer, and deploy it with the new version of the process.
After the new version of the BPEL process is deployed, new process instances can be created from the new version of the process. Existing instances continue to complete using the version that they were created and started with, or depending on the nature of the changes to the process, they can be migrated to the new version. In some situations, for example, when you want to correct an error in the process, you might also want to migrate the running instances of a process to the newer version so that they complete using this version.
A BPEL process that is deployed by exporting an enterprise application (EAR) file from Integration Designer, and installing it on a process server is versioned using time-based versioning. A process version is identified on a deployment target using the process name and the valid-from date, which is based on the valid-from property that was specified in Integration Designer.