Rogue Wave JViews Maps for Defense includes five different component
libraries.
The topmost layer represents the Java code of the application,
which can interact with any or all of the SDKs provided, or bypass
them when required and directly call the Java2D or Swing APIs.
For example, the Rogue Wave JViews Diagrammer SDK is needed when you display interactive
objects on top of your maps (the symbols), whereas the JViews Maps for Defense SDK handles the map
background manipulations.
The modules in this architecture and the services they
offer are shown below:
Starting with the bottom layer, all Rogue Wave JViews libraries
are built on top of the Java2D and Swing libraries, with no platform-specific
code. This means that applications developed with Rogue Wave JViews run
on any platform that supports Java.
On top of this low-level layer is the JViews Framework layer, which includes among others,
efficient data structures, prebuilt user interaction services, and
a printing facility. JViews Framework is not sold by Rogue Wave as a separate product; it serves as a core component
of each of the products in the Rogue Wave JViews product line.
Above JViews Framework is JViews Maps, which provides a wide range of map
manipulation and display services. It is built on the data structures
and I/O facilities of JViews Framework.
At the same level, there is Rogue Wave JViews Diagrammer, which provides a wide variety of
displays consisting of custom graphic objects that are data-aware.
This means that the graphic objects in the display can change their
appearance as the underlying data model changes. For example, a graphic
object that represents a vehicle can have its color change if its
status field changes.
Rogue Wave JViews Diagrammer uses a Model-View-Controller (MVC)
architecture that will be very familiar to Java programmers used to
the Swing structure. Its purpose is to separate the data model from
the views and connect the two with a rule-based style manager that
controls the look of the objects based on the data values, see below:
JViews Diagrammer calls this mechanism Styling and
Data Mapping (SDM). It is used by Rogue Wave JViews Maps for Defense to store and manipulate
any interactive object that appears on top of a map.
Thus, Rogue Wave JViews Maps for Defense uses two distinct data
structures:
Rogue Wave JViews Maps for Defense is built on top of the layer that
contains JViews Maps and JViews Diagrammer. The specific contribution of JViews Maps for Defense is to provide the terrain analysis
and APP-6a symbology features. A set of map formats specifically for
military use are also provided.
The final application is Java code that performs a mix
of Swing, Java2D, and JViews SDK
calls. The application code can be as little as a few lines that simply
load the outputs of files created by the Rogue Wave JViews Maps for Defense application, or a sophisticated
analysis tool with dynamic map and data feeds. In both cases, the
reuse of ideas and code from the Map Builder application
is encouraged.