Вопрос

Мы разрабатываем приложение, которое включает в себя множество различных тестов, каждый из которых приводит пользователей к нескольким этапам. Мы думаем об использовании инфраструктуры конечных автоматов для захвата состояний / переходов из кода. Мы также думаем об использовании механизма правил для дополнения правил. Кто-нибудь имеет опыт работы с любой структурой конечного автомата, которая будет работать с JBoss и / или Java? Заранее спасибо.

-nguyen

Это было полезно?

Решение

jbpm делает это и хорошо интегрируется с jboss. По моему опыту, он довольно прост в использовании и мощный.

Другие советы

Возможно, вы захотите взглянуть на StatefulJ . Он построен на основе Spring Data для поддержки постоянства, а сама модель состояния определяется с помощью аннотаций. Такой подход упрощает настройку и обслуживание по сравнению с XML. Что касается правил - я использовал Drools в прошлом и, кажется, очень хорошо поддерживается.

Отказ от ответственности: я являюсь автором StatefulJ

если вы создаете систему, основанную на переходе с экрана на экран, то вам обязательно нужно проверить Spring WebFlow http: // springframework.org/webflow

У меня был очень хороший опыт использования ragel для создания легко обслуживаемых конечных автоматов. Полученный код Java очень высокого качества. Тем не менее, это просто генератор конечных автоматов, не предназначенный для конкретного использования, поэтому вы можете найти другие решения, которые будут более эффективно работать в проблемной области, связанной с Интернетом.

Может быть, вы можете взглянуть на JBoss PVM. Он все еще в альфа-версии, но может использоваться для моделирования любого типа конечного автомата. Мы также ищем его для графических переходов.

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