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




jbpm делает это и хорошо интегрируется с jboss. По моему опыту, он довольно прост в использовании и очень мощный.
Я еще раз взглянул на jbpm и обнаружил, что он отлично подходит. Спасибо большое. Меня как-то выключило, когда я впервые увидел демонстрацию с дизайнером в версии 4.0. Позже я наткнулся на учебник для версии 3.2, в котором легче понять, как оно удовлетворяет потребность. Еще раз спасибо.
Сайт jbpm теперь jboss.org/jbpm
если вы создаете систему на основе перехода от одного экрана к другому, то вам обязательно стоит попробовать Spring WebFlow http://springframework.org/webflow
У меня был очень хороший опыт использования рагель для создания легко обслуживаемых конечных автоматов. Полученный java-код очень высокого качества. Однако это просто генератор конечного автомата, не предназначенный для конкретного использования, поэтому вы можете найти другие решения, которые будут более беспрепятственно работать в проблемной области, связанной с Интернетом.
Может быть, вы можете взглянуть на JBoss PVM. Он все еще находится в альфа-версии, но может использоваться для моделирования любого типа конечного автомата. Мы также изучаем переходы графического интерфейса пользователя.
http://www.jboss.org/jbossjbpm/pvm
ссылка мертва, и поиск pvm на этом сайте jboss.org не дал никаких результатов
Взгляните на StateBuilderJava, генератор кода конечного автомата, который преобразует XML-описание конечного автомата в расширенную версию шаблона состояний Java. Он поддерживает всю семантику UML: конечный автомат может быть иерархическим, параллельным и асинхронным.
Каждый тестовый сценарий может быть смоделирован с помощью Xml-описания конечного автомата, генератор кода записывает шаблон состояния вашего имени, что утомительно и подвержено ошибкам, если выполняется вручную.
Другое преимущество - визуализировать и редактировать тестовый сценарий с помощью графического инструмента. Это позволяет быстро реализовать и задокументировать набор тестовых сценариев. В примерах написан набор тестов клиента XMPP, чтобы продемонстрировать, как генераторы кода конечного автомата могут быть использованы для простого и быстрого написания сложных тестовых сценариев.
Отказ от ответственности: я являюсь автором этого программного обеспечения.
Попробуйте Activiti, похоже, многие люди его используют. http://activiti.org
Для части механизма правил вы, конечно же, можете использовать Drools.
Я использовал активити. Это лучший фреймворк. Это облегченная платформа для управления рабочими процессами и бизнес-процессами (BPM). Открытый исходный код и работает на любой платформе Java или в облаке. Все, что вам нужно, - это знание BPMN, Maven, Spring и Activiti.
Вы можете посмотреть StatefulJ. Он построен на основе Spring Data для поддержки сохраняемости, а сама модель состояния определяется с помощью аннотаций. Такой подход упрощает настройку и обслуживание по сравнению с XML. Что касается правил - я использовал Drools в прошлом и, кажется, очень хорошо поддерживается.
Отказ от ответственности: я являюсь автором StatefulJ
Некоторое время мы использовали StatefulJ, и он интуитивно понятен. Однако, похоже, что проект был заброшен, в последнее время не ведется никаких мероприятий, и сайт не работает. Есть ли шанс восстановить домен и предоставить обновления?
Да, я хочу. Я не отказывался от этого намеренно. Я просто был очень сосредоточен на своих нынешних усилиях. Мне интересно, есть ли кто-то, кто хочет его поддерживать
Я написал решение, которое использует аннотации для управления конечным автоматом, который может вас заинтересовать. david-sundstrom.blogspot.com/2009/07/…