Architecture |
SuperMap iServer adopts service-oriented architecture. SuperMap iServer primarily consists of SuperMap iServer (server side) and SuperMap iClient (client side).
This Help document mainly introduces SuperMap iServer. For more information about SuperMap iClient, please refer to SuperMap iClient help.
SuperMap iServer provides GIS users with various network-based GIS services. In order to satisfy demands from all industries for GIS applications, SuperMap iServer offers an open and extensible service framework, which provides not only management for all iServer services, but also provides a more flexible, agile service architecture. Currently, all of the GIS services offered by SuperMap iServer are built on the basis of this service framework, such as REST map service, REST data service, WMS, and so on. Users are allowed to develop their own services based on this service framework.
iServer service framework employs the three-layer architecture, that is, GIS service provider layer, GIS service components layer, and GIS service interface layer. The GIS service provider layer firstly implements the specific GIS functional entities. Then the GIS service component layer encapsulates the functional entities into the coarse-grained components. Interactions between the functional entities and service components, iServer services and iClients are going through by the standard interfaces regulated by the interface layer. Currently, iServer offers a series of modules in each layer, which are loosely coupled. In the iServer service framework, the service management module can integrate co-related modules in the three layers with each other, so as to form a series of GIS services.
The modules on the GIS service provider layer mainly implement GIS features by the SuperMap GIS core or the third-part GIS services. For example, the UGCMapProvider module uses SuperMap iObjects Java to implement basic map operations; the WMSMapProvider module uses the third-part WMS to implement basic map operations; the AggregationMapProvider aggregates multi-source map services to implement basic map operations.
With the encapsulation and unity of GIS functional entities through GIS service provider, SuperMap iServer has implemented the seamless integration and aggregation on multi-source heterogeneous services.
GIS Service Component combines service capabilities offered by GIS Service Provider, and then encapsulates those services into the coarse-grained service components.
GIS Service Component contains Generic Spatial Service and Domain Spatial Service.
Generic Spatial Service refers to the common GIS services, like map service, spatial data service, spatial analysis service, network analysis, and so on. Domain Spatial Service describes GIS services on the specific industries, and users make development and configuration on generic spatial service to meet with their own industrial demands. In this case, the generic services plus with sector demands can be widely applied in all industries. For example, in the meteorological field, based on the generic spatial service, plus weather report service, meteorology warning service, etc., it will design the meteorology field service that meets that field's demands. Users can look up the weather condition in one city using this service, and display the result on the map, as well as query the areas in the warnings status.
SuperMap iServer publishes various types of services through GIS Service Interface, including Web Service and Native Service (such as RML, WCF TCP, etc., which are not supported presently). Web Service refers to a broad concept, which means the accessible services permitted by standard Web protocol, including REST service, SOAP service, OGC W*S service (WMS, WMTS, WFS, WCS, WPS, etc.), KML service, GeoRSS service, binary service, and so on. These services represent themselves as GIS service interfaces, like REST service interface, SOAP service interface, etc., and users can use iServer GIS services by calling these service interfaces.
Interface layer in SuperMap iServer framework is a media between iClient and service component. The Interface layer opens a door through which users have access to the services. The advantages of Interface layer are as follows:
1) Interface layer makes the business logic process and the interaction between services and iClients separated, which has greatly improved the ability to business component timely responding to the changing business environment.
2) Various service interfaces based on different communication protocols or public service standards co-exist, making GIS services support different communication protocols and be suit to ever-change operation requirements, e.g., to publish basic map service as REST service, SOAP service, WMS service, etc.
The three-layer structure of SuperMap iServer also provides a good framework for Domain Spatial Service Extension. Users can develop their own modules at any layer according to their business demands.
Besides GIS modules, as an enterprise GIS server, SuperMap iServer completely enjoys its server capabilities in the system structure, mainly including cluster, cache, management, log, and so on.