A single API supports designing and deploying applications across multiple platforms:
- Client-server (AJAX, JSON, XML)
- Server
- Desktop (thick client)
- Mobile (including navigation)
There are many different deployment scenarios that can be supported by the GeoBase SDK, the four most common are described below:
Client /Server Applications
In this deployment model the map data is stored on a server where the geospatial processing for all tasks takes place. The functionality of the GeoBase engine is exposed to the thin client applications via a web services technology called GeoStream. There are two client APIs that are supported by GeoStream, a robust, flexible, and extensible JavaScript API that supports AJAX style browser applications and an ASP.NET client API, both of which mirror the base GeoBase object model enabling easy porting of code and rapid application development for developers familiar with the GeoBase SDK. Thin client applications on any platform or target device interact with GeoStream over an HTTP network.
Server Based Applications
In this deployment model GeoBase libraries are compiled into server-based applications that support the desired functionality. These apps can be native services, web services or purpose-built application that process geospatial data as a part of enterprise operations.
Thick Client Applications
In this deployment model (as in the previous one) GeoBase libraries are compiled into native applications that are designed to run on the desktop. The map data is resident locally on that desktop which may or may not communicate with mobile clients, databases, or other enterprise systems. Common applications for this model include AVL, tracking, planning, and dispatching applications.
Mobile Applications
The GeoBase SDK includes a set of libraries that are designed to run on mobile devices. While these devices may be connected to server side applications, the map data and all geospatial processing are local to that device obviating the need for a constant connection. Real-time navigation is the hottest use case for in this deployment model, but apps that simply display map data, do reverse geocoding, or support data collection/editing are all supported among many others.