- From: Costello, Roger L. <costello@mitre.org>
 - Date: Wed, 22 Apr 2009 15:52:38 -0400
 - To: "'xproc-dev@w3.org'" <xproc-dev@w3.org>
 
Hi Folks,
Many thanks for your excellent comments!
Okay, comparing XProc and BPEL is an apples-to-oranges comparison. 
I think that sometimes it's useful to hold up next to each other two unrelated things to see where they differ and where they overlap. So, I persist. :-)
I've incorporated the changes you suggested. Aside from the apples-to-oranges problem, are there any factual errors in the information?
/Roger
XProc (XML Pipeline Language)[1] is a general utility for defining XML pipelines. BPEL (Business Process Execution Language)[2] is a declarative orchestration language for business processes. At some level both languages are workflow languages, and with that in mind, here is a side-by-side comparison.
------------------------------------------------
XProc					BPEL
------------------------------------------------
W3C technology			OASIS technology
XML-based 				XML-based 
general utility, goal 		business process level, goal 
is to provide an 80% 		is to provide a 100% 
solution				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]
					    Sonic Software[6]
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/
[6] Sonic Software: http://www.sonicsoftware.com/products/sonic-bpel-server/index.ssp
Received on Wednesday, 22 April 2009 19:53:14 UTC