Description
An EA is implemented with one elementary service per component resulting in many small components that are sharing data.
Context
Derived from: “Sand Pile”
Cause
Sand Pile may be caused by a wrong grouping of “atomic” capabilities.
Consequences
The large amount of small components may cause inefficiencies and maintenance problems.
Detection
Many small components exist that share data.
Solution
Regroup related elementary services into one component with a common interface.
Example
Many highly specialized car service workshops are working separately. It is not an enterprise that provides all car repair services at one spot.
Cypher query
MATCH (c)-[r2:AccessRelationship]-(d:DataObject) <br /> WITH d, count(c) as cntCmps <br /> WHERE cntCmps>1 <br /> MATCH p =(s)<-[r1:RealizationRelationship]-(c)-[r2:AccessRelationship]-(d:DataObject) <br /> WITH c, count (d) as dataCnt <br /> where dataCnt = 1 <br /> MATCH p =(s)<-[r1:RealizationRelationship]-(c)-[r2:AccessRelationship]-(d:DataObject) <br /> RETURN pCypher count query
MATCH (c)-[r2:AccessRelationship]-(d:DataObject) <br /> WITH d, count(c) as cntCmps <br /> WHERE cntCmps>1 <br /> MATCH p =(s)<-[r1:RealizationRelationship]-(c)-[r2:AccessRelationship]-(d:DataObject) <br /> WITH c, count (d) as dataCnt <br /> where dataCnt = 1 <br /> MATCH p =(s)<-[r1:RealizationRelationship]-(c)-[r2:AccessRelationship]-(d:DataObject) <br /> RETURN COUNT (DISTINCT d)Diagram

Tags
soa, business, application, technology, cohesion, The Couplers
Related smells
- Nanoservices (follows)