he convergence of cartography, geography and computing ranks among one of the greatest accomplishments of information technology. Digitized maps and data sets, coupled with powerful computer-aided design applications, relational databases and analytic software, all combine to create GIS—geographic information systems that for more than two decades have served municipal government planning departments, oil-and-gas exploration firms, foresters, even corporate executives seeking expansion sites for new stores or restaurants.
GIS applications and data sets, running on mainframes, high-end workstations and servers, and even on some desktops, remain critical to specific markets and industries. But even so, GIS is a niche technology. For the mass market of business users and consumers, GIS is too complicated and expensive, both for the software and for licensing its huge data sets. While an oil company probably uses GIS to help it locate oil reserves and plot new distribution pipelines, the technology doesn't lend itself to, say, building a mobile application to dispatch the nearest service technician to a to a remote job site.
Enabling those new breeds of Internet applications comes a different platform, MapPoint Web Service, a set of APIs that developers can incorporate into enterprise and customer-facing applications to add address lookup, map rendering, and location-aware functionality at a low cost and with minimal programming. It's interesting to look back at the evolution of this innovative service and how it's long been envisioned as a development platform, rather than as a traditional GIS. (For more on how to develop applications with the MapPoint Web Service, and its companion MapPoint Location Server, see Intro to the World of Mapping and Location-based Services.)
Maps for Business Travelers
Many of today's best-known GIS systems began as of mainframe- and mini-computer-based applications that combined a wealth of information, such as digitized maps, population and census data, climate and environmental resource data, and other resources into the ability to call up both analysis and maps, often with sophisticated overlays, in response to specific job requests.
Those giant non-interactive systems evolved down to workstation-based applications that either used a data subset or accessed server-based relational databases—generally, available on the local LAN or through host connectivity—in order to provide customizability and interactivity for the technical user, who might be a civil engineer, urban planner, geologist, architect or other trained professional who knew how to both use the software and interpret the results. Such GIS applications are still in widespread use today.
By contrast, MapPoint evolved out a set of features developed for Microsoft's desktop mapping product, Streets & Trips. The underlying was also used in an early Microsoft travel-oriented Web site, called Expedia, according to Steve Lombardi, Microsoft's technology evangelist for MapPoint. The Expedia site, which helped consumers and business professionals book airline flights, rental cars, and hotel rooms, used the mapping feature to provide driving directions and highway diagrams.
Expedia, of course, spun out from Microsoft a long time ago—its IPO was announced back in November 1999. However, during that spin-off, the mapping technologies and servers remained part of Microsoft's technology lineup, not only as part of its desktop mapping software, but also to provide mapping services for including the new Expedia Inc. and Microsoft's MSN, explained Lombardi. Around that time, Microsoft began beefing up MapPoint as a separate brand, including a consumer-oriented Web site.
|The technology has continued to evolve, with improved APIs and methods for Web services developers using not only .NET, but also Java or other platforms.|
Moving to XML-Based Web Services
The world changed in April 2002. Until that date, the MapPoint servers had been providing their data to Web portals—such as Expedia, MSN, and a handful of others—using custom HTTP transactions over IP. Such custom protocols and data formats were the industry-standard way of integrating distributed applications over the Internet, and limited the scalability of the MapPoint service.
In early 2002, however, the MapPoint back end was redesigned as one of the first applications exposed via XML-based Web services, using SOAP-based API calls and XML-formatted data and metadata to integrate Web portals with the application server and huge databases in Microsoft's Web farm. Not only was the back-end system able to continue provisioning consumer-facing portals and partner offerings with maps and driving directions, but the servers themselves became a full-fledged development platform—MapPoint Web Service.
Steve Lombardi describes that initial release of MapPoint Web Service as being successful in serving its target audience—companies putting store locators on their Web sites. With most other solutions then available, those types of maps would have to be manually created using scanners or a GIS system, and delivered as static images to consumers. Using the MapPoint Web Service functionality, store locators would be dynamic, able to show consumers the locations closest to their address, sorted by distance, and could even display those ever-necessary driving directions. With that functionality, MapPoint Web Service was off and running.
Since then, the technology has continued to evolve, with improved APIs and methods for Web services developers using not only .NET, but also Java or other platforms. Version 3.5 of the MapPoint Web Service, for example, added new functions for finding addresses, non-addressable locations, and address parsing. The geographic and point-of-interest database behind the MapPoint service continues to grow, and Microsoft recently added the ability for companies to upload their own location databases directly to the MapPoint Web Service, with searchable attributes and custom icons for business locations. (For more about coding with the MapPoint Web Service, see Explore Methods and Classes in the MapPoint Web Service API.)
The recently released MapPoint Location Server is a companion product to the MapPoint Web Service that adds a whole new level of functionality—location-awareness—to enterprise applications. MapPoint Location Server can connect real-time location geographic information about mobile devices to applications, in order to improve customer service and track key assets using ordinary cell phones and wireless PDAs. This type of functionality, which includes a lot of complex controls on data privacy, as well as back-end communications with wireless and cellular service providers such as Sprint and Bell Mobility, enables applications that simply couldn't have been created before without using special mobile hardware and GIS technology. (For some ideas of how MapPoint Location Server can be used in business applications, see Location Matters: Applications of Position-Aware Software.)
The Roadmap Ahead
Meanwhile, the MapPoint Web Service continues evolving. While Lombardi wouldn't go into specifics about the next set of service enhancements, he said that Microsoft would continue building out the breadth of location-based services, and also continue simplifying the process of developing applications that use the Web service. He also hinted that new analytical features that allow users and applications to interpret information displayed on maps or in the MapPoint databases may be coming in 2005.
Does that mean that MapPoint Web Services will replace traditional GIS systems? Of course not. GIS will always provide the type of specialized functions that foresters need in order to plot the development of animal habitats, or that your city uses to plan highway improvements. But when it comes to developing geography-aware applications for consumers, or building location-exploitive functions into enterprise applications, MapPoint Web Services is taking us in the right direction.