Comparison of Business Logic Tools
Comparison of Business Logic Tools
You will probably develop business processes in conjunction with the data transformations and business rules that they use. Data transformations and business rules are intended to contain specific kinds of logic:
-
Data transformations alter the message
-
Business rules return values or specify where to send messages (or potentially both)
There is, however, overlap among the options available in business processes, data transformations, and business rules. To assist you in determining how to create these items, the following table compares them. It discusses BPL (the most common business process), DTL (the most common data transformations), and business rules.
Option | Supported in BPL? | Supported in DTL? | Supported in business rules? |
---|---|---|---|
Retrieving information about the business process | Yes (business execution context variables) | No | No |
Assigning a value | Yes (<assign>) | Yes (assign action) | Yes (assign action) |
Calling a data transformation | Yes (<transform>) | Yes (subtransform action) | Yes (send action) |
Calling a business rule | Yes (<call>) | No | Yes (delegate action) |
Calling custom code | Yes (<code>) | Yes (code action) | No |
Invoking SQL | Yes (<sql>) | Yes (sql action) | No |
Conditional logic | Yes (<if>, <switch>, <branch>) | Yes (if action) | No |
Looping | Yes (<foreach>, <while>, <until>) | Yes (for each action ) | No |
Sending an alert | Yes (<alert>) | No | No |
Including trace elements | Yes (<trace>) | Yes (trace action) | Yes (trace action) |
Sending a request message to a business operation or process | Yes (<call>) | No | Yes (send action) |
Waiting for a response from asynchronous requests | Yes (<sync>) | No | No |
Deleting the message | No | No | Yes (delete action) |
Performing error handling | Yes (<throw>, <catch>, and others) | No | No |
Delaying execution for a specified duration or until a future time | Yes (<delay>) | No | No |
Sending a primary response before execution is complete | Yes (<reply>) | No | No |
Using XPATH and XSLT | Yes (<xpath>, <xslt>) | No | No |
Storing a message temporarily to acknowledge a milestone | Yes (<milestone>) | No | No |
For details on DTL transformations and business rules, see Developing DTL Transformations and Developing Business Rules.