專利名稱:基于軟件即服務(wù)模式的cad集成系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種計算機(jī)應(yīng)用技術(shù)領(lǐng)域的裝置,具體是一種基于 SaaS (software as a service,軟件艮口月艮務(wù))模式的 CAD (computer aided design,計算機(jī) 輔助設(shè)計)集成系統(tǒng)。
背景技術(shù):
基于網(wǎng)絡(luò)的CAD技術(shù)是利用網(wǎng)絡(luò)及其衍生技術(shù),通過分布協(xié)同的工作方式使產(chǎn)品 設(shè)計合理有序,設(shè)計方案和數(shù)據(jù)廣泛優(yōu)化,設(shè)計資源與信息模型廣泛共享,從而保證CAD產(chǎn) 品的高性能、高質(zhì)量、低成本和短周期。國內(nèi)外基于網(wǎng)絡(luò)CAD系統(tǒng)的研究主要集中在網(wǎng)絡(luò)協(xié) 同設(shè)計和網(wǎng)絡(luò)環(huán)境下的CAD資源共享方面以及CAD系統(tǒng)集成方向。隨著Web技術(shù)的發(fā)展 和成熟,基于Web的CAD系統(tǒng)逐漸成為一個新的研究方向。Web技術(shù)可以將地理上不同的 CAD系統(tǒng)有效聯(lián)系在一起,提供遠(yuǎn)端CAD計算與設(shè)計工具,異地異構(gòu)服務(wù),用以改善遠(yuǎn)程設(shè) 計的工作模式。目前多數(shù)基于Web的CAD系統(tǒng)同樣是關(guān)注于網(wǎng)絡(luò)協(xié)同設(shè)計、分布式環(huán)境下 的CAD資源共享和CAD系統(tǒng)之間以及CAD與CAM系統(tǒng)的集成。網(wǎng)絡(luò)協(xié)同設(shè)計,即關(guān)注于實(shí) 現(xiàn)WebCAD系統(tǒng)中各用戶的協(xié)同設(shè)計能力;CAD設(shè)計資源共享,即Web CAD系統(tǒng)的數(shù)據(jù)存儲 和數(shù)據(jù)共享;CAD系統(tǒng)與CAM或者其他CAD系統(tǒng)的集成。AutoCAD是目前廣為流行的CAD軟件,具有強(qiáng)大的圖形功能,在建筑、機(jī)械、電子、 輕工等行業(yè)的計算機(jī)輔助設(shè)計中占用重要的作用。隨著^ternet技術(shù)的發(fā)展,CAD軟件也 遇到了不少問題,一是隨著CAD軟件功能越來越強(qiáng)大,其本身也逐漸變的越來越復(fù)雜,使用 成本也越來越高,給用戶帶來了越來越重的負(fù)擔(dān),其中包括軟件與硬件的升級費(fèi)用。二是 CAD軟件只支持Windows系統(tǒng),若要實(shí)現(xiàn)對所有平臺的支持則需要為每個平臺開發(fā)特定版 本的CAD系統(tǒng),這無疑增加了軟件開發(fā)周期與難度。三是CAD軟件只是關(guān)注本地處理,用 戶之間的資源信息都分散孤立在各用戶系統(tǒng)之中,用戶之間的資源不能實(shí)現(xiàn)快捷有效的共 享?;谝陨系南嚓P(guān)背景,經(jīng)過對現(xiàn)有技術(shù)的檢索發(fā)現(xiàn),現(xiàn)有的相關(guān)研究集中 在CAD的協(xié)同設(shè)計和CAD系統(tǒng)的網(wǎng)絡(luò)化實(shí)現(xiàn)上,如Fuh, J. Y. H.,Li,W. D. Advances in collaborative CAD :the_state_of_the art [J]. (CAD 辦同處理的優(yōu)勢)(Computer Aided Design vol. 37, no. 5 ;571-81. 2005);《基于Web服務(wù)的圖形CAD網(wǎng)絡(luò)化協(xié)同設(shè)計框架》(計 算機(jī)集成制造系統(tǒng)2005. 5)中所述的系統(tǒng)與本發(fā)明所述的系統(tǒng)具有相似的體系結(jié)構(gòu)都是 以Web服務(wù)器為其調(diào)度核心,在后臺利用某種CAD系統(tǒng)作為其服務(wù)驅(qū)動器,在服務(wù)器都需要 關(guān)注Web服務(wù)器系統(tǒng)。但上述兩系統(tǒng)的主要設(shè)計目的是建立CAD系統(tǒng)的協(xié)同設(shè)計框架,其 關(guān)注重點(diǎn)在于解決CAD協(xié)同設(shè)計中的集中設(shè)計沖突問題,以一定的效率和空間換取協(xié)同設(shè) 計的正確和穩(wěn)定。而本發(fā)明所述的系統(tǒng)則主要是對CAD系統(tǒng)功能的封裝和模擬,主要關(guān)注 后臺CAD系統(tǒng)對于客戶請求的執(zhí)行效率以及大量用戶的并發(fā)處理能力。A Web-based CAD system.(基于網(wǎng)絡(luò)的 CAD 系統(tǒng))(Journal of Materials Processing Technology 139(2003)229-232)其中記載了一種側(cè)重于三維圖像的處理的系
3統(tǒng),但該技術(shù)存在著由于傳輸圖像較大,傳輸效率有待提高的問題。為提高客戶與服務(wù)器之 間的圖形圖像傳輸效率,在通過AutoCAD生成圖片時會選擇相對較小的圖片格式,并且對 圖形文件采用增量傳輸模式以提高傳輸效率。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)存在的上述不足,提供一種基于軟件即服務(wù)模式的CAD集成 系統(tǒng),將AutoCAD的功能和編程接口封裝抽象為Web服務(wù),改變傳統(tǒng)的CAD使用模式,有效 的解決了 CAD系統(tǒng)所存在的以上問題。本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的,本發(fā)明包括客戶代理模塊、Web服務(wù)器模 塊、CAD代理服務(wù)器模塊和資源管理模塊,其中客戶代理模塊以插件的形式嵌入在客戶端 瀏覽器中,客戶代理模塊實(shí)現(xiàn)與Web服務(wù)器模塊之間的通信,Web服務(wù)器模塊和CAD代理服 務(wù)器模塊為系統(tǒng)的后臺服務(wù)器,Web服務(wù)器模塊實(shí)現(xiàn)與CAD代理服務(wù)器模塊之間的通信,資 源管理模塊實(shí)現(xiàn)處理Web服務(wù)器和CAD代理服務(wù)器產(chǎn)生的數(shù)據(jù)、對服務(wù)器計算資源進(jìn)行分 配、存儲AutoCAD執(zhí)行結(jié)果和客戶信息并管理請求處理時產(chǎn)生的CAD數(shù)據(jù)和CAD狀態(tài)信息。所述的客戶代理模塊包括界面管理單元和Web服務(wù)存根,其中界面管理單元管 理用戶界面,接收用戶輸出,對服務(wù)器返回結(jié)果進(jìn)行相應(yīng)處理,所述的Web服務(wù)器模塊調(diào)度服務(wù)請求并實(shí)現(xiàn)與后臺CAD代理服務(wù)器進(jìn)行通信,該 Web服務(wù)器模塊包括Web服務(wù)調(diào)度模塊、會話管理模塊和客戶管理模塊,其中Web服務(wù)調(diào)度 模塊與客戶代理模塊相連實(shí)現(xiàn)接收和調(diào)度客戶端服務(wù)請求、平衡服務(wù)器負(fù)載并處理并發(fā)用 戶訪問,會話管理模塊與CAD代理服務(wù)模塊相連并根據(jù)客戶端請求實(shí)現(xiàn)建立、維護(hù)和撤銷 會話,客戶管理模塊實(shí)現(xiàn)管理客戶端的訪問控制和身份認(rèn)證。所述的CAD代理服務(wù)器包括驅(qū)動管理單元和CAD調(diào)度控制單元,其中驅(qū)動管理 單元和CAD調(diào)度控制單元分別作為代理服務(wù)器的前后端相互配合并為Web服務(wù)器提供后臺 支持,驅(qū)動管理單元實(shí)現(xiàn)管理與Web服務(wù)器模塊的通信、接收經(jīng)由會話傳遞過來的請求、根 據(jù)請求調(diào)用相應(yīng)的CAD訪問控制器執(zhí)行請求并且處理CAD訪問控制器中的執(zhí)行結(jié)果和相應(yīng) 的中間數(shù)據(jù),CAD調(diào)度控制單元由一組服務(wù)器后臺進(jìn)程或者線程實(shí)現(xiàn),通過AutoCAD的COM 接口控制具體的對于AutoCAD進(jìn)程的訪問,將客戶端的請求轉(zhuǎn)化為實(shí)際的CAD操作,實(shí)現(xiàn)遠(yuǎn) 程的CAD調(diào)用。所述的資源管理模塊以AutoCAD進(jìn)程的形式對服務(wù)器計算資源進(jìn)行分配,存儲 CAD執(zhí)行結(jié)果和客戶信息并管理請求處理時產(chǎn)生的CAD數(shù)據(jù)和CAD狀態(tài)信息。本發(fā)明通過以下方式進(jìn)行工作通過CAD代理服務(wù)器模塊封裝CAD訪問接口,Web 服務(wù)器模塊根據(jù)CAD訪問接口所提供的功能,對CAD系統(tǒng)的編程接口進(jìn)行Web封裝,形成 WSDL(Web服務(wù)描述語言)接口文件,并向客戶發(fā)布接口文件供客戶代理模塊使用??蛻舳?和服務(wù)器之間以Web服務(wù)為橋梁,通過HTTP協(xié)議中包含的SOAP信息進(jìn)行通信;Web服務(wù)器 模塊和CAD代理服務(wù)器模塊之間也采用client/server結(jié)構(gòu),即將CAD代理服務(wù)器模塊作 為server端,為Web服務(wù)器模塊提供后臺服務(wù),實(shí)現(xiàn)CAD訪問處理。采用這種兩級的服務(wù) 器結(jié)構(gòu),有利于服務(wù)器端的擴(kuò)展,易于實(shí)現(xiàn)服務(wù)器端的負(fù)載平衡;服務(wù)端為每個客戶建立相 應(yīng)的代理服務(wù)程序?qū)碜钥蛻舸砟K的請求進(jìn)行相應(yīng)處理,如新客戶的注冊、處理已注 冊客戶的操作請求和客戶的注銷等。服務(wù)器為每個客戶端在會話管理器和CAD代理服務(wù)器模塊中進(jìn)行注冊并根據(jù)請求的不同進(jìn)行相應(yīng)處理。本系統(tǒng)在結(jié)構(gòu)上首創(chuàng)性的提出將&iaS模式應(yīng)用于AutoCAD系統(tǒng),對AutoCAD的編 程接口進(jìn)行封裝,采用Web服務(wù)技術(shù)封裝AutoCAD的編程接口,并以AutoCAD的基本功能為 基礎(chǔ)對Web服務(wù)技術(shù)進(jìn)行分類并抽象成為相應(yīng)的服務(wù)端口,通過Web服務(wù)技術(shù)將這些服務(wù) 端口對外發(fā)布以提供服務(wù)。本系統(tǒng)獨(dú)創(chuàng)性的通過AutoCAD的COM接口技術(shù)在服務(wù)器端獲得 在外圍對AutoCAD進(jìn)程的控制權(quán)。AutoCAD軟件對外提供了豐富的編程接口,但大多數(shù)的 編程接口都是針對AutoCAD的二次開發(fā)而設(shè)計,主要目的是擴(kuò)展AutoCAD的功能,實(shí)現(xiàn)復(fù)雜 功能擴(kuò)展和定制。Web AutoCAD系統(tǒng)在為每一個客戶提高服務(wù)時,在服務(wù)端需都要維護(hù)一 個獨(dú)立的會話,這個服務(wù)器會話需要時刻監(jiān)控為客戶端提供服務(wù)的AutoCAD進(jìn)程,包括向 AutoCAD進(jìn)程發(fā)送指令、讀取指令執(zhí)行結(jié)果和監(jiān)視AutoCAD進(jìn)程執(zhí)行狀態(tài)等。采用COM接口 技術(shù)在實(shí)現(xiàn)對AutoCAD進(jìn)程監(jiān)控的同時,還能充分保證CAD代理服務(wù)器模塊和Web服務(wù)器 模塊的可擴(kuò)展性。
圖1為本系統(tǒng)結(jié)構(gòu)圖。圖2為本系統(tǒng)處理流程圖。圖3為本發(fā)明性能測試圖。
具體實(shí)施例方式下面對本發(fā)明的實(shí)施例作詳細(xì)說明,本實(shí)施例在以本發(fā)明技術(shù)方案為前提下進(jìn)行 實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施 例。如圖1所示,本實(shí)施例包括如圖2所示,所述的系統(tǒng)將來自客戶的請求分為兩種類型,一是初始化請求,對于 新的客戶需要首先調(diào)用一個初始化Web服務(wù)接口向Web服務(wù)器模塊注冊,Web服務(wù)器模塊為 每個注冊的客戶建立會話管理器,由會話管理器實(shí)現(xiàn)與CAD代理服務(wù)器模塊之間的通信, 驅(qū)動管理器會為新的客戶創(chuàng)建一個AutoCAD進(jìn)程為客戶請求提供服務(wù)。二是客戶操作請 求,當(dāng)新的客戶注冊成功后,客戶代理模塊就可以調(diào)用Web服務(wù)接口中所提供的服務(wù)。調(diào)用 過程與初始化過程類似,Web服務(wù)請求首先由Web服務(wù)器模塊進(jìn)行處理,并由Web服務(wù)器模 塊進(jìn)行調(diào)度,通過屬于每個客戶的會話轉(zhuǎn)發(fā)給相應(yīng)的CAD代理服務(wù)器模塊,最后交由注冊 時為每個客戶所創(chuàng)建的AutoCAD進(jìn)程來執(zhí)行客戶請求??蛻舸砟K采用Flex實(shí)現(xiàn),以插件的形式嵌入到客戶瀏覽器中。客戶端管理用 戶界面,接收用戶輸出,對服務(wù)器返回結(jié)果進(jìn)行相應(yīng)處理,例如數(shù)據(jù)格式的轉(zhuǎn)換以及客戶端 窗口坐標(biāo)系和服務(wù)器端AutoCAD實(shí)際坐標(biāo)系之間的轉(zhuǎn)換。用戶輸入的坐標(biāo)信息是客戶端坐 標(biāo)系中的坐標(biāo),坐標(biāo)需要轉(zhuǎn)換成服務(wù)器AutoCAD實(shí)例中的坐標(biāo),才能作為操作的參數(shù)發(fā)送 到服務(wù)端。AutoCAD生成的DWG等圖片格式采用AutoCAD內(nèi)部編碼,所以服務(wù)器返回的圖片 和數(shù)據(jù)要轉(zhuǎn)換為合適格式才能在客戶端正確的顯示。在客戶瀏覽器中使用鼠標(biāo)拖拽繪圖時,Web CAD系統(tǒng)有繪圖提示功能,為了減少客 戶端請求次數(shù),減少客戶端和服務(wù)器之間的通信量,這部分繪圖功能需要由客戶端而不是服務(wù)器來執(zhí)行。在Flex中調(diào)用Web服務(wù)需要添加Web服務(wù)組件來生成相應(yīng)的Web服務(wù)本地調(diào) 用接口。Web服務(wù)組件完成的就是解析對wsdl和soap處理。以下是添加Web服務(wù)組 件的代石馬:<mx:ffebService id = “ webService “ showBusyCursor = “ true “ wsdl =“http://202. 120. 38. 22380/AutocadffebServer/AutocadffebServer. dll ? Handler =GenAutocadffebServerffSDL“ />為該組件中所有的Web服務(wù)接口添加相應(yīng)監(jiān)聽方法,定義結(jié)果返回處理函數(shù)和錯 誤處理函數(shù)。然后,就可以在程序中方便的調(diào)用Web服務(wù)接口,例如在調(diào)用初始化接口時, 可以直接調(diào)用webService. InitClientO ;Web服務(wù)器模塊采用IIS實(shí)現(xiàn)。IIS能夠與Window NT krver完全集成在一起, 因而系統(tǒng)能夠利用Windows NT krver和NTFS(NT File System, NT的文件系統(tǒng))內(nèi)置的 安全特性以及管理工具,方便的維護(hù)Web服務(wù)器模塊的安全?;贗IS的這些優(yōu)點(diǎn),系統(tǒng)利 用Windows NI^erver的網(wǎng)絡(luò)負(fù)載平衡功能來實(shí)現(xiàn)Web服務(wù)器模塊的負(fù)載平衡,選擇合適的 后臺服務(wù)器執(zhí)行Web服務(wù)請求。Web 服務(wù)使用 ATL Web Server 框架,通過 VC++ 的 xml web service 構(gòu)建。ATLWeb krver在ISAPI和平臺API上提供了常用代碼的基本實(shí)現(xiàn)和簡單的C++抽象層,提供了功 能強(qiáng)大的類,這些類能通過ISAPI與IIS進(jìn)行交互,特別適用于開發(fā)高性能的Web應(yīng)用程 序。因此系統(tǒng)選擇ATL Web krver框架實(shí)現(xiàn)服務(wù)??蛻舳俗院屯顺龅腤eb服務(wù)接口定 義代碼如下
權(quán)利要求
1.一種基于軟件即服務(wù)模式的CAD集成系統(tǒng),其特征在于,包括客戶代理模塊、Web服 務(wù)器模塊、CAD代理服務(wù)器模塊和資源管理模塊,其中客戶代理模塊以插件的形式嵌入在 客戶端瀏覽器中,客戶代理模塊實(shí)現(xiàn)與Web服務(wù)器模塊之間的通信,Web服務(wù)器模塊和CAD 代理服務(wù)器模塊為系統(tǒng)的后臺服務(wù)器,Web服務(wù)器模塊實(shí)現(xiàn)與CAD代理服務(wù)器模塊之間的 通信,資源管理模塊實(shí)現(xiàn)處理Web服務(wù)器和CAD代理服務(wù)器產(chǎn)生的數(shù)據(jù)、對服務(wù)器計算資源 進(jìn)行分配、存儲AutoCAD執(zhí)行結(jié)果和客戶信息并管理請求處理時產(chǎn)生的CAD數(shù)據(jù)和CAD狀 態(tài)fe息。
2.根據(jù)權(quán)利要求1所述的基于軟件即服務(wù)模式的CAD集成系統(tǒng),其特征是,所述的客戶 代理模塊包括界面管理單元和Web服務(wù)存根,其中界面管理單元管理用戶界面,接收用 戶輸出,對服務(wù)器返回結(jié)果進(jìn)行相應(yīng)處理。
3.根據(jù)權(quán)利要求1所述的基于軟件即服務(wù)模式的CAD集成系統(tǒng),其特征是,所述的Web 服務(wù)器模塊調(diào)度服務(wù)請求并實(shí)現(xiàn)與后臺CAD代理服務(wù)器進(jìn)行通信,該Web服務(wù)器模塊包括 Web服務(wù)調(diào)度模塊、會話管理模塊和客戶管理模塊,其中Web服務(wù)調(diào)度模塊與客戶代理模 塊相連實(shí)現(xiàn)接收和調(diào)度客戶端服務(wù)請求、平衡服務(wù)器負(fù)載并處理并發(fā)用戶訪問,會話管理 模塊與CAD代理服務(wù)模塊相連并根據(jù)客戶端請求實(shí)現(xiàn)建立、維護(hù)和撤銷會話,客戶管理模 塊實(shí)現(xiàn)管理客戶端的訪問控制和身份認(rèn)證。
4.根據(jù)權(quán)利要求1或3所述的基于軟件即服務(wù)模式的CAD集成系統(tǒng),其特征是,所述的 CAD代理服務(wù)器包括驅(qū)動管理單元和CAD調(diào)度控制單元,其中驅(qū)動管理單元和CAD調(diào)度 控制單元分別作為代理服務(wù)器的前后端相互配合并為Web服務(wù)器提供后臺支持,驅(qū)動管理 單元實(shí)現(xiàn)管理與Web服務(wù)器模塊的通信、接收經(jīng)由會話傳遞過來的請求、根據(jù)請求調(diào)用相 應(yīng)的CAD訪問控制器執(zhí)行請求并且處理CAD訪問控制器中的執(zhí)行結(jié)果和相應(yīng)的中間數(shù)據(jù), CAD調(diào)度控制單元由一組服務(wù)器后臺進(jìn)程或者線程實(shí)現(xiàn),通過AutoCAD的COM接口控制具 體的對于AutoCAD進(jìn)程的訪問,將客戶端的請求轉(zhuǎn)化為實(shí)際的CAD操作,實(shí)現(xiàn)遠(yuǎn)程的CAD調(diào) 用。
5.根據(jù)權(quán)利要求1所述的基于軟件即服務(wù)模式的CAD集成系統(tǒng),其特征是,所述的資源 管理模塊以AutoCAD進(jìn)程的形式對服務(wù)器計算資源進(jìn)行分配,存儲CAD執(zhí)行結(jié)果和客戶信 息并管理請求處理時產(chǎn)生的CAD數(shù)據(jù)和CAD狀態(tài)信息。
全文摘要
一種計算機(jī)應(yīng)用技術(shù)領(lǐng)域的基于軟件即服務(wù)模式的CAD集成系統(tǒng),包括客戶代理模塊、Web服務(wù)器模塊、CAD代理服務(wù)器模塊和資源管理模塊,客戶代理模塊以插件的形式嵌入在客戶端瀏覽器中,客戶代理模塊實(shí)現(xiàn)與Web服務(wù)器模塊之間的通信,Web服務(wù)器模塊和CAD代理服務(wù)器模塊為系統(tǒng)的后臺服務(wù)器,Web服務(wù)器模塊實(shí)現(xiàn)與CAD代理服務(wù)器模塊之間的通信,資源管理模塊實(shí)現(xiàn)處理Web服務(wù)器和CAD代理服務(wù)器產(chǎn)生的數(shù)據(jù)、對服務(wù)器計算資源進(jìn)行分配、存儲AutoCAD執(zhí)行結(jié)果和客戶信息并管理請求處理時產(chǎn)生的CAD數(shù)據(jù)和CAD狀態(tài)信息。本發(fā)明將AutoCAD的功能和編程接口封裝抽象為Web服務(wù),改變傳統(tǒng)的CAD使用模式,有效的解決了CAD系統(tǒng)所存在的以上問題。
文檔編號H04L29/08GK102137162SQ20111006877
公開日2011年7月27日 申請日期2011年3月22日 優(yōu)先權(quán)日2011年3月22日
發(fā)明者李明祿, 石震, 翁楚良 申請人:上海交通大學(xué)