Describe service component attributes
If model-based approaches for designing the service components are being used, substantial information regarding the
characteristics of the service components will be captured as a matter of course. If text-based design methods are
being used, manually capture the following information:
-
Properties or attributes
-
Constraints (rules)
-
Variations
-
Dependencies upon other service components
-
Composing functional and technical components
-
Services provided
-
Services required
-
Non-functional requirements to be satisfied.
Leverage the service model to better understand which services need to be provided and which ones are required.
|
Identify component events and messages
Examine the services that have been allocated to the service component, and then do the following:
-
Identify each service request (operation call) to which the service component must respond.
-
Identify each outgoing request (on a required interface) that the service component sends.
-
Identify the incoming and outgoing message content for the operations.
Identify other events, such as data changes, to which the service component must respond. For example, a given
technical component might provide an interface to an external data source that is monitored for change.
Document this information in the Component model.
|
Model service component internal flow
Use behavioral modeling methods, such as activity or interaction modeling, to reason through how the functional
components and technical components interact as the service component responds to each of the previously-identified
events. If new components, operations, or attributes are discovered during behavioral modeling, add them to the
appropriate component.
Document these details in the component design.
|
Model service component internal structure
Use prior knowledge of the component model structure, plus the results of the behavioral modeling, to
describe the operations, attributes, and relationships of the service component's internal elements. Use patterns
[GAM95, ARS00, for example] to regularize your results. Guideline: Service Component Patterns provides examples of some common patterns
that are applied to organize service components and their supporting functional and technical components.
Examine the result and refactor, if possible, to increase flexibility and reusability. Use Variability Analysis techniques to help here. Guideline: Variability Analysis provides some concrete advice regarding
refactoring best practices.
Document these results in the component design. |
|