W3C home > Mailing lists > Public > xproc-dev@w3.org > April 2009

RE: XProc versus BPEL

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>
Message-ID: <9E51F88D5247B648908850C35A3BBB5003F245AA2F@IMCMBX3.MITRE.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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 22 April 2009 19:53:14 GMT