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.9 Architecture Decisions

Following are the architectural decisions thaat are considered for MaMa:

  • No commercial CRM tool:

    Do not use any of the commercial CRM tools as a foundation for MaMa. The main reason for this was the incredible amount of flexibility that was required to quickly set up campaigns. This decision proved to be correct, as several early competitors (who operated on slightly customized standard CRM tools) failed to enter the market MaMa operated in.

  • JBoss Drools for rule processing:

    Use JBoss Drools as a rule processing engine. We evaluated Python (Jython) as an alternative, but that proved to be incredibly slow for our kind of processing.

  • No ETL tool for data import:

    Do not use an ETL tool for importing data. The contractor, InDAC, refused to consider the license fee of commercial ETL tools. Therefore, the development team had no chance to even evaluate these tools as data import solutions.