How to use Logical Receiver Determination
At runtime, logical receiver determination can route calls of a consumer to the binding of a provider, based on given business context data.
In collaborative business processes, calls are often distributed between applications on different systems in a system landscape. For example, a sales order may need to be sent to one or more production sites before it can be completed. In situations such as these, when calls need to be sent to more than one provider system, a consumer application can use logical receiver determination to decide which provider system to send a call to.
Logical receiver determination can be used in parallel with technical receiver determination. Logical receiver determination provides context based routing to provider systems. Technical receiver determination provides routing based on technical IDs.
The graphic shows that in the consumer system, for a given service group three provider systems are configured and logical receiver determination provides the routing to the provider systems based on a business context containing "Sales Organization" and "Country".
A consumer application can call the same service in any of the three provider systems. The consumer application uses logical receiver determination to find the appropriate receiver to send a call to.
Logical receiver determination uses routing rules to decide which provider system to send a call to. For example, in the graphic, a call for sales organization 01 and country USA will be sent to provider system 1. A call intended for sales organization 02 and France will be sent to provider system 3.
Without logical receiver determination, an application uses a consumer proxy to communicate with a provider system. Here, the application itself decides what consumer proxies are needed. With logical receiver determination, the application uses the service group to determine what consumer proxies are needed. Logical receiver determination does not replace the consumer proxy.
Concept Document of Technical and Logical Receiver Determination
Logical receiver determination is only supported with the help of service groups. Service groups are only used in business scenario configuration.
The consumer application has to use the programming model of service groups in order to enable logical receiver determination.
The service group used must enable logical receiver determination. Therefore a LRD structure must be assigned in the service group.
Create routing rules in order to enable Logical Receiver Determination for a service group to one or more recipients:
- Start SOA Manager.
Use transaction SOAMANAGER. SOA Manager is opened in a new window.
- Go to the Service Administration tab.
Choose Logical Receiver Determination.
The system displays an overview of service groups for which routing rules have already been maintained.
To create new routing rules for a service group, choose Create.
A wizard is started. Follow the instructions on the screen.
Specify an existing service group and a provider system or business application.
The service group must be assigned an LRD filter structure.
Section "Service Group Details" information of the service group is shown.
Section "Routing Parameter for logical receiver determination" allows maintenance of new and existing routing rules.
"Create New Routing" creates a new routing based on information entered below
"Apply to Routing" applies changes to existing routing which has been marked before.
"Reset" will reset the routing parameter entry block to its initial state
Section service group routing details shows the routing rules.
"Delete Routing" deletes complete selected routing
"Activate/Deactivate" activates/deactivates the selected routing
"Delete Routing Row" deletes selected routing row.
"Simulate" opens simulation tool for the ServiceGroup
"Check Routings" offers check functionality for all routings of the service group
"Settings for Routing Check" allows configuration of routing check functionality
Enter routing rule and click "Create New Routing"
The new routing will be displayed in table underneath
Wizard is finished and changes are saved.
To change routing rules of a ServiceGroup, select it and choose Edit.
The routing IDs, provider systems, and the attribute values and statuses are displayed.
Maintenance is as described before.
Routing rules for logical receiver determination have been defined. Now application is able to perform consumer calls using logical routing based on defined business context.