Figure 1.1, “Architecture of the OpenWMS.org Application” is a sketch of the whole Application that represents how all different artifacts fit together and how they interact with each other. Important to notice is the fact that we deal with two different kinds of layers. In the vertical direction the layering is more technical oriented whereas the horizontal layering is driven by the business domain. An application with too many layers implies a high degree of complexity, therefore we reduced the amount of technical layers to a minimum. It's up to you how you structure your new Modules and it is not required to follow this concept strictly. More details about the technical layering follow in the next chapters.
In horizontal direction the Modules have dependencies on each other. This is important to consider whenever you assemble the Application or deploy/undeploy single Bundles. Module dependencies between the standard Modules and the Core Framework are shown in Figure 2. One of the mayor functional requirements is decoupling the WMS part of the application from the TMS part and vice versa. The Core Framework is the one and only Module where all other Modules rely on.