When to use BPEL and ESB?

As a newbie, how do I decide if a particular process should be implemented as an ESB or BPEL?

What are the various parameters that should be used to decide whether they should be used for implementation?

+4
source share
3 answers

First of all, an ESB is just a concept, while BPEL is an OASIS standard based on XML and web services. The BPEL file is actually XML.

You use ESB when you need to connect 2 or more applications together to avoid direct point-to-point integration. This offers various benefits, such as translating messages from one format to another or introducing other messaging templates. An ESB communication is usually stateless, that is, the message goes through, is routed to its destination, and it ends there. ESB is a very broad term, interpreted and misinterpreted by suppliers to sell their products.

A business process management system that implements BPEL and similar technologies, on the other hand, is associated with tracking the progress of various activities and their relationships. The BPEL process is very similar to a flowchart. The BPEL process saves state, tracks its progress and flow, and is commonly used (though not necessarily) in transactions with long transactions, which may also include manual human tasks.

A sample BPEL process tutorial is a loan processing application. A request for a clientโ€™s credit arrives, and the process first performs some automatic checks using web services calls in some systems, and if the credit rating is too low, the system informs the manager about the need to manually evaluate the form (through some workflow system). The process then expects a callback from the personโ€™s workflow system, uses some correlation method (some identifier) โ€‹โ€‹to match it with the correct BPEL process (so that the correct client is served), and resumes the process accordingly.

+11
source

The ESB from my experience always refers to processes that do not include a wait state. When you just look at the list of services and point to point b without any pause states, I would use an ESB. ESBs can also handle more message requests.

At any time when human interaction is involved (entering values, viewing a view), I tend to implement this in BPM. They tend to have more robust handling of long-term expectations.

+2
source

There are several questions you should ask yourself when choosing between ESB and BPEL. Among the most important:
- I am dealing with a stateless process (then I choose ESB) or stateful (so I choose BPEL)
- I need to process a large amount of short messages - in this case I choose ESB
- I need the organization of business processes - then I use BPEL

Here you have a good resource for your question: http://www.ibm.com/developerworks/websphere/library/techarticles/0803_fasbinder2/0803_fasbinder2.html

-2
source

Source: https://habr.com/ru/post/1332449/


All Articles