best practices in deploying ibm operation decision manager standard 8.8.0
TRANSCRIPT
Best Practices in Deploying IBM Operational Decision Manager StandardBDM-4361
Pierre Feillet - IBM ODM Product Architect
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
ODM Standard 8.8.0 Architecture
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 AdvancedDecision Server RulesDecision Server Events
Decision Server Insights
Decision Server StandardDecision Server Rules
Decision Center
Decision Center
ODM Standard - Concept of Operations
5
Decision Server
Development
Operation
Continuous Improvement
Rule ExecutionServer
JEE/J2SE
Rule Designer(Eclipse)
Decision Center -Decision Validation Services
z Rule ExecutionServer
COBOL
Decision Center Repository
IT Architect
IT Developer
Business Analyst
Process Owner
Business UserBusiness Leader
Code Generation(deprecated)
Deploy
Synchronize
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
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
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
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 deploymentover HTTP(S)
All Consoles, synchronization, deployment going through HTTP(S)
HTTP(S)
HTTP(S)
HTTP(S)
HTDS WS endpoints
HTTP(S)
Zoom on Decision Server / Rule Architecture
10
RuleApp & Ruleset archive deployment
Rule Sessions EJBPOJO
EngineJCA
CustomDecision Services
eXecution Unit
Management Console
RuleApp/Ruleset Repository
EngineEngine
Mgt Notification
JMX/IP
Management Model
Decision Warehouse DB Decision Traces
Scenarion Service Provider
JMX
10
HostedTransparent
DecisionServices
WS WS, JSE, Message, your choice
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
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
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
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
ODM Standard TopologiesReference Topologies
How to choose your ODM topology
16
What is my Decision Management scope?
Decision servicesSituation detection
Dev phase
Dev Integration Testing ProductionHA/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
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
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 1HTDS for execSSP for testing
Rule Session jar if Custom Decision
Services
Cluster Member 1Decision Center
Cluster Member 3Decision Center
DecisionCenterCluster
Decision ServerCluster
Cluster Member 2HTDS for execSSP 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 1RES Console
Cluster Member NDecision Center
Cluster Member NHTDS for execSSP 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
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 1HTDS for execSSP for testing
Rule Session jar if Custom Decision
Services
Cluster Member 1Decision Center
Cluster Member 3Decision Center
DecisionCenterCluster
Decision ServerCluster
Cluster Member 2HTDS for execSSP 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 1RES Console
Cluster Member NDecision Center
Cluster Member NHTDS for execSSP 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 1Client App
Cluster Member 3Client App
ClientApp
ClusterCluster Member N
Client App
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 1HTDS for execSSP for testing
Rule Session jar if Custom Decision
Services
Cluster Member 1Decision Center
Cluster Member 3Decision Center
DecisionCenterCluster
Decision ServerCluster
Cluster Member 2HTDS for execSSP 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 1RES Console
Cluster Member NDecision Center
Cluster Member NHTDS for execSSP 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 ConsoleCluster
Server 2RES Console
(stopped)
Server 3RES Console
(stopped)
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 1SSP
DecisionSimulation
ClusterCluster Member 2
SSP
Decision Server Rule
DB
Decision Warehouse
DB
IP Sprayer
RES XU RAR
Machine 1 Machine 2
Server 1RES Console
Cluster Member NSSP
Machine N
Deployment Manager
IHS IHS IHS
Node Agent
RES XU RAR
Node Agent
RES XU RAR
ODM Standard: Standalone Server
Full ODM Standard running in a single server
Includes all runtime parts for web decision authoring, test and execution
Server1Decision Center
RES Console HTDS for exec
SSP for testing
Rule Session jar if Custom
Decision ServicesXU RAR
Decision Server Rule
DB
Decision Warehouse
DB Machine 1
Decision Center DB
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
Server1Decision Center
Decision Server Rule
DB
Decision Warehouse
DBMachine 1
Decision Center DB
Server1RES Console HTDS for exec
SSP for testing
Rule Session jar if Custom
Decision ServicesXU RAR
Machine 1
Operational Decision Management Scope
Functional restriction
Project Phase Recommended Topology
ODM Standardmeaning 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
ODM CopperDC + DS combined in a standalone server
ODM Bronze1 cell with 1 DC server + 1 DS Server
ODM Silver1 cell with a single cluster for DC & DS
ODM Gold topology1 cell with a DC cluster & DS clusterSeparation between business authoring from executionCover 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 cellSimulation is isolated from business authoring & pure execution
ODM Topologies at a glance
Components & ConfigurationSubhead
Decision Server endpoints declared in Decision Center Enterprise ConsoleExecution, Test, or both
If you use Testing & Simulation from Decision Center – Enterprise ConsoleDeclare SSP cluster members in Decision CenterSSP.EAR/SSP.WAR does not support to be load balanced
If you use Testing & Simulation from Decision Center – Business ConsoleDeclare 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
Backend application is ssp.ear for scenario service providerComposed of 2 web apps
ssp.warUsed to run Test Suites and Simulations from Decision Center Enterprise Console and Rule DesignerDeployment 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 & JMXDecision Service Project versus Rule Project
SSP Configuration for RES Deployment
Decision Service Life CycleSubhead
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
DEV SIT UAT PreProd
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 logicChampion/Challenger comparison on KPI computation
ExecutionDecision run
Business Authoring
ExecutionBusiness Simulation & Testing
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
ExecutionBusiness Simulation & Testing
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
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 phasePhase 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 usedMultiple DC are possible for sandbox
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
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
Business Rules everywhereAuthor once execute everywhere
zRule Execution Server Stand-alone WebSphere Application
Server for z/OS
WOLA
CICS
COBOL Application
Rule Execution Server for WAS for z/OS
COBOL <-> JavaMarshaller
COBOL Generation
Rules
GeneratedCOBOL
JVM ServerzRES
zRule Execution
Server
IMS
COBOL Application
z/OS Batch
COBOL Application
COBOL Generation
Rules
GeneratedCOBOL
COBOL Generation
Rules
GeneratedCOBOL
DS StubDS Stub DS Stub
Decision invocations flavors in z/OS
1 2
3
1
32
zRES
RES on WAS on z/OS
COBOL gen
3 options
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
Decision Services in Apache SparkBatch & more if affinities
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/
Running a Decision Service in a Spark cluster
42
Best PracticesRecommendations in deploying rule based decision services
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
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
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
Notices and Disclaimers
47
Copyright © 2016 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law
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.
Thank YouYour Feedback is Important!
Access the InterConnect 2016 Conference Attendee Portal to complete your session surveys from your
smartphone, laptop or conference kiosk.