gpt4 book ai didi

java - 我应该为 Flex + Java 开发投资 GraniteDS 吗?

转载 作者:搜寻专家 更新时间:2023-11-01 02:56:14 27 4
gpt4 key购买 nike

我是 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 真正开始 使发展如此之大 更好的?在哪些方面?

最佳答案

如果您致力于 Spring 并且不想介绍 Seam,那么我认为 Granite DS 不会给您带来比 Blaze DS 更多的功能。有一个有用的实用程序可以确保在任何时候客户端中只存在任何一个实体的单个实例,但实际上使用弱引用的几个 Dictionary 实例和一些应用于服务器调用的后处理可以很容易地做到这一点.正如文档中提到的那样,许多其他功能都是特定于 Seam 的:

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 的方法有了很大的改进,因为它们确实完全不同。来自 Granite 文档:

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 的方法更可行。

关于java - 我应该为 Flex + Java 开发投资 GraniteDS 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/987930/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com