Платформа State Machine для JBoss / Java? [закрыто]
-
06-07-2019 - |
Вопрос
Мы разрабатываем приложение, которое включает в себя множество различных тестов, каждый из которых приводит пользователей к нескольким этапам. Мы думаем об использовании инфраструктуры конечных автоматов для захвата состояний / переходов из кода. Мы также думаем об использовании механизма правил для дополнения правил. Кто-нибудь имеет опыт работы с любой структурой конечного автомата, которая будет работать с JBoss и / или Java? Заранее спасибо.
-nguyen
Решение
jbpm делает это и хорошо интегрируется с jboss. По моему опыту, он довольно прост в использовании и мощный.
Другие советы
Возможно, вы захотите взглянуть на StatefulJ . Он построен на основе Spring Data для поддержки постоянства, а сама модель состояния определяется с помощью аннотаций. Такой подход упрощает настройку и обслуживание по сравнению с XML. Что касается правил - я использовал Drools в прошлом и, кажется, очень хорошо поддерживается.
Отказ от ответственности: я являюсь автором StatefulJ
если вы создаете систему, основанную на переходе с экрана на экран, то вам обязательно нужно проверить Spring WebFlow http: // springframework.org/webflow р>
У меня был очень хороший опыт использования ragel для создания легко обслуживаемых конечных автоматов. Полученный код Java очень высокого качества. Тем не менее, это просто генератор конечных автоматов, не предназначенный для конкретного использования, поэтому вы можете найти другие решения, которые будут более эффективно работать в проблемной области, связанной с Интернетом.
Может быть, вы можете взглянуть на JBoss PVM. Он все еще в альфа-версии, но может использоваться для моделирования любого типа конечного автомата. Мы также ищем его для графических переходов.
Попробуйте Activiti, похоже, многие люди используют его. http://activiti.org
Для части движка правил, конечно, вы можете использовать Drools.
Посмотрите на StateBuilderJava , генератор кода конечного автомата, который преобразует XML-описание конечного автомата в расширенная версия шаблона состояния Java. Он поддерживает всю семантику UML: конечный автомат может быть иерархическим, параллельным и асинхронным.
Каждый тестовый сценарий можно смоделировать с помощью описания XML конечного автомата, генератор кода записывает шаблон состояния от вашего имени, который утомителен и подвержен ошибкам, если выполняется вручную.
Другим преимуществом является визуализация и редактирование сценария тестирования с помощью графического инструмента. Это позволяет быстро реализовать и задокументировать набор тестовых сценариев. В примерах был написан набор тестов XMPP-клиента, чтобы проиллюстрировать, как можно легко и быстро использовать генераторы кода конечного автомата для написания сложных сценариев тестирования. Р>
Отказ от ответственности: я являюсь автором этого программного обеспечения.
Я использовал activiti. Это лучшая основа. Это облегченная платформа управления бизнес-процессами (BPM). С открытым исходным кодом и работает на любой платформе Java или в облаке. Все, что нужно, это знание BPMN, Maven, Spring и Activiti.