Sunday 7 August 2011

BPEL vs ESB

Hi,


Oracle ESB:
  • ESB (Enterprise Service Bus) implement messaging to enable services to be integrated in a message-based paradigm: both synchronous and asynchronous styles.
  • ESB is good for routing messages to multiple destinations. It is also good for doing transformations that have little to no business rules. The footprint is much smaller and incurs minimal overhead therefore the performance is much better.
  • ESB is quite simply a highly efficient intergration product. Its principle objective is to join two different services together quickly, efficiently and bi-directional.
  • ESB virtualizes endpoints that BPEL is orchestrating
  • ESB does the heavy lifting of transformations to and from the canonical definition to endpoint definitions of the business objects.
  • ESB does not have the Sensors which can be used to monitor the activities that can send actions to Business Activity Monitoring (BAM) or database/jms.
  • ESB is used for Store and forward transport of data.
  • ESB is more reliable for moving the large data as compare to BPEL.
Oracle BPEL:
  • Oracle BPEL Process Manager provides a comprehensive, standards-based and easy to use solution for creating, deploying, and managing cross-application business processes with both automated and human workflow steps.
  • BPEL is used for bringing together multiple services. There is much more functionality and allows implementation of complex business logic.
  • BPEL is a Business Process Execution Language and as such its optimised for managing and coding business processes.
  • BPEL takes care of the stateful, long running, orchestration steps
  • BPEL operates on the canonical definitions of your business objects – such that your BPEL process is clean (minimal transformations, assigns) with the focus on the basic business logic and related compensatory error-handling logic.
  • BPEL data transformations enrich and perform complex changes whereas ESB can perform only simple transformations. Exception handling can be done in BPEL.
  • BPEL can use Business rules, Human Workflow and Notifications.
  • BPEL is used for Orchestration, data enrichment and also for Human interaction.