Working with Specifications
A specification is a “free-standing” element that defines a set of service inputs and outputs. The specification defines the entire service signature. If you have multiple services with the same input and output requirements, you can point each service to a single specification rather than manually specify individual input and output fields in each service.
Using specifications to define service signatures provides the following benefits:
It reduces the effort required to build each service signature.
It improves accuracy, because there is less opportunity to introduce a typing error when defining a field name.
It makes future signature changes easier to implement, because you can make the change in one place (the specification) rather than in each individual service. Any change that you make to the specification is automatically propagated to all services that reference that specification when you save the specification.
Note:
If you want to rename a field in a specifications that is already used by a service, make sure to refactor the field instead of merely renaming. For more information about refactoring, see
Refactoring Variable Names in Elements.