- Oracle SOA BPEL Process Manager 11gR1:A Hands-On Tutorial
- Ravi Saraswathi Jaswant Singh
- 337字
- 2021-08-20 16:47:08
BPEL correlation
Correlation is a process that matches incoming messages to a particular BPEL process instance. Synchronous BPEL does not require correlation. Correlation is only required for asynchronous BPEL processes.
Oracle BPEL Process Manager automatically establishes correlation using WS-Addressing. However, manual content-based correlation is required if the asynchronous service doesn't support WS-Addressing or the BPEL message is coming from an external system.
Oracle BPEL Processor Manager has the following two methods for correlating asynchronous callback messages to the calling instance.
- WS-Addressing
- Correlation sets
One needs to write a manual correlation for the following scenarios:
- Calling service does not support WS-Addressing.
- When the asynchronous call has multiple layers. For example, Service A calls B, B calls C, and C Calls D. Response comes from D to A (instead of D to C to B to A). Another option in this scenario is to manipulate the replyTo header without implementing custom correlation.
Creating a Correlation set
A correlation set is a set of properties shared by all messages in the correlated group. These properties must be defined in a WSDL file imported into the BPEL process.
The first step is to create a correlation set. In order to create a correlation set, first click on the Correlation icon (up and down green arrow icon) on the JDeveloper, as shown in the following screenshot. Second, click on the green plus sign on the Correlation Sets window, as shown in the following screenshot that will open the Create Correlation Set window. Third, enter the Name and click on OK. Another option to create a correlation set is to create it from Invoke and Receive activities.

Associating the Correlation set
In JDeveloper, double-click on the Receive activity on BPEL on the Design view as shown in step 1 of the preceding screenshot. It will launch the Edit Receive window, as shown in the following screenshot. Click on the Correlations tab and populate the Correlation Set and Initiate values, as shown in steps 2 and 3 of the following screenshot. Click on OK.

- Java系統分析與架構設計
- Java高并發核心編程(卷2):多線程、鎖、JMM、JUC、高并發設計模式
- 編寫整潔的Python代碼(第2版)
- 匯編語言程序設計(第2版)
- JavaScript:Moving to ES2015
- iOS開發實戰:從入門到上架App Store(第2版) (移動開發叢書)
- C語言程序設計與應用(第2版)
- 計算機應用技能實訓教程
- 算法設計與分析:基于C++編程語言的描述
- Advanced Python Programming
- Java EE 8 and Angular
- Java高級程序設計
- Python第三方庫開發應用實戰
- Unity與C++網絡游戲開發實戰:基于VR、AI與分布式架構
- Python自動化開發實戰