我们希望创建一个Web服务,为单个数据存储上的无状态数据事务提供功能。该服务将由运行多个潜在环境的应用程序使用 - 至少是windows .net,php和java,但可能更多。
用于来回传递数据的最佳格式是什么? “最好的”我会认为这是消费易用性和强类型内容之间最佳点的格式。在一端,SOAP告诉您需要了解的有关服务的所有信息,但需要在客户端进行大量处理才能解析。另一方面,JSON因其极简主义格式而且易于解析,但显然客户需要非常清楚它应该期待什么样的数据。
这些解决方案中的一个会比另一个更理想吗?还有其他格式要考虑吗?
作为后续,你可以推荐哪些框架在服务器端实现格式?我们的服务器操作系统是linux,所以php或java将是首选的解决方案,但也可以考虑像node.js这样的替代平台。像.NET环境中的WCF这样的东西是理想的,因为你可以编写一次业务逻辑并让表示框架同时以多种格式提供它。
答案 0 :(得分:3)
正如@WhiteFang34推荐的那样,REST是一个非常易于使用的协议。尽管它不是标准,但它在大多数现代编程语言中被广泛使用并且有很好的文档记录。
REST仅定义每个HTTP方法应该执行的操作,但您仍需要确定要使用的格式。 JSON和XML是最受欢迎的,但根据我的经验JSON在大多数情况下使用起来要麻烦得多。
答案 1 :(得分:2)
如果使用WCF REST 4.0模板,则可以在同一服务上获得REST和SOAP端点。馅饼很容易。我认为RESTful是大多数事情的最佳方式。
REST的优点在于它易于使用。消费可能需要更多工作,但它的工作非常干净。 SOAP更难以消费,但是一旦你将它连接起来,大多数框架都能很好地利用它。我自己,从来没有在很多平台上使用SOAP服务。
答案 2 :(得分:1)
您应该考虑使用REST。它在Web服务中很受欢迎。我建议阅读A Brief Introduction to REST,它通过REST与应用程序到应用程序进行通信。还有RESTful Web services: The basics。有很多REST解决方案可供Java选择: