Elementary services
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.
Realization
Elementary services in the information layer can be implemented in several ways:
Existing applications such as packaged applications, custom developed systems, and legacy systems that are exposed as services using connectors, adapters, and so on. This can be coined as service-enablement of existing systems. An elementary service is implemented by one system, although a system can implement more than one elementary service.
New functionality is created as a service...