Decomposed Capability (Erl)
How can a service be designed to minimize the chances of capability logic deconstruction?
The decomposition of a service subsequent to its implementation can require the deconstruction of logic within capabilities, which can be disruptive and make the preservation of a service contract problematic.
Services prone to future decomposition can be equipped with a series of granular capabilities that more easily facilitate decomposition.
Additional service modeling is carried out to define granular, more easily distributed capabilities.
Until the service is eventually decomposed, it may be represented by a bloated contract that stays with it as long as proxy capabilities are supported.
The Invoice service (middle) derived from the same business entities (left) exposes a series of more granular capabilities, several of which correspond directly to specific business entities. This increases the ease at which subsequent service decomposition can be accomplished. The decomposed services (right) are no longer in conflict because the capabilities affected by the decomposition are clearly mapped to the new services. Those same capabilities also remain in the Invoice service contract (top right) as per Proxy Capability.