This session was presented at Interconnect 2016 in session bdm-4361. It covers ODM 8.8.0 version. This deck explains the basics of ODM architecture and guides deployment for DevOps.
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Best practices in deploying IBM Operation Decision Manager Standard 8.8.0
1. Best Practices in Deploying IBM
Operational Decision Manager
Standard
BDM-4361
Pierre Feillet - IBM ODM Product Architect
2. Agenda
• ODM Standard Architecture & runtime elements
• Recommended topologies
• Configuration
• Decision Service Development Lifecycle
• Business Rules everywhere
• Decision Services in Apache Spark
• Performance
• Best practices
2
4. ODM 8.8.0 Family
• Standard
• Focused on Decision
Services
• Decision Center
• Decision Server Rules
• Advanced = Standard +
• Decision Server Insights
• Dynamic modeling to define
Events, Entities & detection
rules to search for situations
• Server Grid with events & data
in memory
• WAS Liberty + WXS
4
IBM ODM Advanced
IBM ODM Standard
Decision Server Advanced
Decision Server Rules
Decision Server Events
Decision Server Insights
Decision Server Standard
Decision Server Rules
Decision Center
Decision Center
5. ODM Standard - Concept of Operations
5
Decision Server
Development
Operation
Continuous
Improvement
Rule Execution
Server
JEE/J2SE
Rule Execution
Server
JEE/J2SE
Rule Designer
(Eclipse)
Rule Designer
(Eclipse)
Decision Center -
Decision Validation
Services
Decision Center -
Decision Validation
Services
z Rule Execution
Server
z Rule Execution
Server
COBOLCOBOL
Decision Center
Repository
Decision Center
Repository
IT Architect
IT Developer
Business Analyst
Process Owner
Business UserBusiness Leader
Code Generation
(deprecated)
Deploy
Synchronize
6. ODM Standard Component Organization
6
• Rule Designer
• Decision Center
• Business Console
• Enterprise Console
•Decision Server Rules
• Rule Execution Server
• Rule Execution Server web
console
• Hosted Transparent
Decision Service
• Scenario Service Provider
• Decision Warehouse
• Rule Sessions
• eXecution Unit
7. ODM Standard Component List
7
Component Acronym Description DB tables SIBus
Decision Center DC Web consoles + the DM authoring repository to store
rule and event projects
Decision Center
tables
None
Decision Server / Rule
Server Console
RES
Console
Executable Decision Service mgt through
RuleApp/ruleset assets
Rule Execution Server
tables
None
Decision Server / Rule
eXecution Unit
RES XU Rule server core runtime deployed as JCA or Pojo Rule Execution Server
tables
None
Decision Server / Rule
Sessions
Rule
Sessions
Rule runtime components available as EJBs or Pojo None ODM Bus
Decision Server /
Decision Services
Custom or OOTB JEE artifacts that encompass the
invocation and the decision logic (RuleApp/Ruleset).
Are based on Rule Sessions.
None None
expected
unless
MDB
used
Decision Server /
Scenario Service
Provider
SSP Test and simulation rule runtime None None
Decision Server / HTDS HTDS Dynamic Web Services None None
Decision Server /
Decision Warehouse
DW Runtime that listens and store decisions Decision Warehouse
tables
None
8. A full fledge Enterprise Proposal
8
System z Enterprise 196 (or 114) +
LPAR, Sysplex
OS
Distributed including z/Linux
z/OS
100% Java product on distributed
plus a native secret sauce in zRES
Power or Intel
blades
z/VM z/OS
z/Linux
WAS ND
& L WAS
NDCICS
ODM ODM
distributed
WAS ND Other AS
Works with a variety of stacks
WAS ND, WAS Liberty profile (8.5.5.x) on distributed &
z/OS
zRES Lightweight server for z/OS, run standalone and in
CICS
JSE Rule Execution Server & rule engine
ODM
ODM Technical Detailed System Requirements
Distributed
WAS
Liberty
WAS
Liberty
9. ODM Standard Consoles & Touch Points
9
Decision
Center
Decision
Server
ODM cell
Rule Designer
Decision Center
Consoles
Desktop
WAS
Administration
Console
Rule Execution
Server Console
DC Ant Tasks
DS Ant Tasks
Synchro
over HTTP(S)
Executable
artifact
deployment
over HTTP(S)
All Consoles, synchronization, deployment going through HTTP(S)
HTTP(S)
HTTP(S)
HTTP(S)
HTDS WS
endpoints
HTTP(S)
10. Zoom on Decision Server / Rule Architecture
10
RuleApp &
Ruleset archive deployment
Rule Sessions EJBPOJO
Engine
JCA
Custom
Decision
Services
eXecution
Unit
Management
Console
RuleApp/Ruleset
Repository
Engine
Engine
Mgt
Notification
JMX/IP
Management
Model
Decision
Warehouse DB Decision Traces
Scenarion Service
Provider
JMX
10
Hosted
Transparent
Decision
Services
WSWS
WS, JSE, Message,
your choice
WS, JSE, Message,
your choice
11. RES Console
• Workload
– Only management of the rule executable artifacts (RuleApp, ruleset,
eXecutable Object Models)
– Execution restricted to diagnostic and interactive testing
– Notification to eXecution Units when a new artifact comes available
• Design
– In memory stateful webapp on the top of the RES DB
– Contains a JMX Model
• Kind of WAS Deployment Manager for Decision Services
11
12. RES Console Out of a Cluster
• A singleton in a WAS Cell
• Deployed apart a cluster in reference topology
– Install the RES Console on a separated server
– SPOF but with limited impact if it fails
12
13. RES What If Scenarios
• What if RES Console shuts down
– What do we loose
• Deployment & notification of new ruleapps/rulesets versions through HTTP(S)
• REST Mgt API become unavailable
• Execution statistics
– What do we keep
• Rule execution remains fully operational
• Direct deployment to the RES DB remains possible
– Restart RES Console to dynamically get back these functionalities
• What if RES DB goes down
– Execution remains fully operational for all rulesets already in memory
13
14. RES Notification Protocol
• JMX
• Always active
• Works in a WAS Cell or equivalent giving a JMX MBean server federation
• RES Console defines its RES model top level MBean
• Each XU defines its Mbean
• IP
• Set in RES Console and Xus descriptors
• RES Console hostname/IP & port number specified in each eXecution Unit to get
notified
• Rely on a virtual address (VRRP) to keep XUs untouched when RES Console is
moved of machine or IP address
• Enter a RFE if you are interested in enlisting a set of RES Console IP addresses
14
16. How to choose your ODM topology
16
What is my Decision Management scope?
Decision servicesSituation detection
Dev phase
DevIntegration Testing Production
HA/DR
What is the workload nature ?
Event processing Remote/Local decision
execution
Business decision Validation through
Simulation and Testing
What is the platform?
distributed z: z/OS, z/Linux Hybrid Cloud
User Testing PreProd
17. ODM Standard Topology cheat sheet
• Abbreviations for product scopes
– ODM: Full platform
– ODMR: Rules only
– ODME: Event only
– ODM/DC: Decision Center
– ODM/DS: Decision Server
– ODM/DSR:DS for Rules only
• WAS ND topology concepts
• ODM Profile templates delivered for clustered DC &
DS
17
Cluster
DMGRNode Agent
Server
Server
Node Agent
Server
Server
Dmgr’s nodeCustom nodeCustom node
Cell
18. ODM Standard Gold topology: DC + DS clusters + RES Console
• Functional
separation/isolation
of workload
• Several cells for
staged dev lifecycle
• RES XU deployed
at Node level
• Datasources
deployed at cluster
level
• Remote ClientApp
cluster run in
another cell or can
be added to the
ODM cell
• Can scale individual
clusters as needed
Cell
Node Agent
Cluster Member 1
HTDS for exec
SSP for testing
Rule Session jar if
Custom Decision
Services
Cluster Member 1
Decision Center
Cluster Member 3
Decision Center
Decision
Center
Cluster
Decision
Server
Cluster
Cluster Member 2
HTDS for exec
SSP for testing
Rule Session jar if
Custom Decision
ServicesDecision
Center DB
Decision
Server Rule DB
Decision
Warehouse
DB
IP Sprayer
RES XU RAR
Machine 1 Machine 2
Server 1
RES Console
Cluster Member N
Decision Center
Cluster Member N
HTDS for exec
SSP for testing
Rule Session jar if
Custom Decision
Services
Machine N
Deployment
Manager
IHS IHS IHS
Node Agent
RES XU RAR
Node Agent
RES XU RAR
19. ODM: DC + DS + RES Console + Remote Client App clusters
• Functional
separation/isolation of
workload
• Several cells for
staged dev lifecycle
• RES XU deployed at
Node level
• Datasources deployed
at cluster level
• SSPs are directly
referenced on each
member from DC
Cell
Node Agent
Cluster Member 1
HTDS for exec
SSP for testing
Rule Session jar if
Custom Decision
Services
Cluster Member 1
Decision Center
Cluster Member 3
Decision Center
Decision
Center
Cluster
Decision
Server
Cluster
Cluster Member 2
HTDS for exec
SSP for testing
Rule Session jar if
Custom Decision
Services
Decision
Center DB
Decision
Server Rule DB
Decision
Warehouse
DB
IP Sprayer
RES XU RAR
Machine 1 Machine 2
Server 1
RES Console
Cluster Member N
Decision Center
Cluster Member N
HTDS for exec
SSP for testing
Rule Session jar if
Custom Decision
Services
Machine N
Deployment
Manager
IHS IHS IHS
Node Agent
RES XU RAR
Node Agent
RES XU RAR
Cluster Member 1
Client App
Cluster Member 3
Client App
Client
App
Cluster
Cluster Member N
Client App
20. ODM Standard Challenger Topology: DC cluster + DS clusters +
RES Console Started/Stopped cluster
• Variant of the
reference topology
• Used by few
customers
• *Should* work in a
general approach but
not yet fully tested in
the Lab
Cell
Node Agent
Cluster Member 1
HTDS for exec
SSP for testing
Rule Session jar if
Custom Decision
Services
Cluster Member 1
Decision Center
Cluster Member 3
Decision Center
Decision
Center
Cluster
Decision
Server
Cluster
Cluster Member 2
HTDS for exec
SSP for testing
Rule Session jar if
Custom Decision
ServicesDecision
Center DB
Decision
Server Rule DB
Decision
Warehouse
DB
IP Sprayer
RES XU RAR
Machine 1 Machine 2
Server 1
RES Console
Cluster Member N
Decision Center
Cluster Member N
HTDS for exec
SSP for testing
Rule Session jar if
Custom Decision
Services
Machine N
Deployment
Manager
IHS IHS IHS
Node Agent
RES XU RAR
Node Agent
RES XU RAR
RES
Console
Cluster
Server 2
RES Console
(stopped)
Server 3
RES Console
(stopped)
21. ODM: Testing & Simulation cluster
• Functional
separation/isolation of
workload
• SSPs can be referred
by their cluster
address when using
Testing & Simulation
from the Business
Console (CDI)
• SSPs are directly
referenced on each
member from DC
when using
Enterprise Console
Cell
Node Agent
Cluster Member 1
SSP
Decision
Simulation
Cluster
Cluster Member 2
SSP
Decision
Server Rule DB
Decision
Warehouse
DB
IP Sprayer
RES XU RAR
Machine 1 Machine 2
Server 1
RES Console
Cluster Member N
SSP
Machine N
Deployment
Manager
IHS IHS IHS
Node Agent
RES XU RAR
Node Agent
RES XU RAR
22. ODM Standard: Standalone Server
Full ODM Standard running in a
single server
Includes all runtime parts for web
decision authoring, test and
execution
Server1
Decision
Center
RES Console
HTDS for exec
SSP for testing
Rule Session
jar if Custom
Decision
Services
XU RARDecision
Server Rule DB
Decision
Warehouse
DB
Machine 1
Decision
Center DB
23. ODM Standard: Standalone Server
Decision Center on single server +
Decision Server single server
2 servers environments:
• no failover
• 2 minimal # of JVMs
• easy to create (create
standalone profile)
• Automatic DB creation
Server1
Decision
Center
Decision
Server Rule DB
Decision
Warehouse
DBMachine 1
Decision
Center DB
Server1
RES Console
HTDS for exec
SSP for testing
Rule Session
jar if Custom
Decision
Services
XU RAR
Machine 1
24. Operational Decision Management
Scope
Functional
restriction
Project Phase Recommended
Topology
ODM Standard
meaning DC + DS for Rules
Dev ODM - standalone
Test ODM – from 2 servers to DC + DS cluster
(Gold)
Prod ODM DC + DS clusters (Gold)
ODM / Decision Center Dev ODM/DC standalone
Test ODM/DC 1 cluster
Prod ODM/DC 1 cluster
ODM / Decision Server Dev ODM/DS – standalone
Test ODM/DS - 1 cluster
Prod ODM/DS – 1 to 4 clusters
ODM/Decision Server for Rule Rule Dev ODM/DSR – standalone
Test ODM/DSR – 1 cluster
Prod ODM/DSR – 1 or more clusters
Rule Simulation Dev ODM/DSR/TS – standalone
Rule Simulation Prod ODM/DSR /TS– 1 cluster
ODM Standard Topology Catalog
25. ODM Copper
DC + DS combined in a standalone server
ODM Bronze
1 cell with 1 DC server + 1 DS Server
ODM Silver
1 cell with a single cluster for DC & DS
ODM Gold topology
1 cell with a DC cluster & DS cluster
Separation between business authoring from execution
Cover all product usage including business authoring, execution and
simulation for rule and event
Best tradeoff between Performance, HA, and cost
Platinum topologies
All upper topologies that provide more workload separation and
usage specialization
Client App cluster can be added in this cell or run in a separated cell
Simulation is isolated from business authoring & pure execution
ODM Topologies at a glance
27. Decision Server endpoints declared in Decision Center Enterprise Console
Execution, Test, or both
If you use Testing & Simulation from Decision Center – Enterprise Console
Declare SSP cluster members in Decision Center
SSP.EAR/SSP.WAR does not support to be load balanced
If you use Testing & Simulation from Decision Center – Business Console
Declare the cluster url for SSPs
An IlrSSPResolver implementation may be needed in DC when using T&S
from Entreprise Console & Rule Designer
Decision Server Definitions in Decision Center
28. Backend application is ssp.ear for scenario service provider
Composed of 2 web apps
ssp.war
Used to run Test Suites and Simulations from Decision Center
Enterprise Console and Rule Designer
Deployment of ruleset always performed via local API & JMX or
through HTTP(S)
SSP.EAR/SSP.WAR/web.xml LOCAL_DEPLOYMENT_ONLY
property set by default to false
Decisionrunner.war – used to run Test Suites and Simulations from
BC/Business Console
Deployment of ruleset always performed via local API & JMX
Decision Service Project versus Rule Project
SSP Configuration for RES Deployment
30. Decision Management Development Life Cycle
In a strict isolation required between types/purposes of environments:
• DEV: application developers have access to “DEV” only , purpose is application dev
and basic function testing
• SIT: integration testers have access to “SIT” only, purpose is integration and function
testing
• User Acceptance Test: user acceptance testers have access to “UAT” only, purpose
is user testing
• PREPROD: function and integration proven in earlier environments, purpose of this
env is largely perf testing
• PROD - apps were proven in earlier environments. Barely anyone has access to this
env, it is tightly regulated.
DEV SIT UAT PREPROD PROD
31. DEV SIT UAT PrePro
d
PROD
Decision Management Life Cycle
Features are deployed in phased environment depending on purpose
Business authoring
Business Object Model and Rule Editing
Business Simulation & Test
Create and run Business Test Suites and Simulation to guide and improve
decision logic
Champion/Challenger comparison on KPI computation
Execution
Decision run
Business Authoring
Execution
Business Simulation & Testing
32. DEV SIT UAT PreProd PROD
Classic Decision Management Life Cycle
Development of delimited Decision Services
Business Authoring stopping most likely at UAT
Business Simulation used until PreProd max
Business Authoring
Execution
Business Simulation & Testing
33. Agile Decision Management Life Cycle
Agile ODM
Provide an ODM as a PaaS with change/extension of the decision logic
without starting back from Dev environment
LOB leverage business authoring, simulation and apply their corporate
decision logic on their data
Business Authoring and Simulation available in PreProd and even Prod
More agility coming with more risk in production
Need governance and workload isolation to handle business authoring,
simulation and execution and avoid regressions
DEV SIT UAT PreProd PROD
Execution
Business Simulation
Business Authoring
34. ODM Deployment across phases
Each life cycle phase is mapped into an environment
Each environment is a WAS cell (or equivalent in other AS)
Decision Server deployed in isolation by phase
Decision Center can be shared or isolated per phase
1 or more cells dedicated by phase
Phase environment contain 1 DC (cluster) when business authoring
required or
1 unique shared Cell with Decision Center + multiple Cells for Decision
Server
This configuration is the most commonly used
Multiple DC are possible for sandbox
35. Shared DC across environments
• One Decision Center managing multiple Decision Servers
• DC clustered with a HA/DR DB
• User access, Branches mgt for multi team/releases activities
• DC and DS can be split into 2 isolated envs
• Online and offline RuleApp/Ruleset deployment supported in DS
Decision
Server
Decision
Server
DS env
Dev Integration Testing
Executable Decision Service deployment over HTTP(S)
Decision
Server
DS env
Decision
Server
DS env
UAT PreProd
Decision
Server
DS env
Production
DS env
Decision
Center
DC env
36. SDLC – Shared Decision Center
One source of truth for business rule authoring
Deploy on all Decision Servers; Multiple DS/RES are supported by DC
HA with DC and DS in cluster
Leverage project branch and merge in DC and deploy executable rules
on the various DS
Access to projects and DS scoped by groups & users in DC
Isolation is preserved for the execution runtime
Need for other DC installation for upgrade and DR
Applied by most customers
Leverage clustering and HA/DR DB
Best practice is to minimize the number of DCs and have 1 source of
truth
38. zRule Execution Server
Stand-alone
WebSphere Application Server
for z/OS
WOLA
CICS
COBOL
Application
Rule Execution Server
for WAS for z/OS
COBOL <-> Java
Marshaller
COBOL
Generation
Rules
Generated
COBOL
JVM ServerJVM Server
zRES
zRule
Execution
Server
IMS
COBOL
Application
z/OS Batch
COBOL
Application
COBOL
Generation
Rules
Generated
COBOL
COBOL
Generation
Rules
Generated
COBOL
DS StubDS Stub DS Stub
Decision invocations flavors in z/OS
11 22
33
11
33
22
zRES
RES on WAS on z/OS
COBOL gen
3 options
39. ODM in the Clouds
• ODM on Cloud
– Standard edition in SaaS
• ODM Patterns
– in PureAS (client IT)
– In Pure Service (SoftLayer)
• Bluemix Business Rules
– A subset of ODM ready to use in Pay as you Go approach
– Deploy your decision services in a PaaS
– Based on Cloud Foundry
– RES Console + HTDS + Rule Designer update site
• Support on Hypervisors for an installation on IaaS
41. Spark
• Decision Services running in Apache Spark based
• Opportunity to execute large batches but also
– Post-process metrics & KPIs for simulation and production
– Integrate with Machine Learning and analytics algorithms available in Spark
• RES Java APIs are callable from Scala
• Decision Server Rules fully compatible with Spark
• Article: https://developer.ibm.com/odm/docs/solutions/odm-and-
analytics/odm-business-rules-with-apache-spark-batch-operations/
44. Best Practices
• Prefer 1 shared DC + multiple DS dedicated per env
– Use the branch/merge for handle team collaboration & multiple releases
– Additional DCs are possible but adding artifact lifecycle mgt complexity
• 1 WAS Cell per stage env with Decision Server
• Leverage AS cluster for preprod and production envs
• Add DB HA/DR for DC and DS production envs
• Use collocated DC+DS for standalone dev envs
• Make a dedicated simulation env when this workload become
significant
44
45. Best Practices
• Automate RES Console restart
• Choose your RES notif in Decision Server
– JMX notification when RES Console & all eXecution Units are in the same
AS admin scope (WAS cell or equiv)
– IP notif when running on JEE/JSE without JMX federation
45
46. Wrap up
• ODM Standard supports a variety of deployments on cloud on prem
and hybrid
• Adopt latest features to get the best of the product: Decision Service
projects, Decision Engine, Business Console, Managed XOM in DC
• Tell us if you are interested in new platforms & languages: embedded,
mobile, Javascript in web browser
• Help the Lab by entering RFEs to push for a full RES Console cluster
support
• For more
– ODM topology DevWorks article
– ODM Performance Redbook
46
48. Notices and Disclaimers Con’t.
48
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not
tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the
ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other
intellectual property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®,
FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG,
Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®,
PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®,
StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business
Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM
trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
49. Thank You
Your Feedback is Important!
Access the InterConnect 2016 Conference Attendee
Portal to complete your session surveys from your
smartphone,
laptop or conference kiosk.
Notes de l'éditeur
Business Simulation and Testing can de delivered in Prod for PaaS/SaaS