Firstly, we will develop an event-driven BPEL process. This is a BPEL process triggered by a business event. We will develop a process for book shelving. As we have already mentioned, such a process can be executed on various occasions, such as when a book arrives to the bookstore for the first time, after a customer has looked at the book, or even during an inventory.
In contrast to a BPEL process, which exposes an operation that needs to be invoked explicitly, our book shelving process will react on a business event. We will call it a BookshelfEvent
.
We can see that in order to develop an event-driven BPEL process, we will need to firstly declare a business event, the BookshelfEvent
. Following this, we will need to develop the event-driven book shelving BPEL process.
We will declare the BookshelfEvent
business event, which will signal that a book is ready to be book shelved. Each business event contains a data payload, which is defined by the corresponding XML schema type. In our case, we will use the BookData
type, the same one that we used in the book warehousing process.