GWT非Java后端应用程序结构

时间:2012-09-04 19:28:03

标签: gwt

有谁知道哪个是非Java后端的GWT应用程序的好例子?类似于GWT官方网页上的"Contacts"应用程序。我特别对以下主题感兴趣(这是如何看待应用程序的“后退”部分,但当然可能有所不同):

  • DTO序列化
  • 沟通层(最后一层)。它应该使用泛型并与任何抽象DTO一起使用吗?还有其他经过验证的方法吗?
  • 服务层,它使用具有特定DTO的通信层。
  • 请求缓存。是否应该在服务或沟通层面上实施?
  • 良好的抽象。因此,我们可以轻松地将任何部分替换为测试和其他目的,例如使用不同的序列化器(例如XML,JSON),管理用户会话时不同的服务器行为(URL可能会在用户登录后更改)。

我知道,这里有很多类似的主题,但我没有找到一个,主要关注客户端部分的结构

1 个答案:

答案 0 :(得分:1)

双方都使用REST。 PHP / Python REST服务器端。 GWT客户端。

不要使用GWT-RPC。

以下给出了Java-java REST的指南,但是有一些余地可以摆脱服务器端Java。它解释了为什么REST是合适的。

http://h2g2java.blessedgeek.com/2011/11/gwt-with-jax-rs-aka-rpcrest-part-0.html

REST是一种行业建立的模式(谷歌。雅虎,事实上每个稳定的企业都会部署REST服务)。

REST被抽象为HTTP级数据结构。哪个Java,PHP和Python已经建立了符合的库以确保DTO的完整性。

  

通信层(最后一层)。它应该使用泛型???

不明白问题或问题存在的原因。只需使用REST模式为服务器和客户端之间的非同类语言以及HTTP请求/响应提供完整性。

如果您在后端使用Java,则无法使用泛型。泛型保存代码。但是使用泛型广泛需要程序员具有同样广泛的视觉能力来可视化泛型。如果您的后端是PHP或Python,那么PHP是否有泛型? Python泛型?不妨留在Java land或C#land并忘记Java-free服务提供商。

您的意思是DTO多态性吗?在建立服务之前,不要尝试多态或决定它。然后,如果你真的看到了需要,那么适应性和敏捷性会将多态性引入你的DTO。但是试着避免它,因为使用JSON数据交换,它在服务器和客户端之间变得相当混乱。特别是如果他们不会说相同的编程语言。

如果您要求HTTP级别的泛型?我不知道任何框架,而不是SOAP,而不是REST,你可以使用XML或JSON携带的泛型。在那儿?泛型?

服务层? REST。

请求缓存?在每个适当的机会缓存。让服务提供者缓存查询结果,以查找所有会话的常用和静态项目,如菜单,菜单/下拉框选项,标签等。缓存您的历史记录和地点。

在GWT端缓存记录上,这样前进/后退按钮不会触发无意的查询。使用MVP模式和历史记录来管理可能触发重新显示信息的历史记录遍历。

如果您正在谈论统一信息抽象,那么您应该使用JAX-RS启动项目来定义/测试API并执行数据抽象。没有执行任何业务逻辑。

然后,一旦定义了HTTP级API和DC,就将服务器端转换为使用您选择的语言,以继续编写更复杂的代码。

顺便说一句,我不会挖掘你的术语“后端”。

我们通常将术语客户端用于服务使用者,服务器端用于服务提供者,后端用于数据存储库/持久性访问,中间层或中间件用于提供数学/科学/图形所需的干预/辅助软件分析/合成

如果我们的术语不一致,我可能错误地回答了这个问题。