By using the Oracle WebLogic Integration versioning feature in the Oracle Workshop for WebLogic graphical design environment, you can make changes to your business process without interrupting any instances of the process that are currently running. Versioning provides the ability for any new process instances to use the newly-activated version, while process instances that are already in progress run to completion using the version that was active when they started.
Note: | Before using versioning with long-running business processes, please read Using Versioning with Long-Running Business Processes. |
When you version a business process, you create a child version of a business process that shares the same public URI (interface) as its parent. At run time, the version of the process that is marked as active is the process that will be accessed by external clients through the public URI.
Caution: | You can version business processes, but not the individual controls associated with that process or other business process related components, such as schemas and transformations. When you version a business process, you must also version the subprocesses of that process; they are not versioned automatically when their parent process is versioned. This means that any changes to you make to these components also impact any instances of prior process versions that are currently running. To avoid this problem, as you make the necessary changes, create duplicates of these components and utilize the duplicates instead of the originals. |
This section contains the following topics:
The first time you create a new version of a business process, the content of your original process is copied into the new version and the old process is no longer editable. If you ever want to return to the original state of your business process, it is recommended that you leave the first version of the process intact and only make any edits or updates to the second version of your process. To create a new version of your business process, complete the procedures in the following sections:
The Create Version window opens.
The Create Version window closes and the new version of your business process is added to the Package Explorer pane (see Figure 21-1).
The indicates that this version of the business process is the active version of the process. By default, the first version of a process becomes the new version since and the original version becomes a virtual URI which points to the active version of the process. All currently running instances of the process will run to completion using the original process, but the next time an instance of the business process is invoked through the public URI, the version you just created will be used for processing.
Note: | When you are creating process or service broker controls by right-clicking the virtual URI, the control will be created based on the active version of the business process with that URI. If you create the control by right-clicking the public URI of a version of a process, the control will be created based on the version of the business process that you selected and the Process.java file is not visible. |
The Create New Version File window opens.
The Create Version window closes and the new version of your business process is added to the Package Explorer pane.
The indicates that this version of the business process is the active version of the process. All currently running instances of the process will finish processing, but the next time an instance of the business process is invoked through the public URI, the version you just created will be used for processing.
You can change which version of your business process you want to be the active version at any time. To do so:
The version of the business process that you selected is updated in the Application pane to be the new active version, by changing its icon to . All currently running instances of the process will finish processing, but the next time an instance of the business process is invoked through the public URI, the version you just marked as active will be used for processing.
You edit any version of a process the same way that you edit any original business process. However, there are a some things you should keep in mind:
Note: | The error icon will not appear if the business process is not save. Go to File and click Save All. |
Notes: | If you delete the active version of a business process, the newest version of that business process automatically become the active version. If you delete the last remaining version of a business process, the content of that process is copied into the original Process file and the Package Explorer pane is updated accordingly. |
Some business processes are by nature long-running—meaning that they have a prolonged life span during which an ongoing business task is being automated or managed. By default, Oracle WebLogic Integration’s versioning capability allows only process modifications to be applied to new process instances, not to those already in progress at the time of the change. However, in the case of long-running processes, it is sometimes desirable to make changes to the process definition to reflect changing business conditions and to have these changes applied to process instances already in progress. To accomplish this goal, Oracle recommends the following design practices:
Note: | You can enable, disable, or set the activation time for versions using the Oracle WebLogic Integration Administration Console. |
When you import multiple versions of a business process (Process.java) from another application, the the versioning relationship is not preserved in the imported business process (Process.java). You need to manually edit the wlw-config.xml
configuration file, which is located in the \Web\WEB-INF
folder of your application.