Service Consumer A sends a message to Service A . Before the message arrives with Service A, it is intercepted by Service Agent A (1). which checks the message for compliance to Policy A that is required by Service A . If the message fails compliance, Service Agent A will not allow it to proceed and will instead write the message contents to a log. If the message does comply to the policy, it continues to be transmitted toward Service A, but before it arrives it is intercepted by Service Agent B (2), which validates the security credentials in the message header. If the security credential validation fails, the message is rejected and a runtime exception is raised. If the security credentials are validated, the message is sent to Service A . Upon receiving the message, Service A retrieves a data value from a database and populates the message header with this data value (3) prior to forwarding the message to Service B . Before the message arrives at Service B . it is intercepted by Service Agent C (4) which checks the message for compliance with two policies: Policy B and Policy C . Policy B is identical to Policy A that was checked by Service Agent A . To check for compliance to Policy C . Service Agent C uses the data value added by Service A . If the message complies with both of the policies, it is forwarded to Service B (5), which stores the message contents in its own database.
You are told that Policy B and Policy C have changed. Also, in order to carry out the compliance check of Policy C, Service Agent C will now require a new data value from the Service B database. How can this service composition architecture be changed to fulfill these new requirements?
Currently there are no comments in this discussion, be the first to comment!