Many people asked me this question..Can I use Oracle ESB instead of BPEL to do integration work and If there is BPEL then why we go for ESB?
Well..well..The answer is simple & it lies in the description of both.
BPEL: Business Process Execution Language
ESB : Enterprise Service Bus
BPEL is optimized for coding and managing Business processes. You can go for BPEL if you are dealing with complex Business logic which involves complex transformations, database operations and workflow. Many people have done integration projects successfully using BPEL.
Then why ESB???
You go for ESB if you need connectivity with simple transformation, routing and a low cost. Its principle objective is to join two different services bi-directionally, quickly and efficiently. One of many advantages is the possibility of virtualizing a service transparently to its consumer, providing transformation from its native format into a canonical one, as well as reliable routing. It also provides the facility of Domain Value mapping lookups.
Its also worth noting that doing integration work with Oracle ESB is not only quicker to "build" but its also quicker in its execution.
ESB: Need connectivity, simple transformations routing and low cost solution.
BPEL/BPEL+ESB: Complex business logic, Integration with Workflow, Complex transforms, Complex database operations, Have Long running processes which may or may not be stateful.