Cesare Pautasso discusses the conceptual relationship between business processes and stateful RESTful services, showing how BPM can be used to design and implement hypermedia-based services.
Cesare Pautasso is assistant professor at the Faculty of Informatics of the University of Lugano, Switzerland. Previously, he was a researcher at the IBM Zurich Research Lab and a senior researcher at ETH Zurich. Pautasso is the lead architect of JOpera, a rapid service composition tool for Eclipse.
The International SOA Symposium is a yearly event that features the top SOA experts and authors from around the world, providing a series of keynotes, talks, demonstrations, panels, and SOA training and certification workshops - all with an emphasis on realizing SOA in the real world.
This prompted me to recall a posting by Fielding
Re: Source Code
REST as a Service Implementor or as a BPM engine?
OK, it is not that clear from presentation what is the integration approach, or how can I use REST in the BPM world. It is mentioned, I guess it is not stressed enough.
When you talk about BPM and then you talk about Services, common understanding is using a modeling language (BPEL) to invoke services in a workflow. That flow is called a Business Process (BP). If we mention REST Web Services, the immediate assumption is we will use BPEL to invoke a REST WS.
That idea is reinforced in the talk when Cesare presents the connectors slide, comparing RCP, Messaging and REST "connectors". The idea of expanding BPEL to be able to invoke REST WS is mentioned somewhere too.
But later on, the other idea is presented succinctly. The resource concept is to broad, we can use it to represent the whole BP itself. Actually, the BP modeling can happen directly using the Hypermedia and state combination REST is famous about. And that approach is the one presented in the last part of the talk. In other words, I can actually model a BP using REST!.
Anyhow, both approaches have some mismatches if we think of BPs as a flow of services invocations. For instance, REST as a BP workflow engine implies one BP task is actually an interaction with a resource, very different from a service invocation. One of my claims is that we can use services and SOA to implemented BPs, but they are not the only way, thus the REST approach is perfectly valid, although not the one we are used to.
The idea is a good one, needs to be further discussed though.
William Martinez Pomares.