Download presentation
Presentation is loading. Please wait.
Published byBertina Walton Modified over 9 years ago
1
MDD and BRM in a new OE backend framework Speed up softwaredevelopment, eliminate need for handwriten code Make rules editable for business-specialists and directly executable Give customer direct control over rules
2
Model driven development Model: Repository that defines part of an application Model driven: Generate code based on the repository or interpret the repository runtime
3
Modeling tools Graphic tools like: - ERD editor (data) - BPM editors (business processes) - BRM editors (business rules) Other tools - Dataset & parameter maintenance
4
Business rules management Business rules contain logic about - validations: check input data against rules - derivations: decisions in calculations - actions: trigger actions based on values Business rules - are separated out of the programmingcode - are maintainable for business-specialists - execute directly, without codegeneration, compilation or restart of an appserver
5
Benefits of brm Transparancy: rules visible and understandable for a customer in an editor Agility: rules maintained in an editor changes have immediate effect Customer has direct control Rules sent to appserverclient (mark mandatory fields, execute validations)
6
Rules extracted from ERD Referential integrity Unique indexes Mandatory fields On delete cascade or restrict Cardinality (disallow parent without child?)
7
The secret of the ruleinterpreter lOk = phBuffer:find-unique('where rowid(' + phBuffer:name + ') = to-rowid(' + quoter(cRowid) + ') and ' + cRule) no-error.
8
The secret less abstract /*--- File : ruletest.p--------*/ define temp-table customer no-undo field credit as decimal field reliability as character. define variable rule as character no-undo. define variable lok as logical no-undo. create customer. assign customer.credit = 1500 customer.reliability = 'reliable'. rule = "customer.credit > 1000 and customer.reliability <> 'unreliable'". /* rules like this reside in memory */ lok = temp-table customer :default-buffer-handle :find-unique('where rowid(customer) = buffer customer:rowid and ' + rule) no-error. display lok.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.