1

我们有一个现有的分布式应用程序,被一家小公司用来管理他们的客户。

服务器端组件作为一个简单的 Java 应用程序部署在云中,用于管理与 MySQL 数据库的连接。

客户端实现为使用 JNLP 部署的 Java Swing 应用程序,并使用 RMI 与服务器端通信。

到目前为止,这对我们来说效果很好,但最近我们一直在研究我们的客户如何从移动设备、平板电脑(iOS 和 Android)以及桌面访问应用程序。

目前我在想我们应该考虑在服务器端开发 RESTful Web 服务来管理对 MySQL 数据库的访问。在客户端,我们可以使用 Google 的 GWT 提供一个快速简便的解决方案,以便从所有平台访问服务。展望未来,我们可以实现原生 iOS / Android 应用程序来访问 Web 服务。

我是正确的轨道吗?有没有人有更好的方法?有人对我应该看哪些工具有任何建议吗?

我感兴趣的关键是能够从任何平台访问服务器端。我真的不想为每个实现单独的服务器端实现

4

2 回答 2

1

听起来您在使用 RESTFul Web 服务时走在了正确的轨道上。如果你走这条路,你应该被后端覆盖。只要您的前端可以执行 http 请求并处理 JSON 数据,您就可以了。

展望未来,我们可以实现原生 iOS / Android 应用程序来访问 Web 服务。

可以设计一个移动应用程序同时部署在 android 和 iOS 上,这样可以节省开发时间。为此,您可以使用例如 PhoneGap,它在电话硬件上创建一个抽象层,以及类似 jQuery Mobile 的东西,其中 UI 是用 HTML5 和 javascript 开发的,并且通过 PhoneGap 在两个设备上部署相同的代码.

PhoneGap: http: //phonegap.com/

jQuery 移动:http: //jquerymobile.com/

如果有其他选项可以让您在 android、iOS 和桌面上部署相同的前端,我会同意,这样您就只有一个前端代码库。

于 2012-09-11T22:20:02.493 回答
0

我认为您的解决方案(GWT/HTML5)客户端与服务器端“业务”层对话是一个很好的多客户端解决方案。在您所描述的上下文中,RESTful Web 服务是不必要的,因为 GWT 实现会处理客户端和服务器之间的通信:

   GWT client <--->  Server (GWT) <---> Database

如果您使用不同的客户端实现(例如 iOS),那么 RESTful 服务确实会非常方便(而且您不会使用 GWT):

  iOS client <--->  Server (RESTful endpoints)  <---> Database

HTML5 正在成为广泛适用性(许多客户端)和丰富客户端功能之间的良好折衷。过去我看过一篇关于同时使用 PhoneGap 和 GWT 的文章,这听起来像是使用 GWT(我喜欢)并获得设备相关功能访问权限的好策略。在您可以(Java-)调试甚至客户端代码(非常有用的 GWT 功能)的环境中工作。

于 2012-09-12T00:15:59.623 回答