The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Â
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG JRules
1. Session Number: B13
Enhancing your BPM Solution with ILOG
JRules
Daniel Selman daniel.selman@fr.ibm.com
Nicolas Sauterey sauterey@fr.ibm.com
Š 2009 IBM Corporation
Conference materials may not be reproduced in whole or in part without the prior written permission of IBM.
2. Objectives
⢠Quick overview of the ILOG WebSphere
Business Rule Management System (BRMS)
⢠Why combine BPM and BRMS?
⢠When do I need a BRMS?
⢠Best practices for integrating BPM and rules
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 2
Š 2009 IBM Corporation
3. Agenda
1. ILOG Product Lines
2. Business Rule Management Systems
3. Why use BPM and BRMS?
4. Comparing BPM Rules and WebSphere ILOG BRMS
5. Integrating WebSphere ILOG BRMS with WebSphere
Process Server
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 3
Š 2009 IBM Corporation
4. ILOG Product Lines
Business Rule
Management System Optimization
Adapt and respond Produce the best possible
dynamically, action plans & schedules,
automating process- enhancing abilities to
based decisions with explore alternatives,
business rule understand trade-offs, and
management respond to changes in
business operations
Supply Chain
Management Visualization
Optimize supply Transform insight into
chains, design & action, enhancing
planning tools for collaboration for smarter
improved efficiency role-based business
and productivity decisions
WebSphere Technical Conference and
Transaction &IBM Confidential
Messaging Technical Conference
Š 2009 IBM Corporation
4
4
5. Agenda
1. ILOG Product Lines
2. Business Rule Management Systems
3. Why use BPM and BRMS?
4. Comparing BPM Rules and WebSphere ILOG BRMS
5. Integrating WebSphere ILOG BRMS with WebSphere
Process Server
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 5
Š 2009 IBM Corporation
6. Business Rule Management Systems
⢠Externalize, manage and execute business
rules: harvested from existing applications,
processes, documents and peoplesâ heads
Business Rule Management System
Where Business Rules Typically Exist
Rules are
Defined,
Analyzed and
Maintained
User Tools
Documents Rules are
Rules
Applications + Stored and
Metadata Shared
Rule Repository
Rules are
Deployed,
Executed
People Processes and
Monitored
Rule Server
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 6
Š 2009 IBM Corporation
7. ILOG BRMS Architecture
Project Synchronization
Business
Business
Analyst
Analyst
Rule Studio Rule Team Server
IT Developer
SCC Rules
Repository Repository
Technical Maintenance Environment Business Maintenance Environment
Production Environment Rule Execution Server Console
IT
Operations
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 7
Š 2009 IBM Corporation
8. Rule Studio
IT-centric Rule Management
⢠Eclipse-based IDE
⢠Comprehensive app development capabilities
⢠Source code control integration
8
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 8
Š 2009 IBM Corporation
9. ILOG BRMS
Rule Modeling
Ruleflow
Rule Templates
Business Object Model
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 9
Š 2009 IBM Corporation
10. ILOG BRMS
Rule Artifacts
Guided Decision Tables
IntelliRule Decision Trees
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 10
Š 2009 IBM Corporation
11. Rule Team Server
Business-centric Rule Management
⢠Web-based collaborative environment
⢠Easy-to-Use, Easy-To-Learn for Business Users
⢠Highly Configurable
11
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 11
Š 2009 IBM Corporation
12. Rule Execution Server
Runtime Environment
⢠Rule Execution Server
⢠An Execution Unit
(XU)
⢠A JMX-compliant Rule Execution Server
management stack
⢠A set of execution
RuleApps Rulesets
components
Rule Studio
⢠Stateless/Stateful
Session EJBs
Management Stack Execution Stack
⢠JMS Messaging RuleApp Archives
endpoints (MDBs)
⢠Web Service
interface
⢠Plain Old Java Database /
File System
Object (POJO)
interface
Rule Team Server
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 12
Š 2009 IBM Corporation
13. Rule Execution Server
Management Console
⢠Easy to deploy rules
⢠Scalable
⢠Auditable
⢠Secure
13
WebSphere Technical Conference and
Transaction & Messaging Technical Conference
Š2009 ILOG, An IBM Company 13
Š 2009 IBM Corporation
14. ILOG BRMS
Rule Engine
⢠Synchronous
Request/Respo Input parameters
Input parameters Output parameters
Output parameters
nse with in/out request
request response
response
parameters
⢠Parameters are
⢠*any* objects,
or XML
documents,
⢠processing is
in memory,
⢠without
duplication of
passed
objects
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 14
Š 2009 IBM Corporation
15. ILOG BRMS
Governance
Configure security Manage baselines and
and permissions deploy rule services
Diagnose
and monitor the
Rule Execution
Server
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 15
Š 2009 IBM Corporation
16. Agenda
1. ILOG Product Lines
2. Business Rule Management Systems
3. Why use BPM and BRMS?
4. Comparing BPM Rules and WebSphere ILOG BRMS
5. Integrating WebSphere ILOG BRMS with WebSphere
Process Server
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 16
Š 2009 IBM Corporation
17. Why use BRMS and BPM?
⢠BPM is good for declaratively orchestrating
machines and humans during the execution
of a business process
⢠BRMS is good for automating routine and
(sometimes) complex business decisions
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 17
Š 2009 IBM Corporation
18. Why Business Rules in BPM?
⢠Hard-coded logic is moved to a more flexible format
⢠Frequent changes can be made with minimal IT intervention
⢠Rules are accessible to business users
⢠Rules are easily invoked from BPM processes
⢠Help erode the barriers between Business and IT!
Process Owner IT Architect
Business
Leader
Business Analyst
IT Developer
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 18
Š 2009 IBM Corporation
19. Why use BRMS and BPM?
⢠Moving Business Decisions outside BPM:
⢠Reduces service proliferation and âspaghetti
orchestrationâ
⢠Allows decisions to be tested and reused
outside of a business process
⢠Allows for separation between the process
owner and the rule owner roles
⢠Separates process and rule lifecycle
⢠Makes âas-implementedâ business policy more
accessible to the business
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 19
Š 2009 IBM Corporation
20. Advanced BPM Agility with BRMS
Role Business Technical
Source of Agility Decisions / Policies Tasks / Flow
Frequency Days / Weeks Months
of Change
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 20
Š 2009 IBM Corporation
21. Agenda
1. ILOG Product Lines
2. Business Rule Management Systems
3. Why use BPM and BRMS?
4. Comparing BPM Rules and WebSphere ILOG BRMS
5. Integrating WebSphere ILOG BRMS with WebSphere
Process Server
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 21
Š 2009 IBM Corporation
22. Existing BPM Business Rules
⢠WebSphere Business Modeler
⢠Business analysts can define business logic for processes in business
rules where it can be easily changed in production
⢠WebSphere Integration Developer
⢠Integration specialists can extract integration logic into business rules
where it can be easily changed in production
⢠Integration specialists can modify or implement business rules defined in
Modeler to add additional previously unknown details
⢠WebSphere Process Server
⢠Runtime for applications with business rules and business policies defined
with above products
⢠Runtime management of business rules for modifying business rules and
business policies
⢠WebSphere Business Service Fabric
⢠Application architects define business policies on business services that
can be modified in production for composite business services
applications
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 22
Š 2009 IBM Corporation
23. Choosing the Right Rules Solution
⢠How strategic are rules to my application?
⢠Quantity and importance of rules?
⢠Frequency of change?
⢠Who makes the changes?
⢠How much governance do I need?
⢠Is the rule lifecycle independent of the
application lifecycle?
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 23
Š 2009 IBM Corporation
24. Current Experience Comparison Summary
Experience BPM Rules ILOG BRMS
Business Analyst experience Create rule tasks within processes Develop rules in Rule Studio
in Modeler and define rule logic and import as decision service
into Modeler
IT Developer experience in Create business rule SCA component, Create JRules SCA
WebSphere Integration define rule logic and wire to component and wire to
Developer components. components.
Unit test experience Test business rule SCA component in Test rules with Decision
Unit Test Environment (UTE) in Validation Services
WebSphere Integration Developer
Rule packaging and Rules packaged in application EAR JRules SCA component
deployment experience packaged in EAR; rules
deployed to Rule Execution
Server
Rule management and Business Space or Business Rule Rule Team Server
authoring Manager Web application
(management only)
Rule execution monitoring WebSphere Business Monitor Rule Execution Server or
WebSphere Business Monitor
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 24
Š 2009 IBM Corporation
25. Decision Guide for Business Rules in BPM
Applications
BPM WebSphere
Business Rules ILOG BRMS
What is the importance and amount of business rules Low; process Large; rule driven
for defining logic in the application? driven solution solution
How often is this logic expected to change? Infrequently Frequent (daily,
(monthly) weekly)
Who (role) owns the logic and is responsible for IT Specialist Business Analysts
performing the change?
What control is required when the logic is change? Basic control; Fine-grained
single or small control; multiple
group roles;approval
processes;
multiple versions
Is the lifecycle of the changes different from the No Yes
overall application lifecycle?
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 25
Š 2009 IBM Corporation
26. Agenda
1. ILOG Product Lines
2. Business Rule Management Systems
3. Why use BPM and BRMS?
4. Comparing BPM Rules and WebSphere ILOG BRMS
5. Integrating WebSphere ILOG BRMS with WebSphere
Process Server
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 26
Š 2009 IBM Corporation
27. BPM with Rules: Integration
⢠Development of process and rules
⢠Monitoring BPM process and rule outcomes
⢠Lifecycle management of business rules and
processes
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 27
Š 2009 IBM Corporation
28. BPM with Rules: Development Process
Develop rules and process
in series or parallel
â˘Define business â˘Process owners define Business
Analyst
Process
Owner
rules, business process: tasks, flows,
vocabulary branches, etc.
Processes and rules are managed
in their own repositories
Deploy processes and rules
BPM
to build an overall solution Solution
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 28
Š 2009 IBM Corporation
29. Decision Services: Best Practices
⢠Decouple processes and rules:
⢠Encourages reuse
⢠Maintains role responsibilities for management
⢠Change management lifecycles remain independent
⢠Organize rules into Decision Services:
⢠Fundamentally âJust Another Serviceâ from a BPM
perspective
⢠Processes call Decision Services to make routing,
assignment, exception handling decisions etc.
⢠Services interfaces are (still) the key to agility and
decoupling
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 29
Š 2009 IBM Corporation
30. JRules Integration with WebSphere
Process Server
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 30
Š 2009 IBM Corporation
31. Integrating through SCA
(1) ILOG provides a WID plug-in that includes a wizard
to generate the SCA component
(2) The end result is an SCA component with an
operation for each ruleset
(3) Integration Developer use the JRules SCA
component without any knowledge of the business rules
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 31
Š 2009 IBM Corporation
32. Monitoring
⢠Monitoring of rules and process execution
is performed separately
⢠Rule monitoring focuses on recording every
rule that is fired and the data item triggering
the decisions
⢠Process monitoring focuses on recording
the flow paths navigated and the different
services invoked
⢠End-to-end monitoring of process and rules
may require additional correlation
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 32
Š 2009 IBM Corporation
33. Lifecycle Management
⢠Process and rules managed under different
lifecycles
⢠Business analysts change rules through Rule Team
Server frequently as the business needs to react
quickly
⢠Change overall business processes less frequently
and through development and runtime control
management systems
⢠Changes to rules and processes may require
external coordination when occurring at the same
time
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 33
Š 2009 IBM Corporation
34. Summary
⢠IBM ILOG BRMS enhances the agility and
flexibility of BPM solutions
⢠BRMS makes service implementation
accessible (transparent) to business owners
⢠Integration between rules and processes
follows SOA providing efficient development,
monitoring, and management
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 34
Š 2009 IBM Corporation
35. Questions
⢠Please remember to complete your session evaluation
form â Session B13
WebSphere Technical Conference and
Transaction & Messaging Technical Conference 35
Š 2009 IBM Corporation
Hinweis der Redaktion
The clear separation between the technical environment (Rule Studio) and the business user environment (Rule Team Server) arose from ILOGâs experience with actual BRMS implementation projects. In general developers prefer to maintain software artifacts within a standard source code control system such as ClearCase or CVS. Business users prefer a tailored environment which supports rule versioning, history, and other BRMS features. Within Rule Studio, all artifacts are maintained as files within the Eclipse workspace, and so can be managed via a source code control system. Within the Rule Team Server environment, rules and rule metadata are persisted within a Rule Repository implemented in a RDBMS. Synchronization between these environments is initiated from Rule Studio and is bi-directional: New/modified artifacts can be âPublishedâ from Rule Studio to Rule Team Server, for example new rule vocabulary elements or rule templates. New/modified business rules can be âUpdatedâ from Rule Team server to Rule Studio The Synchronization process is supported by a Synchronization perspective within the Eclipse environment, allowing selective viewing and validation of synchronization operations. Executable rulesets can be deployed to a target Rule Execution Server (RES) environment from either Rule Studio or Rule Team Server (with appropriate permission levels). Deployment can be a âhot-deployâ, where the ruleset is updated immediately within the RES, or it can be a staged deployment where executable rulesets are first persisted in an archive within a file system, and then later deployed to the RES. Developer View Projects are file-based One copy per developer SCC used for Version Management, Content Sharing, Conflict Resolution Primary Worksite is Eclipse-based Rule Studio (Java Development, Rule Modeling, Rule Authoring, Deployment, Test Execution) Business User View Projects are repository based All users work on common copy Repository handles Versioning and Multi-User Concurrency Rule Team Server is Primary Worksite (Authoring, Querying / Reporting, Management) Synchronization Between Rule Studio and Rule Team Server Initiated / Controlled by Rule Studio Use Cases Initial Rule Team Server project creation Update from Team Server to Rule Studio Commit from Rule Studio to Team Server Copy/merge from one Team Server repository to another
Rule Studio is an Eclipse-based environment dedicated mostly for the Developers and rule authors having some deeper technical skills. From Studio, Developers are able to create rule applications including some rule authoring, project sharing, debugging and testing, as well as to set up the business user environment in the Rule Team Server.
A Ruleflow allows breaking up rule execution into a set of âruletasksâ with defined transitions between ruletasks. Transitions can be conditional. There are two main reasons for segmenting rule execution in this way: It can make rule authoring more straightforward if it is known that the subset of rules in one task will be executed before or after the subset of rules in another task. For example, an upstream ruletask can define some intermediate concepts which are then referenced in downstream ruletasks. Performance: while a given ruletask is executing, only the specific rules in that ruletask are evaluated by the rule engine for possible execution, reducing computational effort. Business Object Models are the basis for creating a Rule Vocabulary, which provides the building blocks for rule authoring by business users. Rule Templates are partially-completed business rules. Portions of the template can be âfrozenâ such that they canât be modified by rule authors. This enables both control and ease of use.
JRules supports 4 primary types of graphical rule editors: Natural Language Guided Editor Point-and-click on tokens within predefined rule templates and select from dropdown lists of readable phrases Decision Tables View/edit groups of rules in a tabular form Decision Trees View/edit groups of rules with a graphical flowchart-style decision tree editor Text Editor Type the text of rules with âIntelliruleâ context-sensitive assistance
Rule Studio is an Eclipse-based environment dedicated mostly for the Developers and rule authors having some deeper technical skills. From Studio, Developers are able to create rule applications including some rule authoring, project sharing, debugging and testing, as well as to set up the business user environment in the Rule Team Server.
The Rule Execution Server (RES) environment consists of: An Execution Unit (XU) packaged as a J2EE Connector Architecture (JCA) resource adapter. A JMX-compliant management stack including an out-of-the-box RES Console web application A set of execution components which form the interface to the Execution Unit Stateless/Stateful Session EJBs JMS Messaging endpoints (MDBs) Web Service interface Plain Old Java Object (POJO) interface The RES can be deployed in J2EE or J2SE mode: J2EE mode: leverages the app server for resource pooling, transaction awareness, security, clustering J2SE mode: RES deployed as a set of embedded Java classes within an application Both J2EE and J2SE mode support hot-deployment of rulesets, management/monitoring via JMX, ruleset pooling J2SE mode is primarily used for rule execution within a J2SE application, within a Web/Servlet container such as Tomcat, or within a non-standard J2EE app server for which JRules does not supply out-of-the-box J2EE deployment archives. Rules are deployed from the Rule Management environment to a Rule Execution Server (RES) environment in executable chunks called âRulesetsâ. Rulesets are named and versioned components which are the entry points for rule execution. Each Ruleset has well-defined set of input and output parameters which can be primitive data types or complex objects. Applications execute rules by referencing the appropriate deployed Ruleset by name, passing in the defined input parameter data and receiving the defined output parameter data as a response. For deployment, Rulesets are grouped into bundles called RuleApps which are logical groupings of rulesets that typically share underlying objects models. RuleApps can be deployed from either Rule Studio or Rule Team Server. A deployed RuleApp is persisted in the RES environment either in a RDBMS or as a set of files in the file system. Deployed RuleApps and Rulesets can be inspected and managed via the JMX-compliant management stack. RuleApp deployment can be automated via out-of-the-box Ant tasks or via JMS APIs. Also, RuleApps can be exported/imported as archive bundles (*.jar files).
Rule Studio is an Eclipse-based environment dedicated mostly for the Developers and rule authors having some deeper technical skills. From Studio, Developers are able to create rule applications including some rule authoring, project sharing, debugging and testing, as well as to set up the business user environment in the Rule Team Server.
ILOG rule engine leverage multiple algorithm to execute rules. At the engine API, the client code, insert object in working memory, fire rules, and get results. The method calls are synchronous. The rule set execution can be tailored by a rule flow, which can be seen as a business process, with tasks that are only group of rule and directives to execute them. The RETE algorithm is used to infer new facts and reevaluate the rule candidate for execution.
Rule Team Server (RTS) includes the concept of roles and permissions, defining what user roles have create/read/update/delete permissions on various rule project elements. Users and roles are managed by the host J2EE application server, while rule project security is managed within RTS by users with RTS administrator rights. For a given rule repository any number of âbaselinesâ can be defined, which are snapshots at a point in time. Baselines can be used for comparison and rollback. Executable rulesets can be deployed to target execution environments, either as a âhot-deployâ directly to a running Rule Execution Server or as a staged deployment in which an intermediate ruleset archive file is generated. The Rule Execution Server provides a JMX-compliant management and monitoring interface allowing use of standard J2EE monitoring tools such as Tivoli. JRules includes an out-of-the-box RES Console application for managing and monitoring ruleset execution. *** CAN iLOG RUN IN WebSphere Portal Server??
JRules provides a tight integration with WPS via the following components: ILOG JRules SCA Component : A standard SCA deployment that complements IBM's framework. The SCA component allows an Integration Developer to access a decision service without any detailed knowledge of ILOG JRules. The SCA component is a façade interface to the underlying JRules Rule Execution Server components. ILOG JRules WID plug-in : A plug-in for WebSphere Integration Developer that generates an SCA component from ILOG JRules artifacts. ILOG JRules CEI Event Source : Enables an integrated audit trail through CEI. The JRules rule execution component is able to send information to a CEI Server from where applications can subscribe to particular types of events or query historical event information. Event information can be coarse-grained, such as when a particular ruleset was executed, to fine-grained, such as which specific rules fired within the execution of a ruleset and how data objects were modified as a result of rule execution.
The JRules WID plug-in generates an SCA component from a JRules RuleApp, the SCA component contains a strongly-typed ruleset execution operation for each Ruleset within the RuleApp. Rulesets within JRules have a well-defined input/output signature that is used to generate the corresponding ruleset execution signature within the SCA component. Once the SCA component is created, and integration developer can invoke rulesets from within a WPS process without requiring knowledge about the underlying business rule implementation.