摘要:為實現協同發展的船舶管理理念,提高辦公效率,設計了基于工作流的船舶管理系統,給出了系統模塊化開發和制訂過程。管理者可以通過自定義工作流程來促進管理決策的有效執行,激勵工作人員完成各項任務。它集成船舶各項業務操作,通過對非結構化文檔型數據庫與關系型數據庫的交互,傳遞各種數據信息,使現代船舶管理能夠在一個統一的平臺下完成。
關鍵詞:船舶; 工作流; 管理系統; 模塊化; 數據庫; 信息
中圖分類號:U662.9; U665.261文獻標志碼:A
文章編號:1001-3695(2007)12-0214-03
0引言
信息和數字時代的今天對新一代船舶管理方式提出了新的要求和挑戰。能夠實現一種全新、高效的船舶管理成為一個新的研究領域。隨著航運市場的逐漸繁榮與振興,航運業務的多元化發展,船舶管理在船舶的日常運營中發揮著越來越重要的作用。新一代的船舶管理系統要適應不斷變化的工作需求[1],能夠實現船舶各部門之間協同工作,從而實現科學的管理與決策。在傳統的船舶管理模式中,不同的船務公司、檢驗機構和高等院校等都各自建立了很多的管理信息系統[2,3],所有這些系統均從船舶本身的使用維護等方面對船舶的運行進行管理。這使得船舶與各級管理部門之間由于通信不暢而存在決策障礙,不能實現協同管理。為解決這一矛盾,就需要靈活而又安全可靠的工作流來實現。本系統以模塊化開發為主要實現方式,主體實現了工作流服務以及各種文檔信息的維護和權限管理,后臺通過ODBC訪問關系數據庫,將船舶辦公系統和業務系統有效地集成為統一的船舶管理平臺。同時加入Web設計,前臺可用瀏覽器訪問后臺的信息[4]。其模塊化開發的思想體現在針對不同的管理方式進行多方面的定制,集成了各管理部門的不同應用,方便了系統的開發、升級與維護。
1工作流管理模式
1.1工作流簡介
國際WfMC(Workflow Management Coalition,工作流管理聯盟)給出的工作流定義是:工作流是一類能夠完全或部分自動執行的經營過程,它根據一系列過程規則、文檔、信息或任務,能夠在不同的執行者之間進行傳遞與執行。在實際情況中可以將凡是由計算機軟件系統(工作流管理系統)控制其執行的過程均稱為工作流。一個工作流包括一組活動及它們的相互順序關系,還包括過程及活動的啟動和終止條件,以及對每個活動的描述。在業務開展過程中,為了實現組織目標,有關業務活動依時序或邏輯關系相互連接構成業務流程、文檔、信息或任務,依據組織規范在參與者之間高效地傳遞、處理或執行。
1.2船舶管理中工作流模型
1.2.1工作流過程建模
每個工作流均可用對象(objects)、角色(roles)、路由(rou-ters)、規則(rules)進行分析。圖1為工作流的有向圖表示。
圖1中每個任務節點表示一個步驟,反映的是操作者(流程中的某個角色)對對象的操作,而每個有向的箭頭則是對象根據路由和規則從一個步驟流轉到另一個步驟,即流向。一個工作流實例從開始到結束經歷的節點形成了一個可用的路由。圖1中的兩個流程均復合流程,其中均包含主流程和子流程。流程a為子流程執行的同時主流程也執行;流程b為子流程完成前主流程等待。由最基本的串行流程、并行流程和自循環流程,可以組成更復雜的實用流程,由此可實現公文的傳遞、退回、會簽、跳簽等業務。
1.2.2工作流模型圖
工作流過程建模后,需要完成制訂工作流模型的系統結構圖。參考了工作流管理聯盟的工作流參考模型[5~7],符合標準,更具有開放性及兼容性。系統模型包括以下部分:工作流執行服務、可視化過程定義工具、工作流客戶應用、工作流管理和監控工具、組織結構信息和應用程序調用接口,如圖2所示。
a)工作流執行服務:通過工作流引擎和應用程序接口(application program interface,API)調用應用程序,完成工作流的執行。主要功能有:(a)解釋流程定義,生成過程實例;(b)依據工作流相關數據實現流程執行,調度各項活動,為用戶工作表添加工作項,包括順序或并行操作、期限安排等;(c)與外部資源如組織結構信息等交互,完成各項工作流活動。工作流引擎是工作流模型的核心,其任務是根據狀態轉換規則來設置流程實例的狀態,從而控制業務流程的執行。
b)可視化過程定義工具:被授權用戶可以可視化地定義工作流程,以實現收文、發文及單人審批、多人會簽等復雜程度不同的業務管理。流程定義包含了所有使業務過程能被工作流執行服務系統執行的必要信息。這些信息包括起始和終止條件、各個組成步驟、流向調度規則、各業務的參與者需要做的工作、相關應用程序和數據的調用信息等。在流程運行時,工作流引擎根據規則對流程定義進行解釋。
1.2.3工作流管理和監控工具
主要負責對工作流實例的運行進行監控。管理員可通過工作流管理工具獲得目前各個活動的運行情況報告,并干預實例的進行。管理工具被授權用戶使用,可監視所有的流程的運行情況,可對流程實例進行特殊的處理,包括掛起、喚醒、重啟動、終止、刪除等,還可對一些流程屬性數據進行修改。
1.2.4組織結構信息
企業的組織結構信息對于工作流影響很大,一般的上下級簽核權限和工作流中角色等均保存在組織結構信息中。
1.2.5工作流客戶應用
終端用戶使用的工作流平臺系統的人機交互界面全部為B/S模式,不需要安裝特殊的客戶端,使用一般的瀏覽器即可。它提供以下功能:創建流程、工作任務列表、發布公共信息、點對點通信、管理和監控以及電子郵件溝通等。工作任務列表列出了和業務過程的參與者相關的一系列工作項,支持用戶在工作任務列表中選取一個工作項,重新分配工作項,通報工作項的完成等。
1.2.6應用程序調用接口
在工作流平臺系統中,給一些相關應用程序調用提供接口,不但可以調用模型中的其他功能模塊,而且可以調用外部應用程序如Microsoft Word和其他關系型數據庫等。只要應用程序符合特定的接口設計,就可以使用工作流平臺系統完成業務處理。在系統中,接口與工作流引擎之間的數據交換是通過共享數據庫信息來實現的。
1.2.7工作流控制
該船舶管理系統的開發平臺采用IBM公司的Lotus Domino/Notes 6.0,使用開發語言為LotusScript、JavaScript、Java以及Domino Notes公式語言等。其中表單(form)和代理(agent)的成功設計是技術實現的關鍵。表單是Domino Notes中最重要的設計元素。Domino Notes數據庫是文檔型的數據庫。表單和文檔(document)的關系類似于關系型數據庫和它記錄的關系。用戶通過表單錄入數據,產生文檔,同時用戶也通過表單瀏覽文檔。表單中包含其他設計元素如域屬性、代理等,由此實現對文檔的一般處理和邏輯控制。代理是存儲在數據庫中的用LotusScript、Java或者Domino Notes公式語言編寫的程序。代理可以完成多種任務,特別是在完成有效性邏輯驗證時非常重要。其中一個典型的應用是完成表單被發送時的響應,使用代理來執行一系列動作,保證文檔有充分條件流入下一步驟。例如Submite代理發生在表單提交事件后,即一個步驟中的辦理人員完成簽收或者評閱后提交給下一個處理人或者發布文檔時,代理需要獲得文檔的讀者、催辦者、編輯者、管理員等文檔屬性或者界面提示信息、數據庫路徑等系統信息,還可能需要執行發送郵件或者短信息等催辦提示。主要文檔屬性設置如表1所示。
1.2.8與關系型數據庫的交互
目前大部分船舶原有的信息均儲存在諸如SQL Server等關系型數據庫中。因此,在船舶管理過程中涉及與關系數據庫的數據交換技術。同時為了發揮關系型數據查詢快捷等作用[8,9],該系統實現了與關系型數據庫的結合運用。檔案管理是一個典型應用,文件在歸檔時,需要編制檔號、分類號等多種檔案信息。這些短字節的信息可以方便地存儲到關系型數據庫中。查看原文檔還需要在Domino環境下,因此需要根據關系型數據庫的某個或者多個字段來對應Domino Notes文檔。每個Domino Notes文檔在產生時具有一個隨機的永久不變的32 bit數字的全局ID,可以根據該ID來對應檔案信息和文檔原文。該全局ID可以由公式語言中的公式@Document-UniqueID得到。Domino與關系型數據庫通過使用LotusScript擴展對象中的ODBC類連接指向關系型數據庫的ODBC,進而可以互相讀寫。由兩個代理來完成相關功能:代理SendURL將帶有文檔全局ID的文檔URL發送至關系型數據庫;代理ConSearch完成文檔搜索并顯示原文鏈接。
2系統的模塊化開發與實現
系統設計的基本思想是開發一個底層的通用型船舶管理平臺,在此平臺下來實現系統的底層設計。當針對具體實現時,只需在此基礎上稍加修改,就可以成為一套具有針對性很強的船舶管理系統。這樣既方便該系統的開發、升級與維護,又利于針對不同的管理方式進行多方面的定制。
2.1系統結構模塊化設計
系統的主要功能模塊有流程定制與公文流轉、個人日程與群組日程、船員評估、規章制度、討論區、即時通信、電子郵件系統、系統管理、圖書管理、檔案管理和會議管理等。系統實現的關鍵技術為工作流控制,與關系型數據庫的交互也起到重要作用。系統結構圖如圖3所示。
通過圖3可以看出,底層通用型管理模塊是整個船舶管理系統的基礎,而應用層模塊是面對客戶的,它是界面和業務邏輯的結合體,針對不同船舶或單位將有所不同。這種結構便于進行多種定制,利于二次開發。
2.2通用型管理模塊功能制訂
底層模塊主要負責完成應用層交付的任務和與底層數據庫交換數據,所以其功能是必須的且具有可擴展性。針對船舶管理的范圍,底層管理模塊主要分為以下八大功能子模塊:
a)船舶公文管理模塊。它主要負責船內公文的發送與接收工作,發送流程按照流程定制來完成,所以還包括流程定制功能。通過建立公用流程、自定義私有流程的方式,實現船舶內部公文如申請、審批的自動流轉及歸檔等。該模塊是船舶管理的核心部分,實現也最為復雜,特別是流程定制功能,是一個非常靈活的模塊,它決定了該系統的高效性和可用性。
b)郵件管理模塊。其主要功能是發送與接收所有船舶內外電子郵件(外部郵件服務器必須支持POP3協議),郵件能夠存入數據庫,以便今后瀏覽查詢。郵件到達時,能實時更新,也可以與Internet安全隔離。
c)表單管理模塊。它是一個輔助性模塊,基本上其他所有模塊都有可能用到它的功能,主要是實現表單模板的定制,表單的存儲、打印等功能。表單在船舶管理過程中出現的頻率僅次于公文,所以該模塊也非常重要。
d)檔案管理模塊。它是對準備歸檔的公文或者船舶內外的各類合同、協議、文件、指示、資料等的一個合理存儲與查閱功能,針對于復雜的分類和查閱權限,實現合理存取。
e)人事管理模塊。其主要功能包括員工資料管理、薪資管理、考勤管理、獎罰情況、職務變動、績效評估等船舶人事管理的所有功能。本子模塊將以底層視角反應員工的管理,包括職務和所屬性質都將按統一模式規劃,便于應用層定制模塊。
f)日程安排模塊。它是船舶管理中的一個必不可少的輔助功能,分為個人日程和部門日程,主要解決日程信息的基本存儲和提示。包括工作的主題、任務、完成情況,工作中遇見的主要問題,對工作提出的建議,評審人以及相關的附件等。具有一般與工作日程安排相關的所有功能雛形,便于應用層定制模塊。
g)公共信息管理模塊。公共信息包含各相關網站的鏈接、列車時刻及航班的查詢、天氣預報、郵政編碼和長途區號的查詢、日歷查詢、資料下載及BBS論壇等功能,主要是針對所有部門提供的一個共用系統。這部分信息的制訂是動態的,改進了傳統的信息固化的模式,實現了信息資源的可變更性,適應了當今信息資源交替快、變更快的特點。
h)會議管理模塊。會議管理包括會議室的制訂、會議申請、會議記錄以及視頻會議管理等。對于相隔較遠的部門,如實船與陸上的船務公司、船舶總公司與子公司之間可采用基于H.324標準的網絡視頻會議。
以上各功能模塊都是船舶管理系統的基礎。在此之上,可以創建更多的功能和輔助,從而使得船舶管理的定制和應用變得更加輕松和豐富。
3結束語
基于工作流的模塊化現代船舶管理系統具有功能全面、操作簡單、流程安全順暢等特點。它能夠方便地對非結構化文檔型數據進行管理,與關系型數據庫進行交互。它集成船舶各項管理任務,傳遞各種數據信息。模塊化的開發思想和B/S運行模式的使用,使系統易于維護和升級,以適應不斷變化的船舶管理需求。該系統在某海巡船上初步實施,效果良好。
參考文獻:
[1]DEHA E I. Ship security system requirements for ship management companies[J]. Brodogradnja, 2004,52(2):125-131.
[2]CHRYSSOLOURIS G. Towards the Internet-based supply chain ma-nagement for the ship repair industry[J]. International Journal of Computer Integrated Manufacturing, 2004,17(1):45-57.
[3]姚玉南.船舶信息管理系統開發研究[J].船海工程,2006,35(4):110-113.
[4]江炎軍,崔杜武,張滔,等.基于P2P的Web工作流管理系統體系結構研究[J].計算機應用研究,2006,23(4):214-216.
[5]汪文元,沙基昌.基于UML活動圖化簡方法的工作流模型校核研究[J].計算機工程,2006,32(15):41-43.
[6]張翔,陸遠,羅貴明.模型與實例設計模式在工作流管理系統設計中的應用[J].計算機應用研究,2006,23(7):165-166,169.
[7]張玲東,毛宇光,曹晨光,等.數據流管理系統研究與進展[J].計算機應用研究,2005,22(6):12-15.
[8]馬瑞民,王小龍.數據流管理和挖掘技術探析[J].計算機應用研究,2006,23(8):85-88.
[9]劉衛昌,馬增良.企業綜合自動化系統中實時數據庫系統設計[J].計算機應用研究,2005,22(8):146-149.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”