Elementary services are the smallest possible components that qualify as services. Splitting elementary services in smaller components yields components that violate the design principles you learned about in Chapter 3, Service Design. For example, splitting a
DocumentService that is capable of storing and retrieving documents into a separate service that only stores the document, and another service that only stores the metadata violates the principle that services should be isolated or autonomous.
Elementary services in the information layer can be implemented in several ways: