Droolsブログ
16 Drools と LLM 昨今 LLM (Large Language Model) が大流行りですね。「LLMで何かアプリ作れや」と言われている方も多いのではないでしょうか。しかし、LLM だけで上手く行くのか? AIチャットボットが誤った返金規程を提示し、裁判になったエア・カナダの…
14 KieLive Drools は Kogito, jBPM, OptaPlanner を含めた KIE コミュニティ (https://kie.org/)の仲間です。KIE コミュニティでは KieLive というストリーミング配信を行っており、様々な技術的なトピックを語っています。過去の動画はこちらから観ること…
13 DMN DMN (Decision Model and Notation) とは OMG (Object Management Group) で策定されたビジネスルールについての仕様です。 https://www.omg.org/dmn/ ビジネスプロセス仕様 BPMN (Business Process Model and Notation) のルール版だと思ってよいで…
12 Kogito Examples Kogito 0.9.1 がリリースされました! 別に切りのいい数字じゃないって? や、そうなんですけど、0.9.1 はドキュメントや examples を整備して「いい感じに仕上げました」マイルストーンリリースなのです。今後もバージョン自体はどんど…
11 Kie Server ここまでルールエンジンを実行するために直接 Java コードを書いてましたが、REST API での実行も可能です。その場合 REST エンドポイントを公開するための Web アプリが必要です。そのために Kie Server という Web アプリが提供されています…
10 Business Central Drools には Business Central という強力な Web UI ツールが付いています。以下、機能を列挙しますと ルール、デシジョンテーブル、データオブジェクト、プロセスなど、ファイルの管理 プロジェクトの管理 ルール、デシジョンテーブル…
09 Executable Model この記事は 赤帽エンジニア Advent Calendar 2019 18 日目の記事です。 07 MVEL で書いたように、Drools 7 から Executable Model というオプションが利用可能となっています。これは kjar のビルド時点で DRL を Java クラス化し、実行…
08 no-loop, lock-on-active DRL には様々な属性(attribute)を指定することができます。 https://docs.jboss.org/drools/release/7.26.0.Final/drools-docs/html_single/#_rule_attributes 今回はそのなかで、no-loop と lock-on-active を紹介します。 サン…
07 MVEL MVEL というのは Java ベースの言語で、 Java をより簡単に表記する事を目的にしています。超ざっくり言うと、getter/setter を省略して書いたりできます。 user.name == 'ジョン レノン' ドキュメントはこちらを参照ください。 http://mvel.documen…
06 Quarkus で Drools/jBPM を動かす Kogito これまで入門ネタを書いてきましたが、今回はちょっと最新情報を! Drools/jBPM には Kogito という新規プロジェクトがあり、Drools/jBPM を軽量に適用するアプローチを目指しています。そしてその中心となるのが…
05 KJAR 前回まではルールをクラスパスに配置していました。アプリケーションにリソースを組み込むという意味では普通のやりかたです。一方 Drools ではルールをアプリケーションと分離して管理する方法も強力にサポートされています。 ルールを Maven を使…
04 ステートレス ksession ここまで、普通の ksession つまり ステートフル ksession を使ってきましたが、今回は ステートレス ksession の使い方です。 ステートレス ksession とは、「ステートフル ksession のラッパーで、insert, fireAllrules, dispose…
03 推論(Inference) 今回は Drools の重要な機能のひとつ、推論(Inference)を紹介します。推論というと少し難しく聞こえますが、「再評価」と言い換えてもよいです。 サンプルコードはこちらから clone してください。 git clone https://github.com/tkobaya…
02 デシジョンテーブル 前回は HelloWorld ということで基本の DRL でルールを書きましたが、次はよく使われる「デシジョンテーブル」を説明します。 デシジョンテーブル(意思決定表)は以下のように表形式で、条件と結果を表すものです。DRL よりずっと分か…
01 Drools HelloWorld こんにちは、これから Drools についていろいろと書いていこうと思います。サンプルと共に、分かりやすい入門的なエントリを中心にしていく予定です。 Drools というのはオープンソースのルールエンジンで、Java で書かれています。 ht…