ebz342 building solutions using the biztalk rules engine scott woodgate jupiter product planner
Post on 19-Dec-2015
218 views
TRANSCRIPT
EBZ342
Building Solutions Using the BizTalk Rules Engine
Scott Woodgate
Jupiter Product Planner
Overview of BizTalk RulesEnabling Agile Processes
Core Concepts & Scenarios
Key Personas
Demo
Rules Engine Architecture
Rules in BizTalk Server 2004Integration with Orchestration
Common Design Patterns
Q & A
Agenda
Enabling Agile Processes
Manual
Processes
Automated Process Islands
Connected Processes
Agile Processes
•Connected Automation
•Process externalized; Policies in code; Change is STILL hard
•Formal & Ad-hoc processes still disconnected
•Better Visibility for users; Poor Control
•Process & People connected
•Process & Policies externalized; Change is feasible thru flexible processes
•Formal & Ad-hoc processes unified
•Total visibility & control of process/ policy for business users
•Localized Automation; Process Silos
•Process & Policies in app code/data; Change is hard
•Ad-hoc processes (exceptions/variations) mostly manual
•Poor Visibility for business users
•No Automation & Process Repeatability
•Subjective Policy Enforcements
•Org-silos manifested into process/policy silos
•Business Users are active participants
Mainframes
Data
DataData
Servers
Mainframes
Data
DataData
Servers
Mainframes
Data
DataData
Servers
Policies
Challenges for Agile Processes
•Accessibility
•Flexibility
•Manageability
Agile Business Process Automation
Orchestration Rules
Tracking
Rules areDeclarative statements for capturing changing business policies
Represented as: IF <Condition(s)> THEN <Action(s)>
Logically grouped into policies
Complementary to procedural process models
Rules allow business users toDefine & own business policies without coding
Change business policies in real time without rebuilding/redeploying applications
Connect formal & ad-hoc (human-oriented) processes
What are Rules?What are Rules?
BAM
OLAP
‘On-Hold Orders’ Rule:When outstanding invoices over allowed credit limit, then suspend all ongoing orders
• KPI Reasoning
•Closed loop analytics
Business Analytics
Message Routing If order is for Product A, send it directly to factory; For all others send it to Corporate
If purchase order amount is more than $1000Then notify sales manager
Service Service Service
• Intelligent Routing
• Intelligent Notification
Custom order needs expediting; Need approval/review.
•Workflow customization
•Policy-based Routing
•Smart-Task Assignments
Ad-hoc Collaborations
If Customer is a Gold CustomerThen Apply 10% discount
A valid credit card number must be provided
•Policy management
•Validations/Constraints
•Decision support
Dynamic Business Processes
Agile Business Process Automation
Orchestration Rules
Tracking
Rules for the Agile Enterprise
Lightweight .NET EngineIntegrated with BizTalk Server Host-agnostic for In-proc scenarios
Powerful Tools & FrameworkSupports IW, Developers & IT AdminComplete API for Design & Execution
Rich Modeling CapabilitiesLogical Expressions (AND/OR/NOT/Custom)Data Sources: .NET Objects, XML, DB
Enterprise-ReadySecurity, Performance, Versioning
BizTalk Rules in a Nutshell
Rules Personas
Information WorkerDesign & Test Policies
Use business vocabularies
DeveloperIntegrate Policies & Process
Bind vocabularies
IT ProSecurity, Deployment and Migration of policies
Track Policy execution
• Composer : Composer : Stand-alone AppStand-alone App
• Use Policies Use Policies through InfoPaththrough InfoPath
• Inside Visual Inside Visual Studio .NETStudio .NET
• Composer : For Composer : For Policy BindingsPolicy Bindings
• Inside HAT Inside HAT (Health & Activity (Health & Activity Tracking)Tracking)
Information Worker Build & Modify
Policies• Using vocabularies or
directly from data source• Test policies
Version Policies Use Policies through
InfoPath
Developer Build Vocabularies
• From database, XML, .NET elements
Integrate Policies in Orchestration
• Policy shape in Orchestration Designer
Implement Policies• .NET API • XML-based Meta Data
Format
IT Pro Deploy and Migrate
Policies• Deploy published
policy versions• Import / Export
Policies Track Rule execution
• Unified process / rules tracking using HAT
• Monitor Performance Counters for rule activity
Administer and Manage security
Loan Processing Demo - Runtime
demodemo
Loan Processing PolicyLoan Processing PolicyIncome Status RuleIncome Status RuleIF IF
Basic Salary and Other Income > 0Basic Salary and Other Income > 0
THEN THEN
Set Income Status in the loanSet Income Status in the loan
to be “Valid”to be “Valid”
Commitments Status RuleCommitments Status RuleIF IF
The Loan ID is equal to a Valid IDThe Loan ID is equal to a Valid ID
ANDAND
Credit Card Balance > 500Credit Card Balance > 500
THEN THEN
Set Commitments Status in the loan to Set Commitments Status in the loan to "Compute ""Compute "
Employment Status RuleEmployment Status Rule
Residency Status RuleResidency Status Rule
Negation RulesNegation Rules
Request for a Loan
File receivelocation
Processed Loans
Folder forprocessed
loans
Architecture Overview
Rule Store OM
LanguageConverter(s)
Rule Store
PolicyDefinitions
VocabularyDefinitions
BRL VML
Policy / Vocabulary Authoring Tools
Vocabulary OM Policy OM
Per DefinitionAuthorizations
DESIGN TIMECOMPONENTS
Policy Class (Application Integration)
Rule Engine Class(Translation / Execution)
User Application(s) Eventing / Messaging
Tracking Monitoring Debugging
Long TermFact Store
FactRetriever
Rule EngineCache
RUN TIMECOMPONENTS
Framework Architecture
Rule EngineUpdate Service
• Policy Updates
• Authorization updates
Rules in XML or via API’s
Rich built-in library that includes:Temporal, relational predicates
Support for ranges and regular expressions
Arithmetic operations
Engine execution control functions
Support for complex logical expressions (AND / OR / NOT) and user defined constructs
Multiple rule stores (XML / SQL / OleDB)
Design time features
Design time featuresVocabulary elements to associate technical implementation to business terms
IF The Loan ID is equal to a valid ID in customer database
ANDCredit Card Balance is greater than Maximum Limit
THEN Set Commitments Status in the loan to "Compute "
LoanData.CreditBalanceLimit
Forward Chaining Inference MechanismFinds all true statements given knowledge base and a new set of facts
Efficient Pattern MatchingEager (tuple oriented) Match
Lazy (collection oriented) Match
Database OptimizationsDelayed Query and Virtual Working Memory
Plug-in components that are extensible and customizable
Application integration via Policy object
Run time features
AuthorizationRole based access to the policies/vocabularies via logical Authorization Groups
Versioning‘Latest-Version’ or ‘Specific-Version ’with Roll-back
Rule Engine Update ServiceDynamic Updates with configurable caching
Performance and scalabilityOptimized eager-match algorithm for smaller rule sets & MS algorithm for larger rule sets
Scales to large rule-sets and fact bases
Enterprise Ready Framework
Rules and Orchestration
Tools integrationVisual Studio .NET-based Orchestration Designer with Policy Object
“Call Rules” Shape
Runtime integrationIn-process execution
Works with orchestration dehydration and re-hydration model
Integrated with HAT (Health & Activity Tracking)
Integration with Orchestration
Patterns IllustratedCall Rules Engine to dynamically determine which orchestration to call in the next step
Call Rules Engine and determine path
Call Rules Engine to execute logic, instead of burying it in code
Use the Rules Engine for dynamic or variable delays
Rules or Orchestration:Where do I use them?
Use Rules for:Discrete, point-in-time evaluations & calculationsLarge no of permutations to encode in a control flowFact-based inferencing where control flow can not be predefined
Use Orchestration for:Formal workflows that require:
Long-running semantics
Transactions/ Compensations
Messaging
Known control-flow that needs to be rigorously managed for Perf/Scale
Visibility & tracking are critical
Gartner says…
“By enabling business users to respond more quickly to change, organizations with rules technologies will have greater agility and improve their time to market and thus their competitive advantage”
“By 2006, 80% of all integration software will include either direct or indirect business-friendly rules capability”
Conclusion
BizTalk Rules EngineWhen combined with orchestration technology, enables truly agile process platform TODAY
Enables business users to fully participate in business processes
Increases BPM platform ROI through policy consistency across the organization
Conclusion
Community Resources
Community Resourceshttp://www.microsoft.com/communities/default.mspx
Most Valuable Professional (MVP)http://www.mvp.support.microsoft.com/
NewsgroupsConverse online with Microsoft Newsgroups, including Worldwidehttp://www.microsoft.com/communities/newsgroups/default.mspx
User GroupsMeet and learn with your peershttp://www.microsoft.com/communities/usergroups/default.mspx
evaluationsevaluations
© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.