ISPRS Workshop on Service and Application of Spatial Data Infrastructure, XXXVI(4/W6), Oct. 14-16, Hangzhou, China
geographic information service and provides a standard
interface for users. By calling the interface, users can obtain
geographic information service. Each GIS component that is
hosted on GIS application server executes a geographic
information service function, such as map searching, terrain
analysis and so on.
Component container, which is a system layer GIS component
based on, provides space, running environment and system
service for GIS component. It is also responsible for the
communication between users and GIS components. All the
GIS components run on component container. And as the
system service is provided in system layer, developers don’t
need any consideration about them. And what they need to do is
the geographic information service logic designing.
Component management unit provides a man-machine interface
for developers to facilitate the GIS components management,
including GIS component building, installation, startup, stop
and deleting.
Connection management handles the connection with GIS
database. It also maintains a database connection pool which
used to release system burdens that will be taken place when
multi-users’ concurrent requests posted.
The public service, which is correlated to system layer, defines
a series of programming interface that is used by GIS
component. It is different from geographic information service
which is correlated to application layer. The two kinds of
service are totally different. Public service is the public portion
shared by all GIS components. It provides system service for
GIS component. And, geographic information service serves for
users and provides them with GIS functions.
5. CHARACTERISTICS OF THE MODEL
5.1 Reliability
In this model, geographic information service is implemented
by GIS component. Each of the components realizes a GIS
function. They are relatively independent and do not affect each
other, so the system still can provide geographic information
service to users even though there is something wrong with one
component. In addition, by adding more GIS application server
to the system and clustering them, if there is a server fail to
work, we can transfer some user requests to other machines.
The system is still working.
5.2 Expansibility
In this model, component and framework technology was
adopted. Therefore, we can adjust geographic information
service by adding or deleting GIS component according to the
needs of users. This makes the model with a high expandability.
When a new geographic information service is needed,
developers can meet the need just to add a GIS component that
implements the service to the model. Furthermore, we can
enlarge the scale of the model—by adding more GIS application
server and clustering them—in case of the system insufficient
when multi-users access system simultaneously.
5.3 Development Efficiency
The model introduces modularized development method, and
divides geographic information service into GIS component. So,
for developers, they don’t need to care about the technique
details of the system layer but focus on component designing.
Since the components in this model are reuse modules,
developers can build new service by assemble exiting
components into a new component that realizes the new service.
So the model provides an efficient way for developers to
develop a new system.
6. KEY TECHNOLOGIES
6.1 Load Balance
Because of the heavy data processing on geographic
information analysis, load balance technology is very important
to GIS application server. It balances loads on every computer
by distributing them reasonably, and avoiding some computer
over load but others under load.
To realize load balance of the model, load assignment algorithm
and the service implement techniques can be employed. At
present, there are two algorithms available for load balance.
One is the precise load assignment algorithm. In this method,
there is a distributor. When a request is received, system first
inquires distributor. Then, according to the algorithm, the
distributor decides which application servers process the request.
The other is statistic load assignment algorithm. In this method,
the requests will be assigned to a server according to the
probability and its weight which has been set in advance.
Another way to balance load is by using different service
implement techniques. One technique is that service
implemented based on process. Application server creates all
needed process initially, when a request is received, it will be
handled by a process that already exits. So, the system does not
create and terminate process frequently. The other technique is
that service implemented based on thread. Application server
only creates necessary process, when a request is received,
system creates a thread temporally and hand the request to the
thread. The thread will be killed after the response of the
request returned.
6.2 Cache Memory
Cache memory is used to save response of user’s request. It is
very essential for the model because it greatly improves system's
speed and efficiency. When a request, which had been
processed before, is received, the system just returns the
response that has been saved in cache directly to user but
doesn’t need to call GIS component. Thus, the system response
time is highly decreased. According to the contents saved in
cache, we can apply cache memory technology to the model in
two ways. One is to apply the technology in application layer,
which creates cache to store web pages. The other is to apply it
to data layer, which creates cache to store datum from database.
6.3 Database Connection Pool
Connecting to a database is a time consuming activity since the
database must allocate communication and memory resources as
well as authenticate the user and set up the corresponding
security context. Establishing the connection once and then use