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