This article explains how LuciadFusion integrates services. It helps you understand:

  • How a service interacts with data in LuciadFusion Studio

  • How the data structure in LuciadFusion Studio maps to the data structure in a service

Interaction of services with data in LuciadFusion Studio

In LuciadFusion Studio, users can upload, crawl, or add data. They can group data sets into products, and publish those products in a service of a certain type, such as the WMS, WFS, or OGC3DTiles service types.

These operations all happen within LuciadFusion Studio. LuciadFusion only needs to fetch basic information about the service type. The service type information helps LuciadFusion decide what data to accept for the service, and how to construct the endpoint URL of the service. LuciadFusion Studio provides the endpoint URL of a service to the user, either in the web application or in the REST API. The user can then use a client to connect to this URL, and interact with the service.

The service handles all interaction between the client and the service. LuciadFusion Studio is no longer involved at that point. You can see the endpoint URL as a handoff point where LuciadFusion Studio hands over control to the service endpoint. From that point on, the service must fetch information from LuciadFusion Studio and handle all client interaction. The benefit of this handover is that a service has full control over the interaction with the client, and can implement its protocol however it wants.

The figure Figure 1, “LuciadFusion integration: LuciadFusion Studio - WMS Service - WMS client interaction” shows the integration between LuciadFusion Studio and the WMS service type. LuciadFusion Studio fetches information from the WMS service type to know what data it can add, and how to construct the endpoint URL when a user creates a WMS service. The WMS service type fetches information from LuciadFusion Studio to get information regarding a specific service, its layers and data, while handling the interacting with the WMS client.

fusion services integration
Figure 1. LuciadFusion integration: LuciadFusion Studio - WMS Service - WMS client interaction

Mapping of the data structure in LuciadFusion Studio to the data structure in a service

Some service types organize the data available in a service into several layers or coverages. This structure of layers or coverages needs a mapping from the structure in LuciadFusion Studio. In LuciadFusion Studio, users group data sets that belong together in a product, with a service containing one or more products. Therefore, we can map a product in LuciadFusion Studio can to a layer or coverage in the service. For example, a WMS service can have many layers, with a product published in a WMS service corresponding to a layer in the WMS service. All data in a product is part of the same WMS layer.

product mapping
Figure 2. LuciadFusion Studio WMS service product mapping

Layers and coverages in a service typically have two properties to make them identifiable to users and machines accessing the service: a title and a name. If a service maps a product to a layer or coverage, it uses the title and name property of a product in LuciadFusion Studio for that mapping. LuciadFusion ensures that the name of a product is unique within a service, so that a layer or coverage can be uniquely addressed. For example, a WMS service uses the title and name property of a product as the title and name for a WMS layer.

product metadata mapping
Figure 3. LuciadFusion Studio WMS service product metadata mapping

In LuciadFusion Studio, a service also has title and name properties, which can serve to identify a specific service to clients. LuciadFusion enforces that the name of a service is unique among services of the same type. When it creates the endpoint URL of a service, LuciadFusion combines the endpoint path, which is specific to the service type, with the name of the service. That way, each service has a unique endpoint URL. The endpoint path of the WMS service type is /ogc/wms. For a WMS service named world_cities, the endpoint URL of the service is http://localhost:8081/ogc/wms/world_cities when you run LuciadFusion locally.

service mapping wms
Figure 4. LuciadFusion Studio WMS service mapping