0

我过去曾使用 Javascript、AJAX、Node、Express 和 MongoDB 创建客户端-服务器 Web 应用程序,但现在我需要创建客户端-服务器桌面应用程序。因此,它将基本上由一个桌面程序组成,该程序将通过请求连接到服务器程序。服务器程序将使用它可以从数据库中获取的请求数据来响应客户端程序。

由于我对 Java 中的这类应用程序非常陌生,因此我不知道如何在 Java 中创建这样的应用程序。由于项目很大,我们无法对所有服务器进行硬编码。我们可能需要一个服务器端的框架来监听请求,但我现在还没有找到。例如,Play Framework 似乎只适用于 Web 应用程序。哪些框架对这些目的有用?这是此类应用程序的正确方法吗?我将如何连接客户端和服务器应用程序?

请不要建议“使用套接字”。这将是一个相当大的“严肃”项目,我们需要高级工具。我们不知道这些项目通常是如何创建的。请解释一下通常使用哪些模式。具体程序的例子,也许用开源代码对我们理解会有帮助。此外,我们对这些项目所需的要求列表也将非常有用。

注意:我并不是要我们可以使用的框架的详尽列表。我宁愿问我们应该使用哪种工具(带有具体示例)以及如何组合它们。如何构建这样一个项目。

4

1 回答 1

1

您可以使用 Node JS 或您喜欢的任何其他服务器端语言编写服务器端应用程序 - 并使用 REST 服务实现它。然后在您的 Java 桌面应用程序中,它只会使用 HTTP REST / SOAP 等与服务器通信。

那样的话,如果你想换成使用 .NET 之类的东西来制作你的桌面应用程序,你就可以自由地这样做,而不会改变服务器端的任何东西。此外,您将能够实现移动应用程序/平板电脑应用程序/其他 Web 应用程序并轻松重用所有服务器端实现,而无需更改任何服务器端。

另一种选择是将 ServerSocket 用于 Java 服务器端,然后从客户端连接到该服务器,但您似乎知道并且不喜欢该选项。

连接应用程序每一端的另一种选择是使用某种 pub/sub 中间件消息传递服务 - 将 JMS 作为框架检查 - 您将需要 JMS 的某种实现,例如 Active MQ、Websphere MQ 或其中一个许多其他免费实现。查看:http ://docs.oracle.com/javaee/6/tutorial/doc/bncdq.html

很难回答的问题,但这是 3 个高级选项。

  1. 使用 Web 技术将客户端连接到服务器 HTTP REST 或 SOAP
  2. 使用 ServerSockets 和 Socket 连接并手动完成所有操作
  3. 使用消息传递框架,例如 JMS
于 2016-03-04T00:49:10.087 回答