2009-08-02 116 views
0

我有一個後端系統,我通過基於REST的API訪問並返回資源。這是一個EMF資源(一個XMI表示)。問題在於,在設計時,我無法承擔此資源的元模型 - 因爲後端系統中的元模型可能會在沒有通知的情況下更改。動態加載EMF模型

我想知道如果我可以,首先從後端讀取元模型(.ecore文件),生成代碼然後讀取模型。毫無疑問,這將會變慢,但是我必須在每個會話中只讀取一次元模型,這不會讓我承諾固定的元模型。這會工作嗎?還是有更好的方法來實現我想要的?

此外,這項工作的UI?我可以在運行時(EMF.Edit)生成編輯器代碼,就在從後端讀取模型之前,並使用適當的可視化顯示模型?

請問Dynamic EMF有助於解決我的問題嗎?

回答

2

使用EMF從動態模型生成代碼聽起來很毛茸茸。特別是當你轉身並運行它。但是我猜如果你在一個新的Eclipse實例中運行它,它會起作用。

動態電動勢是一種可能的選擇。但是,使用動態方法的應用程序更難編寫,並且往往需要更多的調試。 (通過使用動態EMF,您犧牲了很多靜態類型的安全性。)我不確定模型編輯器的問題。

其實,我對你如何使用生成的Java類用於內存模型實例有點困惑。如果元模型正在改變,那麼生成的類的簽名也是如此。你如何編寫代碼來對付一直在變化的API?如果您說「我生成它」,請考慮您的發電機必須使用動態EMF。

如果我是你,我會詢問EMF郵件列表。根據我的經驗,如果你問明智的問題(即不太模糊和/或投機),你會得到合理的答案。