Internal and external services
ArchiMate distinguishes services that are used within the same layer in which they are situated and by the next layer above. The ‘same layer’ is the business layer for business services, the application layer for application services and the infrastructure layer for infrastructure services. ArchiMate calls this type “internal services”. By contrast those services used by elements of the next layer above the layer in which they are situated are referred to as ‘external’ services.
The next layer above the infrastructure layer is the application layer. This is the layer in which external infrastructure services are used. Similarly, external application services are used in the business layer and external business services are used by the external environment (e.g. by customers). The concepts internal and external are therefore relative with respect to the layer where the service is being realized.
How do you visualize this difference? Also refer to EA at work, p. 86.
Defining services that are used within their own layer (‘internal services’) is what is often meant with Service Orientation. The modeled services usually coincide with actually implemented / to be implemented services (especially with respect to application services and infrastructure services).
Services that are used by the layer above (‘external services’) represent meaningful functionality that supports the layer in which they are are used and will not always refer to an implemented service (with respect to an actual externally ‘callable’ functionality). Our recommended good practice is to handle internal and external services as two dedicated groups and distinguish these in views, especially in those cases where distinction between internal and external services is important. External services will often have other demands than internal services, and other aspects will have to be registered. The service itself will often have a differing design, depending on the intended support within the own layer or the next upper layer.
Figure 5-35 is an example of how this distinction can be visualized: the internal and external services are distinguished by placing (grouping) them in separate layers . In this example the Customer management service is an external service and is therefore positioned in the corresponding layer. The Customer data service is used only within the application layer and is therefore an internal service. Another possibility is to shape and/or color internal and external services accordingly.
- Figure 5 35: Internal and external services
Make an explicit distinction between internal and external services.
In this good practice a distinction is made between internal and external services. Reasons may exist not to make this distinction but to highlight another distinction instead, for example between business critical and non critical services, or between services with a gold, silver or bronze service level agreement. To make a distinction like this an identical approach to that described above can be used, e.g. to use grouping, coloring or shaping to emphasize the distinction. The model and visualization goal determines the distinction that needs to be emphasized.
Relationships with other good practices
There is a relationship with good practice ‘Interfaces between applications’.