|
ILOG JViews Diagrammer consists of several layers, each providing a specific set of services for developers during the development cycle. JViews Diagrammer includes the following components:
The Stylable Data Mapper
ILOG 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 Stylable Data Mapper (SDM), and it forms the connection between your application’s data and the views on display.
The figure below illustrates the main components of Diagrammer:
 |
- Data Sources: The JViews Diagrammer data model can be populated with data as simple as a list of elements, which will serve as nodes, and optionally, a list of interconnections, which will become on-screen links. It comes with pre-built data connectors, including JDBC, XML, and flat file readers. Custom data connectors can also be written using the documented API.
- SDM: The two principal responsibilities of this 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. Styling is a set of rules that define how graphic objects will appear on the display under certain conditions. For example, a style rule might be “Whenever the status field of any link data record is set to critical, paint the corresponding object on the display red and pop up an alarm balloon.”
- Style Sheets: The concept of styling comes from HTML’s use of Cascading Style Sheets (CSS), which control how a web page is drawn. In JViews Diagrammer, the CSS syntax is extended to form a powerful language that will define all aspects of how a display is drawn. SDM reads styles sheet files which are externalized. In fact, SDM can change the style sheets at runtime, if desired, to completely change the look of the displays. This feature is extremely useful when prototyping the displays, but can also be used at runtime to allow end users to change display preferences.
- Views: While SDM is typically used to drive only diagram displays, it can also be used with table and tree views (examples are included in the product), or extended to work with any other component that your application needs.

The Foundation Architecture for SDM
SDM relies on the services of two underlying layers, also included in JViews Diagrammer—the Framework SDK and Graph Layout SDK. The structure is as follows:
The Framework SDK sits atop Java2D and Swing, and provides a comprehensive structured 2D graphics API. This includes:
- Graphics objects, interactors, views, transformations
- Editing commands
- Graphs and sub-graphs (nodes and links, sub-diagrams)
- Printing
- 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.
This complex technology, based on years of research, offers several pre-defined layout algorithms for covering the needs of specific applications. The many parameters let developers arrange the diagrams as they want and visual tools help in the configuration.
Read more about the Graph Layout SDK.

Designer for Diagrammer
Designer for Diagrammer is an ideal development tool for rapid prototyping and for the initial configuration of an application. It is a point-and-click editor for defining many aspects of the display without coding.
Designer provides an environment for SDM to function. Through a series of wizards and preview modes, developers can:
- Populate the data model through JDBC, XML, flat files, or the Java API.
- Define the style rules for rendering the data model. The style rules are composed of conditions on the data model objects and actions on the graphics rendering.
- Configure graph layout styles and parameters.
The output of Designer is a project file with XML and CSS data that can be loaded by the final application. This project file can then be used to populate the display as is, or it can be enhanced or extended by using the underlying Diagrammer SDK.

|