Specify Component Interaction Behaviours
A Component Interaction Behaviour specifies the public knowledge ways in which other components can interact with the component being specified. These types of behaviours can be thought of as representing public endpoints and describing service contracts. Importantly, Component Interaction Behaviours do not describe internal-only, technical details of a component.
Component Interaction Behaviours — An Example
In this example, say that there is a requirement to develop a business service for processing a change to a customer's postal address. Importantly, this functionality must be available to any application within the business as a standards-compliant Web Service call. In addition, this same functionality must also be invokable inside the business via a message subscription mechanism, for instance, where there is a well-known, specific type of message published to a message bus. The business has identified and defined a business event message for postal address changes that can be published to the message bus.
There should be two Component Interaction Behaviour Specifications defined in this situation — one for each different and public knowledge way in which other components may interact with this component. The Behaviour Specification Descriptions for this component thus could be:
- Positive — Should be exposed publicly as a standards-compliant Web Service; and
- Positive — Should be invokable when there is a business event about changes to a customer's postal address.
The term "Web Service" is acceptable terminology in this case because: (a) it is the public knowledge mechanism by which other components may interact with it — this is not an internal only implementation detail; and (b) "Web Service" is a modern, accepted term in the business's language glossary.