business rules and constraints for cpp / cpa (very preliminary draft!) tony weida 10/19/2015 8:24:08...

21
Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 06/27/22 09:31 PM Copyright © 2001 Edifecs

Upload: clarence-britton-mcdonald

Post on 16-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Business Rules and Constraints for CPP / CPA

(very preliminary draft!)

Tony Weida

04/21/23 11:06 AM

Copyright © 2001 Edifecs

Page 2: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Observation Agreed behavior may depend on runtime

context

Page 3: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Context Dependency Runtime Context

• Document content- Geography, type of product, amount of money, …

• Prior history of the collaboration• Calendar and clock …

Dependent behavior• Allowable requests and responses• Timing of requests and responses• Choice of delivery channel …

Page 4: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Requirements Capture important business rules and

constraints for CPPs / CPAs that can’t be expressed (directly) via DTD or XSD• Specify (restrict) constraints according to

possible runtime context

Thus achieve context dependent validation and control of a B2BI system’s runtime operation

Page 5: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Business Constraints Logical assertions Required to be true Example

timeToAcknowledgeReceipt < timeToAcknowledgeAcceptance < timeToRespond

Page 6: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Rule Example

IF location = Scottsdale & month = July THEN temperature = hot

Chunk of inferential knowledge Typically binary

• if then• condition action• antecedent consequent• LHS RHS

Page 7: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Business Rules Triggered by events

• Ex: arrival or transmission of a message May be grouped into “rule sets”

• Encapsulate related rules• Activate / deactivate rule sets en masse

An event handling strategy1. Assert event2. Recognize situation (via one rule set)3. Act (via one of several alternative rule sets)

Page 8: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Some very informal examples …

Page 9: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Business Rules on Messaging IF DocType = PO and Region = Asia THEN use DeliveryChannel2

Page 10: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Business Rules on Performance IF DocType = PO and Amount < $10K THEN timeToRespond = 24 hours

IF TOD > 9am and TOD < 3pm THEN timeToRespond = 2 hours

Page 11: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Business Rules on Calendar IF cpaEndDate < today + 7 days THEN

Page 12: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Business Rules on Content Constrain document content at runtime Impact beyond middleware!

• Backend systems expected to conform• Rules can validate their behavior

Incoming • IF RequestDocType = PO and Product = gorp THEN business response = accept PO

Outgoing • IF RequestDocType = PO and amount < $1000 THEN payment method = credit-card

Page 13: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Key Issues How are the rules expressed? Where do the rules go? How does a CPP/CPA reference the rules? How do the rules reference the context? How do the rules constrain behavior?

Page 14: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Business Rule Mechanisms Existing technology

• XSLT• Schematron• Some other schema language• RuleML

Custom notation

Page 15: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

XSLT Evaluation Pros

• XML syntax• Operates on XML documents• Powerful• Standard• Widely supported

Cons• Complex• External to CPP / CPA (maintained in tandem)

Page 16: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Schematron Evaluation Pros

• XML syntax • Operates on XML documents• Fairly powerful• Likely to persist

- Basically a few XSLT/XPATH stylesheets

• Internal and / or external to CPP / CPA Cons

• Not standard• Possibly limited support

Page 17: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

RuleML Evaluation Pros

• XML syntax• Powerful, with formal basis

Cons• Doesn’t (specifically) operate on XML

documents• Standardization uncertain

Page 18: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Business Rules (in TP context) Observations

• CPP / CPA now limited to what middleware can enforce• CPP / CPA has no business content (except BPSS refs)• Collaboration protocol specs have business content• Business rules apply to business information

- Reference CPP/CPA and specification schema

Relevant goals• Modularity• B2BI vendor neutrality (some may support only basic CPA)

Possible conclusion: Business Rules Profile / Agreement

Page 19: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Business Rules Agreement (BRA)*

TPA

CPA

BRA

Specification Schema 1

Specification Schema 3

Specification Schema 2

* May want another acronym

.

.

.

Page 20: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

CPP/CPA Interaction with BRA Build time

• Both reference the same collaboration protocols

Run time• Via event assertions and rule firings (including

rule set activations)

Page 21: Business Rules and Constraints for CPP / CPA (very preliminary draft!) Tony Weida 10/19/2015 8:24:08 PM Copyright © 2001 Edifecs

Other Business Rules Usage(long term directions more geared to spontaneous commerce than

membership in preconceived communities) Rules to create an initial CPA proposal

from the other party’s CPP Rules to respond to another party’s CPA

proposal• Decide on accept vs. reject vs.

counterproposal• Rules to construct counterproposal