DataStore Architecture Overview

The DataStore architecture provides a communication layer for moving Java objects (instances of DataElement) between two systems. Miners running on the server add data objects to the DataStore and the DataStore replicates the data object to the client. The DataStore was designed to allow direct viewing of the underlying tree structure. Thus it contains a mechanism for creating links between objects in the underlying tree and contains specific descriptor types (such as "details") which are intended to affect the view.

DataStore Architecture Details

The DataStore Model provides the ability to integrate Distributed Tools with an Integrated Development Environment (IDE). There are 3 main componentsto a typical IDE:

  1. A GUI (Eclipse)
  2. A DATASTORE or information repository
  3. MINERS or functional components

The IDE present the user with a graphical interface to access information in the repository(Datastore). The Datastore or repository maintains information at run-time and persistantly. The Miners are functional components that perform operations using the information in the repository. When a user selects an element of the GUI, the Element issues a request to the Datastore which in turn routes the request to the appropriate Miner. The Miner executes the request and the result is sent back to the Datastore which in turn updates/modifies the GUI either by modifying the element that originated the request or by adding or deleting other elements.

In a distributed environment, multiple Datastores in different machines effectively mirror each other and are responsible for being synchronized with each other. The communication between client and server is carried out by "Handlers"; they ensure that the frequency and number of jobs carried at any one time.will not interfere with the normal use of a computer by consuming all its resources. Handlers make communication asynchronous, detach the GUI from communication and thus allow the server to communicate with multiple machines. Information can be partitioned and assembled at arbitrary points.

User are encouraged to extend the extend the funtionality of the C++ IDE by writing miners.

Contact Us