Separation of
concerns and agnosticism
Separation of concerns and agnosticism are two
closely-related terms. Where separation of concerns is a term commonly used in
object-oriented and component-based technologies, it is a way to clearly
separate functional concerns by defining containers (services, classes,
components) to identify a functional boundary of the contained operations.
Agnosticism (from the Greek word agnostos) is a term traditionally used in religion-related
discussions but also in the world of service-orientation to explain that the
service is not aware of, or is not concerned with, the parent functional
context. Gnostos means “aware of the
existence of”, the “a-“ is a negation
making the whole term’s meaning “not
aware of the existence”.
Both terms convey a similar concept where we keep concerns
of a particular piece of code local to that piece of code only, and not have it
scattered across the software infrastructure. The term agnostic however intends
to apply to a wider scope than only code or logic, for instance on the contract
or on the service as a whole, as well as the entire service inventory
structure.
This five-part series touches on several aspects of how
separation of concerns can be achieved in a service-oriented solution.
No comments:
Post a Comment