我们正在开发一个涉及许多不同测试的应用程序,其中每个测试都会引导用户执行许多步骤。我们正在考虑使用状态机框架来捕获代码中的状态/转换。我们也在考虑使用规则引擎来补充规则。任何人都有使用JBoss和/或Java的任何状态机框架的经验吗?提前谢谢。

-nguyen

有帮助吗?

解决方案

jbpm 可以做到并与jboss很好地集成。根据我的经验,它非常易于使用且功能强大。

其他提示

您可能需要查看 StatefulJ 。它基于Spring Data for Persistence支持,State Model本身使用Annotations定义。这种方法使得设置和维护与XML相比更容易。关于规则 - 我过去使用过Drools,似乎得到了很好的支持。

免责声明:我是StatefulJ的作者

如果您要构建一些基于屏幕转换的屏幕系统,那么您应该明确查看Spring WebFlow http:// springframework.org/webflow

我使用 ragel 构建易于维护的状态机,我有很好的经验。生成的java代码质量非常高。但是,它纯粹是一个没有特定用途的状态机生成器,因此您可能会发现其他解决方案可以在Web相关问题域中更加无缝地工作。

也许你可以看看JBoss PVM。它仍处于alpha状态,但可用于建模任何类型的状态机。我们也在研究gui过渡。

http://www.jboss.org/jbossjbpm/pvm

尝试Activiti,似乎很多人都在使用它。 http://activiti.org

对于规则引擎部分,您当然可以使用Drools。

查看 StateBuilderJava ,这是一个状态机代码生成器,可将状态机的XML描述转换为Java状态模式的扩展版本。它支持所有UML语义:状态机可以是分层的,并发的和异步的。

每个测试场景都可以使用状态机Xml描述进行建模,代码生成器会代表您编写状态模式,如果手动完成,这将是乏味且容易出错的。

另一个优点是使用图形工具可视化和编辑测试场景。 这允许快速实现和记录一组测试场景。 在这些示例中,编写了一个XMPP客户端的测试套件,以说明如何使用状态机代码生成器轻松快速地编写复杂的测试场景。

免责声明:我是这些软件的作者。

我用过activiti。 这是最好的框架。 它是一个轻量级的工作流程和业务流程管理(BPM)平台。 开源并适用于任何Java平台或云。 所有人都需要具备BPMN,Maven,Spring和Activiti的知识。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top