Your SlideShare is downloading. ×
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG JRules
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG JRules

273
views

Published on

An overview of using ILOG JRules within BPM projects.

An overview of using ILOG JRules within BPM projects.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
273
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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.
  • Transcript

    • 1. Session Number: B13Enhancing 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. Agenda1. ILOG Product Lines2. Business Rule Management Systems3. Why use BPM and BRMS?4. Comparing BPM Rules and WebSphere ILOG BRMS5. 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 tobased 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. Agenda1. ILOG Product Lines2. Business Rule Management Systems3. Why use BPM and BRMS?4. Comparing BPM Rules and WebSphere ILOG BRMS5. 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 BusinessBusiness AnalystAnalyst Rule Studio Rule Team Server IT Developer SCC Rules Repository Repository Technical Maintenance Environment Business Maintenance EnvironmentProduction Environment Rule Execution Server Console IT Operations WebSphere Technical Conference and Transaction & Messaging Technical Conference 7 © 2009 IBM Corporation
    • 8. Rule StudioIT-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 BRMSRule Modeling Ruleflow Rule Templates Business Object Model WebSphere Technical Conference and Transaction & Messaging Technical Conference 9 © 2009 IBM Corporation
    • 10. ILOG BRMSRule Artifacts Guided Decision Tables IntelliRule Decision Trees WebSphere Technical Conference and Transaction & Messaging Technical Conference 10 © 2009 IBM Corporation
    • 11. Rule Team ServerBusiness-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 ServerRuntime 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 ServerManagement 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 BRMSRule 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 BRMSGovernance 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. Agenda1. ILOG Product Lines2. Business Rule Management Systems3. Why use BPM and BRMS?4. Comparing BPM Rules and WebSphere ILOG BRMS5. 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 TechnicalSource of Agility Decisions / Policies Tasks / FlowFrequency Days / Weeks Monthsof Change WebSphere Technical Conference and Transaction & Messaging Technical Conference 20 © 2009 IBM Corporation
    • 21. Agenda1. ILOG Product Lines2. Business Rule Management Systems3. Why use BPM and BRMS?4. Comparing BPM Rules and WebSphere ILOG BRMS5. 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 SummaryExperience BPM Rules ILOG BRMSBusiness Analyst experience Create rule tasks within processes Develop rules in Rule Studioin Modeler and define rule logic and import as decision service into ModelerIT Developer experience in Create business rule SCA component, Create JRules SCAWebSphere Integration define rule logic and wire to component and wire toDeveloper components. components.Unit test experience Test business rule SCA component in Test rules with Decision Unit Test Environment (UTE) in Validation Services WebSphere Integration DeveloperRule packaging and Rules packaged in application EAR JRules SCA componentdeployment experience packaged in EAR; rules deployed to Rule Execution ServerRule management and Business Space or Business Rule Rule Team Serverauthoring 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 BPMApplications 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. Agenda1. ILOG Product Lines2. Business Rule Management Systems3. Why use BPM and BRMS?4. Comparing BPM Rules and WebSphere ILOG BRMS5. 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 Ownerrules, 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 WebSphereProcess 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