Layered Architecture
The chapter “Business Process Activities” had told us that a software product requires different type of activities to perform different actions when a business process transitions from one state to another. The nature of an activity depends on the type of logic to which it belongs.
From the chapter "Software Product" we also learned that there are four types of application logic, and that the uniqueness of each logic means that the functionality of each such logic can be programmed independently of any other logic. Moreover, it can be deployed independently of any other logic.
To do this, the activities related to these different types of logic must be grouped together and placed into assembly of dynamic link libraries (DLL). Going that way, we introduce the concept of layers of a software product, where each layer reflects one type of business logic:
Even if we follow the above instructions, it is still impossible to create layers of software logic that are completely independent of each other until an NFA architecture is implemented that supports such a capability. That is, we need an NFA architecture that natively supports deploying assemblies belonging to different software product layers to different machines, transforming software product layers into software product tiers.
Table of Content Software Architecture Previous: Use Cases Architecture Next: Functional Architecture