gpt4 book ai didi

web-services - 分布式应用程序如何

转载 作者:行者123 更新时间:2023-12-04 06:32:40 26 4
gpt4 key购买 nike

我搜索了很多,但也许我错过了一些东西......
我想知道当您拥有不同平台(桌面、网络、移动、终端)时如何避免一次又一次地编写业务逻辑时的最佳实践。
我知道 Web 服务、EJB 等就是为此目的,REST。但我不知道这些技术是否兼容..
如果我想将 java 用于桌面,将 php 用于 Web 应用程序,那么我该如何实现呢??经过一番搜索,我发现 RESTful 可能是一个解决方案......
还有其他想法/架构吗?

最佳答案

是的,您提到的技术(Web 服务、EJB、REST 等)旨在用于部署服务基础架构。关于兼容性的关键点是接口(interface)必须是标准的。从这个意义上说,例如,EJB 基本上是一种 J2EE 技术,它只是 JCP(Java 社区进程)内部的标准,如果您只关心 J2EE 世界中的兼容性,那就足够公平了。您将无法从 .Net 客户端调用 EJB,仅举个例子。

另一方面,Web 服务(如 SOAP、WSDL 和 XML)是 W3C 标准,这意味着协议(protocol)、消息、格式等独立于技术。因此,例如,您可以使用 Axis 使用 Java 发布服务。并用 .Net、python、C 或任何其他语言开发客户端来发送消息。这很好,但在 Web 服务的情况下,标准层在过去几年里简直疯了。老实说,在围绕面向服务的体系结构和 Web 服务提出的标准世界中很容易迷失方向。

REST 服务也是一种标准,它们基本上是依靠 URL 组合和 HTTP 来建立服务器和客户端之间的通信机制。比 SOAP/WSDL 简单得多。今天,大多数语言都提供库来使用和发布这种使用 JSON 作为数据格式的服务。在 REST 中,接口(interface)比 SOAP/WSDL 更轻,您没有定义服务的 XML 文件,但通常不是问题而是一个优势。

归根结底,如果您关心兼容性,请按照标准编写代码,不要将自己锁定在任何专有格式中。使用 REST 和 Web 服务,您应该是安全的。从这两个选项中,我会选择 REST 服务。

PS:其他分布式架构,今天没有像你提到的那样使用,有:RPC/XML、COM 和 CORBA。

关于web-services - 分布式应用程序如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5217447/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com