??xml version="1.0" encoding="utf-8" standalone="yes"?>九九热久久免费视频,久久九九亚洲精品,伊人久久大香线蕉综合网站http://www.shnenglu.com/aqazero/category/2883.htmlzh-cnTue, 07 Apr 2009 10:20:40 GMTTue, 07 Apr 2009 10:20:40 GMT60使用ASP.net + WF的感?/title><link>http://www.shnenglu.com/aqazero/archive/2009/04/06/79108.html</link><dc:creator>brent</dc:creator><author>brent</author><pubDate>Mon, 06 Apr 2009 10:30:00 GMT</pubDate><guid>http://www.shnenglu.com/aqazero/archive/2009/04/06/79108.html</guid><wfw:comment>http://www.shnenglu.com/aqazero/comments/79108.html</wfw:comment><comments>http://www.shnenglu.com/aqazero/archive/2009/04/06/79108.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/aqazero/comments/commentRss/79108.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/aqazero/services/trackbacks/79108.html</trackback:ping><description><![CDATA[两个多星期的努力Q?l于把Prototype搞定了。实C以下功能Q?br><br>1Q一个state machine workflow(Fund Request Process work flow)<br>2Q?使用Polic来控制业务逻辑<br>3Q实Cxoml和dll的分,动态加载xomlQ提供一个编辑工P可以edit the workflow on-the-fly<br><br>1, q没有传说中的那么难<br>ASP.net和WF我都不熟Q?Ҏ(gu)两本书,一个msdn上的例子"Web Form Workflow Approvals Stater kit"和另一个例子Orders http://www.odetocode.com/Articles/465.aspx的基上把prototype搞出来了?br><br>2Q理解概念很重要<br>如果不理解WF是怎么调用外部函数QCallExternalMethodActivityQ, 是怎么传EventlWFQHandleExternalEventActivityQ,DependencyProperty是怎么回事Q?基本不用再搞了?br><br>3Q很多设计可?br>WF只实Cworkflow最内核的部分,非常灉|?同样的实现可以采用完全不同的实现方式?怎么实现workflow definitionQ?怎么设计ActivitiesQ?需要ؓActivitiesd那些DependencyPropertyQ?q些DependencyProperty是怎么互相兌的, 怎么只在xoml里面保存workflow definitionQ?怎么实现Workflow和业务数据的交互Q?怎么实现Workflow和组l结构或者role的关联, 都可以有完全不同的设计?br><br>4Q还有很多概c?br>因ؓ是prototypeQ?很多东西没考虑Q?比如事务transation或者CompensateQ?异常处理{?br><br><br><img alt="" src="http://www.shnenglu.com/images/cppblog_com/aqazero/gpas_program_struct.jpg" width="1228" height="768"><br><br> <img src ="http://www.shnenglu.com/aqazero/aggbug/79108.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/aqazero/" target="_blank">brent</a> 2009-04-06 18:30 <a href="http://www.shnenglu.com/aqazero/archive/2009/04/06/79108.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Document approval workflow systemhttp://www.shnenglu.com/aqazero/archive/2007/03/15/19860.htmlbrentbrentThu, 15 Mar 2007 01:15:00 GMThttp://www.shnenglu.com/aqazero/archive/2007/03/15/19860.htmlhttp://www.shnenglu.com/aqazero/comments/19860.htmlhttp://www.shnenglu.com/aqazero/archive/2007/03/15/19860.html#Feedback0http://www.shnenglu.com/aqazero/comments/commentRss/19860.htmlhttp://www.shnenglu.com/aqazero/services/trackbacks/19860.html
虽然不做工作相关的工作了,q是比较x?br />

brent 2007-03-15 09:15 发表评论
]]>
自己译的XPDL1.0http://www.shnenglu.com/aqazero/archive/2005/12/19/14221.htmlbrentbrentMon, 19 Dec 2005 01:06:00 GMThttp://www.shnenglu.com/aqazero/archive/2005/12/19/14221.htmlhttp://www.shnenglu.com/aqazero/comments/14221.htmlhttp://www.shnenglu.com/aqazero/archive/2005/12/19/14221.html#Feedback0http://www.shnenglu.com/aqazero/comments/commentRss/14221.htmlhttp://www.shnenglu.com/aqazero/services/trackbacks/14221.htmlWfMC是啥
WfMC=Workflow Management Coalition.好象有h译成工作流理委员?有的UC为国际工作流理委员?Z大了?但好象加入该Coalition好象是要q费?所以与其说?委员?,不如UC?联合??br />是否W合WfMC标准需要WfMC认,q不是谁都能声称自己W合WfMC的标准的.

什么是工作?
工作管理委员会(WfMC)把工作流定义为:工作是一c能够完全或部分自动执行的业务过E。根据一pd规则Q文档、信息、Q务能够在不同的执行者之间传递、执行。完成正个过E所需要的参数有:
q程中每一单独步骤的定义,每一步骤p负责Q每个活动需要的应用E序。定义一个工作流是说明了处理过E是什么:由哪些活动、Q务组成即的l构。如何做Q活动间的执行条件、规则,所交互的信息即控制与信息的定义Q谁来做Qhq是应用E序卌色定义,做得怎么P对工作流的执行状态实施监控?工作管理与事务服务设计Ҏ(gu))

WfMC提出了一U工作流的参考模?Workflow Reference Model)Q目的就是把工作分?个模?q定义这5个模块之间的接口的规?q么做的意义是啥?应该不归我菜鸟来解释?

模型包含5个模块:
1.q程定义(Process Definition)
2.特定的工作流pȝ(Workflow Enactment Service),其中包含一个或多个工作引?Workflow Engine(s)),提供工作API和交?Workflow API and Interchange)
3.工作客LE序(Workflow Client Application)
4.Ȁ发的E序(Invoked Applications)
5.其它工作系l?Other Workflow Enactment Service)
6.理和监控工?Aministration & Monitoring Tools)
其中包含5个接?Interface)
1.工程定义工具接口(Process Definition Tools Interface)
工作系l?Workflow Enactment Service)<=>q程定义(Process Definition)
2.客户端程序接?Workflow Client Application Interface)
工作系l?Workflow Enactment Service)<=>工作客LE序(Workflow Client Application)
3.Ȁ发程序接?Invoked Application Interface)
工作系l?Workflow Enactment Service)<=>Ȁ发的E序(Invoked Applications)
4.工作系l间协同接口(Workflow Interoperability Interface)
工作系l?Workflow Enactment Service)<=>其它工作系l?Other Workflow Enactment Service)
5.理和监控接?Administration & Monitoring Tools Interface)
工作系l?Workflow Enactment Service)<=>理和监控工?Aministration & Monitoring Tools)

XPDLQ?br />5.程定义交换概述(Overview of Process Definition Interchange)
程定义的作用:
1。生和控制程实例的模?br />2。仿真和预测
3。监控和分析
4。文档,可视化和知识库管??)
可能会包含子程的定?br />一个初始的程定义最要包含初始化和执行所需要的对象(objects)和属?attributes)。流E实例将l承(inherit)q些对象和属性?br />WfMC术语表中包含zd(activities), 向(transitions), 工作相x?workflow relevant data)和参与?participants){?br /> 
5.1程定义交换的方?Approaches to Process Definition Interchange)
q里使用XML作ؓ交换的机制。XPDL提供一U交换标准,使用导入导出(import/export)的方法得Q意在内部用不同方式表C流E的pȝ得以互相交换程(?)?br />有很多不同的Ҏ(gu)可以用来在不同系l间交换程。在q些Ҏ(gu)中都必须把流E表C成一致的格式?/p>

6.元模?Meta-Model)
元模型用以描qC个流E定义的最上层实体(the top-level entities)Q实体的关系和属?q些属性有的只是用以仿真或监控的目的,而不是ؓ了运?enactment))Q它包含了把多个程l织成流E模?process models)和多个流E和程模型间的公共定义数据(common definition data)?br /> 
6.1实体(Entities)

6.1.1工作定?Workflow Process Definition)
提供上下文环?contextual information)Q提供管理信息(如创建日期,作者等Q或者用于执?process execution)的信息(如初始|执行优先U,期限Q需要通知的hQ仿真信?simulation information){)

6.1.2环节QWorkflow Process ActivityQ?br />一个流E定义中包含多个环节Q环节是程中逻辑上独立的单元。环节代表用多U资源处理的工作Q参与者的dQ或/和应用程序(应用软g的职能)。其它信息包含是否自动开?l束Q当和其它环节发生资源冲H的时候的优先U。对程相关数据(workflow relevant data items)的用也必须指明。一个环节的范围是某个特定的程?br />一个环节可能是一个子程(subflow)。这U情况下它包含了一个特定流E的执行Q这个流E可能在同一个工作流服务器(workflow serviceQ中q行Q也可能在其它工作流服务器上q行Q通过程协同接口(process interoperability interface)Q。子程包含它自q环节Q内部流向,资源和应用程序分?application assignments)Q尽这些可能是从同一个公p源而来。输入参数和输出参数使得程相关信息得以被在调用和被调用程间交换(如果必要可以是返回参敎ͼ?br />一个环节可能是一个块环节(block activity)。块环节包含一个环节组(activity set,)Q或一堆环节和向Q一个环节组中的环节和流向共用内程(containing process)的名字空间?br />最后,一个空环节Qdummy activityQ不执行M操作Q因此没有相兌源和相关applicationsQ,仅用来在入流?incoming transitions)?或出向(outgoing transitions)间进行流?routing).

6.1.3向信息.(Transition Information)
环节之间由流E控制条件相兌({条g(transition information).)).每个向包含三个基本属?源环?目的环节和流向条?从一个环节到另一个环节的向可能是有条g?也可能是不需要条件的.一个流E里面的多个向可能产生串行?sequential)或ƈ行的(parallel)环节.分叉(split)或者合q?join)的相关信息在对应的环节之?split as a form of “post activity?processing in the from-activity, join as a form of “pre-activity?processing in the to- activity.This approach allows the workflow control processing associated with process instance thread splitting and synchronization to be managed as part of the associated activity, and retains transitions as simple route assignment functions.{开始昏了}一个流向属于包含它和它的相关环节的程.
其它更复杂的向,不能用简单的函数来表辄,使用I环节来实现.l合使用基本的流向和I环?M复杂的流转结构都可以被实?因ؓ业内已经有好几种向控制的途径,在XPDL中也有相应的几类,在本文稍后描q?

6.1.4程参与者声?Workflow Participant Declaration)
程参与者声明描q在程定义中各个环节的参与?performer).The particular resources, which can be assigned to perform a specific activity, are specified as an attribute of the
activity, participant assignment, which links the activity to the set of resources (within the workflow participant
declaration) which may be allocated to it.{环节参与者是环节的一个属?..昏了}.程参与者不一定是单独的个?也可以是一l有相应资格或责ȝ?或者机器的自动操作.元模型包含了一些简单的资源cd,q些cd可能在流E参与者声明中被定?

6.1.5资源?Resource Repository)(?)
资源库说明参与者可能是人员,E序,或者机?在更复杂的情况下,参与者声明可能是一个资源库,它可能是参与人员的一个组l机构模?Organizational Model).q䆾文档q没有定义或要求一个资源库.

6.1.6工作应用程序声?Workflow Application Declaration)
工作应用程序声明描qC被工作流服务器调用的,用以支持各个环节的处理的IT应用E序或接?q些E序和接口被定义为环节的一个属?q些应用E序可能是行业工?特定部门或企业的服务,或在工作管理系l框架下的本地应用程?工作应用程序声明反映了工作引擎和{应用E序或接口}的接?包含需要传递的参数.

6.1.7工作相x?Workflow Relevant Data)
工作相x据定义了在流E执行过E中创徏和用的数据.q些数据在工作流中被环节或者应用程序?q可能被用于传递持久的信息或者环节间的中间结果或/和用于判断流向流转或者分配参与者的的中间数?工作相x据是Ҏ(gu)的类?Workflow relevant data is of particular type.),XPDL定义了各U基本的和复杂的数据cd,(包含日期Date,字符串string,{?.环节,被调用的应用E序(invoked applications)?或流向条件会用到工作相x?

6.1.8pȝ和环境数?System and Environmental Data)
pȝ和环境数据由程理pȝ和本地系l环境管?但会被工作流环节或工作流理pȝ用于计算条g表达?如同工作相x据一?

6.1.9数据cd和表辑ּ(Data Types and Expressions)
元模?和相关的XPDL)假设有一些标准数据类?string,reference,integer,float,date/time{?,q些数据cd被用于工作流相关数据,pȝ和环境数据或参与者数?participant data).用于条g判断的表辑ּ由q些数据cdl成.数据cd可以用XML schema或者引用外部资源中定义的类型来扩展.
 
 6.2程和流E包(Processes and Packages)
从以上内容可?程模型包含的很多实?entities)的范围超Z单个程定义的范?可能多个程定义会引用到相同的流E参与?工作应用程序和工作相x?元模型采取了使用公共程定义?common process definition repository)来包含这些实体和工作定?在这个库本n的范围内,Z提高传送流E定义数据的效率,引入了流E包的概?程包包含了一l工作数据实?common data entities)和许多不同的程定义,避免了在不同的流E定义中重复定义q些工作数据实体.
程包包含了程定义实体的许多公共属性如(作?版本,状态等),包内的每个流E定义自动承了所有这些公共属?除非它们在流E定义中分别被重新指?
 
在包中的一些实体的定义是全局?能够被包中的所有流E定?以及相关的环节和向)引用,q些实体?
-程参与者声?br />-工作应用程序声?br />-工作相x?br />可以在流E包或者流E包包含的对象中使用被引用的外部程包的最上层实体(The package reference allows the use within the package or its contained objects of references to top-level entities in the referenced external package:).{?没昏},q些最上层实体包括:
-子流E的程ID
-程参与者声?br />-工作应用程序声?br /> 
同一个库地址I间(repository address space)中的不同程包的名称和标识的理规定由提供商自己定义.{相同?但不同包的名字空间的划分Ҏ(gu)由工作流的开发者自p?好像是这意思}.推荐的查找方法是:
-程id:先在同一个model中寻?包含M在不同服务器上运行的程定义的引?,然后在Q何被引用的外部model中查?br />-程参与者声?工作应用程序声?:先在同一个model中查?再在M被引用的外部model中查?
{q里model指的范围可能是流E包,有点像java import一个名字空间进?怎么找一个类型一样}
 
工作相x据的命名在同一个流E包中必L唯一?在同一个包?{在这份文档的当前版本},程间参数的传递惯例是g?copy semantics).程设计?理?必须在流E定?程模型中确保名U和数据cd在调用子程时的一?和Q何其它远E流E协调工作时的一?.

 6.3程元模?Process Meta-Model)
程元模型定义了用于程定义交换的一l基的实?entities)和属?attributes)。对于每个流E定义,以下实体必须在流E范围内定义或从程包中l承Q或从其它包中引用:
-环节(Workflow Process Activity)
-向(Transition Information)
-程参与?Workflow Participant Specification)
-工作应用程序声?Workflow Application Declaration)
-程相关数据(Workflow Relevant Data)
q些实体的属性描qC程的机Ӟ它们在本文后面被描q?/p>


6.4程包元模型(Package Meta-Model)
在一个模型定?model definition.)中,多个程定义是互相关联的。流E包包含了流E定义和相关的实体,而这些实体能被所有包内的程使用(所有这些实体只要被定义一?。流E包元模型包含了以下的实体:
-程定义(Workflow Process Definition)
-程参与?Workflow Participant Specification)
-工作应用程序声?Workflow Application Declaration)
-程相关数据(Workflow Relevant Data)
>

程包的原模型指Z用于程模型的交换和保存的实体和属性。它定义了各U不同的l承规则Q来兌单独的流E定义和{程参与者,工作应用程序声明和工作相x据的定义}Q这些定?程参与?..的定?可能在单个流E定义中Q也可能在流E包中?br />程包定义允许指定一些公q程定义属性,q些属性自动被应用于流E包中的每个程定义。这些属性也可被但个程所忽略.(如果q些属性在程定义层被重新定义Q那本地的属性值将覆盖全局?
 
6.4.1程?Process Repository)
程定义导入/导出接口被用于操作工作流理pȝ的流E库。实现的Ҏ(gu)是从q些程库中导入导出包含XPDL的文件。这个接口在单独的流E和程包两个等U上导入导出程定义数据?br />程库和程控制功能之间的接口由各个供应?工作实现?自行军_Q与本标准无兟뀂但推荐把静态的程?for persistent, ongoing storage of process definition data)和动态的程?for managing changes to the process execution of extant process instances)区分开?比如用版本控??br />WfMC标准不包含流E定义库的具体内部实现结构。流E包的用只是ؓ了在导入导出q程中重用数据。在单的程库结构下(Where a simple process repository structure is used)。对程定义层上的操作,被导入的程库的׃n信息会被复制到各个单独的程定义?q在导出q程中被cM地重新打??br /> 
6.4.1.1重新定义和范?Redefinition and Scope)
因ؓ有重新定义属性和元模型实体和对外部流E包的引用的可能Q所以范围和层次的规?principles of scope and hierarchy)被引入到了XPDL(和流E库)l构中?br />(i)程相关数据
程相关数据的范围被直接相关的元模型实体定义q且不能被嵌套。它的标识符的可见性同L该实体定义。{不知道有没搞?.费解}
(ii)属?br />属性和外部属性的范围被直接相关的元模型实体定义ƈ且可以被嵌套Q例如可以在下一层被重新定义。例子:名字属性在各个实体定义中被重新定义。外部属性的标识W在特定实体和子实体可见Q除非在子实体中重新定义了该标识W?br />(iii)程参与者和应用E序
程参与者和应用E序的范围和可见性与外部属性相同。所有被(程参与者和应用E序)使用的流E相x据和外部属性的范围必须和用者的范围一P臛_在同一个流E包内?br />For a referenced external package entity that needs itself reference to entities and their identifiers defined in its external package clause the mechanism is started with the root in that package. That guarantees that no conflict takes place if the invoking process has an entity with the same id, which the definer of the referenced package cannot be aware of.
外部程包的使用l流E设计者和理者以很大的自由。一是可以在分开的模型中分别定义l织机构(参与者实?和流E定义。另一个是可以d一个新的流E定义共享原来的程定义所用的模型而不需要重新提交整个环境信息?br /> 
6.5实体预览(Elements Overview)
下表展示了XPDL中定义的主要元素(elements)
-W一栏包含所有主要元素的属性。所有主要元素包含的属性有QidQname可能有Description和Extended Attributes?br />-W二栏是Ҏ(gu)的属?br />-The third group consists of elements that may contain references to other elements.
-Documentation and Icon elements Q被工作引擎用的描述信息
-W五栏包含了仿真和优化的信息
以后可能会添加别的元素和预定义属?/p>
Package Workflow Process Activity Transition Application Data Field(Workflow Relevant Data) Participant
-Id
-Name
-Description
-Extended
Attributes
-XPDL
Version
-Source Vendor
ID
-Creation
Date
-Version
-Author
-Codepage
-Country
Key
-Publication
Status
-Conformance
Class
-Priority
Unit
-Id
-Name
-Description
-Extended
Attributes
-Creation
Date
-Version
-Author
-Codepage
-Country
Key
-Publication
Status
-Priority
-Limit
-Valid
From
Date
-Valid
To
Date
-Id
-Name
-Description
-Extended Attributes
-Automation
Mode
-Split
-Join
-Priority
-Limit
-Start
Mode
-Finish
 Mode
-Deadline
-Id
-Name
-Description
-Extended
Attributes
-Id
-Name
-Description
-Extended
Attributes
-Id
-Name
-Description
-Extended
Attributes
-Data Type
-Id
-Name
-Description
-Extended
Attributes
-Participant
Type
-Responsible
-External
Package
-Parameters
-Responsible
-Performer
-Tool
-Subflow
-ActivitySet
-Actual
Parameter
-Condition
-From
-To
-Parameters -Initial Value  
-Documentation
-Icon
-Documentation
-Icon
-Documentation
-Icon
       
-Cost Unit -Duration
Unit
-Duration
-Waiting
Time
-Working
Time
-Cost
-Duration
-Waiting Time
-Working
Time
       


6.5.1供应商或用户扩展(Vendor or User specific Extensions)
管元模型和XPDL包含了大部分程定义交换q程中需要的l构。但在特定环境下程定义可能需要包含更多的信息(供应商或用户的特定信?。供应商或用户应量使用标准的实体和属性。以下将描述扩展信息的标准方法,但这要求程引擎提供相应的运行时支持?br /> 
6.5.1.1Extended Attributes
最主要的方法是使用Extended Attributes。Extended Attributes׃应商或用户在必要情况下自行定义,用以表达额外的信息。额外属性的q行时支持分别在两个pȝ中实玎ͼ而且双方要在寚w外属性的导入导出上达成一致?br /> 
6.5.1.2. Extended parameter mapping
关于子流E的参数传递,׃应商自行军_Q和WfMC无关


最?faint...人家已经xpdl2.0?
 
好像n多概念不一样了?005-10-3的版本,焉我就q么倒霉Q?br />2.0的流E包(Package)里面d了pools,message flows,associations & artifacts的概c?br /> 
泳道(Swimlanes)?
?Pool){环节Q流?Sequence Flow (transitions))} Pool之间通过信息?Message Flow)联系。白黑。background pool即默认的pool
 
通道(Lane)Q进一步分割pool,属性被其中的环节?br /> 
巨faintQh家已l有译好的。?.0版本的,除了几个Ҏ(gu)名称的翻译不习惯外,读v来挺畅的?br />但不能理解的q是不能理解Q好像翻译的Z没融会诏通?br />当学英语好?.郁闷。以后失业了可以试试_浅的翻译?br /> 
工作现在咋p么流行呢Q?http://www.cnitblog.com/Files/Raistlin/wfmc-zh.rar



brent 2005-12-19 09:06 发表评论
]]>
þþƷѿ| AëƬþ| þþþþëƬѿ| ޹˾þۺҰ| þרƷ | 996þùƷ߹ۿ| 99Ʒþ| պvavaŷvaþ| Ưޱ˾þþƷ| þþþAV| þþþŷղAV| ѹۿ˾þѹۿ| þһѵ | þó˹Ʒһ| ĻȾþþþþþ| 94þù׾Ʒ| ղƷþþþþþ| ݺݾþۺ| Ʒþһ| ŷvaþþþ| þþ޾Ʒһ| 97þþþ| þþþùƷŮӰԺ| þ޾Ʒϵַ| þþþùƷ| þùƷһ| ƷһþþƷɬ| þþþùƷ鶹ARӰԺ | þ޴ɫĻþþ| ɫۺϾþ88ɫۺ | һֻƴƬ99þ| ٸþ| ëƬŷëƬþþ| þۺ77777鶹| ɫþþ99Ʒ91| Ʒþþþþþ| ھƷþþþav| WWWAVþþӰƬ| þùɫAVѿ| þþƷ99þ㽶| þùƷһƷ|