我是Flex开发和RIA的新手.我有一个CRUD风格的Java Spring Hibernate服务,我正在编写一个Flex UI.目前我正在使用BlazeDS.这是在本地网络上运行的内部应用程序.
我很清楚RIA的工作方式与桌面应用程序的相似之处,而不是Web应用程序,因为我们加载整个模型并直接在客户端(或至少我们感兴趣的部分)使用它.这对BlazeDS来说并不是很好,因为它实际上它只支持远程处理而不支持数据管理,因此它可以成为许多额外的工作,以确保客户端同步并避免重新加载可能很大的模型(特别是从延迟加载是不可能的).
所以感觉就像我留下的情况是,我必须将我的Flex应用程序更像是一个常规的旧Web应用程序,在那里我做了很多细粒度的数据加载.
LiveCycle太贵了. WebOrb for Java的免费版本实际上只进行远程处理.
输入GraniteDS.据我所知,它是唯一具有LiveCycle数据管理功能的免费解决方案.我已经开始仔细阅读它的文档了,突然觉得这是另一个框架的泥潭,我必须学习才能让应用程序运行.
所以我对StackOverflow受众的问题是:
1)你推荐GraniteDS,
特别是如果我当前的Java堆栈
是Spring Hibernate?
2)你觉得它在什么时候开始
清偿?也就是说,在什么水平上
您觉得应用程序的复杂性
使用GraniteDS真正开始
使发展更多
更好?以什么方式?
http://www.graniteds.org/confluence/display/DOC/6.+Tide+Data+Framework
Generally,the Tide approach is to minimize the amount of code needed to make things work between the client and the server. Its principles are very similar to the ones of JBoss Seam,which is the main reason why the first integration of Tide has been done with this framework. Integrations with Spring and EJB 3 are also available but are a little more limited.
但我认为Granite的数据管理方法比Livecycle有了很大改进,因为它们确实完全不同.来自花岗岩文档:
All client/server interactions are done exclusively by method calls on services exposed by the server,and thus respect transaction boundaries and security defined by the remote services.
这与Livecycle DS如何使用“托管集合”不同,在托管集合中,您调用fill()来获取大量数据,然后调用commit()方法来持续保持更改.这会将后端视为原始数据访问API,并在您具有细粒度的安全要求时开始变得复杂(或完全崩溃).因此,我认为Granite的方法更加可行.