如何公开所有平台用Java编写的服务?

时间:2015-08-03 07:10:21

标签: java api architecture client-server system

我有一个用java编写的“AutoComplete”服务器。它是一个接受protobuf的http(s)服务器。目前我有一个写一个厚桌面客户端,它使用这个服务用autosuggestions填充其文本框。我打算使这项服务通用,以便它可以被其他平台使用。我该怎么做呢?如果我发布原型定义,它可能只会将它绑定到3-4种语言。如果我发布了一个客户端jar,它会将它限制为Java。非常感谢API /系统设计人员提出的任何建议。

2 个答案:

答案 0 :(得分:2)

您可以将其公开为Webservice

来自维基百科页面:

  

Web服务是通过网络在两个电子设备之间进行通信的方法。它是通过Web在网络地址上提供的软件功能,其服务始终如实用计算的概念一样。 W3C通常将Web服务定义为   一种软件系统,旨在通过网络支持可互操作的机器对机器交互。

有两种类型的Web服务:

1- SOAP Webservices。

2- REST Webservices。

所有编程语言都提供了创建和使用Web服务的方法。

This Stackoverflow线程提供了对Web服务的良好解释。

答案 1 :(得分:1)

Web服务是用于在应用程序或系统之间交换数据的开放协议和标准的集合。以各种编程语言编写并在各种平台上运行的软件应用程序可以使用Web服务以类似于在单个计算机上的进程间通信的方式通过诸如因特网的计算机网络交换数据。这种互操作性(例如,Java和Python之间,或Windows和Linux应用程序之间)是由于使用开放标准。(Reference

REST代表Representational State Transfer,它是网络超媒体应用程序的架构风格,主要用于构建轻量级,可维护和可伸缩的Web服务。基于REST的服务称为RESTful服务。 REST不依赖于任何协议,但几乎每个RESTful服务都使用HTTP作为其底层协议。

有关完整教程,请查看RESTful Web Services

对于基于SOAP的服务,请查看SOAP webservice