在浏览器和服务器之间共享逻辑

时间:2009-10-19 15:18:51

标签: flex actionscript-3 flex3 client-server

我正在开发一款应用程序,它会像大多数应用程序一样,拥有大量的商务逻辑,几乎所有应用程序都需要在服务器和基于Flash的客户端上执行...而且我是试图找出实现规则引擎的最佳(读取:最简单)方法。

这些是问题的参数:

  1. 规则引擎必须都在Web浏览器(即Flash Player)和服务器上运行。复制逻辑(例如,通过编写“服务器”版本和“客户端”版本)将是不可接受的风险。
  2. 输入/输出数据相当复杂,因此序列化是一个非常重要的问题。我们目前正在使用AMF来满足所有序列化需求,使用其他协议会增加显着的复杂性......所以应该避免使用它。
  3. 实施“规则描述语言”是不可行的。实验表明,规则足够复杂,任何这样的语言都需要图灵完成......这也会增加大量的复杂性。
  4. 规则引擎不需要进行一些但不是很多的服务调用。
  5. 目前,最好的竞争者是:

    1. 在ActionScript中编写代码,然后在服务器上运行它。从理论上讲,可以启动AVM实例,让它长时间轮询网关,然后以这种方式来回传递数据......但这似乎不太理想。这样做有“好”的方法吗?

    2. 在Haxe中编写代码。我对Haxe的AMF支持一无所知,所以这可能是一个交易破坏者。

    3. 涉及T猴的事情。似乎是一个可行的选择,但我没有做足够的研究来告诉任何一种方式。

    4. 那么,您怎么看?这些选项中的任何一个明显优于其他选项吗?有没有我不知道的东西值得考虑?

      最后,感谢您阅读这一文字墙:)

1 个答案:

答案 0 :(得分:1)

你在谈论多少数据?如果要在服务器上运行Air并访问队列或其他东西,可以使用Air。