Я ищу лучшие практики или общий подход к тому, чтобы сделать серверное приложение модифицируемым обычными непрограммистами. Это не должно быть горячо модифицировано; он может быть перекомпилирован и перераспределен.
Предположим, что система находится в контейнере EJB или Spring. Система управляется сообщениями (возможно, EJB3.1). Существует ряд POJO, которые получают сообщения от клиентских приложений (RCP или RIA), реагируют на эти сообщения и отправляют больше сообщений тем же и другим клиентским приложениям. Каков наилучший способ сделать систему легко модифицируемой? Если я правильно разделю логические компоненты сервера, какой технологический или конструкторский подход позволил бы мне заменять логические POJO новыми POJO, тем самым изменяя поведение приложения?
Я думаю, что я описываю паттерн стратегии. Могут ли эти POJO генерироваться из набора удобочитаемых и редактируемых правил? Является ли механизм правил типа Drools правильным способом решения этой проблемы?
Может ли это быть объединено с генератором конечных автоматов, чтобы каждое состояние имело список входных сообщений и ответов на каждое, правил перехода и т. Д.?
Пример игрушки:
- State_Evening
- Ввод sellStocks
- ответить «Невозможно продать вечером, подождать до дня».
- State_Day
- входные данные sellStocks
- делать SellStocks
- ответить "Акции проданы за _ "
и т.д.
Теперь, когда я пишу это так, похоже, что язык сценариев будет почти таким же, как программирование ...
Я просто ищу указатель в правильном направлении. Или, может быть, я слишком усложняю что-то простое. Возможно, мне следует просто сделать бизнес-логику как можно более четкой и внести изменения в код?
Отредактировано 22 февраля 2012 г. для ясности