В качестве доказательства концепции я использовал инструмент Drools для создания объектов данных и файлов DRL. Я создал файл jar и развернул сервер kie (с контейнером). Все это осуществляется через интерфейс Workbench. Я использовал службы KIE REST из своего приложения C#, чтобы опубликовать входной объект через XML (с использованием пакетного исполнения), чтобы запустить правила, и я получил ответ, который я искал.Drools 6.2 Как создать и развернуть DRL-файл из моего собственного редактора правил
Но в реальном сценарии у нас будет собственный редактор правил (для удобства использования) для создания правил на основе атрибутов из существующих объектов. Как только правило будет сохранено в нашей БД, наш план состоит в том, чтобы сгенерировать файл DRL вместе с объектами данных.
Мой вопрос в том, как взять этот файл DRL и построить его как файл jar?
Для контейнера Kie необходим файл jar с объектами данных и файлом DRL. Кто-нибудь еще сделал что-то подобное?
Я пытаюсь найти лучший способ развернуть мой файл правил слюни. Другой альтернативой может быть использование IKVM для генерации dll из файла jar drools и интеграции drools в моем приложении.
Laune, спасибо за Ваш ответ! Это хорошая альтернатива вызову сервера выполнения KIE, и он решает мою проблему сохранения файла DRL независимо от него. Но это убирает способность вызывать двигатель удаленно. Я не упомянул в своем оригинальном посте, что я планирую назвать это из моего .net web api. Я подумываю написать вышеуказанный код в java, а затем преобразовать его как .net dll, чтобы вызвать его из моего кода C#. Вы предлагаете лучший способ сделать это? –
Компиляция из DRL в сериализованный KieBase - это просто трансформация: у вас есть один или несколько файлов DRL, и вы получаете двоичную KieBase. Это не имеет никакого отношения к удаленному вызову движка, который работает с использованием этой KieBase. – laune
Да, я получил эту часть. Я ищу способ вызвать дистанционный движок удаленно с полным контролем над файлом .drl. Мой файл DRL будет создан моим собственным редактором правил, а приложение будет записано в .net. Мне нужна возможность либо вызвать двигатель удаленно, либо как-то написать код в .net. Я смог удаленно вызвать движок, установив kie-сервер выполнения с файлом jar, содержащим файлы DRL и объекты данных, но после этого нет простого способа изменить файл DRL. Я просто ищу идеи и вижу, что кто-то реализовал нечто похожее. Спасибо –