2009-10-19 132 views
1

我正在開發一款應用程序,它和大多數應用程序一樣,具有buisness邏輯的整個載荷,幾乎所有這些應用程序都需要在服務器和Flash上​​執行基於客戶端...我試圖找出實現規則引擎的最佳方式(閱讀:最簡單的方法)。在瀏覽器和服務器之間共享邏輯

這些問題的參數:

  1. 規則引擎必須在Web瀏覽器(即,在Flash Player),並在服務器上運行兩個。複製邏輯(例如,通過編寫「服務器」版本和「客戶」版本)將是不可接受的風險。
  2. 輸入/輸出數據相當複雜,因此序列化是一個不容忽視的問題。我們目前正在使用AMF來滿足我們所有的序列化需求,並且使用另一種協議會增加很大的複雜性......所以應該避免它。
  3. 實施「規則描述語言」是不可行的。實驗表明,規則足夠複雜,任何這樣的語言都需要Turing完成......這也會增加大量的複雜性。
  4. 規則引擎不需要進行一些但不是很多的服務調用。

目前,最好的競爭者是:

  1. 寫在ActionScript代碼,然後在服務器上運行它。從理論上講,可以啓動一個AVM實例,長時間輪詢一個網關,然後以這種方式來回傳遞數據......但這似乎並不理想。有這樣做的「好」方法嗎?

  2. 在haXe中編寫代碼。我對haXe的AMF支持一無所知,所以這可能是一個破壞交易的方式。

  3. 涉及絹毛猴的東西。看起來像一個可行的選擇,但我沒有做足夠的研究來說明任何一種方式。

那麼,你怎麼看?這些選項中的任何一個都明顯優於其他選項?有沒有什麼值得我考慮的?

最後,感謝閱讀文本:)

回答

1

多少數據你談論的這道牆?如果您想在服務器上運行並訪問隊列或其他內容,則可以使用Air。

+0

不會有大量的數據量,但它會相當複雜。 – 2009-10-19 22:42:33

+0

是的,那麼只需通過HTTP的AMF與Flex和Air客戶端進行通信。這樣你可以保持相同的代碼庫。 – CookieOfFortune 2009-10-20 17:37:35

相關問題