BRFplus — Business Rule Management for ABAP Applications

BRFplus — Business Rule Management for ABAP Applications

2010
978-1-59229-293-6
438

Product Details

• Explore the capabilities of ABAP’s new Business Rule Framework 
• Find out about functionality, content management, expression and action types, and more 
• Benefit from detailed code tutorials, deployment tips, and extension options

With BRFplus, SAP provides a full-fledged Business Rule Management System, based on proven ABAP technology. This book is your one-stop resource to understanding and using BRFplus: Learn how to create applications with the BRFplus Workbench as well as the API, find out how to manage applications and objects, and benefit from an extensive reference chapter on functions, data objects, rules and rulesets, expressions, and actions. Additional chapters on tools, performance, deployment, and other advanced topics round off this book.

BRFplus Walk-Through and Tutorial 
Get started with a complete tour through all Workbench tools, follow the development cycle, and learn how to create applications in the Workbench or via the API.

Objects 
Learn how to define, use, and link objects to each other, and benefit from a comprehensive reference for all object types, such as expressions, actions, and more.

Tools, Deployment, and Administration 
The book covers the entire development cycle: Imports and exports, transports, administration, as well as remote and local scenarios, are all dealt with in detail.

Advanced Topics
Once your applications are deployed, you’ll want to tune them: Find out how to enhance performance, trace processing, extend BRFplus’ functionality, and integrate it into custom user interfaces.

Highlights Include

- Business rules and management
- Object management
- ObjectsFunctions
- Data objects
- Rules and rulesets 
- Expression and action types
- Tools and administration
- Advanced topics 
- Performance 
- Tracing 
- Extending BRFplus 
- UI integration 
- Deployment and methodology

The Authors

Carsten Ziegler is the inventor, chief product owner, and architect of Business Rules Framework plus (BRFplus) at SAP. Thomas Albrecht is a senior software developer in the BRFplus team.

Table of Contents

  • ... Foreword ... 13
  • ... Introduction ... 17
  • 1 ... About Business Rules ... 21
  • 1.1 ... Definition ... 21
  • 1.2 ... Ubiquity of Business Rules ... 22
  • 1.3 ... Business Rule Management Systems ... 23
  • 1.3.1 ... Rule Authoring Environment ... 24
  • 1.3.2 ... Rule Repository ... 25
  • 1.3.3 ... Rule Engine ... 26
  • 1.4 ... Rule Representation ... 26
  • 1.4.1 ... Rules and Rulesets ... 26
  • 1.4.2 ... Rule Flows ... 27
  • 1.4.3 ... Decision Tables ... 27
  • 1.4.4 ... Decision Trees ... 28
  • 1.4.5 ... Formulas ... 28
  • 1.4.6 ... Scorecards ... 29
  • 1.5 ... Application Architecture ... 29
  • 1.5.1 ... Traditional Application Design ... 29
  • 1.5.2 ... Application Design with Business Rules Management ... 30
  • 1.5.3 ... Usage Patterns ... 31
  • 1.6 ... Business Rules at SAP ... 32
  • 1.6.1 ... The Origin of BRFplus ... 33
  • 1.6.2 ... BRFplus Rules Authoring—Features ... 33
  • 1.6.3 ... BRFplus Rules Engine—Features ... 34
  • 1.6.4 ... BRFplus Rules Repository—Features ... 34
  • 1.6.5 ... SAP’s Business Rules Strategy and Recommendations ... 35
  • 1.6.6 ... Outlook ... 37
  • 2 ... BRFplus—a Brief Walk-Through ... 39
  • 2.1 ... BRFplus Workbench ... 39
  • 2.1.1 ... Prerequisites ... 39
  • 2.1.2 ... Starting the BRFplus Workbench ... 40
  • 2.1.3 ... UI Execution API ... 42
  • 2.1.4 ... Layout ... 43
  • 2.1.5 ... Help ... 46
  • 2.1.6 ... Personalization ... 49
  • 2.2 ... Workflow ... 53
  • 2.3 ... The Example ... 53
  • 2.4 ... Application—Container for BRFplus Objects ... 55
  • 2.5 ... Function—Interface Between Code and Rules ... 57
  • 2.6 ... Data Object—Data Carriers ... 59
  • 2.7 ... Ruleset—Collection of Rules ... 61
  • 2.8 ... Rule—Central Entity ... 63
  • 2.9 ... Expressions—Computational Units ... 64
  • 2.10 ... Actions—Performing Tasks Outside of BRFplus ... 67
  • 2.11 ... Catalog—Visualization and Navigation Help ... 68
  • 2.12 ... Simulating and Testing Rules ... 69
  • 2.13 ... Function Processing and Rules Evaluation ... 72
  • 2.14 ... BRFplus Releases ... 73
  • 3 ... Tutorials ... 77
  • 3.1 ... Creation of a Pricing Application with the BRFplus Workbench ... 77
  • 3.1.1 ... Application ... 77
  • 3.1.2 ... Function ... 79
  • 3.1.3 ... Ruleset ... 86
  • 3.1.4 ... Rule ... 91
  • 3.1.5 ... Formula Expressions ... 94
  • 3.1.6 ... Decision Tables ... 97
  • 3.1.7 ... Activation ... 102
  • 3.1.8 ... Simulation ... 104
  • 3.2 ... Creation of a Pricing Application with the API ... 106
  • 3.2.1 ... Application ... 107
  • 3.2.2 ... Function ... 108
  • 3.2.3 ... Ruleset ... 111
  • 3.2.4 ... Ruleset Variables ... 112
  • 3.2.5 ... Decision Tables as Initialization Expressions ... 113
  • 3.2.6 ... Rule ... 116
  • 3.2.7 ... Formula Expressions ... 118
  • 3.2.8 ... Embedding the Function into ABAP Code ... 119
  • 4 ... Object Management ... 121
  • 4.1 ... Basic Object Handling ... 122
  • 4.1.1 ... Object Creation ... 122
  • 4.1.2 ... Object Selection ... 123
  • 4.1.3 ... Object Maintenance ... 126
  • 4.2 ... Basic Object API ... 130
  • 4.2.1 ... Naming Conventions ... 130
  • 4.2.2 ... Interface Hierarchy ... 132
  • 4.2.3 ... Types, Constants, and Messages ... 133
  • 4.2.4 ... The Factory Class: Central Point of Access ... 134
  • 4.2.5 ... Transactional Behavior ... 135
  • 4.3 ... Common Object Settings ... 142
  • 4.3.1 ... Attributes ... 142
  • 4.3.2 ... Names ... 145
  • 4.3.3 ... Versioning ... 147
  • 4.3.4 ... Texts and Documentation ... 151
  • 4.3.5 ... Access Level ... 155
  • 4.4 ... Applications ... 157
  • 4.4.1 ... Application Creation ... 157
  • 4.4.2 ... Application Properties ... 159
  • 4.4.3 ... Application API ... 161
  • 4.5 ... Catalogs ... 164
  • 5 ... Objects ... 169
  • 5.1 ... Functions ... 169
  • 5.1.1 ... Mode of Operation ... 170
  • 5.1.2 ... Signature ... 171
  • 5.1.3 ... Simulation, Web Services, Code Generation, and Tracing ... 172
  • 5.1.4 ... Function API ... 173
  • 5.2 ... Data Objects ... 180
  • 5.2.1 ... Data Objects API ... 182
  • 5.2.2 ... Elements ... 185
  • 5.2.3 ... Structures ... 198
  • 5.2.4 ... Table ... 201
  • 5.3 ... Rulesets ... 202
  • 5.3.1 ... Ruleset Header ... 202
  • 5.3.2 ... Rules in the Ruleset ... 205
  • 5.3.3 ... Deferred Ruleset Processing ... 208
  • 5.3.4 ... Ruleset API ... 209
  • 5.4 ... Rules ... 211
  • 5.5 ... Expressions ... 215
  • 5.5.1 ... Expression API ... 217
  • 5.5.2 ... Constant Expressions ... 219
  • 5.5.3 ... Value Range Expressions ... 220
  • 5.5.4 ... Direct Values and Value Ranges ... 223
  • 5.5.5 ... Boolean Expressions ... 225
  • 5.5.6 ... BRMS Connector Expression ... 229
  • 5.5.7 ... Case Expressions ... 234
  • 5.5.8 ... DB Lookup Expressions ... 236
  • 5.5.9 ... Decision Table Expressions ... 241
  • 5.5.10 ... Decision Tree Expressions ... 249
  • 5.5.11 ... Dynamic Expressions ... 251
  • 5.5.12 ... Formula Expressions ... 253
  • 5.5.13 ... Function Call Expressions ... 258
  • 5.5.14 ... Loop Expressions ... 260
  • 5.5.15 ... Procedure Call Expressions ... 263
  • 5.5.16 ... Random Number Expressions ... 269
  • 5.5.17 ... Search Tree Expressions ... 270
  • 5.5.18 ... Table Operation Expressions ... 275
  • 5.5.19 ... XSL Transformation Expressions ... 279
  • 5.6 ... Actions ... 281
  • 5.6.1 ... Actions API ... 283
  • 5.6.2 ... Log Message Action ... 283
  • 5.6.3 ... Procedure Call Actions ... 285
  • 5.6.4 ... Send Email Action ... 286
  • 5.6.5 ... Start Workflow Actions ... 287
  • 5.6.6 ... Workflow Event Actions ... 293
  • 6 ... Tools and Administration ... 297
  • 6.1 ... Simulation Tool ... 299
  • 6.2 ... XML Export and Import ... 304
  • 6.2.1 ... XML Export Tool ... 305
  • 6.2.2 ... XML Import Tool ... 306
  • 6.2.3 ... Tracking of Imported Object Versions ... 307
  • 6.2.4 ... XML Format ... 308
  • 6.2.5 ... XML Export and Import API ... 311
  • 6.3 ... Web Service Generation Tool ... 314
  • 6.4 ... Application Usage Tool ... 318
  • 6.5 ... Application Administration Tool ... 321
  • 6.5.1 ... Deletion of Unused Objects ... 323
  • 6.5.2 ... Deletion of Marked Objects ... 324
  • 6.5.3 ... Discarding of Object Versions ... 325
  • 6.5.4 ... Cleanup Database ... 327
  • 6.5.5 ... Reorganization of Objects ... 329
  • 6.6 ... Transport Analysis Tool ... 330
  • 6.6.1 ... Transport in Detail ... 330
  • 6.6.2 ... Usage of the Tool ... 333
  • 7 ... Advanced ... 337
  • 7.1 ... Performance ... 337
  • 7.1.1 ... Performance Relevant Factors ... 338
  • 7.1.2 ... Performance Measurements ... 343
  • 7.2 ... Tracing ... 347
  • 7.2.1 ... Technical Trace ... 349
  • 7.2.2 ... Lean Trace ... 353
  • 7.3 ... Extending BRFplus ... 369
  • 7.3.1 ... Application Exits ... 370
  • 7.3.2 ... Custom Formula Functions ... 378
  • 7.4 ... User Interface Integration ... 385
  • 7.4.1 ... Object Manager ... 386
  • 7.4.2 ... Embedding the UI ... 389
  • 7.4.3 ... Object Manager Configuration ... 392
  • 7.4.4 ... Object Changes and Events ... 394
  • 8 ... Deployment ... 399
  • 8.1 ... Change and Transport System ... 399
  • 8.2 ... Local Scenarios ... 401
  • 8.2.1 ... Application Exit for Object Changeability ... 402
  • 8.2.2 ... Combination of Objects with Different Storage Types ... 404
  • 8.2.3 ... Creation of Objects with the API ... 405
  • 8.3 ... Remote Scenarios ... 405
  • 9 ... Methodology ... 409
  • 9.1 ... Classic Approach to Software Development ... 409
  • 9.2 ... Classification of System Building Blocks ... 411
  • 9.3 ... Model for Business Rules ... 412
  • 9.4 ... Action Plan ... 413
  • 9.4.1 ... Team Setup ... 414
  • 9.4.2 ... Creation of Sketch ... 414
  • 9.4.3 ... Definition of Business Rule Service ... 415
  • 9.4.4 ... Education in BRFplus ... 417
  • 9.4.5 ... Creation of Draft ... 417
  • 9.4.6 ... Refinement of Business Rule Service ... 420
  • 9.4.7 ... Analysis for Extensions ... 420
  • 9.4.8 ... Creation of First Version ... 422
  • 9.4.9 ... Implementation of Business Rule Service in Business Process ... 422
  • 9.4.10 ... Testing ... 423
  • 9.5 ... Effort Estimation ... 423
  • ... Appendices ... 425
  • A ... Formula Functions ... 425
  • B ... The Authors ... 431
  • ... Index ... 433