Configuration of Service Aggregation

Feedback


SuperMap iServer service aggregation refers to the integration of different types and sources of services into SuperMap through standardized processes. In the iServer system, it is published to the GIS client in a unified way.

SuperMap iServer can aggregate maps from different sources into one map and present it to the client. For example, it can aggregate the "World Map" from the World.sxwu workspace and the "Beijing Tianjin Population Distribution Map_topic Map" from the Jingjin.sxwu workspace into one map, "aggMap". "aggMap" is a map that covers all the content of "World Map" and "Beijing Tianjin Population Distribution Map_topic Map". The client can obtain all the map functions by using "aggMap" without knowing the implementation details of the server. Similarly, SuperMap iServer can also aggregate different types of services, such as aggregating the "China Map" from a WMS service into the aforementioned "aggMap", so that the "aggMap" covers all the content of "World Map", "Population Distribution Map of Beijing Tianjin Region" and "China Map".

The service aggregation of SuperMap iServer is implemented in the service providers layer, and the service aggregation is configured through the configuration of service providers. SuperMap iServer provides aggregated service providers (AggregationMapProvider, etc.) for service aggregation.

Basic Process

Basic operation process of service aggregation:

  1. Prepare the service providers to be aggregated, and ensure that the coordinate system is consistent
  2. Create aggregate service providers (aggregator)
  3. Create GIS service components
  4. Interfaces for the associated aggregation service publishing, such as REST

Aggregate Map Service

SuperMap iServer provides AggregationMapProvider for aggregating map functionality, that is, aggregating different maps to provide complete map functionality. Maps of different types and sources are organized as map service providers at the service provider layer. AggregationMapProvider aggregates these map service providers and supports the aggregation of TiandituMapProviders. For a detailed introduction to the map service providers provided by SuperMap iServer, please refer to: Service Providers.

AggregationMapProvider can be configured through both the administrative interface and the config file.

Configuration mode of management interface

Open the service management server, and click "add provider" under the "service/service providers" tab, as shown in the following figure:

Select "Aggregation Map Provider" in the provider type of the pop-up dialog box. Select the provider name to be aggregated (the service manager will automatically list the map service providers that can be aggregated for selection), and add it to the selected list. Then fill in aggregated map name, aggregation name, and the name of the map participating in the aggregation to successfully add an aggregation map provider.

Note: The order of map aggregation here is consistent with the order of "selected service provider names". The aggregated effect is that the map of Beijing Tianjin region is at the top and the world map_night is at the bottom. If the map name is filled in incorrectly, the resulting map will be the first map in the list of maps published by the corresponding provider.

Config file configuration mode

The iServer supports adding aggregated service providers by modifying the user custom service config file (iserver-services.xml). See the Service Config File Structure for details.

Now, take the sample service (iserver-services.xml) provided by iServer as an example. To add a provider, you need to add a child node < provider > to the < providers > node and configure an example of an AggregationMapProvider is as follows:

<!-- Map aggregation service provider, please note that currently when using a map aggregation service provider, the port number for caching image access paths in all involved Provider and MapImpl configurations must be fixed and cannot be replaced by {port}.
-->
<provider name="jingjinworld" inner-providernames="ugcMapProvider-Jingjin,ugcMapProvider-World" class="com.supermap.services.providers.AggregationMapProvider">
        <config class="com.supermap.services.providers.AggregationMapProviderSetting">
                        <outputPath>../webapps/output</outputPath>
                        <outputSite>http://localhost:8090/output/</outputSite>
                        <name>jingjinworld</name>
                        <targetName>jingjinworld</targetName>
                        <mapNames>
                                <String>Map of Beijing Tianjin region</String>
                                <String>World Map_Night</String>
                        </mapNames>
        </config>
</provider>

In the < provider > node, the inner-providerNames attribute is the service provider that has been configured in the config file and needs to be aggregated. There can be multiple service providers, separated by ",". Property is the implementation class of aggregate service providers, which is AggregationMapProvider. The configuration class corresponding to aggregate service providers is AggregationMapProviderSetting, and the meanings of its configuration items are as follows:

Note: When configuring as a configuration file, in the inner provider names parameter, fill in the map corresponding to the provider in front of it. The aggregated effect here is that the map of Beijing Tianjin region is on top and the world map_night is on bottom. If the map name is filled in incorrectly, the resulting map will be the first map in the list of maps published by the corresponding provider.

The aggregation map provider can be used by map components to publish map services.

Aggregate Data Service

SuperMap iServer provides AggregationDataProvider for aggregating data functionality, that is, aggregating different data sources. For a detailed introduction to the data service providers provided by SuperMap iServer, please refer to: Service Providers.

The AggregationData Provider can be configured through both the administrative interface and the config file.

Configuration mode of management interface

Open the service management server, and click add provider under the "service/service providers" tab, as shown in the following figure:

Select "Aggregate Data Service Provider" in the service provider type option of the pop-up dialog box, choose the name of the service provider that needs to be aggregated (the service manager will automatically list the data service providers that can be aggregated for selection), add it to the selected list, and then fill in the aggregated data source name and data source description information to successfully add an aggregated data service provider.

Config file configuration mode

The iServer supports adding aggregated service providers by modifying the user custom service config file (iserver-services-user.xml). See the Service Config File Structure for details.

Now, take the sample service (iserver-services-user.xml) provided by iServer as an example. To add a provider, you need to add a child node < provider > to the < providers > node and configure an example of the AggregationDataProvider is as follows:

<provider name="aggDataProvider" inner-providerNames="ugcDataProvider-World,ugcDataProvider-Changchun"
                                class="com.supermap.services.providers.AggregationDataProvider">
        <config class="com.supermap.services.providers.AggregationDataProviderSetting">
                        <name>aggData</name>
                        <description></description>
        </config>
</provider>

In the < provider > node, the inner-providerNames attribute is the service provider that has been configured in the config file and needs to be aggregated. There can be multiple service providers, separated by ",". Property is the implementation class of aggregate service providers, which is AggregationDataProvider. The configuration class corresponding to aggregate service providers is AggregationDataProviderSetting, and the meanings of its configuration items are as follows: