企業重組項目的趨勢是向電子商務的運營模式轉變,這將對企業的組織結構和內部工作流程產生深遠的影響。因此,需要解決企業應用中的“信息孤島”現象,針對相對具體復雜的業務,整合各種獨立系統,是企業信息系統分支企業改制項目面臨的問題。在構建信息系統時,每個利益相關者都應該考慮如何提高系統的靈活性,以支持企業重組和業務流程再造。如何整合異構系統,利用和保護原有系統資源?
在實際開發中。很多系統經常需要返工,不是因為系統功能沒有完成,而是因為質量屬性沒有得到滿足,這些質量屬性總是交織在壹起的。在系統設計中,沒有辦法在不犧牲其他質量屬性的情況下最大化壹個性能,這就要求如何滿足業務性能(如上市時間、成本、系統生命周期和目標市場等。)和質量性能應在設計系統時首先考慮。如何滿足質量跳蚤性能的動態屬性(運行時可測量的屬性,如安全性、可用性、功能性和可用性)和靜態屬性(運行時不可測量的屬性,如可修改性、可移植性、可重用性、集成性和可測試性),並根據需求對這些屬性進行權衡,這種權衡可以通過分析系統軟件架構來實現。系統的軟件架構是系統分析中優先考慮的許多因素中最早的工件。它反映了系統應該包含的所有屬性,是系統需要達到的諸多屬性的平衡,如系統運行效率與安全性、可維護性與可靠性、當前開發成本與未來擴展成本之間的平衡。系統通過系統的結構平衡來實現這些質量屬性,壹開始可能是設計師用不上。
流程管理的挑戰
業務主管希望業務流程能夠跟上不斷變化的業務環境,而IT主管希望能夠快速響應不斷變化的業務需求,以較低的成本做出改變。
管理者希望對企業流程的執行情況進行整體監控和績效分析,更好地協調業務,做出更快速有效的決策。
越來越多的業務系統變得越來越復雜。要完成壹項業務,需要手動接入多個系統。企業應用系統中的軟件組件越來越復雜,系統規模不斷擴大,使得軟件體系結構越來越復雜。系統的質量和性能不再僅僅依賴於實現算法和數據結構。軟件系統架構在壹定程度上決定了系統的質量。軟件體系結構提供了壹種工具,使得軟件開發活動能夠被管理、形式化和組織。通過它,軟件開發過程中的壹些對象可以轉換成新的軟件體系結構下的對象。例如,我們可以通過軟件架構將軟件需求規格轉化為系統設計,將設計轉化為實現。
軟件架構是指計算機軟件(程序)系統的壹個或多個系統結構。它們由組件、組件的外部性能屬性和組件之間的關系組成。軟件系統架構有好有壞。好的系統架構可以使軟件系統滿足特性、性能和生命周期的要求,而壞的系統架構則不能。因此,在系統開發開始時,要通過實驗、驗證等評估方法,選擇最佳架構來構建系統。
有許多軟件架構。本文將軟件體系結構分為五類:以數據為中心的體系結構、數據流體系結構、虛擬機體系結構、調用和返回體系結構以及獨立組件體系結構。每壹類體系結構都為我們提供了壹個分析系統需求的基本點和設計系統的方法,它們都是有效和實用的。但都是基於技術的角度,從產品領域來分析架構定義的組件。組件之間的交互信息和組件的外部性能屬性是組件被其他組件操作時所能提供的服務、性能統計、錯誤處理、數據應用等。系統的定性T屬性來源於系統的業務需求。如果從業務領域考慮系統的架構,那麽通過抽象企業應用需求中的業務建模,用業務功能組件實現業務處理中的具體工作,用參與者匹配和流程定義建立業務流程、業務活動和組織之間的關系,用工作流虛擬機作為支撐,可以描述軟件架構中業務邏輯的靜態屬性,可以解釋運行反映業務流程的流程模型的例子,實現軟件架構中的動態屬性。通過業務邏輯和系統實現的分離,以及系統軟件架構中靜態和動態屬性的邏輯,用業務邏輯的表現實體來描述企業應用系統的架構,業務邏輯可以分為業務流程、業務活動和參與者。通過獨立封裝它們之間的信息交換機制,可以降低業務邏輯、業務數據和業務運營實體之間的耦合,實現業務域中業務流程的靈活管理(即業務流程管理)和業務流程中不同業務活動應用功能的集成。
業務流程是指能夠在企業或組織中實現業務目標和策略的相互關聯的流程和活動集。業務流程可以用工作流來描述,它可以表示為可以完全或部分由計算機執行的業務流程。在這個過程中,文檔、信息或任務按照預定的規則交付,企業人員和現有軟件相互協調,實現企業業務的總體目標。通過流程建模,定義了業務處理中涉及的各種數據,包括起止條件、控制流以及各個工作環節之間以及相互之間的數據流關系。
業務活動是業務流程的最小工作單元,代表業務的具體功能,對應工作流中壹個邏輯步驟或環節的工作任務,壹般分為手工操作和自動處理兩類。通過對業務活動進行建模,可以將活動的內容從活動的控制關系中分離出來,從而使活動的內容可以是壹個用戶界面,也可以是壹個組件(比如壹個成本組件、壹個編譯好的執行程序,或者壹個子業務流程)。當業務內容發生變化時,只替換特定的功能組件,而不改變業務流程的流程定義;當業務流程發生變化時,只需要改變活動的控制關系,而業務內容及其相關數據庫不需要改變。
組織是參與者的壹種建模機制,它有三個基本要素:組織單元、角色和參與者。這些基本元素用於流程建模,通過建模機制保證定義的流程中使用的角色與組織中定義的元素之間的壹致性。它給組織建模帶來兩個好處:①將業務的流程定義與業務的實際執行參與者分離,提供了流程模型與企業人員的組織模型之間的相對獨立性;(2)提供了平衡工作的手段..當有多個執行者滿足參與者的需求時,可以在不改變流程定義的情況下,通過角色匹配在這些參與者之間平衡工作,從而提高工作效率,減少流程壹次性執行的周轉時間。SynchroFLOW流是壹個業務流程管理和集成系統,具有面向業務領域的系統架構。通過對業務過程建模和對組織進行分離,可以最大程度地滿足系統的質量屬性。
1工作流虛擬機
工作流虛擬機是解釋和執行業務過程的工作流管理系統,並且它是用於工作流過程實例的創建、執行、監督和管理的操作環境。它對外提供流程、活動和工作流的查詢、控制、管理功能、日誌管理功能和系統管理功能,對內提供工作流解釋和執行的語義和語法規則,在SynchroFLOW流程中提供基於字母卡片驅動模型的工作流語義和語法規則。它是基於Petri網理論的工作流模型,遵循WfMC標準。通過劃分同步區和異步區,在同步區使用真假信任卡的規則。在異步領域使用真信任卡規則具有豐富的語義和直觀的描述能力,可以描述各種業務流程的控制邏輯。
2業務流程建模
業務流程建模是根據字母卡片驅動的模型,通過制定工作流解釋,實現語義和語法規則,對業務流程進行嚴格的描述。只要完整地定義了業務流程的流程和壹些相關的描述信息,工作流虛擬機就會根據這個流程定義自動或半自動地執行,不需要用戶開發額外的軟件。
SynchroFLOW流程的業務流程建模分為流程建模定義、流程建模管理和流程定義結果的標準格式等。流程建模完成了業務流程的棋局定義,包括流程信息和相關數據。過程建模管理負責過程定義的管理功能,包括過程定義結果的保存和獲取,以及過程定義數據庫的管理。過程定義結果的格式將遵循XMLWPDL過程定義交換標準。
3業務活動建模
壹個工作流模型可以包含幾個過程;壹個過程可以包含幾個基本元素;它們可以分為兩類:活動要素和轉移要素。活動分為開始活動、手動活動、自動活動、內心活動、子活動、路由活動、活動組、意外活動、結束活動等九種特殊情況。業務活動建模,壹方面是將活動的內容(具體功能)設計成組件(如成本組件、編譯的執行程序、或壹個子業務流程或用戶界面),完成人機交互、數據處理和與數據庫連接的功能,並以壹定的方式存儲起來,供定義業務流程時調用。另壹方面,根據活動類型和控制流信息,在定義業務流程時,
4組織結構建模
在業務流程的定義中,除了定義壹系列的活動以及它們之間的關系之外,還要考慮手工活動由誰來做,以及如何決定由誰來做。在工作流系統中,壹個活動可能有三種參與者(執行者):人、公司和角色。這三種信息存儲在企業的組織模型數據庫中,用於過程定義。
人員:表示活動的具體執行人,交互完成活動的任務。
公司:壹項活動的執行人不是分配到壹個人,而是分配到壹個組織單元,這表明該單元中的任何人都有能力和責任執行該活動。系統實現時,根據當前情況,動態選擇單位內壹個合適的人來完成活動。
角色:是業務流程中不同的人所承擔的職責劃分,不同的職責可以由不同的角色來完成。
參與者是活動的執行者,它描述了誰可以執行活動。它是壹個人、壹個組織單元、壹個角色的集合運算表達式。參與者與流程相關,而個人、組織單位和角色的定義獨立於流程。參與者與活動的關系是執行與被執行的關系,參與者與人、組織單位、角色的關系是被扮演與被扮演的關系。只有滿足參與者表達式的人員、組織單元和角色才有權執行活動(只要在流程實例執行前將參與者分配給壹個活動,即參與者匹配或參與者轉換)。所以參與者和執行者之間是多對多的關系。壹個參與者可以由壹個或幾個執行人扮演,壹個執行人可以扮演多個參與者。這種多對多的關系給參與者匹配的實現帶來了壹定的困難。但與此同時,它也帶來了靈活、簡單和易於控制的好處。
利用SynchroFLOW實現業務流程管理
SynchroFLOW流程建模采用標準的XML-WPDL流程定義作為流程建模和工作流虛擬機之間交換流程定義的方式,從而在代表企業業務流程的流程定義程序和工作流虛擬機之間建立了壹種松散靈活的關系。當企業業務流程重組時,業務流程發生變化,只需要改變業務流程定義,用新的流程定義文件替換舊的流程定義即可,不需要修改系統的功能組件、參與者和數據庫屬性。
當使用同步流開發企業應用時,當業務流程、活動或參與者發生變化時,可以使用同步流提供的工具,在不影響系統整體架構的情況下,對系統進行局部快速修改,從而保證系統的質量屬性。同時,由於工作流虛擬機和反映業務流程的流程定義文件的分離,業務流程也可以動態修改,即可以修改流程定義模型的實例。當壹個實例化的流程在運行中需要修改時,工作流虛擬機掛起待修改的流程實例,使用SynchroFLOW Flow提供的工具快速修改流程、活動或參與者,並獲得新的業務流程模型文件,由工作流虛擬機實例化,恢復掛起的業務流程。由於它的實例已經更新,它將根據新的業務流程運行。
利用SynchroFLOW實現企業應用集成
SynchroFLOW流程降低了業務邏輯、業務數據和業務操作實體之間的耦合性,可以在企業應用的異構環境中實現功能組件級和流程級不同層次的集成。軟件開發人員開發的與過程定義相關的EJB、應用程序、表單和附件通過系統管理進行註冊和註銷;用表單開發工具開發的表單通過應用管理提供的API註冊;EJB通過EJB部署工具部署到EJB服務器上;EJB、申請、表格和附件的索引信息保存在申請數據庫中。由SynchroFLOW的表單開發工具開發的表單或者由第三方開發工具(如FrontPage)開發的表單以及JSP、HTML、EJB封裝的組件通過註冊成為業務活動的功能組件。
在企業應用中,很多應用是二次開發者和用戶自己開發的,也有壹部分是第三方開發的成本組件,是工作流虛擬機不知道的。SynchroFLOW通過應用程序的註冊和取消機制來集成它們。有兩種方法可以集成應用程序。壹種是將完成的應用程序作為活動的功能組件,在應用程序管理中註冊應用程序索引信息,在定義流程時集成到活動中。當業務流程運行時,它將與活動壹起執行。另壹種是調用應用,對應的API處理客戶端註冊應用的請求,也響應調用應用的請求。