Book Image

arc42 by Example

By : Dr. Gernot Starke, Michael Simons, Stefan Zörner, Ralf D. Müller
Book Image

arc42 by Example

By: Dr. Gernot Starke, Michael Simons, Stefan Zörner, Ralf D. Müller

Overview of this book

When developers document the architecture of their systems, they often invent their own specific ways of articulating structures, designs, concepts, and decisions. What they need is a template that enables simple and efficient software architecture documentation. arc42 by Example shows how it's done through several real-world examples. Each example in the book, whether it is a chess engine, a huge CRM system, or a cool web system, starts with a brief description of the problem domain and the quality requirements. Then, you'll discover the system context with all the external interfaces. You'll dive into an overview of the solution strategy to implement the building blocks and runtime scenarios. The later chapters also explain various cross-cutting concerns and how they affect other aspects of a program.
Table of Contents (9 chapters)
Free Chapter
1
Acknowledgements
8
VII - macOS Menu Bar Application

III.5 Building Blocks

This section describes each building block of the deployment setup:

5.1 MaMa Whitebox Level 1

The following figure depicts the structure of MaMa whitebox:

Figure 3.13: MaMa whitebox (level 1)

The structure of building blocks within MaMa is based on functional decomposition and the concept of generated persistence.

It contains the following components:

Figure 3.14: Components of MaMa Whitebox Level 1

Import Handler (Blackbox):

The Import Handler contains the core functions to import data from partners or mandators via external interfaces. It handles CSV, fixed format, or XML input, either encrypted or compressed (or both) into a configurable structure.

The following are the interfaces:

Figure 3.15: Import Handler interfaces

Quality of Service:

Import Handler implements extensive failure handling mechanisms and can, therefore, deal with a large number of error categories (for example, communication errors, data format errors, compression...