Journal of Software Engineering and Applications, 2013, 6, 13-16
doi:10.4236/jsea.2013.67B003 Published Online July 2013 (
Mashup-Technology in Web-Based GIS Design
P. V. Senchenko, Yu. B. Gritsenko, O. I. Zhukovskiy, Yu. P. Ekhlakov
Department of Data Processing Automation, Tomsk State University of Control Systems and Radioelectronics, Tomsk, Russia.
Received April, 2013
The paper proposes an architectural model of web-based geographic information system based on mashup-technologies.
Represented system is designed using the programming patterns and is used to control access rights to various functions
or objects in the system.
Keywords: Geographic Information Systems; Web Technology; Service-Oriented Architecture
1. Introduction
Enterprises involved in the operation of distributed engi-
neering systems have a number of complex issues. Some
of these problems are the lack of reliable information on
the geographical location of objects subordinate engi-
neering network, and the lack of information about the
objects of utility networks belonging to other organiza-
This information is necessary, first of all, for rapid lo-
calization of accidents and for preventing their further
development (damage of other communications). In ad-
dition to these tasks, employees of enterprises solve other
problems, such as account, control and analysis of ob-
jects, network design and the choice of optimal configu-
rations. Currently, high-quality solution of the above
problems without new technologies, which, of course,
include geoinformation technologies, seems impossible.
Meanwhile, the information that operates with spatial
data is usually restricted.
The use of geographic information systems (GIS) in
industrial plants that operate utilities, involves the intro-
duction of access control to spatial and attribute data de-
scribing objects of engineering infrastructure.
2. Description of Solving Methods
In the publications [1,2] the authors present the effi-
ciency of the web-server approach for the creation of
electronic systems of master plans of enterprises that
operate engineering infrastructure.
Designing the architecture of a web-based GIS authors
have opted for the service-oriented approach [1]. Ser-
vice-oriented architecture (SOA) suggests the separation
of the components, or “services” that are consistent with
common interfaces, use common rules for determining
how to invoke services, and how they will interact with
each other. “Service” is a software component that can
be accessed through a computer network. It implements a
function with a well-defined interface.
The authors have designed architecture of corporate
web-mashup-GIS which uses service-oriented principles
(mashup or mash-up - application that combines content
from different sources).
Mashup-application combines data from multiple
sources into a single integrated tool. For example, map
data of virtual globes (Google Maps, Virtual Earth) can
be used as a substrate, KML-flow data providing spe-
cialized map service can be used as thematic layers, and
for the addition of arbitrary attribute data it is necessary
to refer to the management of information services de-
scriptions. The result is a new, unique web service that
was not originally proposed by any of the sources.
Mashup-application’s architecture always has three
1) the provider of content is data source. The data is
available through an application programming interface
(API), and a variety of Web protocols, such as RSS,
REST and Web Services;
2) mashup-site is a web-based application that offers a
new service using data source that does not belong to it;
3) the client’s browser is the user interface of mashup-
Mashup-basis of the application is a set of components
– widgets. They are small software modules that have a
graphical user interface and application programming
interface (API), that support the event. The main objec-
tive of the widget is to integrate web-based service to the
application (do mixing). Integration of mapping services
via widgets is the most effective approach to implement
Web-based corporative GIS within the SOA.
Copyright © 2013 SciRes. JSEA
Mashup-Technology in Web-Based GIS Design
The architecture of the developed system is based on
the several programming patterns:
Model-View-Controller. The server side is committed
to MVC. View and Controller components are incor-
porated in the controller. The model is divided into
several levels [3].
FrontController. According to the pattern a unique
entry point to the application is set-/index.php (an al-
ternative approach is the use of a separate script -
login.php, order.php etc for each specific operation)
Intercepting Filter. Package FilterChain LIMB is an
implementation of “Intercepting Filter” pattern. It al-
lows to concentrate all the logic in one place. In con-
junction with the pattern Front Controller all work of
applications confined to a chain of filters. The filters
are registered as “hendle”, which become real objects
only when it is their turn. “Handle” is a proxy object
that acts as an object it replaces and which loads (ini-
tialize) proxied object at the first real need. Each filter
decides whether to pass control to the next filter or
Dynamic Service Locator. The essence of the pattern
is that there is an easily available object, which is a
common place to access to all the popular objects
(services) and the capabilities of this object can be
easily expanded.
3. The Results Obtained
Developed by the authors generalized architecture of
web-based geographic information system is shown in
Figure 1.
The system is designed as a three-tier Client-server
architecture: client, Web application server, database
server. Users of the system can use popular web brows-
ers: Internet Explorer, Opera, Google Chrome, Mozilla
Firefox. The user-http-request is received from the client
to the web application server.
All requests to the web application server are redi-
rected to the file Root/index.php. This creates an object
of class WebApplication. The object has methods of
supply chain management filters that control the execu-
tion of the request: registration (adding) of the filter, the
call of the first filter in the chain, the call of the following
When an instance of WebApplication is being de-
signed, filter chain is initialized, and control is passed to
the first filter (Figure 2).
Using a filter mechanism allows to control user access
rights to various functions or objects in the system. Fig-
ure 3 shows a flow diagram of client requests with the
ordered list of filters:
1) exception handling;
2) creation of the session and connection the Driver
3) checking the existence of the requested module and
the right to access it;
4) review of the http-request (choice of the controller
and its actions to process the request, creation of an in-
stance of the controller);
5) performance of the selected action of the controller;
6) reply generation;
Figure 1. Web-GIS generalized architecture.
Figure 2. Demonstrates Implementation pattern “filter chain” in Web-GIS.
Copyright © 2013 SciRes. JSEA
Mashup-Technology in Web-Based GIS Design 15
Figure 3. Client request pr oc essing scheme in Web-GIS.
7) reply to the client.
The controller divides requests into two classes: a da-
tabase query or request of geoprocessing. Integrated ser-
vice MapGuide Web API is responsible for processing
geodata. Database query is passed to the third level - the
level of the database server. Controller’s operation on
interaction with the model goes through a set of tools
“Toolkit”. The toolkit refers to the model through the
objects of class Tier (data and functions of web-based
geographic information system) and MgTier (communi-
cates with the server through the MapGuide MapGuide
The framework Zend_ACL (Access Control List) is
used to manage privileges. For more information on us-
ing the framework one can refer to the official website
Zend Framework [5].
ACL is used to control access to certain objects (roles)
to other objects (resources). Roles request access rights
to resources, the application performs access control by
To use the object as a resource object one must im-
plement the interface ZendAclResourceInderface, which
contains a single method - get ResorceId () - and returns
a unique identifier of the resource. Similarly, the role
must implement the interface ZendAclRoleInterface,
containing method getRoleId ().
The system also provides base classes ZendAclRole
and ZendAclResource, that implement the appropriate
interfaces. All created roles are stored in an array (field
_roles class ZendAclRoleRegistry).
4. Findings
Using a mashup-technology and software architecture
makes it possible to develop software of web-based geo-
graphic information system with the following features:
Keeping the rules of access to spatial data and the
functional component of Web GIS.
Organization of role regulated access to the data of
master plan (objects, groups of objects, functions and
User registration in a Web GIS.
User-defining as a group member.
Assigning of the group members with the access to
spatial data on a set of layers, on the territory of this
region of the general plan, the type of engineering
Assigning of the group members with the access to
the technological capabilities of the system, repre-
sented as a function of Web-GIS client.
Audit of users in the electronic environment master
plan. The major controllable actions are the creation
of spatial objects, view information about objects,
edit spatial and attribute data, deleting data.
Identifying the layers of electronic master plan to
include in the audit mode.
Assigning users and groups rights to user interface
elements Web-GIS client: GIS layers, information
reports, GIS functions.
Two modes of operation to the parameter assignment
of access rights:
Auto assigning rights through objects. It is recom-
mended if you want to assign multiple roles of the
right to a single object.
Auto assigning permissions through roles. It is rec-
ommended if you want to assign a role of law for sev-
eral properties.
Inheritance of access privileges on the parent role.
Formation of a query to filter the data according to
the user’s session with its current access rights.
Reporting of users access the spatial data warehouse
objects and actions on these objects for a specified
period of time.
The material in this article was developed with the fi-
nancial support of the Ministry of Education and Science
of the Russian Federation in the framework of the event
2.4 Federal Program “Research and development on pri-
ority directions of scientific-technological complex of
Russia for 2007-2013”, the state contract 07.524.
[1] Y. B. Gritsenko, Y. P. Ehlakov and O. I. Zhukovsky,
“GIS Technology Monitoring Engineering Networks:
Monograph,” Tomsk: TUSUR, 2010, p. 148.
Copyright © 2013 SciRes. JSEA
Mashup-Technology in Web-Based GIS Design
[2] Y. B. Gritsenko and O. I. Zhukovsky, “Typical Architec-
tural Solutions GIS Engineering Infrastructure of the En-
terprise,” Reports of the Tomsk State University of Con-
trol Systems and Radio Electronics, 2011, Vol. 2, No. 24,
pp. 171-175.
[3] Model-View-Controller. 2012.
[4] Front Controller pattern. 2012.
[5] Zend Framework. Programmer’s Reference Guide. 2012.
Copyright © 2013 SciRes. JSEA