黃琢華
(建研科技股份有限公司,北京100013)
建筑工程設計需要建筑師﹑結構工程師﹑設備工程師等各個專業的合作,一項完美的設計項目的完成,是設計團隊各個成員之間密切協作的結果。在設計過程中,常常需要各專業的設計師面對設計中遇到的各種矛盾和沖突,進行反復協商和修改,并最終取得使用功能﹑建筑外觀﹑項目成本﹑施工效率等多種因素綜合效果最佳和令業主滿意的設計成果。隨著建筑規模的加大﹑復雜程度的提高,提高團隊協同設計的效率已經成為一種強烈的需求。
目前,一項建筑工程的設計任務,需要應用多個設計軟件才能完成。由于各專業軟件具有該軟件特有的數據結構和輸出格式,所以當設計數據在不同的專業軟件中進行交流時,常常會造成數據的丟失和畸變。同時,由于各個專業軟件沒有統一的協同工作平臺,使得各專業設計人員之間無法實現設計過程中有效的協同工作。例如,建筑師修改了建筑平面圖,結構工程師和其他專業工程師不能實時地得到修改信息,他們還在舊圖上繼續工作,從而造成了設計時間的浪費。
為此,新一代PKPM軟件基于BIM技術,正在開發基于BIM的分布式協同設計平臺。本文對協同設計平臺的底層框架進行了研究,運用目前先進絡開發技術設計了協同平臺的多層架構﹑網絡架構和不同規模應用的部署方案。
本平臺針對建筑設計院的應用特點,運用網絡技術和數據庫技術實現設計人員的協同設計和信息共享,開發功能實用、技術先進、用戶友好的協同設計平臺,以提高設計質量和設計效率。本平臺基于客戶端-服務器架構,為使一個項目的設計團隊能夠在項目的協同工作中獲得靈活性最大、速度最快和數據安全性最高的保證而設計。團隊成員在本地計算機上工作,并通過服務器與他們本地的PKPM系統之間有規律地發送和接收項目的修改。
對平臺的要求:相對獨立,盡量不依附于其他需要付費的商用軟件;應符合協同設計技術的發展趨勢,采用新的網絡技術和數據庫技術;應易學易用,無需對用戶進行特殊的培訓;保證傳送過程中數據的安全;有在系統內很方便的團隊成員之間發送消息的功能。
主要功能應包括:用戶管理;團隊管理;BIM模型管理;項目信息管理;圖庫管理;實時和延遲信息發送機制;數據安全保障機制;進程管理等。
系統應能服務于小型﹑中型﹑大型三種規模的設計院的基于BIM的協同設計工作,特別是對大設計院的大型﹑復雜建筑項目,在項目團隊成員之間共享BIM模型時,要使數據傳輸高效﹑順暢;同時數據處理應能滿足小型﹑中型﹑大型三種規模的建筑工程項目的容量和速度要求。
協同設計平臺需要面對異構的網絡環境、不同專業的用戶需求、復雜的設計業務流程、眾多的項目團隊組織以及角色分工等問題。因此,如何使協同設計平臺及其上層BIM應用軟件能夠彼此盡量少地受到干擾和牽制,是平臺設計中需要解決的重要問題。多層架構技術是解決這一問題的有力途徑。在多層架構中,業務邏輯與數據操作及用戶交互分離;模塊代碼相對獨立;不同的業務可以分布在系統的不同主機上,也可以將面向不同客戶的同一業務分布在不同主機上;數據層與業務層隔離。分層結構的這些特點可以讓平臺的各部分功能更加明確,減少各層次之間的關聯和依賴,提高了軟件的開發效率;使軟件產品的穩定性、兼容性、擴展性得到提高;減少了數據庫遭受錯誤訪問或非法攻擊的可能性。因此,基于協同設計平臺的需求分析和數據安全性的考慮,本文采用多層架構技術進行平臺的系統設計。
本文將協同平臺分成界面展現層,業務邏輯層,領域模型層和數據持久層共4個層次。
其中界面展現層主要展現圖標﹑對話框﹑數據﹑消息﹑報表﹑圖塊等系統對用戶的提示;回顯用戶輸入的文字﹑數據﹑選項﹑圖形元素等;負責系統與用戶交互界面的實現。
業務邏輯層主要對應于系統應用層,負責設計業務邏輯的解釋與處理;實現協同工作的同步與異步處理;完成用戶指定的操作;進行用戶請求的業務處理;返回系統對用戶請求的處理結果。
領域模型層主要用于將數據持久層提供的數據組織成為具有業務含義的領域模型提供給業務邏輯層使用,數據按照面向對象的方式組織,記錄于內存之中。領域模型層的存在使得業務邏輯層無需專注于數據在磁盤上的組織形式與方式。
數據持久層用于所有需要存儲的數據的持久化,數據可以包括普通磁盤文件或者數據庫。數據庫使用ORM(對象關系數據庫映射)技術可以避免代碼直接操作數據庫,增加了系統的可移植性﹑可擴展性和可維護性。持久層是實現項目團隊成員間數據共享,保證數據安全性和保密性,以及數據訪問正確性的有力保障。
對于協同設計平臺,傳統的B/S架構﹑C/S架構和SOA架構都是值得考慮的架構方案。
B/S架構(Browser/Server,瀏覽器/服務器模式),將系統功能實現的核心部分集中到服務器上,客戶機上只要安裝一個瀏覽器(Browser)。服務器上安裝數據庫和應用程序,瀏覽器通過Web Server同數據庫進行數據交互。協同設計平臺如果采用B/S架構,則用戶端界面只需在Web瀏覽器中實現就可以了,軟件維護只需要針對服務器進行就可以了。但是在這種模式下,一旦出現服務器崩潰現象,其后果非常嚴重。
C/S架構(Clint/Sever,客戶機/服務器模式),將任務合理分配到Client端和Server端來實現,可以充分利用兩端硬件環境的優勢,降低了系統的通訊開銷。C/S架構由于能充分發揮客戶端PC機的性能,故有效地減小了服務器的負荷,但是由此帶來的代價是需要頻繁地對客戶端軟件進行維護﹑對系統進行升級。同時,如果用戶想要在廣域網中登錄協同設計平臺,就必須通過遠程的接入或控制,進入局域網環境后才能運行。
SOA架構(service-oriented architecture,面向服務的體系結構)是一個組件模型,它將應用程序的不同功能單元通過服務之間定義良好的接口和契約聯系起來。接口采用中立的方式進行定義,獨立于實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種這樣的系統中的服務可以以一種統一和通用的方式進行交互。
結合PKPM BIM軟件的需求分析,協同設計平臺應符合多種不同的客戶端需要,從傳統客戶端,到網頁瀏覽,還需支持移動設備。單一的架構方式并不適用于這樣大型的系統。對于設計程序,功能明確,對效率要求高,可以采用C/S架構;對于網頁瀏覽部分,將邏輯代碼盡可能放在服務器端,使用B/S架構;對于移動設備的支持,考慮到接口需要支持多種不同的平臺,系統和語言,可以采用SOA架構,使用Webservice來實現。
為了使PKPM協同設計平臺滿足大型﹑中型﹑小型不同規模的設計院的協同設計需求,本文按照這三種規模的設計院的人力﹑工作方式﹑任務規模等特點,設計了三種不同的協同平臺部署方案。圖1展示的是面對小型設計院的協同平臺部署方案。小型設計院的項目通常不太大,項目團隊也相對比較小,可能沒有專職的CAD管理員和BIM經理,因此面對小型設計院的協同平臺部署方案相對簡單一些,Web Server﹑BIM Sever﹑Database Server都放在一個服務器里。這樣對于小型設計院來說,就可以用較低的設備成本來建設協同設計平臺。
圖2展示的是面對中型設計院的協同平臺部署方案。中型設計院可能有多個獨立的項目團隊,承擔的項目可能大中小規模都有,可能有專職的CAD管理員和BIM經理,也可能是某個設計師兼任BIM經理。中型設計院的協同設計平臺中,除了Web Server、BIM Sever、Database Server外還多了 Publishing Server和File Server,而且它們被放在不同的服務器里。
大型設計院的人力﹑財力相對雄厚,承擔的項目規模也大,有時還會承擔一些特大型工程項目,有專職的CAD管理員和BIM經理。因此為大型設計院設計的協同平臺除了中型設計院所有的設備外,還在客戶端設置了本地緩存服務器,在多組客戶端之間設置了載荷平衡服務器。此外,為適應大型設計院的業務需求,還設置了緩存服務器﹑高性能云計算服務和云存儲設備。圖3展示了面對大型設計院的協同平臺部署方案。

圖1 面對小型設計院的協同平臺部署方案

圖2 面對中型設計院的協同平臺部署方案
本文在對協同設計平臺進行需求分析,對網絡前沿技術進行研究的基礎上,結合基于BIM技術的新一代PKPM軟件的研發,對協同設計平臺的底層框架進行了研究,設計了協同平臺的多層架構﹑遠程調用框架和不同規模應用的部署方案。該設計提高了軟件的可維護性和可擴展性,也提高了軟件開發的效率。

圖3 面對大型設計院的協同平臺部署方案
[1]史美林,向勇,楊光信.計算機支持的協同工作理論與應用[M].北京:電子工業出版社,2000.
[2]于加晴,查建中,陸一平,徐文勝,李楠,M.Sobolewski.面向復雜產品的分布式協同設計系統[J].中南大學學報(自然科學版),2010(2).
[3]高曙明,何發智.分布式協同設計技術綜述[J].計算機輔助設計與圖形學學報,2004,16(2).
[4] Christos Tjortjis,George Dafoulas,Paul Layzell,etal.A Model for Selecting CSCW Technologies for Distributed Software Maintenance Teams in Virtual Organizations[j].Proceedings of 26th Annual International Computer Software and Applications Conference,2002.
[5] Leandm Navm,Wolfgang Prinz,Tom Rodden.Towards Open CSCW Systems[J].Proceedings of the Third Workshop on Future Trends of Distributed Computing Systems,1992.