In the previous chapter, we looked at setting up vector data stores from spatial databases and then publishing tables as layers. This type of data is known as simple features, and is the type of data that will most commonly be served through GeoServer. However, it is possible that you will need to deliver a more complex dataset that is relational in nature and built from multiple data sources.
With a little bit of effort, it is possible to set up GeoServer so that you can deliver complex feature datasets to your users. In this chapter, we will discuss how this can be achieved using GeoServer's app-schema extension. By the end of this chapter, you will have a better understanding of:
What a complex feature is and how it differs from a simple feature
What an application schema is and how it can be used
How to install and configure the app-schema extension
How to configure the app-schema extension to serve a complex feature