Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL

Chapter 8. Server-side integration > Server functionality

8.1. Server functionality

An LBS server provides most of the functionality for the mobile clients. An LBS server can be a single server running over a simple database or it can be a scalable cloud solution that’s spread over multiple databases. No matter how complicated or simple, all LBS servers share some common characteristics, and they provide a common set of functionality. Now let’s look at what a typical LBS server does to understand the scope and responsibilities of an LBS server:

  • Manage end users— Log in and log out end users and handle their permissions to access and update data. In most applications, a user has to log in to the system to be able to access the appropriate resources, for example, the content that they have created previously in the application. For location-based social networks, users have to log in to update their location and other data.

  • Serve map tiles— Render and serve map tiles to the clients. The LBS server sends the appropriate map tiles rendered with the preferred styles (terrain, satellite, hybrid, and so on) to the client. Please see section 3.3 and section 8.6 for more on this.

  • Manage the locations and states of dynamic entities— Insert, update, and remove locations of dynamic entities, such as users and vehicles that are being tracked. Especially for location-based social networks, each user is a dynamic entity that can move around the map. The LBS server has to keep track of the location of each dynamic entity in the system.

  • Manage user-generated content— Insert, update, and remove user-generated content (UGC), such as reviews for businesses or favorite locations. In most LBS applications, users can create location content such as their favorite spot in the park or where they’re having their birthday party. The LBS server saves and indexes all UGC.

  • Manage POIs— Import and manage POIs (as shown in figure 8.1) from multiple sources. The LBS server imports POI data from third parties and indexes it so that it can serve relevant POI data to the clients.

    Figure 8.1. Various different types of POIs seen in an LBS application

  • Dynamic search— Search and return dynamic entities, such as users, around a given location. This is the same as static search except the entities returned are dynamic, such as users and vehicles.

  • Routing— Find and return the route between two given locations. The LBS server finds the best route between two given locations and returns the turn-by-turn navigation information to the mobile client, as shown in figure 8.2.

    Figure 8.2. Results of a routing request displaying turn-by-turn directions

  • Alerts— Alert for certain events, such as fencing. Fencing allows an alert to be sent to a client when a user enters a region (static fencing) or when two dynamic entities are close to each other (dynamic fencing).


You are currently reading a PREVIEW of this book.


Get instant access to over $1 million worth of books and videos.


Start a Free 10-Day Trial

  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint