【问题标题】:Interaction between PHP front-end and .NET/Java backend though XML-RPC: performances considerationPHP 前端和 .NET/Java 后端通过 XML-RPC 交互:性能考虑
【发布时间】:2009-04-21 01:10:49
【问题描述】:

我实现了一个由基于 ASP.NET 的 .NET 后端应用程序构成的解决方案:因为我正在考虑建立的团队应该由我和一两个前端开发人员组成在 PHP 中。

这种架构的一个很好的副作用是 PHP 是一个快速的服务器端脚本引擎,它比 ASP.NET 需要更少的资源。

我发现允许两个层进行通信的唯一解决方案是通过 XML-RPC,这是两个系统都支持的协议(尽管后端部分是由我实现的)。这种方法的一个问题是 XML-RPC 不支持任何身份验证系统,并且在对象表示法和 XML 表示之间的序列化/反序列化方面缺乏一些性能。

有没有人考虑或替代解决方案?

【问题讨论】:

  • 我不知道 .NET 支持 XML-RPC。你能详细说明或提供一个网址吗?我原以为它是支持的。

标签: .net php asp.net xml-rpc


【解决方案1】:

我同意 JSON 可能是一种很好的数据传递方法,但要从 PHP 转到 .NET,您可能只想使用 xml,因为这样您就可以使用 XML LINQ,这可能会使解析更简单。

然后,您可以通过 http 连接或 Web 服务来回通信,具体取决于数据流动的方式,但我希望它将从 PHP -> .NET 流动,因此您可以尝试使用 WCF 来传递数据,使用 REST架构,尽管 PHP 也可以进行 Web 服务客户端调用。

如果您从 .NET 使用 JSON 进行通信或使用 Web 服务响应,那么您可以很好地解耦这两个框架。

【讨论】:

  • JSON 是一个很好的解决方案,可以减少两层之间传输的数据量,但主要问题是 JSON 响应中缺少模式。另外,使用LINQ虽然是一个很好的解决方案,但不能使用,因为系统将部署在Linux+Mono+Apache堆栈下,Mono上对3.5框架的支持仍然缺乏......
  • 如果您总是将键的名称与值放在一起,那么缺少架构并不是什么大问题,因为您只需查找特定的键并使用该值。顺便说一句,您使用 Mono 的事实会有助于早点知道。 :) 进行网络服务或 REST 调用,也许。
【解决方案2】:

如果您的应用程序允许,您可以尝试使用 JSON。 JSON = Javascript 对象表示法。这是一种用于描述对象的非常轻量级的语法。我只是用它在我刚刚完成的项目中通过 ajax 请求将数据从 php 服务器传输到客户端 javascript。这需要一点时间来适应,但是一旦你弄清楚了,你会发现它更容易使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 2018-11-14
    • 1970-01-01
    相关资源
    最近更新 更多