BPEL vs ESB
Hi,
I want to raise this oft-repeated question and compile all the information in one thread.
The following are the points of comparison between the two that I can think of. Please verify and add to the list:
Use ESB: The payload has everything needed for transforming into the output format
Use ESB: Transformations and invocations are simple, say sequential
Use ESB: Stateless
Use ESB: Memory footprint - smaller for ESB for similar project (say developing a program that reads a DB and writes a file)..can somebody provide any figures
Use ESB: When you want to use DVM (BPEL does support DVMs via lookup-dvm, but its easier to use them in ESB)
Use BPEL:Orchestration required
Use BPEL:Long-lived or chatty application
Use BPEL:Need to send notification
Use BPEL:use business rules
Use BPEL:splitting joining of payloads - maybe this is possible in OSB
Use BPEL:content validation required based on business rules (and not necessarily xsd based)
Use BPEL: when participating apps support only HTTP/XML
Use BPEL: WSDL operations having multipart in messages
Use BPEL: Need to send binary attachments
Use BPEL: Monitoring using BAM etc. BPEL offers sensors
Use BPEL: Require control over error handling. BPEL also supports fault policies (not sure if ESB supports these too)