What is a Business Process?
Web Services Business Process Execution Language (WS-BPEL) is an XML based programming language used to describe high level business processes.
What do you mean by business process?
A business process describes the interaction between two businesses or two sectors of the same business. For example, in its simplest form, company A is purchasing something from company B. In a Web services environment, this interaction can be described so thoroughly that company B can provide a Web service containing account information and company A can use the Web service with almost no compatibility issues to complete the transaction. BPEL makes it easier to work with services-based processes.
A BPEL process can be synchronous or asynchronous.
- Synchronous — A synchronous BPEL process is one which you call and wait for the reply before proceeding further. Very simply this means that you wait for the process to finish before moving on to another task. This type of process is used in real-time processing of services.
- Asynchronous — Asynchronous processes lets you move on to another task before it finishes. Asynchronous processes are usually used for longer-lasting processes and synchronous for processes that return a result in a relatively short time. If a BPEL process uses asynchronous Web services, the process itself is usually also asynchronous.
Tell me about Web services
Web services can be implemented using one of these methods; SOAP (Simple Object Access Protocol) or RESTful (REpresentational State Transfer).
SOAP Web services
Web services are platform independent. SOAP Web services are described using a WSDL (Web Services Description Language) and so can be used on any computer and with any operating system because everyone is using the same language. They are also designed to be "distributed"; this means that it doesn't matter where the Web service is running or where you are when you communicate with it. The WSDL looks the same, only the address of the Web service changes.
A WSDL document describes exactly how to interact with the Web service, but it doesn't force a specific implementation. This is how compatibility problems between two Web services are significantly reduced.
REST Web services
REST services are an alternative to SOAP and make Web services easier to build and more lightweight. REST services use HTTP methods and each unique URL represents an object. The HTTP methods supported are GET (to get the contents of the object), and then POST, PUT, and DELETE which you can use to modify the object.
How does BPEL work with Web services?
You use BPEL to create services that use other services by providing tools that make it easier to define complex workflows and processes when working with services.