创建客户端 - 服务器桌面应用程序

时间:2016-03-04 00:42:47

标签: java client-server desktop-application server-application

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

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

请不要建议“使用套接字”。这将是一个非常大的“严肃”项目,我们需要高水平的工具。我们不知道这些项目通常是如何创建的。请解释一下通常使用的模式。具体程序的例子,可能有开源代码,对我们来说很有用。此外,我们需要这些项目的要求列表非常有用。

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

1 个答案:

答案 0 :(得分:1)

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

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

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

连接应用程序每一端的另一个选择是使用某种发布/子中间件消息传递服务 - 将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