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

时间:2017-06-07 14:55:49

标签: service software-design agent

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

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

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

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

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

提前感谢任何想法,建议或指示。

干杯, 阿什利。

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

1 个答案:

答案 0 :(得分:0)

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