[an error occurred while processing this directive] [an error occurred while processing this directive]
ArcUser Online
 

Summer 2008
Search ArcUser
 
ArcUser Main Current Issue Previous Issues Subscribe Advertise Submit An Article
 

E-mail to a Friend

Out of Chaos, Comes Order
Moving from client-server to service-oriented architecture
By Lisa M. Vicknair and Alan Poole, GeoEye

GeoEye maintains millions of reduced resolution browse images, representing its commercial and private product holdings. The existing imagery management system relies, in part, on outdated technology and server hardware and an automated process developed on legacy code. GeoEye is in the process of upgrading existing legacy systems to an object-oriented architecture using current technology and best practices within the following guidelines:

  • Esri ArcGIS Server 9.3 technology will be used to store and serve imagery, image attributes, and presentation layers (both raster and vector).
  • GeoEye will utilize out-of-the-box capabilities to develop Open Geospatial Consortium (OGC)-compliant Web services and applications, which will support one-touch delivery systems and role-based subscription services and enhance the overall search, discovery, and order fulfillment capabilities as well as the user experience.
click to enlarge
The legacy system lacks scalability and is difficult to support.

GeoEye, an Esri business partner, is the premier provider of geospatial information, imagery, and solutions for the national security community, strategic partners, resellers, and commercial customers to help them visualize, map, measure, and monitor the world. The company operates two earth-imaging satellites, IKONOS and OrbView-2, and two mapping aircraft; possesses an international network of regional satellite receiving ground stations; and has advanced geospatial imagery processing capabilities. GeoEye-1, the company's next generation earth-imaging satellite, has the highest resolution of any commercial imaging system.

With the recent launch of the GeoEye-1 satellite, the Business Systems and Applications group has been tasked with providing new tools for GeoEye's online catalog of imagery using up-to-date map visualization technologies now popular with many Internet users.

GeoEye's current online reduced resolution browse catalog relies on technology, processes, and code that are custom, complex, and difficult to support. Instead of refactoring the existing technologies, the Business Systems and Applications group decided to use ArcGIS Server 9.3, Google Maps, and Google Earth technologies. These systems allow for intuitive search and discovery of GeoEye online catalog items through many end points and client-based software packages. In early 2008, GeoEye deployed these packages and prototyped numerous applications and solutions that support future business applications.

click to enlarge
The future system is open and interoperable and will scale to meet user demand.

The Challenge

GeoEye manages millions of reduced resolution browse images using legacy technology, processes, and code. A single end point and a complex browser-based Web application allow Internet users access to GeoEye's online catalog. The system's lack of interoperability and scalability will not let it meet anticipated future requirements.

New state-of-the-art technologies, business processes, and code must be developed and implemented to support the diverse requirements of current and future customers. The goal is to provide a fast, fluid, collaborative, and interoperable user experience.

A Legacy of Chaos

GeoEye currently operates and maintains its online image catalog using complex custom technology, both hardware and automated processes, that is difficult to support. After more than nine years of operation, the legacy solution is being revamped and upgraded, not to repair system defects but to better support the requirements of GeoEye's current and future customers.

The legacy solution's hardware, databases, automation code, and the single front-end Web-based application are all candidates for replacement to transition to a new state-of-the-art solution.

click to enlarge
ArcGIS Server 9.3 is the backbone of the new system.

GeoEye, formed after the acquisition of Space Imaging by OrbImage, launched a site that provided online access to reduced resolution browse images in September 2000. This site gives customers access to these images, image attributes, and metadata from different air- and spaceborne sensors.

The first browser-based Web application, CARTERRA Online, launched in 2001, remains in operation. Many customers depend on this application, which has a simple presentation and is reliable. Since 2001, users have had access to additional tools and services with little change to the usage of the original Web application.

This system is summarized in the accompanying sidebar. Stable back-end processing and customer familiarity with the application are positive aspects of the legacy system.

On the negative side, the system uses automated processes engineered in unsupported code languages with many one-off scripts that were developed in haste and unsupported hardware. The system lacks scalability and makes the implementation of current GIS processes unfeasible. It supplies only one solution for all users and makes the support of current and future business needs impossible.

click to enlarge
The Image extension to ArcGIS Server 9.3 will make imagery quickly available after capture.

With the growth in technology, particularly Web-based mapping visualization software, GeoEye now has the opportunity to revamp and upgrade to an up-to-date and state-of-the-art solution.

A Future of Order

To support the growing demand for a server-oriented architecture, particularly Web services, GeoEye has prototyped a replacement solution using the ArcGIS 9.3 platform.

The prototype solution, including hardware, database, automation code, back-end extract, transform, and load (ETL) functionality, front-end applications, and services, is designed to meet the demand of current customers and position GeoEye to support future requirements. This solution offers three major benefits: integration of imagery and GIS in a single platform; a state-of-the-art solution that is open and interoperable to meet the needs of many users; and the leading technology in the industry.

ArcGIS 9.3 incorporates image management and processing techniques into a server-based GIS environment that supplies more out-of-the-box tools for remote-sensing applications. This platform will be able to support petrabytes of extremely high-resolution imagery that the GeoEye-1 satellite will collect while reducing processing time. It puts imagery in the hands of people who need it in a more timely manner. The new Image Services enable the full depth of time-sequenced imagery to be easily accessible and integrated into both GIS and image processing applications.

This solution promotes access to huge volumes of imagery and associated metadata while providing enhanced security options. Its scalability can support thousands of concurrent users and allows for collaboration and mash-ups using GeoEye data. It also supports new Web services: OGC Web Coverage Service (WCS) and KML.

While supporting existing legacy technologies and systems, this platform provides functionality that can easily integrate into other leading-edge technologies and provides a foundation for future needs.

Solution Component: ArcGIS Server 9.3

The ArcGIS 9.3 platform is the backbone of the GeoEye prototypes. Scalability, interoperability, and usability are all accomplished based on the capabilities of ArcGIS Server 9.3. The rich functionality of the ArcGIS Desktop is used to manage data and design and author image services.

Image services are published and served through the server products for presentation of client tiers that allow users not only to access but also to interact with services to obtain required information from a range of client interfaces: desktop, Web, and mobile applications.

A number of different services are available from ArcGIS Server including data, globe, charting, processing, and tracking services. Numerous interoperable Web services provide access to imagery (SOAP, REST, WMS, WFS, WCS, KML). Services are accessible via off-the-shelf Esri and non-Esri tools. Client software development kits (SDKs) support custom application development.

Achieving a server-oriented architecture extends GeoEye's capabilities to support a wider audience. Support of current and future customers—the number one priority—is now paired with support for developers, OGC users, Web mashups, and other interoperable functionality.

Solution Component: Image Extension to ArcGIS Server 9.3

The Image extension to ArcGIS Server performs image processing of image services. Previously, this functionality was supplied by the ArcGIS Image Server product but with ArcGIS 9.3, it has become an integrated extension to ArcGIS Server. Conventional imagery-serving technology has always attempted to first create one single large image from a large set of individual images and then to serve this static image. Such solutions have many drawbacks including lengthy preprocessing times that result in imagery only being available a long time after acquisition.

click to enlarge
Google Earth Enterprise Server will work with ArcGIS Server and ArcGIS Image Server to fuse and host flyable databases of virtually unlimited size and deliver interactive access to the entire store.

With the Image extension to ArcGIS Server, the methodology is very different. Acquired or collected imagery can be kept in its native form without the need for conversion. The data can be files from satellite, digital camera, or pre-generated orthoimages stored as files or in a database.

Image services are authored in ArcMap and stored as image service definitions. These image service definitions define all imagery properties including georeferencing and metadata. Definitions do not contain pixel data, only the link to that data. Image service definitions also define how the imagery should be processed and mosaicked to create a specific product. Because each image service is stored as a light and easily setup image service definition, multiple image services can be created to define different representations of the same imagery as required for different applications.

These services are published through the server and accessed by multiple client applications. Client applications can open and access image services as if they are one large virtual image. As a user pans and zooms, requests for imagery are sent to the server, which quickly processes the required imagery and returns the imagery nearly instantly to the client application.

Not only do users get fast access to high-quality imagery, but they can also access the important image metadata. In addition, users can interact with the image service and its properties, such as the compression or mosaicking methods, and further customize imagery for specific requirements.

Automated scripts can be used to create, optimize, and publish image services. The Image extension to ArcGIS Server supports advanced image processing options. It allows source imagery to be kept in its native form whether it is newly acquired imagery or imagery in existing raster datasets, separate files, or a DBMS.

The Image extension to ArcGIS Server can author image services that define image properties such as georeferencing and apply processes such as mosaicking. Publishing image services gives clients fast access to imagery and metadata, on-the-fly server-based processing, modifiable service properties, and lossless image data.

Solution Component: ArcGIS API for JavaScript for Google Maps

The ArcGIS API for JavaScript is probably the biggest new feature of ArcGIS Server at 9.3. Instead of being limited to .NET or Java, developers can publish to the JavaScript API, JavaScript API for Google Maps, or the JavaScript API for Microsoft Virtual Earth.

With the JavaScript API for Google Maps, Google maps can be embedded in application Web pages using JavaScript. The API provides utilities for manipulating maps and adding content to the map through a variety of services.

This allows the creation of robust map applications on a Web site. This free service is available for any Web site that is free to consumers. Tiled and dynamic maps are supported. This functionality gives developers the ability to take classic GIS analysis and put it in a context that can benefit ordinary users.

Solution Component: Google Earth Enterprise Server

Google Earth Enterprise Server can fuse and host flyable databases of virtually unlimited size. It delivers fully interactive access to the entire store of geospatial data and allows the incorporation of geospatial data from dozens of industry-standard formats and the management of published databases using a robust set of administrative tools. This server also provides intuitive and high-performance two- and three-dimensional user interfaces designed to allow decision makers to work more productively and collaborate more effectively.

What Is Next?

The ArcGIS 9.3 platform provides many opportunities for GeoEye to develop and deploy functionality to facilitate the access, use, and analysis of imagery.

As described in this article, GeoEye's first objective is to develop simple search and discovery functionality. This functionality will enable multiple user end points to consume GeoEye's catalog data (i.e., ArcGIS and its extensions, Google Earth-KML, and applications that can conform to the OGC specifications). GeoEye will continue to enhance the system based on user needs and the capabilities available with ArcGIS 9.3.

Conclusion

The ArcGIS Server 9.3/Google solution was chosen because GeoEye needed

  • Tools and a system to create a state-of-the-art Web application for image search and discovery
  • A server solution that could deploy petabytes of full-resolution satellite imagery quickly and efficiently
  • A system that was open and interoperable so it can drive the entire company
  • An enterprise business solution

GeoEye needed access to related vector data, metadata, and browse images for millions of images. This solution should scale to support large volumes of imagery and thousands of concurrent users. ArcGIS and the geodatabase have a proven track record of managing some of the largest spatial databases in the world so it made sense to build on this platform.

Previous delivery methods included CDs, DVDs, and transferring files using FTP. GeoEye wanted a system that could reduce the processing time and put imagery in the hands of the people who need it quickly. In addition, dynamic processing capability would allow the creation of different image products on the fly and raise the bar for dynamic image access without the overhead of preexisting custom solutions.

The world has grown accustomed to free imagery on the Web, but typically free imagery is one image from one point in time. GIS professionals need more imagery, more time slices, and the ability to manipulate this imagery. GeoEye wanted a solution that could provide the full depth of imagery collected over a period of years. With the addition of the Image extension to ArcGIS Server, GeoEye saw the potential to bring the vector and image worlds together in a single integrated system.

Because this system is going to drive the entire company, it had to be open and interoperable. GeoEye needed to provide access to many different applications and clients so that the system could support industry standards such as OGC. By taking advantage of the new OGC Web Coverage Service in ArcGIS Server, users can manipulate imagery pixels in a Web service. The explosion of mashups demonstrated how developers are using KML and JavaScript to bring together content with GIS Web services as well as Google Maps, Google Earth, and Microsoft Virtual Earth. The ArcGIS Server API for JavaScript was very valuable in building this open system.

Moving to an integrated desktop service- oriented Web solution continues to drive GeoEye's business and position the company to further support its vast customer base and its imagery needs.

For more information, contact Lisa M. Vicknair at vicknair.lisa@geoeye.com.

For More Information

Two instructor-led courses, Introduction to ArcGIS Server and Introduction to ArcGIS Server Image Extension, are available. Visit www.esri.com/training for more information.

About the Authors

Lisa M. Vicknair is a senior IT/business analyst currently working for GeoEye in the Business Systems organization as a senior systems engineer. She earned a bachelor's degree in environmental conservation with an emphasis on computerized mapping from the University of Colorado, Boulder, and has been working in GIS and Web development since 1990. While at GeoEye, Vicknair has participated in activities surrounding the management of imagery data and the design and development of customer-facing desktop and Web applications for locating imagery in GeoEye's vast holdings.

Alan Poole is a systems analyst in the Business Systems and Applications group at GeoEye. Poole joined the GeoEye team a little more than two years ago after graduating from Texas A&M University with a degree in GIS and remote sensing. Poole supports GeoEye with technology and strategy decisions and has worked on several projects focused on Web-based distribution and access to geospatial information.

Legacy Technology

Hardware and Operating System
  • Oracle8i and 9i database running on Sun V880 with Solaris 8 OS
  • ArcSDE 8.3 running on Red Hat Linux ES (v. 2.1) connecting to database server
  • CARTERRA Online application running on Red Hat Linux ES (v.2.1) with an obsolete version of Apache
Programming Languages
  • Bash script
  • C and Pro*C
  • Perl
  • AWK
  • SQL
  • PHTML
  • Avenue

Software Packages
ArcView 3.3
Oracle8i and 9i
ArcSDE 8.3
CARTERRA Online Web application
Apache 2.x

Future System

Hardware and Operating System
  • Windows Server 2003
  • Red Hat Linux ES (v. 4.1)

Programming Languages

  • C# .NET 3.5
  • Java

Software Packages
ArcGIS Server 9.3
ArcGIS Server 9.3 Image extension
Google Earth Enterprise Server (Fusion/Earth)
Windows SQL Server 2005
Windows IIS 6.0

[an error occurred while processing this directive]