Home > SOA Glossary > Default Namespace

Default Namespace

Regardless of whether a service has control over its runtime execution environment, multiple service consumers will form design-time dependencies on it. This can restrict the ability to evolve a service in response to future change requirements. The level of freedom service owners have to make changes to a service over its lifetime can be referred to as design-time autonomy.

Once consumer programs programmatically bind themselves to a service's contract, the service can no longer escape its obligation to that contract. We therefore automatically lose a degree of control over how the service could be evolved. However, given that baseline constraint, we can still strive to maximize the level of attainable design-time autonomy.

There are several aspects of SOA that drive the need for this quality:

  • the ability to scale a service in response to higher usage demands
  • the option to further modify or enhance a service's hosting environment
  • the freedom to augment, upgrade, or replace the technology of a service in response to new requirements or a desire to leverage new innovations

All of these forms of design-time autonomy can be attained by applying the Service Loose Coupling principle to avoid negative forms of service coupling.

See Also: