IPBHowe SchoolAIS SIGPAMWfMC

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
BPEL or XPDL - Why there is need of two standards?
Swati S
post Nov 24 2008, 04:01 AM
Post #1


NewProcessInstance
*

Group: Members
Posts: 8
Joined: 24-November 08
Member No.: 2,620



With the increasing importance of Business Process Management in the enterprise, several tools are available for organizations to choose from and with that there is increasing need to follow common standards of interchange.
BPEL is one of the more widely used in tools like IBM Web sphere, Oracle JDeveloper, Oracle BPA, etc.
XPDL is also widely used in tools like AquaLogicBPM, Global 360, TIBCO, etc. Some tools support both.

If BPM products are supporting both XPDL and BPEL, what are the benefits of one over the other? How are BPM standards likely to evolve?


Regards,
Swati S
Go to the top of the page
 
+Quote Post
antonio filogran...
post Dec 19 2008, 05:31 AM
Post #2


NewProcessInstance
*

Group: Members
Posts: 2
Joined: 22-September 08
Member No.: 2,541



XPDL is an interchange format, you can use it to exchange the business process diagrams among different tools.
BPEL is an execution language of the business process and you don't use it to exchange diagrams because it cannot store graphical information about the diagram.
Someone says that these two standards are complementary, others say that these are mutual exclusive.
Regards
Antonio
Go to the top of the page
 
+Quote Post
Swati S
post Apr 12 2009, 11:16 PM
Post #3


NewProcessInstance
*

Group: Members
Posts: 8
Joined: 24-November 08
Member No.: 2,620



QUOTE(antonio filograna @ Dec 19 2008, 05:31 AM) *
XPDL is an interchange format, you can use it to exchange the business process diagrams among different tools.
BPEL is an execution language of the business process and you don't use it to exchange diagrams because it cannot store graphical information about the diagram.
Someone says that these two standards are complementary, others say that these are mutual exclusive.
Regards
Antonio


Hmm... agree but the tools which have XPDL support extends XPDL attributes and use it . because of this we can not use the same process in another tool. So it doesnot serve the purpose behind XPDL that is Process Exhange.
Go to the top of the page
 
+Quote Post
Mickael Istria
post Jun 11 2009, 09:20 AM
Post #4


NewProcessInstance
*

Group: Members
Posts: 6
Joined: 10-June 09
Member No.: 2,920



BPEL is originally more an orchestration language for WebServices than a Business Process definition language.
Compared to XPDL, BPEL is much more technical, much more difficult to read, much more difficult to write. BPEL is almost a scripting language that inherits from webservices problematics, XPDL is a true descriptive language dedicated to Business Processes.

(As you may have understood, I really prefer XPDL to BPEL, so that I am probably not totally objective wink.gif )
Go to the top of the page
 
+Quote Post
frankiben123
post Jun 27 2009, 03:44 AM
Post #5


NewProcessInstance
*

Group: Members
Posts: 1
Joined: 27-June 09
Member No.: 2,942



thanks for the post..........

Go to the top of the page
 
+Quote Post
Swati S
post Jun 28 2009, 10:56 PM
Post #6


NewProcessInstance
*

Group: Members
Posts: 8
Joined: 24-November 08
Member No.: 2,620



QUOTE(Mickael Istria @ Jun 11 2009, 09:20 AM) *
BPEL is originally more an orchestration language for WebServices than a Business Process definition language.
Compared to XPDL, BPEL is much more technical, much more difficult to read, much more difficult to write. BPEL is almost a scripting language that inherits from webservices problematics, XPDL is a true descriptive language dedicated to Business Processes.

(As you may have understood, I really prefer XPDL to BPEL, so that I am probably not totally objective wink.gif )

Agree But I want to repeat this. Purpose of XPDL was to exchange process information across the BPM products even though each extends XPDL schema and use them and the same we can not use in other tool because of proprietary things present in Process Definition file.
Go to the top of the page
 
+Quote Post
Michael zur Mueh...
post Jun 30 2009, 10:55 AM
Post #7


Workflow Research Administrator
*****

Group: Admin
Posts: 260
Joined: 3-July 03
Member No.: 2



The purpose of XPDL is to capture the layout of the process and the essential information necessary to make it "run". Tool vendors can used extended attributes to store tool-specific information (e.g. specifics about internal tool functionality that is being used in the process). Its main purpose is to move the diagram around. The extended attributes must be preserved by the tools, even if they don't understand them. So, say, you model a process in TIBCO and export it to XPDL and then import the process in eClarus - if TIBCO adds some extended attributes to the XPDL file that eClarus does not understand eClarus should just ignore them, but not remove them from the file. If you change the diagram in eClarus and then export the XPDL and re-read it in TIBCO the original extended attributes from TIBCO should still be there.

In practice this is really meant to move the diagram around - capturing ~80% of the process semantics. It works well for requirements engineering. Once you start adding implementation details you will most likely stay within one vendor's environment. That means, you probably won't use IBM's process editor to specify a workflow that is then to be executed in Oracle's engine - there is just too much proprietary detail connected with the execution platforms to make this feasible. What you CAN do however is to draw the process in itp Commerce, eClarus or BizAgi, validate it with your line of business representatives, and then move it into an execution environment for further refinement.

BPEL and XPDL are complementary. You may use XPDL to move your BPMN diagram from a drawing tool to a workflow platform, and the workflow platform might use BPEL internally to store the process for execution. BPEL is XML scripting for web services orchestration, and some tools extend this to allow for user interactions (+ BPEL4People/WS-HumanTask are intended to help there). I would not want to write BPEL code by hand, so you'll probably work in a graphical environment to specify the process flow. If you want to move the diagram to another platform, you can use XPDL. BPEL doesn't store layout information by default, so a BPEL process will most likely be rendered very differently if moved from one platform to the other. XPDL is designed to preserve the layout.
Go to the top of the page
 
+Quote Post
Lesley Fang
post Aug 10 2009, 09:35 PM
Post #8


NewProcessInstance
*

Group: Members
Posts: 2
Joined: 10-August 09
From: Hong Kong
Member No.: 2,986



Thanks for your post Michael. Really cleared a lot of things for me.

But I still have a question about BPEL & XPDL. Actually I'm currently trying to design a workflow engine. I'm new to this area. I have read many stuffs about BPEL & XPDL & BPMN, but I just wondered, why we have to use BPEL / XPDL when design the workflow engine, can we just run the flow by using programming language and database?

Thanks a lot!
Go to the top of the page
 
+Quote Post
Swati S
post Aug 12 2009, 11:04 PM
Post #9


NewProcessInstance
*

Group: Members
Posts: 8
Joined: 24-November 08
Member No.: 2,620



QUOTE(Michael zur Muehlen @ Jun 30 2009, 10:55 AM) *
The purpose of XPDL is to capture the layout of the process and the essential information necessary to make it "run". Tool vendors can used extended attributes to store tool-specific information (e.g. specifics about internal tool functionality that is being used in the process). Its main purpose is to move the diagram around. The extended attributes must be preserved by the tools, even if they don't understand them. So, say, you model a process in TIBCO and export it to XPDL and then import the process in eClarus - if TIBCO adds some extended attributes to the XPDL file that eClarus does not understand eClarus should just ignore them, but not remove them from the file. If you change the diagram in eClarus and then export the XPDL and re-read it in TIBCO the original extended attributes from TIBCO should still be there.

In practice this is really meant to move the diagram around - capturing ~80% of the process semantics. It works well for requirements engineering. Once you start adding implementation details you will most likely stay within one vendor's environment. That means, you probably won't use IBM's process editor to specify a workflow that is then to be executed in Oracle's engine - there is just too much proprietary detail connected with the execution platforms to make this feasible. What you CAN do however is to draw the process in itp Commerce, eClarus or BizAgi, validate it with your line of business representatives, and then move it into an execution environment for further refinement.

BPEL and XPDL are complementary. You may use XPDL to move your BPMN diagram from a drawing tool to a workflow platform, and the workflow platform might use BPEL internally to store the process for execution. BPEL is XML scripting for web services orchestration, and some tools extend this to allow for user interactions (+ BPEL4People/WS-HumanTask are intended to help there). I would not want to write BPEL code by hand, so you'll probably work in a graphical environment to specify the process flow. If you want to move the diagram to another platform, you can use XPDL. BPEL doesn't store layout information by default, so a BPEL process will most likely be rendered very differently if moved from one platform to the other. XPDL is designed to preserve the layout.

Well explained. So I understand from what you said is its tool responsibility first not to remove other tools extended attributes as well as ignore them... right? Mostly time is invested to capture business requirement adn map it into business process. So its really important to not to waste the efforts because tool is changed.
Go to the top of the page
 
+Quote Post
Swati S
post Aug 12 2009, 11:08 PM
Post #10


NewProcessInstance
*

Group: Members
Posts: 8
Joined: 24-November 08
Member No.: 2,620



QUOTE(Lesley Fang @ Aug 10 2009, 09:35 PM) *
Thanks for your post Michael. Really cleared a lot of things for me.

But I still have a question about BPEL & XPDL. Actually I'm currently trying to design a workflow engine. I'm new to this area. I have read many stuffs about BPEL & XPDL & BPMN, but I just wondered, why we have to use BPEL / XPDL when design the workflow engine, can we just run the flow by using programming language and database?

Thanks a lot!

Thats how it works. Workflow is nothing but is series of steps. This steps can be defined in XML format. But to make this XML run meaning to make it executable tehre is workflow engine written in PL which reads this XML and execute. Database can be used as workflow repository and many other things...
Go to the top of the page
 
+Quote Post
Abbasi
post Aug 13 2009, 04:43 AM
Post #11


NewProcessInstance
*

Group: Members
Posts: 3
Joined: 17-April 09
Member No.: 2,831



QUOTE(Swati S @ Aug 12 2009, 11:08 PM) *
QUOTE(Lesley Fang @ Aug 10 2009, 09:35 PM) *
Thanks for your post Michael. Really cleared a lot of things for me.

But I still have a question about BPEL & XPDL. Actually I'm currently trying to design a workflow engine. I'm new to this area. I have read many stuffs about BPEL & XPDL & BPMN, but I just wondered, why we have to use BPEL / XPDL when design the workflow engine, can we just run the flow by using programming language and database?

Thanks a lot!

Thats how it works. Workflow is nothing but is series of steps. This steps can be defined in XML format. But to make this XML run meaning to make it executable tehre is workflow engine written in PL which reads this XML and execute. Database can be used as workflow repository and many other things...


Just to clarify why we can't just run the flow using a programming language and database. Well, you can. Nobody stops you doing it. Actually this was how initial workflow systems worked. And then came the WfMC that addresses the need of a common reference model for interoperability amony products. They asked business analysts and process designers to do that using the standard workflow description language i.e. XPDL. It makes any vendor's engine that understands the XPDL to execute the workflow description. And as Michael said, you can always add the vendor specific attributes to these process definitions. The kind of workflows which are tightly coupled with the applications, often are very rigid and offer lesser functionality. Processes modeled through this approach are very difficult to evolve also. So it seems appropriate to use the standards like XPDL or BPEL to describe a workflow and let them be executed through stnadard worklfow engines.

Moreover @Swati S
Workflow engines embed numerous functionalities other than just executing the process XML like scheduling, data management, persistance etc.

Lastly, I say that the question initially asked is still unanswered. That is how does a standard be evolved if we keep on getting complementary solutions? More research and academia/professionals interaction are required in this regards.
Go to the top of the page
 
+Quote Post
Lesley Fang
post Aug 13 2009, 05:31 AM
Post #12


NewProcessInstance
*

Group: Members
Posts: 2
Joined: 10-August 09
From: Hong Kong
Member No.: 2,986



Hi, Abbasi & Swati S,

Thanks for your valuable reply.

Actually my boss asked me to develop a workflow system for our product. He prefers the workflow to be drawn using BPMN notation, and then be executed using either BPEL or XPDL. I searched the internet and found that, it seems very difficult to directly map a BPMN graphical diagram to BPEL (especially if there are complicated loops inside the diagram). Does that mean I'd better use XPDL in this case?

Correct me if my understanding is wrong~~~ Thank you!
Go to the top of the page
 
+Quote Post
Michael zur Mueh...
post Aug 14 2009, 12:33 PM
Post #13


Workflow Research Administrator
*****

Group: Admin
Posts: 260
Joined: 3-July 03
Member No.: 2



QUOTE(Lesley Fang @ Aug 13 2009, 06:31 AM) *
Hi, Abbasi & Swati S,

Thanks for your valuable reply.

Actually my boss asked me to develop a workflow system for our product. He prefers the workflow to be drawn using BPMN notation, and then be executed using either BPEL or XPDL. I searched the internet and found that, it seems very difficult to directly map a BPMN graphical diagram to BPEL (especially if there are complicated loops inside the diagram). Does that mean I'd better use XPDL in this case?

Correct me if my understanding is wrong~~~ Thank you!


There are engines that run XPDL processes (with extended attributes). There are engines that run BPEL processes (often with vendor-specific extensions). And there are engines that run off a proprietary format or database schema.

There are arguments for each of these solutions, but the bottom line is: At the runtime level it does not matter what format the engine operates from.

The main argument to use BPEL is that it is designed as a scripting language to orchestrate the invocation of services. So, if your product is intended to connect different services (that have a WSDL specification) along a process model, then BPEL is typically a good choice. Your developers will probably need to finetune the BPEL code by hand, and by using BPEL rather than a proprietary format you will have a larger base of developers to tap into. There are extensions for BPEL (BPEL4People and WS-HumanTask) that allow for the integration of human performers, and some tools offer this functionality using proprietary extensions.

The issue that some people have raised when translating BPMN to BPEL lies in the fact that BPEL is a block-structured language (meaning that for instance every split in the process needs to have a corresponding join). BPMN allows you to design processes that are not block-structured (e.g. by using certain loops). These processes cannot easily be translated into BPEL. If an engine uses BPEL as the underlying/intermediary execution language it will have to constrain the modeler so that they can only design processes that fit into this block-structured model.

I hope this clarifies it.
Go to the top of the page
 
+Quote Post
Swati S
post Aug 16 2009, 11:32 PM
Post #14


NewProcessInstance
*

Group: Members
Posts: 8
Joined: 24-November 08
Member No.: 2,620



QUOTE(Abbasi @ Aug 13 2009, 04:43 AM) *
Just to clarify why we can't just run the flow using a programming language and database. Well, you can. Nobody stops you doing it. Actually this was how initial workflow systems worked. And then came the WfMC that addresses the need of a common reference model for interoperability amony products. They asked business analysts and process designers to do that using the standard workflow description language i.e. XPDL. It makes any vendor's engine that understands the XPDL to execute the workflow description. And as Michael said, you can always add the vendor specific attributes to these process definitions. The kind of workflows which are tightly coupled with the applications, often are very rigid and offer lesser functionality. Processes modeled through this approach are very difficult to evolve also. So it seems appropriate to use the standards like XPDL or BPEL to describe a workflow and let them be executed through stnadard worklfow engines.


I did not say "We MUST store process definition in XML format" but "We CAN". Modeling tool provides GUI for BA to map business requirement to process flow and and modeling tool stores this information in XML format at backend. Instead of storing in XML format this information we can directly put into DB and use it for execution and execute it using PL. Most of the tools uses DB for storing process definition XML into database for data persistence. Standard XML(XPDL) is structured to achieve interoperablity.

QUOTE(Abbasi @ Aug 13 2009, 04:43 AM) *
Moreover @Swati S
Workflow engines embed numerous functionalities other than just executing the process XML like scheduling, data management, persistance etc.


core functionality of workflow engine is to execute business processes defined. rest are the extended features which can be implemented by each tool. Job Scheduling, BAM, Data Persistence, Reporting can be added to make it full fledged BPM product.

QUOTE(Abbasi @ Aug 13 2009, 04:43 AM) *
Lastly, I say that the question initially asked is still unanswered. That is how does a standard be evolved if we keep on getting complementary solutions? More research and academia/professionals interaction are required in this regards.



Hmm... please eloborate more on this...

Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

 



RSS Lo-Fi Version Time is now: 10th September 2010 - 04:02 PM