自动化手动步骤的顺序
Posted
技术标签:
【中文标题】自动化手动步骤的顺序【英文标题】:Automating Sequence of Manual Steps 【发布时间】:2016-10-04 07:16:53 【问题描述】:我有用户执行的一系列步骤,例如登录远程 UNIX shell,创建文件/目录,更改权限,运行远程 Shell 脚本和命令,文件删除,文件移动,
运行数据库查询并根据查询结果执行某些任务,将结果导出到文件或运行进一步的 shell 命令/脚本或数据库插入语句等。
执行这些步骤,用户可以实现不同的处理或数据处理和验证。
自动化上述方案的最佳方法是什么,我们应该选择 Activiti 等工作流工具,还是有更好的框架/方法来实现要求。
我的要求是使用开源,并且可能基于 Java。
我对此完全陌生,因此我们将不胜感激。
【问题讨论】:
您是否已经对作业调度工具进行了一些研究(又名谷歌搜索)?有很多可以满足您的要求。 Activiti 肯定可以用于此,但我的感觉是,与那些工具相比,这需要更多的工作。 我的要求更多的是创建一个工作流程,或者今天手动完成的步骤序列到一个自动化系统中。其中一些步骤还涉及在触发下一个步骤之前的用户输入或验证。我不确定工作安排是否足以满足我的要求。用户当前手动执行所有步骤,包括准备系统,通过执行一系列步骤(例如登录到远程 UNIX 服务器)执行流程,执行查询并根据结果执行更多操作。然后继续进行下一个流程。 【参考方案1】:您描述的场景当然可以使用像 Activiti 这样的工作流工具。 Apache Camel 或 Spring Integration 将是另一种可能性(因为您提到的所有步骤都是自动系统任务)。
如果您需要其中之一,工作流框架将是一个不错的选择
您想要存储历史数据以用于“审计目的”:谁做了什么/何时/花了多长时间。 您希望对您的步骤进行可视化建模,也许是为了与商务人士讨论。 某些步骤之间需要人机交互【讨论】:
我的要求是确定一个框架,我们可以使用它来自动化目前手动完成的步骤。并且其中一些步骤需要在两者之间进行人工交互,并且用户应该能够获得关于该过程目前到达何处的视觉模型。我正在尝试查看 Activiti,但对于如何使用它没有多大意义。我的大部分步骤都与在远程 UNIX 系统上运行一些 shell 脚本有关。我不确定 activiti 是否有正在运行的进程的可视化表示。我能想到的只是我可以公开 REST API 来执行一些步骤。【参考方案2】:您的描述让我想起了软件/帐户配置过程。 市场上有大量开源或其他配置工具(Dell Crowbar 是一种选择)。 但是,您在对 Joram 的回复中提出的几个 cmet 表明,可以选择更通用的工具,例如 Activiti:
-
“转椅”任务 - 有朝一日可能会自动化的用户任务
进程状态的可视化模型
大多数供应工具不允许通用用户任务,并且不提供流程状态的(良好)可视化模型。 但是,它们通常包括远程脚本执行,如果使用 BOM 工具,则需要将其作为服务任务拼凑在一起。
我当然会扩大我的研究范围,将配置工具包括在内,因为它们听起来更合适,但是如果您找不到任何适合您的东西,BPM 平台会提供一个通用框架来构建您需要的东西。
【讨论】:
谢谢,以上步骤更针对验证系统,所有配置和数据库条目是否正确以及运行的不同进程是否成功并正确更新了各种数据库和所有日志文件生成并具有相关条目。为此,用户登录到各种系统和数据库并完成了一系列步骤。以上是关于自动化手动步骤的顺序的主要内容,如果未能解决你的问题,请参考以下文章
Linux(Debian/Ubuntu)安装最新RabbitMQ,自动配置最新安装源版本(官网推荐,非常方便),省去繁杂的手动配置步骤