General architecture

JViews Diagrammer consists of several layers, each providing a specific set of services for developers during the development cycle.
diagrammer-architecture.gif
Architecture of JViews Diagrammer
JViews Diagrammer implements a Swing-like model-view architecture, which provides a clear separation between data and its presentation. The JViews Diagrammer data model is part of the Styling and Data Mapping (SDM) engine, and it forms the connection between your application’s data and the views on display. The two principal responsibilities of the SDM module are notification and styling. When it receives new data from its back-end data source, the SDM module automatically notifies all views registered for an update. Likewise, when the user interacts with views, the model may change.
SDM relies on the services of two underlying layers, also included in JViews Diagrammer—the Framework SDK and the Graph Layout SDK.
The Framework SDK sits atop Java 2D™ and Swing, and provides a comprehensive structured 2D graphics API that includes graphic objects, interactors, views, transformations, graphs and subgraphs, editing commands, printing, and thin client support
The Graph Layout SDK provides a set of sophisticated algorithms to automatically rearrange the graph elements for optimal readability. Graph layout brings order and clarity to complex diagrams, moving the nodes and routing to create a more usable picture with domain-specific aesthetic conventions.