[id='architecture-scenarios-ref_{context}']
= Example decision management architectures with {PRODUCT}

The following scenarios illustrate common variations of {PRODUCT} installation, asset authoring, project storage, project deployment, and asset execution in a decision management architecture. Each section summarizes the methods and tools used and the advantages for the given architecture. The examples are basic and are only a few of the many combinations you might consider, depending on your specific goals and needs with {PRODUCT}.

ifdef::DM,PAM[]
{PRODUCT} environments on OpenShift with {CENTRAL} and {KIE_SERVER}::
+
--
* *Installation environment*: {PRODUCT} on {OPENSHIFT}, using the operator to deploy an `{PRODUCT_INIT}-authoring` environment and other types of environment as necessary.
* *Project storage and build environment*: External Git repository for project versioning synchronized with the {CENTRAL} Git repository using Git hooks, and external Maven repository for project management and building configured with {KIE_SERVER}
* *Asset-authoring tool*: {CENTRAL}
* *Main asset types*: Decision Model and Notation (DMN) models for decisions
ifdef::PAM[and Business Process Model and Notation (BPMN) models for processes]
* *Project deployment and execution environment*: {KIE_SERVER} on {OPENSHIFT}
* *Scenario advantages*:
** Containerized implementation of {PRODUCT} in a cloud-based development environment. Components of {PRODUCT} are deployed as separate OpenShift pods that you can scale up and down individually, providing as few or as many containers as necessary for a particular component. You can use standard OpenShift methods to manage the pods and balance the load.
** Access to the repositories, assets, asset designers, and project build options in {CENTRAL}.
** Standardized asset-authoring approach using DMN
ifdef::PAM,JBPM[and BPMN]
for optimal integration and stability.
** Access to {KIE_SERVER} functionality and KIE APIs for asset deployment and execution.

.{PRODUCT} on OpenShift with {CENTRAL} and {KIE_SERVER}
image::KIE/Overview/architecture-BA-on-OpenShift_enterprise.png[]
--
endif::[]

ifdef::DM,PAM[]
{PRODUCT} on {EAP} with {CENTRAL} and {KIE_SERVER}::
endif::[]
ifdef::DROOLS,JBPM,OP[]
{PRODUCT} on Wildfly with {CENTRAL} and {KIE_SERVER}::
endif::[]
+
--
* *Installation environment*: {PRODUCT} on
ifdef::DM,PAM[{EAP_LONG}]
ifdef::DROOLS,JBPM,OP[Wildfly]
* *Project storage and build environment*: External Git repository for project versioning synchronized with the {CENTRAL} Git repository using Git hooks, and external Maven repository for project management and building configured with {KIE_SERVER}
* *Asset-authoring tool*: {CENTRAL}
* *Main asset types*: Decision Model and Notation (DMN) models for decisions
ifdef::PAM,JBPM[and Business Process Model and Notation (BPMN) models for processes]
* *Project deployment and execution environment*: {KIE_SERVER}
* *Scenario advantages*:
** Stable implementation of {PRODUCT} in an on-premise development environment
** Access to the repositories, assets, asset designers, and project build options in {CENTRAL}
** Standardized asset-authoring approach using DMN
ifdef::PAM,JBPM[and BPMN]
for optimal integration and stability
** Access to {KIE_SERVER} functionality and KIE APIs for asset deployment and execution

ifdef::DROOLS,JBPM,OP[]
.{PRODUCT} on Wildfly with {CENTRAL} and {KIE_SERVER}
image::KIE/Overview/architecture-BA-on-wildfly.png[]
endif::[]
ifdef::DM,PAM[]
.{PRODUCT} on {EAP} with {CENTRAL} and {KIE_SERVER}
image::KIE/Overview/architecture-BA-on-eap_enterprise.png[]
endif::[]
--

ifdef::DM,PAM[]
{PRODUCT} on {EAP} with an IDE and {KIE_SERVER}::
endif::[]
ifdef::DROOLS,JBPM,OP[]
{PRODUCT} on Wildfly with an IDE and {KIE_SERVER}::
endif::[]
+
--
* *Installation environment*: {PRODUCT} on
ifdef::DM,PAM[{EAP_LONG}]
ifdef::DROOLS,JBPM,OP[Wildfly]
* *Project storage and build environment*: External Git repository for project versioning (not synchronized with {CENTRAL}) and external Maven repository for project management and building configured with {KIE_SERVER}
* *Asset-authoring tools*: Integrated development environment (IDE), such as VSCode, and a spreadsheet editor or a Decision Model and Notation (DMN) modeling tool for other decision formats
* *Main asset types*:
ifdef::DM,DROOLS[Drools Rule Language (DRL) rules, spreadsheet decision tables, and Decision Model and Notation (DMN) models for decisions]
ifdef::PAM,JBPM[Drools Rule Language (DRL) rules, spreadsheet decision tables, and Decision Model and Notation (DMN) models for decisions, and Business Process Model and Notation (BPMN) models for processes]
* *Project deployment and execution environment*: {KIE_SERVER}
* *Scenario advantages*:
** Flexible implementation of {PRODUCT} in an on-premise development environment
** Ability to define business assets using an external IDE and other asset-authoring tools of your choice
** Access to {KIE_SERVER} functionality and KIE APIs for asset deployment and execution

ifdef::DM,PAM[]
.{PRODUCT} on {EAP} with an IDE and {KIE_SERVER}
image::KIE/Overview/architecture-BA-with-IDE_enterprise.png[]
endif::[]
ifdef::DROOLS,JBPM,OP[]
.{PRODUCT} on Wildfly with an IDE and {KIE_SERVER}
image::KIE/Overview/architecture-BA-with-IDE.png[]
endif::[]
--

{PRODUCT} with an IDE and an embedded Java application::
+
--
* *Installation environment*: {PRODUCT} libraries embedded within a custom application
* *Project storage and build environment*: External Git repository for project versioning (not synchronized with {CENTRAL}) and external Maven repository for project management and building configured with your embedded Java application (not configured with {KIE_SERVER})
* *Asset-authoring tools*: Integrated development environment (IDE), such as VSCode, and a spreadsheet editor or a Decision Model and Notation (DMN) modeling tool for other decision formats
* *Main asset types*:
ifdef::DM,DROOLS[Drools Rule Language (DRL) rules, spreadsheet decision tables, and Decision Model and Notation (DMN) models for decisions]
ifdef::PAM,JBPM[Drools Rule Language (DRL) rules, spreadsheet decision tables, and Decision Model and Notation (DMN) models for decisions, and Business Process Model and Notation (BPMN) models for processes]
* *Project deployment and execution environment*: Embedded Java application, such as in a Java virtual machine (JVM) environment, microservice, or custom application server
* *Scenario advantages*:
** Custom implementation of {PRODUCT} in an on-premise development environment with an embedded Java application
** Ability to define business assets using an external IDE and other asset-authoring tools of your choice
** Use of custom APIs to interact with core KIE APIs (not {KIE_SERVER} APIs) and to execute assets in the embedded engine

.{PRODUCT} with an IDE and an embedded Java application
ifdef::DM,PAM[]
image::KIE/Overview/architecture-BA-with-custom-app_enterprise.png[]
endif::[]
ifdef::DROOLS,JBPM,OP[]
image::KIE/Overview/architecture-BA-with-custom-app.png[]
endif::[]
--
