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