(5)Shark工作流的实现和WMFC&OMG规范的对比

Shark工作流的实现和WMFC&OMG规范的对比

                                        -----第五部分:工作流的实例化

 

关键字:Shark 工作流 WMFC OMG 规范

学习了这么多的开源框架,准备自己也实现一个。万事开头难,先说说如何用XPDL来描述流程中需要包含的信息和如何实例化一个流程。

shark中有一个Package-Business_Example 的例子。其中Customer Service - Request for Partial Shipment (客户服务对分装运输的要求)流程信息的xdpl描述如下:

   

        DurationUnit="D">

            13-03-2003

       

       

       

           

               

                   

               

                The customer (or customer organization) name

           

           

               

                    

               

                The product name

           

           

               

                   

               

                The number of ordered items

           

           

                

                   

               

                The number of ordered items on stock

           

           

               

                   

               

                If customer aggreed on partial shipment, set the value of this variable to "OK", otherwise to anything else ("NOT_OK" for e.g.)

           

       

       

            

                Enter the customer response ("OK" if customer accepts partial shipment)

               

                   

               

                Participant_Repository_Par10

               

                   

               

               

                   

               

               

                   

                   

                   

                   

               

           

            

                Asks customer if it is OK to partialy ship the existing number of wanted items

               

                   

               

                Participant_Repository_Par10

               

                    

               

               

                   

               

               

                   

                   

                   

                    Customer_Name"/>

                    Product_Name"/>

                    Order_Quantity"/>

                    No_Of_Stocked_Items"/>

               

           

       

        

            

               

                   

               

           

        

       

           

           

           

       

   

解释如下:

这个流程只有两个活动:

1

    询问用户时候需要分装运输

2

        告诉客户销售

 

两个活动的转移:

     

上面的描述只是一个基本的XPDL的实现,在现实世界里所需要的信息是不充分的。

比如:

1、          当用户A登陆后,需要知道和用户A相关的那些活动已经启动,并提示用户A,操作这个活动。这样在实例化的流程中需要包含参与者的信息。

2、          上面的描述中只是包含了工作流本身的信息,很显然,工作流任务执行的具体最后要落实在业务过程上,那么在实例化后的工作流中应该包含业务的数据,最少应该包含能够找到这个业务的连接数据。

3、          工作流具体的状态业务状态在实例化的流程中应该保存起来。

 

   从上面的对比中可以看出,工作流引擎对如何实例化工作信息和业务信息应该是不同的,因为这并不是WMFC规范中的内容。

 

待续

田春峰

[email protected]

 

 

 

你可能感兴趣的:(工作流)