我們有一個軟件基礎架構,其功能非常像軟件構建系統:信息從不同來源收集並用於生成一些輸出。就像在傳統的軟件構建我們有不同類型的輸出,依賴樹木等構建不是以文件爲中心的系統
的主要區別是,我們的消息來源,中間結果和產出不是固有的文件爲主。相反,它們是(唯一可尋址的)數據對象。
現在,我們正與傳統構建系統(使用SCons)映射我們的數據結構,文件和目錄的組合,但是這並沒有形成規模,既w.r.t.表現,但(更重要的)w.r.t.可維護性。因此,我正在尋找一種從零開始爲此目的而構建的基礎架構。
舉例說明,假設您有3個XML文檔A
,B
和C
。假設B/foo/bar
將從A/x/y
和A/x/z
計算,並且類似地C/a/b
從A/x/y
計算。我需要一個基礎設施
- 實現這些關係(即轉換以及它們的依賴)
- 自動重新建立相關部分的變化是由
的一個主要問題後使用的文件是如果我一個傳統的構建系統映射A
,B
和C
一些文件A.xml
,B.xml
和C.xml
和使用,然後任何變化A.xml
將觸發一個重建的B.xml
和C.xml
,即使A/x/y
和A/x/z
(的B
原依賴性)不被修改。對於細粒度的解決依賴我因此需要在每個A
,B
和C
映射不是一個文件,而是每個子目錄代表一個元素的目錄,文件屬性的代表,等等。正如我所說,這確實不適合我們的規模。
(請注意,我們的系統是不是實際上是基於XML)
現在我正在尋找任何現有的軟件,基礎設施或概念指向這個方向,無論實現語言和底層的數據結構。
聽起來像你想要一個支持XML的關係數據庫 – 2013-03-20 18:41:12
@JamesMohler:不是。我們的異構數據以各種供應商特定的文件格式存儲。我們缺少的是一種很好的方式來描述數據各部分的相互依賴關係,並根據變化自動重新計算。另外,正如我所指出的,我僅僅使用XML作爲例子,我們的系統不是基於XML的。 – 2013-03-21 06:46:52