Beyond 'Request-Response' Modes of Web Services

Using Flash and Flex

Geographic Information Systems (GIS) services today are going mainstream. Corporate executives and individuals at home are demanding access to many of the same GIS capabilities previously used only by engineers, geologists, and government officials.

ESRI's ArcWeb Services are at the forefront of expanding demand for interactive GIS applications. Using subscription-based Web mapping APIs, developers can integrate mapping, GIS functionality, and content into applications delivered online or on desktops, handheld computers, and other devices. Every day, ArcWeb Services serves more than 6 million mapping requests, helping companies manage commercial fleets, analyze demographic data to spot trends, map locations, and execute other requests.

As the reach of GIS expands, new approaches are needed to develop Web services that are more intuitive, interactive, and visually engaging. Typically, ArcWeb Services developers program in variety of programming languages including Java, .NET, and PHP to build request-response infrastructures for presenting increasingly complex data sets that mix archived information with real-time data feeds from ArcWeb Services. The applications generally wait for some input from the end user, and, once a request is completed, the application waits for the next input.

To address new demands for GIS capabilities, the ArcWeb Services team took a closer look at Adobe's Macromedia Flash and then evaluated Adobe Flex. Flex addressed several needs. First, it lets ArcWeb Services deliver dynamic content as SWF files, providing flexibility in the type and richness of geographic information available to customers. This content is delivered through ArcWeb Services Explorer, which is currently based on Flex 1.5 and will be migrated to Flex 2 in the next release.

With ArcWeb Services Explorer, developers can now build Rich Internet Applications (RIAs) that provide geographic functionality and content in a desktop-like environment. The capabilities are encapsulated within the ArcWeb Services JavaScript API, which allows developers to embed ArcWeb Services Explorer into a Web application with just a few lines of code.

In addition, Flex provides the ability for applications to take advantage of vector graphics, which are mathematical representations of images that contain points, lines, curves, and polygons. Vector maps are vector graphics that contain information related to individual geographic features within the map image, such as roads, lakes, national parks, overpasses, and elevation data. The applications can now interact with the individual features. For example, features can be highlighted or turned on and off, objects can be dynamically moved around, and even sound and movies can be embedded. The vector mapping capabilities are made possible by Flex, and they are the key to providing ArcWeb Services customers with desktop-like functionality.

In comparison, traditional raster map images, such as bitmaps (.bmp) and GIFs, are static and are designed to provide only a description of the colors within the image. Raster images were designed to be rendered, rather than to contain or enable functionality, and are the format of choice for delivering mapping applications that require visual precision, as in satellite imagery.

With vector-based mapping functionality, ArcWeb Services developers can now rapidly build and deploy Flash-based client applications that directly interact with individual features, as well as multiple layers of data. For example, a street map can be used as the base layer and a zip code boundary shape file can be overlaid on top of that. Then, demographic information can be overlaid as different colored, semi-transparent shadings. This application can be built using just the ArcWeb Services JavaScript API.

The rich Internet mapping applications our customers are developing today have dramatically changed how people access and interact with content. For instance, ArcWeb Services can be used to enhance a real-estate Web site. Rather than limiting users to searching by zip codes or street addresses, clients can draw their own boundaries on screen. The real-estate application then automatically searches for properties that meet their criteria - price, size, specific features - within their drawn boundaries. Search results are presented as rich content, including video and interactive maps.

Other clients are finding new ways to engage with once-static online maps. Mapping services that simply showed people how to get from point A to point B are being replaced by more dynamic services that combine directions and images with real-time traffic and weather information. For instance, if the directions drivers received an hour ago are no longer optimal because of changing traffic conditions, the interactive system automatically pushes out new information, alerting drivers that route changes are needed.

A primary reason ESRI can deliver these enhanced services is that Flex gives ArcWeb Services more control on both the server and client sides. The ArcWeb Services Flash client provides a rich component library that doesn't require developers to spend a lot of time creating trees, tables, and canvases. With Flex, we have skinning, piling, and the ability to easily integrate other SWF components into ArcWeb Services' client interfaces. ArcWeb Services customers can now develop rich applications in hours that previously could have taken weeks to develop.

Based on our development experience and new client expectations, it is clear that the nature of Web services is changing. For many of ESRI's customers, simply receiving and viewing content is not enough. Instead, end users want real-time access to dynamic mapping content, trusting that the data and services they require will be available even before they ask for them.

More Stories By Mansour Raad

Mansour Raad is a senior software architect, ArcWeb Services, ESRI.

More Stories By Andy Gup

Andy Gup works in product marketing, ArcWeb Services, ESRI.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.