客户机和服务器之间的通信中介(控制器?)

本文关键字:控制器 通信 服务器 之间 客户机 | 更新日期: 2023-09-27 17:50:47

我正在寻找实现客户端应用程序和服务器之间的某种中介(调度器/控制器)。客户端向中介发送命令->中介处理(执行)该命令。我使用WCF作为交流的平台。是否有一种方法(模式或其他)可以在不更改中介的接口的情况下向客户机添加新命令?
假设中介处理对客户机隐藏的其他几个服务。客户端向服务器发送命令以执行某些操作。这些操作涉及各种域服务和服务器端类。假设稍后我决定向客户机添加一个新命令。新的操作可以由域服务执行,但是我如何在远程机器上触发该操作,而不必扩展中介的接口(因为中介是客户机和服务器之间唯一的通信点)。

所以一般来说,我正在寻找某种替代控制器在MVC模式中使用的WEB应用程序,而不是WEB应用程序。

任何想法?解决方案?

客户机和服务器之间的通信中介(控制器?)

所以在我看来,您需要某种透明的代理,它不知道消息格式,只是将其传递给适当的后端系统。所以,换句话说,你需要像"消息API"而不是"RPC API"这样的东西。这可以通过不同的方式实现——您可以将消息作为XML传递,在XML中您可以指示命令的类型、命令的名称、参数等。然后,您的中介可以根据命令的类型将命令传递到相应的受支持系统。这样,如果添加新的命令(名称),只需要修改后端系统。如果添加新的命令类型,则必须修改中介,但不仅仅是新命令。

你可以google Message API pattern获取更多信息,例如:http://www.servicedesignpatterns.com/WebServiceAPIStyles/MessageAPI