//Module included in the following assemblies:
//product-assembly_guided-rules/../main.adoc
//product-assembly_guided-rule-templates/../main.adoc
//product-assembly_decision-tables/../main.adoc
//product-assembly_guided-decision-tables/../main.adoc
//product-assembly_drl/../main.adoc
//product-assembly_decision-management-architecture/../main.adoc

[id='decision-authoring-assets-ref_{context}']
= Decision-authoring assets in {PRODUCT}

{PRODUCT} supports several assets that you can use to define business decisions for your decision service. Each decision-authoring asset has different advantages, and you might prefer to use one or a combination of multiple assets depending on your goals and needs.

The following table highlights the main decision-authoring assets supported in {PRODUCT} projects to help you decide or confirm the best method for defining decisions in your decision service.

.Decision-authoring assets supported in {PRODUCT}
[cols="20%,40%,20%,20%", options="header"]
|===
|Asset
|Highlights
|Authoring tools
|Documentation

|Decision Model and Notation (DMN) models
a|
* Are decision models based on a notation standard defined by the Object Management Group (OMG)
* Use graphical decision requirements diagrams (DRDs) that represent part or all of the overall decision requirements graph (DRG) to trace business decision flows
* Use an XML schema that allows the DMN models to be shared between DMN-compliant platforms
* Support Friendly Enough Expression Language (FEEL) to define decision logic in DMN decision tables and other DMN boxed expressions
ifdef::PAM,JBPM[]
* Can be integrated efficiently with Business Process Model and Notation (BPMN) process models
endif::[]
* Are optimal for creating comprehensive, illustrative, and stable decision flows
|{CENTRAL} or other DMN-compliant editor
a|
ifdef::DM,PAM[]
{URL_DEVELOPING_DECISION_SERVICES}#assembly-dmn-models[_{DMN_MODELS}_]
endif::[]
ifdef::DROOLS,JBPM,OP[]
xref:dmn-con_dmn-models[]
endif::[]

|Guided decision tables
a|
* Are tables of rules that you create in a UI-based table designer in {CENTRAL}
* Are a wizard-led alternative to spreadsheet decision tables
* Provide fields and options for acceptable input
* Support template keys and values for creating rule templates
* Support hit policies, real-time validation, and other additional features not supported in other assets
* Are optimal for creating rules in a controlled tabular format to minimize compilation errors
|{CENTRAL}
a|
ifdef::DM,PAM[]
{URL_DEVELOPING_DECISION_SERVICES}#assembly-guided-decision-tables[_{GUIDED_DECISION_TABLES}_]
endif::[]
ifdef::DROOLS,JBPM,OP[]
xref:guided-decision-tables-con_{context}[].
endif::[]

|Spreadsheet decision tables
a|
* Are XLS or XLSX spreadsheet decision tables that you can upload into {CENTRAL}
* Support template keys and values for creating rule templates
* Are optimal for creating rules in decision tables already managed outside of {CENTRAL}
* Have strict syntax requirements for rules to be compiled properly when uploaded
|Spreadsheet editor
a|
ifdef::DM,PAM[]
{URL_DEVELOPING_DECISION_SERVICES}#assembly-decision-tables[_{SPREADSHEET_DECISION_TABLES}_]
endif::[]
ifdef::DROOLS,JBPM,OP[]
xref:decision-tables-con_decision-tables[]
endif::[]

|Guided rules
a|
* Are individual rules that you create in a UI-based rule designer in {CENTRAL}
* Provide fields and options for acceptable input
* Are optimal for creating single rules in a controlled format to minimize compilation errors
|{CENTRAL}
a|
ifdef::DM,PAM[]
{URL_DEVELOPING_DECISION_SERVICES}#assembly-guided-rules[_{GUIDED_RULES}_]
endif::[]
ifdef::DROOLS,JBPM,OP[]
xref:guided-rules-con_kie-apis[]
endif::[]

|Guided rule templates
a|
* Are reusable rule structures that you create in a UI-based template designer in {CENTRAL}
* Provide fields and options for acceptable input
* Support template keys and values for creating rule templates (fundamental to the purpose of this asset)
* Are optimal for creating many rules with the same rule structure but with different defined field values
|{CENTRAL}
a|
ifdef::DM,PAM[]
{URL_DEVELOPING_DECISION_SERVICES}#assembly-guided-rule-templates[_{GUIDED_RULE_TEMPLATES}_]
endif::[]
ifdef::DROOLS,JBPM,OP[]
xref:guided-rule-templates-con[]
endif::[]

|DRL rules
a|
* Are individual rules that you define directly in `.drl` text files
* Provide the most flexibility for defining rules and other technicalities of rule behavior
* Can be created in certain standalone environments and integrated with {PRODUCT}
* Are optimal for creating rules that require advanced DRL options
* Have strict syntax requirements for rules to be compiled properly
|{CENTRAL} or integrated development environment (IDE)
a|
ifdef::DM,PAM[]
{URL_DEVELOPING_DECISION_SERVICES}#assembly-drl-rules[_{DRL_RULES}_]
endif::[]
ifdef::DROOLS,JBPM,OP[]
xref:drl-rules-con_decision-tables[]
endif::[]

|Predictive Model Markup Language (PMML) models
a|
* Are predictive data-analytic models based on a notation standard defined by the Data Mining Group (DMG)
* Use an XML schema that allows the PMML models to be shared between PMML-compliant platforms
* Support Regression, Scorecard, Tree, Mining, and other model types
* Can be included with a standalone {PRODUCT} project or imported into a project in {CENTRAL}
* Are optimal for incorporating predictive data into decision services in {PRODUCT}
|PMML or XML editor
a|
ifdef::DM,PAM[]
{URL_DEVELOPING_DECISION_SERVICES}#assembly-pmml-models[_{PMML_MODELS}_]
endif::[]
ifdef::DROOLS,JBPM,OP[]
xref:pmml-con_pmml-models[]
endif::[]
|===

When you define business decisions, you can also consider using {KOGITO} for your cloud-native decision services. For more information about getting started with {KOGITO} microservices, see {URL_GETTING_STARTED_KOGITO_MICROSERVICES}[_{GETTING_STARTED_KOGITO_MICROSERVICES}_].
