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.