Architecture
The basic concept of Marushka® is using core, which provides access to the unified graphical presentation of data. Three-layer core is being developed on the component object principle; there is no limitation in terms of possible integration into another applications (.NET) that require processing/ access to geographically referenced data.
The core of the module is GSFrameWork®, which is a provider of these services
- Uniform access to the data stores with geographically referenced information and their actualization. More about data stores here.
- Support of queries to data stores, i.e. efficient spatial queries on all the stores and compressed transmission of spatial data. Localization queries over spatial data, information queries, document data support, as well as project/ user-defined queries in the form of plug-ins.
- Support for cartographic projections and their transformations. In global world are spatial data are provided in various projection/ units, the core of the system allows to work or publish with the composition of heterogeneous spatial data.
- Graphical presentation of spatial data, a unified drawing machine for making spatial data, its presentation and project administration.
- The core of the system provides a wide set of geometrical functions, from primitive, such as move, rotate, construction tasks, to advanced, such as of set operation above spatial data by the OGC specifications and buffer zones. Linear filtering of raster data.
- Topological services. Creating topological relation based on geometry of objects, connectivity edge – edge, edge – node, finding the critical path, tracing the graph.
- Conversion between different data stores, such as exporting into PDF file, or import of geometry to the database store.
On the unified core are currently based these applications
- The strong client Marushka Design is a visual administrative tool for creation of configuration project for server Marushka®. Project is the collection of different data stores, queries, symbols and their settings. Marushka Design provides comfortable and intuitive environment for configuring all mentioned project items and a full set of features for transformation, editing, or creating geographical data.
- Application server GS FrameWork Web Services – remote access for strong/ publishing client to a remote (WAN) data store/ project via the application server.
- Publishing sever Marushka® is a powerful application server in combination with HTML client (web browser) used to provide geographical data and services on the internet.
- Publishing server also provides data through Web services OGC standard WMS, WFS or Web services in a platform .NET environment (SOAP). Among the advantages of HTML client is its runtime environment, in a standard web browser, such as Internet Explorer, FireFox and more. Therefore HTML client does not require running any additional installation.
- Marushka Desktop is a desktop application for bidirectional communication between the client Marushka® and third-party applications. The application displays the HTML client trough local web services or .Net Remoting and provides access to API of HTML application.
Models of architecture
The Basic Architecture Model
- In the following text are the basic types of software architectures for maintenance/ administration/ publishing geographically referenced data realizable by Marushka® technology.
- There are given only basic options, other architectures can be formed by their combinations.
- To describe the architecture we will use simple symbolism in module diagrams. Ellipses represent executable modules (exe, dll), in case they overlap, it means that application uses setting assembly from more modules. A link between data store and module indicates a data connection (LAN, WAN); its type is labeled by the text in a triangle. Project is a XML document containing configuration of data stores, it is always connected within the LAN. One data store can be accessed from multiple projects, by the type of service required.
Architecture of Direct access,
Client/ Server
- This architecture is used in the case of active work with the data, whose volume requires a fast connection to the active data stores. In particular, the reception, validation and import of data into data store.
- In usual cases, it is also used for creating/ administrating publishing projects.
- The user has access via LAN to all the active data stores, passive data sources (e.g. WMS) can be accessed using the WAN. It can be described by the following diagram of modules.
Architecture of Remote Access
- This architecture is used when the project requires an active connection to the data store (update), but this data store cannot be accessed through Local Area Network (LAN).
- Data networks are optimized for a smaller capacity networks.
Architecture of Interconnection Projects with Third-party Applications
- This type of architecture means the possibility of using GIS projects and their options (localization, queries) for other applications. Its essence is a web browser, which can be controlled through local web services (SOAP protocol).
- This feature is provided by MarushkaDesktop application.
- SOAP is a public interface therefore it provides API for third parties (data connection in the module diagram from MarushkaDesktop application indicates management of the application on the same computer).
Architecture of Publication
- There is an example, when we publish map composition over the internet.
- To achieve such a publication we use application sever Marushka®. For publishing purposes is used a project, developed by the previous architecture, respectively application MarushkaDesign.
- Publication architecture is illustrated in the following diagram of modules.
Architecture of Remote Administration
- This type of architecture of the project is used in the case that administrator of the project don’t have direct access (LAN) to the resource, where the publication server/ project is placed.
- A typical example is a Web hosting, provided by the data store (database, WMS…), but not the support of project. Architecture supports possibility of remote configuration of the project.
Mirrored Data Store Architecture
- This architecture is used when the spatial information are maintained in a data store. Through the strong client is information updated in the data store. But the requirements are so extreme, that the database engine cannot resolve it.
- Therefore, spatial information is reflected into the on-line file data stores, which have rather faster response times and architecture is able to solve extreme stress caused by many concurrent requirements.
- Even the large projects (with more than 107 spatial objects) can be configured so that the mirror is in the matter of seconds. In the diagram below, everything is connected, unless otherwise indicated, the type of LAN.