1 / 44

Automating Business Rule Adaptation for Web-Based Information Systems

Automating Business Rule Adaptation for Web-Based Information Systems. Mei Tian 1 , Ajit Singh 2 , Kumaraswamy Ponnambalam 1 , Raymond Lee 2 1 Systems Design Engineering, University of Waterloo 2 Electrical and Computer Engineering, University of Waterloo. Presentation Outline.

joann
Download Presentation

Automating Business Rule Adaptation for Web-Based Information Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automating Business Rule Adaptation for Web-Based Information Systems Mei Tian1, Ajit Singh2, Kumaraswamy Ponnambalam1, Raymond Lee2 1Systems Design Engineering, University of Waterloo 2 Electrical and Computer Engineering, University of Waterloo

  2. Presentation Outline • Introduction • Business Rule Model • Implementation • Case Study • Future Work

  3. back-end database client application business logic middleware http JRMP Web-Based Information Systems • Three-Tier architecture

  4. What Are Business Rules? • Formal statements about the data and • processes of an enterprise • Presented as program logic in enterprise • application

  5. Business Rule Examples • If a customer buys product worth more than $100 in an order, he will get a 10% discount. • If the product in warehouse is less than 5, reorder this product. • Shipping fee is $20 for each order.

  6. Why Automation • Business rules change quickly • Business rules are often embedded with the • data access and application logic • To speed up the application development • To reduce maintenance cost

  7. Research Subareas • Business rule representation • Business rule extraction • Business rule management • Business rule processing

  8. Research Background • Business rules representation Users,analyzers Structured English, etc. External Designer, developer BRML, etc. Conceptual Internal Physical machine Binary code

  9. Research Background • Business rule extraction • Data analyzing • Programming analyzing • Hybrid

  10. Research Background • Business rule management • Repository-based method • artificial Intelligence

  11. Research Background • Business rules processing • Procedural programming • SQL trigger • Declarative programming • Constraint programming

  12. Challenges • No standard business rule model • No distributed business rule framework • Difficult to define a flexible rule interface • How to find the rule firing order without an inference engine

  13. Assumptions • Rules have been found somehow • Rules are correct with no conflict and redundancy • Target to small/middle size information systems • Not use artificial intelligence

  14. Solution Strategies (1) • A general business rule model • A rule system and a distributed business • rule framework

  15. Solution Strategies (2) • A EJB design pattern and the bean • relationship information • Rule dependency graph, rule-firing- • history, and rule label

  16. Business Rule Model BusinessRuleSet name: String effective:Date expiration:Date 1 * * ApplicationRuleSet ShareRuleSet BusinessRule Organization Model * 1 appName:String setName:String source:String name: String ruleType: String priority: String triggeredClass: String triggerMethod: String triggerLocation: String implementor: String description: String * Common Knowledge Model Implementer RuleChecker * 1 * 1 1 * ruleName:String description: String TermRule FactRule ActionRule DerivationRule Legend: * 1 class Many-to-one association generalization

  17. Business Rule Types BusinessRule name: String ruleType: String priority: String triggeredClass: String triggerMethod: String triggerLocation: String implementor: String Description: String TermRule FactRule ActionRule DerivationRule ValidationRule Transformation Rule InitialDerivation Rule SelfDerivation Rule IndirectDerivation Rule Inference Rule Legend: class generalization

  18. Term Rule • Defines the vocabulary of a business • Not implemented as a part of an Information • System(IS) • Example: • A telephone line is an asset.

  19. Fact Rule • Documents the relationship between items • Aggregation, association, generalization • belongs to, identified by • In an IS, implemented as relationship between classes, entity beans, or tables • Example: A student has a student ID.

  20. Action Rule • States the conditions under which actions • must be taken • Transformation Rule: Transforms the execution • from one event to another • Validation Rule: States what kind of value for an • attribute is valid

  21. Action Rule Examples • Transformation Rule Example: • After a user pays, ship the products and • deduct the quantity from product inventory. • Validation Rule Example: • The product inventory must be greater than zero.

  22. InitialDerivation Rule • Describes initialization value of an class attribute. • Example: • The first customer ID is “1000”

  23. SelfDerivation Rule • Describes how an attribute’ value is derived from former instance’s value on the same attribute. • Example: a new customer ID = max(customerID) + 1

  24. IndirectDerivation Rule • Describes how the value of one attribute is derived by some other attributes through a mathematic formula or inference. • Example: • invoice total value = product total value • + tax value – discount

  25. Rule Automation Technologies • Java Technology • Ensures portability and vendor independency • Enterprise Java Beans • Simplifies building of distributed application • MS-SQL 6.5 as back-end database

  26. Enterprise Java Beans • Server-side component architecture • Simplifies building distributed applications • Enterprise beans • Entity beans • Session beans

  27. Rule Adaptation Automation System Rule Adaptation Automation System Rule Builder JDBC Application Server Rule Repository EJB Finder Deploy HTTP Rule Engine Rule Beans JDBC EJB Beans Generator

  28. Case: Maria’s Computer Product Store • User authentication • An Online catalogue and shopping cart • Invoice generation • Bill Functionality • Special price promotion

  29. MCPS-Business Flow New Customer Invoice Product List View Shopping Cart Check Out Login Service List Rule Execution Feedback User Profile

  30. MCPS-Object Model (Business Logic Tier) Account Wrapper Customer Wrapper Invoice Wrapper 1 1 1 1 1 1 1 1 1 * Account Customer Invoice 1 1 1 * ShoppingCart 1 1 Transactions Wrapper Transactions 1 1 * 1 Product 1 1 Product Wrapper

  31. Rules in MCPS (1) • Validation Rule • The account balance must be greater than 0. • Transformation Rule • After generating an invoice, deduct the user’s • account balance by the invoice amount.

  32. Rules in MCPS (2) • InitialDerivation Rule • The customer ID for the first customer is 1000. • The account ID for the first account is 1000. • The invoice ID for the first invoice is 1000.

  33. Rules in MCPS (3) • SelfDerivation Rule • A new customer ID is the current maximum • customer ID add one. • the rule for new account ID • the rule for new invoice ID

  34. Rules in MCPS (4) • IndirectDerivation Rule • The Shipping fee is $20 for each order. • The tax value is 15% of the product total value

  35. Rules in MCPS (5) • IndirectDerivation Rule • The invoice total value is the amount of product total value, tax value, and shipping fee.

  36. Rules in MCPS (6) • IndirectDerivation Rule • If a customer buys products worth more than $100, he will get a 10% discount.

  37. Case Build Procedure Object model for business logic tier Design Object Model for Presentation tier Business rules Develop Generate beans Write ShoppingCart session bean Build rules Arrange rule sequence Write Jsp files Test and Modification

  38. MCPS Architecture(Technology View) Application Server UI Logic JSP HTTP Request Java Bean HTML WorkStation Database Business Logic Browser Session bean Rule Engine Entity Bean

  39. Line Of Code (Loc) CPS MCPS MCPS (Hand-coded) Hand-code Percentage Java Files 8643 13774 1588 12% JSP Files 9316 1159 1159 100% Deployment Files 681 1025 9 0.1% Other 315 Overall 18955 15958 2756 17% Metrics Analysis

  40. RAAS Features (1) • 3-tier architecture • Automatically triggers the rules at run time • Changes the rules without re-deploying the • application systems

  41. RAAS Features (2) • Decides rule sequence for IndirectDerivation rules • Re-evaluates rules based on changed conditions

  42. Contributions • Proposed a general and extensible business rule model • Explored a component-based distributed business rule framework

  43. Future Work • Enhance the rule model • Performance issue • Extracting rules from legacy system and specification documents

  44. Questions ??

More Related