3.3 Conventions used
This work uses the following typographical conventions.
Bold Title Case is used to identify (the first use of) a pattern name, even beyond the scope of this work
normal bold is used to highlight important keywords, namely in contexts or potential issues of a pattern
Italic text is used to introduce new terms or concepts
Monospace
is used for code snippets or URLs
It also uses a consistent visual language, defined in § 2.4, and terminology, defined in § 3.3.2.
3.3.1 Diagrams
The diagrams use a UML-inspired [44] visual language, shown in fig. 3, with the following interpretations:
Arrow directionality implies only focus; communication can still flow in the opposite direction
Virtual diagram components are either logical or optional, depending on the context
A node is whatever computational unit is relevant, such as a server or a virtual machine
An error in the place of a service implies a failed service. This is always also denoted in the text, such as in 14.
3.3.2 Terminology
- Client/Service
- A relationship between an abstract “user” of a service that does not necessarily have to be part of the same system and an autonomously running software component that can be accessed over a network.
- Producer/Consumer
- A relationship between two services with a focus on the direction of data or message flow.
- Request/Query
- A message from a client to a service that expects a response.
- Node
- A single computational unit such as a server or a virtual machine.
- Task
- A single computational operation that can be performed by a service.
- Processor
- A component with a focus on processing data or messages.