Section 9.3. Microsoft Location Server Architecture


9.3. Microsoft Location Server Architecture

Microsoft Location Server consists of three core components :

  • Microsoft Location Server Web Service

  • Microsoft Location Server database

  • Microsoft Location Server providers

In this section, I will go through each one in detail.

9.3.1. Microsoft Location Server Web Service

Microsoft Location Server Web Service is a programmable web service that developers can use to build real-time location client applications for a variety of platforms, including Microsoft Windows, the Web, and mobile devices. This web service exposes an API for finding the real-time locations of users and their contacts, finding points of interest, and managing contacts. Unlike MapPoint Web Service, which is hosted by Microsoft, Microsoft Location Server Web Service is hosted within your enterprise. In order to host this web service, you need Internet Information Server (IIS) 5.0 or higher, along with Secure Socket Layers (SSL).

It is important to note that Microsoft Location Server Web Service is always hosted with Secure Socket Layers (SSL) enabled to mitigate privacy-related issues while communicating the real-time location over the wire. Due to this precaution, to communicate with Microsoft Location Server Web Service, your client (Pocket PC, Pocket PC emulator, or development computer) must be able to establish a trusted connection via SSL. A client can establish a trusted connection when MapPoint Location Web Service is deployed with a root certificate issued by authorities such as Verisign, Cybertrust, Thawte, or Entrust. However, during development, if Microsoft Location Server Web Service is deployed using a certificate generated by your enterprise, you must install the certificate on the client manually.

For information on adding certificates to a mobile device, see the Microsoft Knowledge Base article, Sample to Add Root Certificates to Pocket PC 2002.


9.3.2. Microsoft Location Server Database

The Microsoft Location Server database is a Microsoft SQL Server 2000 database used for storing information about provisioned users, contacts, and mobile operators, along with data related to points of interest (Find Nearby) categories. Microsoft Location Server exposes a set of management APIs for performing tasks such as provisioning users, managing contacts, and managing Find Nearby categories.

You'll need SQL Server 2000 with Service Pack 3 (SP3) or later to install the Microsoft Location Server database.

9.3.3. Microsoft Location Server Providers

Microsoft Location Server providers are software plug-ins required for communication with mobile operators. Usually, there is a location provider and a notification provider for each mobile operator. Because the implementation of location and notification providers is unique to each mobile operator, Microsoft Location Server does not currently expose APIs for developing location or notification providers.

The Microsoft Location Server includes a demonstration location provider for testing purposes. This demo provider simulates real-time location scenarios against a configurable file with phone numbers and associated latitude and longitude pairs.

Working with the Demo Location Provider

There are a few scenarios where you may need to use Demo Location Provider (a plug-in that actually talks to mobile phone carriers to get the location of a mobile phone) for programming with MapPoint Location Server:

  • Your mobile phone carrier is not (yet) supported by MapPoint Location Server.

  • You want to develop a demo application before asking the actual phone carriers for a location.

  • You want to test/troubleshoot your MapPoint Location Server application without using the mobile operator's network.

In these cases, you can use the Demo Location Provider that ships with Microsoft Location Server. The Demo Location Provider works off of a text file to return a simulated location for a provisioned user. You can manually edit this text file and hardcode locations against the provisioned phone numbers for testing purposes.

The good news is that no extra code (that is specific to the demo provider) needs to be written to work with the Demo Location Provider. To locate a phone number using the Demo Location Provider, follow these steps:

  1. Add a user (provision the phone number) either using the MMC or Server API.

  2. Add Demo Location Provider as the location provider for that user.

  3. Edit the TestLocations.txt file located in the Program Files\Microsoft MapPoint Location Server\MLS\WebService\Bin folder to add a simulated location for the user's mobile phone in the following format:

         Mobile Phone Number, Status Code, Latitude, Longitude, Delay

So, an example simulated location for a mobile phonefor example, (425) 555-1212 would be:

     14255551212,Success,47.6446802586242,-122.130220099595,1

Now you can locate this phone number using either the locator clients that ship with Microsoft Location Server or the APIs.


For more information about the demo provider, see the Microsoft Location Server Administrator's Guide, Version 1.0, which is included with Microsoft Location Server.


Figure 9-2 shows how all the core components work together to obtain the real-time location of a mobile device.

Figure 9-2. Location Server architecture


Now that you know the core components of the Location Server and how they work together, let's look at how to install the Location Server within your enterprise.




Programming MapPoint in  .NET
Programming MapPoint in .NET
ISBN: 0596009062
EAN: 2147483647
Year: 2005
Pages: 136
Authors: Chandu Thota

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net