Service 如何在软件服务和软件代理之间进行选择?

Service 如何在软件服务和软件代理之间进行选择?,service,software-design,agent,Service,Software Design,Agent,我们有一个带有服务的系统,该服务有一个前端,用户可以手动使用该服务。用户从服务的UI读取信息,并通过服务的UI启动操作。这里没什么不寻常的 但是,我们希望继续允许用户手动使用此服务,但我们也希望用户自动化,例如,让我们编写的软件代理访问相同的信息并启动相同类型的操作 当然,软件代理不需要使用UI,它可以查询view API并向write API发送命令。我们可以这样做,因为我们在前端UI和后端服务之间有一个很好的分离 我的问题是,我们应该通过创建这样的代理来自动化用户,还是应该将用户重新实现为与

我们有一个带有服务的系统,该服务有一个前端,用户可以手动使用该服务。用户从服务的UI读取信息,并通过服务的UI启动操作。这里没什么不寻常的

但是,我们希望继续允许用户手动使用此服务,但我们也希望用户自动化,例如,让我们编写的软件代理访问相同的信息并启动相同类型的操作

当然,软件代理不需要使用UI,它可以查询view API并向write API发送命令。我们可以这样做,因为我们在前端UI和后端服务之间有一个很好的分离

我的问题是,我们应该通过创建这样的代理来自动化用户,还是应该将用户重新实现为与原始服务交互的另一个服务(例如,事件驱动服务)

无论哪种方式,代理或服务都将封装在我们的系统中。问题是这个组件是否应该像用户那样使用服务(但不是通过UI),或者作为服务实现等效的功能

提前感谢您的任何想法、建议或建议

干杯, 艾希礼


PS我在这里使用术语“软件代理”,因为组件在某种程度上复制了用户的工作方式,即响应信息和执行操作。我不是说这个代理是人工智能或移动设备等。

如果自动化用户是应用程序的一项功能,那么将其建模为一项服务来封装该行为是有意义的。如果自动化仅用于开发/测试,您可能只需要编写脚本。

谢谢您的回答。自动用户将成为应用程序的一个功能,其行为将被封装。问题更多的是,这个组件是应该像用户那样控制服务,还是应该作为一个独立的服务来实现功能?