Index Changes
This is version 15. It is not the current version, and thus it cannot be edited.
[Back to current version]   [Restore this version]
Here is the list of systemic qualities needs to be implemented by OpenESBjbi components (, this document summarizes the requirements, applicability and status.

TODO: Numbering is not working properly, number sequence is getting reset. will fix it ASAP

  1. Application Configuration - IEP process do not have configuration/variables specific to environment, very similar to BPEL-SE. It is not applicable.
  2. Logging - here are the ones, please refer to for the details
    • INFO and higher logs needs to be associated with unique number and printed to bundle file
    • NDC - Component needs to set service assembly name, process name, MEx id or process instance id or both, so that logging messages can be searched and filtered.
    • At INFO level the information should be minimal. During normal operation of the system (as messages get processed successfully) there should be no log output at info level.
    • Loggers needs to be listed in jbi.xml. Configured values needs to be retained GF/component bounce backs. Only list important ones with meaningful description.
  3. PasswordHandling - IEP-SE does not manage password fields, so it would not be applicable
  4. Common Fault, Error Strategy - IEP supports InOnly requests and does not chain the invocations with the requests its processing.
    • When it is not able to process the inbound requests (transformation error, Db not available (there could be more scenarios) it should set error on ME.
    • It also needs to set ME properties - com.sun.jbi.crl.faultcode, com.sun.jbi.crl.faultstring, com.sun.jbi.crl.faultactor & com.sun.jbi.crl.faultdetail).
    • faultcode takes two values "Client" and "Server". If the error is because the data is invalid (and it will never succeed if the same message gets re-sent) it should be send back as a "client" error, otherwise a "server" error. Example for "server" error is Db not available and request is associated with XA. When error code is "server", redelivery logic would kick-in if the consumer is configured for redelivery. "Db not available" needs to be handled handled gracefully by waiting for Db to recover if the request is not associated with XA.
  5. Monitoring & Management
    • Component configuration - Component should support configuration both at install time and run time. Display of configuration screen should be consistent. Details can be found at
    • Alerts - Alerts needs to be sent from IEP-SE during its life cycle and execution.
    • Administration - IEP implements mechanism to query process, operators and configuration information. This is specific to IEP-SE. It is equivalent to BPEL-SE providing a mechanism to query BP instances, variables etc.
    • Statistics MBean - Andi and Gopalan confirmed it is not required, frame work provides functionality.Need to measure the time taken in the component - operations
  6. Wire Qualities
    • Throttling - so that user can choose to configure # of message to be delivered.
    • Redelivery - When the total number of redelivery attempts for a given message have been exhausted, the redelivery loop is terminated with Redirect (sending a message to error EP), Suspend, Delete or Return error (propagating error). IEP consuming EP can be only configured with Redirect and Delete for the following reasons. suspend - what we are suspending? no clear definition. Returning error - no constructs in the IEP process handle the errors. Not clear on the value add even if we define constructs.
  7. Configuration Usability - IEP does not use WSDL extension elements. So it is not applicable.
  8. Component Upgrade - Needs to talk to Bing, recently there was discussion on this feature. //TODO
  9. Recovery - IEP does not need to do anything special.
  10. Security Propagation - Not applicable to IEP-SE. IEP supports InOnly requests and does not chain the invocations with the requests its processing
  11. Transaction Propagation - Not applicable to IEP-SE. IEP supports InOnly requests and does not chain the invocations with the requests its processing.
  12. Serial Processing - Serial processing is not applicable. It maintains MessageOrder when throttling is set to 1.
  13. Optimized Payload Handling - It facilitates the component to reassemble multiple Message Exchanges that are part of one payload to be assemble together for processing it as one unit. IEP should associate unique message identifiers and group IDs (if they are related in some way) when it sends out messages . This allows other processes to filter duplicate events (if they get re-delivered for example), and it can allow them to process the group if applicable. (For File for example all records from the same file have that same group ID, for a DB query all records from that query have the same query ID). In addition, it should also be able to access these IDs when it received messages with these properties and take actions based on these properties, e.g. order them etc.

JSPWiki v2.4.100
« Home Index Changes Prefs
This particular version was published on 23-Jul-08 19:28 PM, -0700 by Gopalan Suresh Raj