Geoboost™: an AJAX Web 2.0 Collaborative Geospatial Visualization Framework Stephen G
Total Page:16
File Type:pdf, Size:1020Kb
GeoBoost™: An AJAX Web 2.0 Collaborative Geospatial Visualization Framework Stephen G. Eick, M. Andrew Eick, Jesse Fugitt, Russell A. Lankenau SSS Research, Inc 600 S. Washington, Suite 100 Naperville, IL 60565 [email protected] Abstract1—Recently a new class of applications has thinc Interface is a thin client AJAX visualization emerged that uses AJAX and other web programming framework built that uses Scalable Vector Graphics as its techniques to provide a rich user experience in a web rending API and ingest live RSS and RSS namespace browser. This class of applications is being called Web extensions and renders the information in browser-based 2.0 and includes Google Maps and Google Suggest. To visual components. thinc Interface contains a set of experiment with this approach, we have developed a Web reusable visual components including: 2.0 thin client collaborative visualization framework called GeoBoost™ that uses Scalable Vector Graphics • Interactive Maps that display image, feature, and and AJAX to provide a rich user experience built around live GeoRSS data from multiple sources collaboration. Our framework includes geospatial maps, • Business Charts including Bar, Pie, and Line standard business charts, node and link displays, and Charts custom visual displays. All of our visualization • Network and Graph Displays components run in standard web browsers and provide • Hierarchical, Tree, and Tree Map Displays rich interaction and collaboration. • Time Lines, and • Various custom components. TABLE OF CONTENTS 1. INTRODUCTION......................................................1 These components are interesting because they have the 2. TECHNOLOGY BACKGROUND ...............................2 capability to connect to live RSS streams, ingest the real- 3. GEOBOOST SYSTEM ARCHITECTURE...................3 time data, and display the resulting information. The 4. THINC INTERFACE VISUAL COMPONENTS ............4 programming model for thinc Interface components is 5. THINC INTERFACE MOBILE CLIENT .....................7 also interesting and involves JSP custom tags and .NET 6. SUMMARY AND CONCLUSIONS............................10 Web controls. As a result it is easy for programmers to 7. REFERENCES .......................................................10 include thinc Interface components in their web 8. BIOGRAPHY .........................................................10 applications using standard HTML tags. The GeoBoost map client is particularly interesting and supports rich interactivity such as panning, scrolling, zooming and the 1. INTRODUCTION drawing of data points which define arbitrary polygons. These polygons can be propagated to other connected GeoBoost™ is a Web 2.0 Web Mapping Platform for users to allow collaboration over the marked area of building thin client geospatial applications. GeoBoost interest. Additionally, the GeoBoost environment runs in both J2EE and .NET environments and leverages consists of geospatial enabled applications such as geo- new programming techniques such as AJAX fencing of marked area’s of interest, alerting connected (Asynchronous JavaScript and XML) and browser-based and disconnected users when objects enter and exit the graphics standards such SVG (Scalable Vector Graphics) marked area. to enable developers to build rich, interactive thin-client geospatial applications that support collaboration. The Second, on the back-end, GeoBoost provides a series of advantage of this approach to building applications is that servers to stream imagery, feature data, and RSS for thin client applications run natively within browser consumption by GeoBoost thinc visual components. Thin without the need to install any client software, applets, or clients have limited processing power and systems built plug-ins. This advantage translates into low-cost around thin client architectures need more server support deployment to many users and the ability to support many than equivalent desktop systems. Thus GeoBoost server devices for real-time operational decision-making. components enable flexible data ingestion, image and feature data tiling, tile caching, performance optimization, The GeoBoost system consists of three components. and provide built-in support for tracking and First, GeoBoost clients are built using a JavaScript collaboration features. These server components are Visualization Framework that we call thinc Interface™. necessary to support thin client interfaces and 1 applications. 1 1-4244-0525-4/07/$20.00© 2007 IEEE SSS Research Proprietary 1 client application is launched by the user. The user GeoBoost uses an open extensible architecture and interface provides interaction with the rest of the supports relevant standards. GeoBoost is built around application and the app loads data that it needs from the open standards such as GML (Geography Markup user’s hard drive. Many times, the data used by the Language), RSS, GeoRSS and other RSS extensions. application is in a proprietary format that is specific to the GeoBoost consumes imagery and feature data from both application. Although the richness of the user interface is OGC® (Open Geospatial Consortium) compliant sources often very good, the drawbacks of a fat client application such as WMS (Web Mapping Service) and other native are numerous. It is difficult to get new data or upgrades formats such as NGA’s [3] RPF and LizardTech’s [4] to the application without having another install process. MrSID. Storing the data in a proprietary format makes it difficult to ingest different types of data or work with other Third, using our GeoBoost framework we have built two applications without introducing specific interfaces to applications. The first application FUSION™ ingest air support the new functionality. traffic, air space, restricted airspace, and weather patterns and is used by the Air Force for Air Traffic Management. A web application solves several of the problems The second application targets asset tracking. It is used to apparent with a fat client application. Since a web track the locations of employees, guests, and other assets application is stored on a web server and launched by inside a casino. browsing to a specific URL in a web browser, the entire application deployment process is greatly simplified. The benefits of the GeoBoost platform include: Upgrading the application is also easier as the user will automatically see the new application when they browse • Provides the user with rich desktop user to the URL, if the web app has been upgraded since the interface functionality in a browser last time they used it. Data can be retrieved from a local • Supports real-time collaboration without hard drive as with a fat client application or it can be proprietary client software retrieved by requesting it from remote URLs on other • Enables inexpensive and large deployments networks. since no client software is required to be installed To be able to ingest data from different sources, the need • Provides web developers with a platform for for data standards in web applications becomes very rapidly building geospatial and thin client obvious. Groups such as the Open Geospatial applications Consortium (OGC) have defined geospatial related • Supports the relevant open standards including standards that many web applications implement. OGC WMS, WFS, GML, RSS, GeoRSS Another important difference is that extending a web application’s functionality is often much easier than extending a similar fat client application. The server 2. TECHNOLOGY BACKGROUND architecture of a web application can be designed in such a way that it supports a plug-in based approach so that Applications built using the GeoBoost™ platform are individual pieces of functionality can be easily added or described as Rich Internet Applications [5] (RIAs). removed. However, the missing component for most web Although Macromedia coined the term, a RIA today is applications until recently has still been the responsive understood to be an application that runs in a web user interface that is common in fat client applications. browser and provides an interactive and responsive user interface that has traditionally been found in desktop Moving from Web 1.0 to Web 2.0 applications. Until recently, the only software Traditional web applications also known as Web 1.0 applications that could provide this level of work on a client-server model. The client, a web responsiveness desired were the standard “fat client” browser, issues an http request to a server for a new page applications that require client-side installation and run as when the user clicks on a link. The web server, usually a native client applications. Recently, a new class of Apache or IIS, does some processing, retrieves RIAs has emerged that run completely within a web information from legacy systems, does some crunching, browser. These applications offer many benefits over and sends a formatted page of hypertext back to the client traditional fat client applications. In this section we will for display. This approach is the simplest technically, but describe some of these benefits and discuss other attempts does not make much sense from the user perspective. to provide this functionality. The reason for this is the latency, one to ten seconds, between when the user requests the page and when it Fat Client Application vs. Web Application finally loads. Because of this latency it is not possible to To understand the benefits inherent to a web application, use direct manipulation user interfaces [1].