XProc versus BPEL

Hi Folks,

I've taken a stab at comparing XProc and BPEL. I am just starting to learn BPEL, so I'd appreciate corrections to any errors I may have made. Also, are there are other important comparisons between XProc and BPEL that I haven't shown? If so, please let me know and I'll add them. /Roger



XProc (XML Pipeline Language)[1] and BPEL (Business Process Execution Language)[2] are workflow languages. Below is a side-by-side comparison.

------------------------------------------------
XProc					BPEL
------------------------------------------------

W3C technology			OASIS technology


XML-based description		XML-based description
of workflows			of workflows


lightweight, goal is to		heavyweight, goal is to
provide an 80% solution		provide a 100% solution


supports orchestration of 	only supports orchestration
both REST and SOAP-based	of SOAP-based web services
web services


XProc processors: 		BPEL processors:
    Calabash[3]			    Oracle BPEL Process Manager[4]
 					    Apache ODE (Orchestration 
						          Director Engine)[5]


kinds of flows supported:	kinds of flows supported:
   - sequential			   - sequential
   - conditional			   - conditional
   - iterative			   - iterative
   - parallel			   - parallel


can orchestrate both		can only orchestrate (SOAP-based)
web services and 			web services
applications (e.g.
XML Schema validators,
XSLT processors)


Does not support			Supports event-driven workflows,
event-driven workflows		e.g. a process may specify that
					a workflow task is to be executed
					when a certain message is received,
					or when a certain time is reached


synchronous workflows only	synchronous and asynchronous workflows


Single-run workflows,		Supports long-running workflows
i.e. no infinitely		(days, months, years), i.e. supports
looping workflows			infinitely looping workflows


does not support workflows	does not support workflows
that have humans in the 	that have humans in the
loop, i.e. automated 		loop, i.e. automated
workflows only			workflows only


[1] XProc: http://www.w3.org/TR/2008/WD-xproc-20080814/

[2] BPEL: http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.pdf

[3] Calabash: http://xmlcalabash.com/

[4] Oracle BPEL PM: http://www.oracle.com/technology/products/ias/bpel/index.html

[5] Apache ODE: http://ode.apache.org/

Received on Wednesday, 22 April 2009 12:31:58 UTC