I have a situation where the routing rules are complex (involving several web service calls and DB lookups) and cant be done in a Mediator.
In this scenario, should I create an EBF and implement these additional lookups and routing logic there?
Or should I change the EBS from Mediator based composite to a BPEL based composite?
Or simply create an additional BPEL within EBS and call that from Mediator?
Any other options?
Please let us know what Oracle recommends in such situations.
Implementing an EBF in a separate composite would be the usual choice while leaving the EBS as it is, i.e. as simple mediation step in the flow handing incoming messages to this new EBF (and eventually also handling the reply or callback).
I have couple of doubts around that.
If we implement an EBF, should we make calls to external lookup web services called for determining the route? I am not sure if it is advised against to call external services from EBF or now.
It depends what these external services actually are. If we consider these services helper services in a sense similar to a rule engine, calling them directly from the EBF is no issue.
If these services are rather application services, then they should preferably have a canonical facade and the EBF would call them through the same or another EBS - depending on which canonical it would be.