When you are implementing complex applications, services (e.g. microservice approach) or business processes, it is always a challenge to share the business logic. With decision-as-a-service, you can simplify the logic of your services, extract the business logic and share it across all of your services, applications and processes in a manageable manner.
The decision-as-a-service platform takes care of everything and makes your business logic (business rules, decisions, flows, etc.) a REST API service that is available in a secure and scalable way.
Once you have extracted the logic, and modelled your business logic (i.e. business rules, decisions, flows, etc.), you are ready to deploy these and let every process in your organisation and all applications leverage them as a single source of truth. So let me guess – you want to deploy them easily, and probably support multiple versions of service? If so, what you need is a Decision-as-a-Service platform!
Decision-as-a-Service is the capability to host different decisions as a service. Specifically, a REST API service for execution, management and monitoring. As we described previously, there are many ways to model your business rules and decisions (e.g. Decision Model and Notation (DMN), tree, decision/rule flow, etc.). One simple way of making any of these decisions and business rules usable is to use a server that hosts them as a service.
Let’s consider the following decision that we ran previously:
To host this as a service, you need to create a package containing this decision and its related rules implementation. You can use visual package builder or a command line (when automation is required) to build your decision (logic) package file.
As you can see in the picture, the decisions are ready and we have uploaded two different versions of it – Original and New Edition – which have the new policy schedule for a specific time in the future.
What to Expect from a Decision-as-a-Service Platform?
Simplicity of deployment and hosting a decision (or any business logic in general) is the key, so this process can be performed automatically (when it is scripted) or manually with minimal training. All of a sudden, your logic (decision, business rules, flow, etc.) will be available for all execution, management and monitoring. And of course, versioning is an integral part of the system, so you need to be able to host multiple versions and schedule these for execution.
Here is the list of very high-level capabilities that this platform offers:
- Simple deployment (automated and manual)
- Allowing all technologies, platforms and devices to use centralized decision-making across the enterprise and multiple applications
- REST API for execution, management and monitoring
- Multiple versions of a package and logic (e.g. decision)
- Scheduling decisions for execution based on time frames
- Ease of environmental space management (e.g. promoting rules from test to the production environment)
- Managing and configuring different environmental settings (e.g. database connections, etc.)
- Controlling permissions, security and ownership at a detailed level out-of-the-box
- Responsive Web-based console for Administration
- Scalable, event-driven architecture.
To understand more about how you can manage your online business logic (e.g. business rules, decisions, flows, etc.) check http://www.flexrule.com/archives/online-business-rules/