The MAGIC Services are organized functionally as shown in the following table:
Service Name | Service Description |
Session | Connect to and disconnect from a MAGIC Service provider. Negotiate service conditions and parameters that persist for a complete session. |
Context | Set or get user and service provider preferences and defaults. Set or get service conditions and parameters that change occasionally during a session. |
Semantics | Parse and generate addresses and other place and route descriptions. Transform between human languages, writing systems, character encodings, and semantic categories. |
Query | Select and retrieve modeled elements based on spatial, temporal, and mobility relationships. Select geometry corresponding to addresses and other place and route descriptions (geocoding) and the reverse operation (reverse geocoding). |
Mobility | Plan travel. Review route, travel time, cost, sensitivity of planned travel. Receive real-time guidance during travel. |
Positioning | Control determination of, access to, and delivery of position, track, velocity and other motion data. Get motion data for this or other mobile terminals. |
Rendering | Submit a plan for a rendered depiction of a place, region, or route. Create a graphic (2- or 3-dimensional), text, voice, or other depiction based on a submitted plan. Interact with a rendering by pointing or selection. |
Update | Send information about the real world back to a service provider in order to augment or correct the underlying navigable model of the real world. |
This functionality is exposed at the API level via sixteen functions. Each function has two parameters, each of which is an XML document described by a schema in the MAGIC Services Registry at http://www.MAGICServicesForum.org/Registry/Schemas/
Full details are available on the MAGIC Services Forum web site at http://www.MAGICServicesForum.org/.
The key point is that the MAGIC Services are directly accessible as Microsoft .NET services, which can be connected to a Windows client application via automated proxy generation using a Visual Studio .Net web reference. One practical note: since Visual Studio.NET creates a proxy with a fixed target URL, it may be useful to manually edit the automatically generated proxy code. Assuming the proxy was generated for the Session service by making a web reference to the official WSDL definition at http://www.MAGICServicesForum.org/Registry/Interfaces/Session.wsdl/, the following changes can be made to allow the proxy to be pointed at any URL using an ISAPI extension DLL named MSP2_Session.dll, by replacing the generated code with a static binding such as
CMSP2_SessionServiceT(ISAXXMLReader *pReader = NULL) :TClient(_T("http://localhost/MSP2_Session/MSP2_Session.dll?Handler=Default"))
Previous Next |