Mobile Location Services: The Application Server
Mobile location service applications require the complex systems integration of many different technology components. The spatial analysis server that is designed to provide routes, maps, and points of interest is highly specialized for the scalability and performance requirements of a carrier class application. Map database quality and coverage varies significantly among map data vendors. Because most spatial analysis software vendors require data compilation in a proprietary data format, there is no assurance that the necessary coverage will be available when it is required. Positioning products are dependent on the mobile operator's network and handset technology.
It is important that a mobile location service infrastructure is designed with extensibility in mind as well as cost. This is particularly true if you don't own your own mobile network (i.e., a telematics service provider from the automotive space or an emergency services provider). An application server architecture provides a framework for extensibility. An application server allows you to develop and shelter the business logic that will differentiate you from your competitors and save you from having to rearchitect or throw out your system if a component in your architecture needs to change.
There are many reasons to approach a location service infrastructure as a series of logically discrete components integrated through business logic stored in an application server. It allows you to create infrastructure services based on industry standards for the various specialized components required. Your positioning interface might be based on the specifications recommended by the Location Interoperability Forum (LIF; see Appendix C) and your spatial analysis server interface might be based on the Geography Markup Language (GML; see Appendix B) specifications recommended by the Open GIS Consortium. The major advantage is that any one piece of your infrastructure is insulated from problems in another component. It allows you to replace components that do not deliver acceptable results without impacting the rest of the system, and it also allows you to potentially mix and match components. If your organization has a network with a positioning system that only supports assisted GPS and you acquire a company with a network that has a positioning system based on Enhanced Observed Time Difference (E-OTD), you would not necessarily have to replace the E-OTD infrastructure. Another example is your spatial analysis software. You might find one product works very well in North America, but does not handle the particularities of the European market well. Perhaps the software has poor or no map data support in a region you need coverage in. It is unnecessary and potentially expensive to be locked into a proprietary protocol.
What Is an Application Server?
An application server provides a server-side platform for building and deploying business logic. This business logic can be distributed across both client and server or can reside solely on the server. Most businesses use this concept today in systems that range from mainframe transaction systems to the stored procedures of client/server database management systems. All application servers have at least three discrete layers that interoperate: business logic layer, presentation layer, and data access layer. The business logic layer is the heart of the application server where all the intelligence and business rules are encapsulated in object-oriented reusable components. The data access layer allows the integration of specialized and discrete services that are made available to the components in the business logic layer. The presentation layer provides the methods and interfaces for delivering content from the application server. A simple example is the generation of a Hypertext Markup Language (HTML) Web page that is sent back to a user's Web browser. Of course the content presented could be nearly any format and any protocol, such as a Wireless Markup Language (WML) document sent over the wireless transport protocol or an XML document returned to a machine requestor via SOAP. A simplified example of a location-based services infrastructure designed in an application server environment is shown in Figure 3.1.
Figure 3.1 Simple LBS Infrastructure.