我在建築和建築行業工作,但目前我花了很多時間在軟件開發上。將我的軟件項目轉移到Subversion版本庫後,我意識到這個行業真的需要類似的系統來設計和構建文檔。我只開發了一年半的軟件,所以我沒有資格參加這樣的項目。但是,如果沒有其他的學習經驗,我仍然對嘗試它感興趣。尋找指導開發專門的版本控制系統
我想開發一個運行在類似於SubVersion的HTTP上的服務器客戶端系統,而是管理原始文件,系統將存儲架構設計信息。這種稱爲行業基礎類的數據已經存在一個開放模式規範。然而,目前這種格式的信息總是存儲在單獨的文件中,編碼爲STEP或XML,並通過簡單的FTP服務器共享。
相反,我想開發一種方法將此信息存儲在數據庫中,以便可以輕鬆查詢或更新數據的子集。另外,我希望包含類似於subversion的版本管理功能,其中中央數據庫將數據更改作爲增量進行跟蹤,也可以分成多個選項。
我不想簡單地使用SVN,因爲我希望系統知道它包含的數據。例如,用戶可能希望能夠從服務器查詢所有的牆。然而,爲了實現這一點,服務器需要了解它可能包含牆。
很明顯,我可以問一些關於如何去做這件事的具體問題。但首先我想弄清楚每個圖層的工作方式和技術的全貌。
到目前爲止,我只開發獨立應用程序,主要是在C#.Net中。所以我是任何一種網絡/服務器/客戶端類型開發的新手。將這樣的應用程序開發爲一個連接到SQL Server數據庫的.NET Web服務是否有意義?所以對服務器的請求將通過SOAP完成,然後數據將作爲XML返回? SVN做了類似的事情,但通過WebDAV正確嗎?見下圖。
我不一定停留在留在微軟/ C#/。NET的環境,但它似乎是因爲我已經用它和Visual Studio和.NET程序很舒服最簡單的選項WebService將自動創建SOAP功能。是否存在與.NET Web服務等效的Java,我可以專注於對象模型而不是RCP接口?使用除SOAP之外的RCP,比如XML-RCP,JSON或REST會有什麼顯着優勢?
我真的很想聽聽更多有經驗的開發人員對他們如何接近這樣的項目的任何反饋。
從維基百科條目引用IFC引用:「項目支持版本控制,其中任何基於IfcRoot的實體都有一個唯一的標識符,並且可能被標記爲添加,修改,刪除或沒有更改,這種功能允許合併多個IFC文件確定性地確保數據完整性而無需人工干預。「 – rwong 2010-08-12 06:52:31