接觸SourceCode公司的工作流產(chǎn)品K2.Net 2003有一段時(shí)間了,想把一些心得分享出來,和各位共同探討一下,拋磚引玉,希望能對相關(guān)人士以啟發(fā)。
K2.Net 2003是基于微軟.Net Framework技術(shù)框架之上的工作流平臺,能夠?qū)崿F(xiàn)企事業(yè)內(nèi)部人與人、人與部門、以及人與系統(tǒng)間的流程自動化。K2.Net 2003主要包含5個組件:
1. K2.Net Studio
這
是K2.Net產(chǎn)品的一個核心組件,是一個圖形化的流程建模環(huán)境。在這個環(huán)境下,所有的流程對象(包括Activity、Event和Line)都可以進(jìn)
行拖放操作。非常有意義的是,用K2.Net Studio設(shè)計(jì)流程時(shí),開發(fā)人員的感覺會非常熟悉。因?yàn)镵2.Net
Studio組織流程的思路非常類似Visual Studio
.Net,開發(fā)人員需要做的第一步是先建立解決方案(Solution),然后是項(xiàng)目(Project,C#或者VB.Net),然后再建立流程。項(xiàng)目中
的公共類代碼可以放在模塊(Code Modules)中。K2.Net
Studio中,流程圖的每一個節(jié)點(diǎn)都被稱為一個Activity,代表具體的活動類型;而每一個流程節(jié)點(diǎn)多可以執(zhí)行多個Event,這些Event事實(shí)
上是預(yù)先設(shè)計(jì)好的執(zhí)行一個特定操作的向?qū)侥0?,而且這里的Event還可以進(jìn)行擴(kuò)充,K2提供了Event的SDK,開發(fā)人員可以根據(jù)需要設(shè)計(jì)自己的
Event,如與SAP和Oracle進(jìn)行交互的Event。目前K2的這個版本中,提供了Microsoft
Exchange,,Microsoft Office,Microsoft InfoPath,Microsoft SharePoint
Portal Server 2003,Microsoft Content Management Server 和 Microsoft
BizTalk Server等模版。為了搭配設(shè)計(jì)流程圖時(shí)的復(fù)雜路線,K2.Net
Studio同時(shí)也提供了各種形狀的Line,用以連接各個Activity。
2. K2.Net Service Manager
K2.Net
Service Manager是流程系統(tǒng)管理員管理K2.Net服務(wù)器環(huán)境、流程解決方案及流程的組件。K2.Net Service
Manager是Microsoft Management
Console的一個Snap-in,為系統(tǒng)管理員提供了一個熟悉的管理界面。利用K2.Net Service
Manager,系統(tǒng)管理員可以注冊/注銷K2服務(wù)器、定義服務(wù)器屬性(如Socket端口,數(shù)據(jù)庫設(shè)置以及License信息)、停止/啟動服務(wù)器、管
理流程版本、流程線程,以及管理流程授權(quán)用戶/用戶組。K2.Net Service
Manager提供的另外一個非常有益的功能是可以查看并修復(fù)流程Run-time錯誤,這可以成為調(diào)試K2流程的一種方法。
3. K2.Net WorkSpace
K2.Net WorkSpace是K2為知識工作者(一般用戶)提供的流程管理界面,這是一個動態(tài)的XML ASP.Net構(gòu)建用戶界面,用戶可以在這里執(zhí)行任務(wù),查看任務(wù)報(bào)表,生成報(bào)告圖表,等等。
4. K2.Net Server
K2.Net
Server是K2流程解決方案的核心,即流程引擎。K2.Net Server支持.Net運(yùn)行時(shí),因此可以支持任何行業(yè)標(biāo)準(zhǔn)工具如Visual
Studio .Net設(shè)計(jì)的業(yè)務(wù)邏輯對象和圖形用戶界面。K2.Net Server使用SQL Server 2000作為存儲數(shù)據(jù)。K2.Net
2003數(shù)據(jù)倉庫在一個數(shù)據(jù)庫中同時(shí)保存流程定義和流程業(yè)務(wù)數(shù)據(jù),這個數(shù)據(jù)庫稱為Transaction數(shù)據(jù)庫。當(dāng)流程設(shè)計(jì)完畢并且導(dǎo)出到服務(wù)器上時(shí),流
程定義就被寫進(jìn)這個數(shù)據(jù)庫。流程執(zhí)行時(shí),K2.Net
Server就從這個數(shù)據(jù)庫中讀取流程定義。這個數(shù)據(jù)庫同時(shí)保存了流程執(zhí)行過程忠收集到的用戶或者系統(tǒng)信息。K2.Net
Server的另外一個數(shù)據(jù)庫叫做Log數(shù)據(jù)庫,這個數(shù)據(jù)庫自動保存可以歸檔的流程線程。
5. K2.Net SmartForms
安
裝K2時(shí),K2會自動擴(kuò)展Visual Studio .Net,將一個稱之為K2 SmartForm的組件添加到Visual Studio
.Net的新項(xiàng)類型中。K2 SmartForm事實(shí)上是對Visual
Studio的Web窗體的擴(kuò)充,它將常用的各種Web窗體控件進(jìn)行了重新封裝,比如
TextBox,Label,DataGrid,DropDownList等。重新封裝后的控件名稱前綴都為K2,如
K2TextBox,K2Label,K2DataGrid,K2DropDownList等等。這樣做的目的為了便于開發(fā)人員設(shè)計(jì)K2流程所用的Web
窗體,實(shí)現(xiàn)不需要寫代碼即可在流程數(shù)據(jù)和Web窗體控件間進(jìn)行數(shù)據(jù)綁定。
稍候介紹關(guān)于K2設(shè)計(jì)流程的更多特征。