This presentation discusses the development of an Enterprise Map Printing Application utilizing ArcReader for the Cleveland City-wide GIS Project and allows for the production of standardized maps across all City of Cleveland departments. One requirement for this application was that it needed to be accessible from all GIS applications created for the Cleveland project. Therefore, an API was used as the access point into this application and allowed for simple integration with all applications requiring this functionality. A review of the application design and some of the lessoned learned during the development of this Enterprise Application will be presented.
The City of Cleveland has embarked on a project to implement an enterprise-wide GIS system. The Citywide GIS will upgrade and unify their present, disparate systems into a consistent geographic information architecture. A key objective of the implemented system is to improve service to the citizens of Cleveland by increasing the productivity of municipal employees. This will be accomplished by integrating the many information systems throughout the City that rely on geographic information.
The City’s Geographic Information Architecture and its preliminary implementation plan define an overall concept and plan for implementing a Citywide GIS. The City’s objective is to design the Citywide GIS and implement a pilot system to test and confirm the design, define the most appropriate data conversion strategy for the City and to begin a process of systematic development.
The Cleveland GIS project was broken down into four main phases; Pre-design, Design, Build, and Transition. The Pre-design phase encompasses information collection and analysis in order to document the City’s work flows, further define application requirements, evaluate data sources, and define base map and address file requirements. In the Design phase, the information collected during the pre-design will be used to evaluate and select the Citywide GIS platform. Once this is accomplished, other necessary activities will begin, namely, designing applications, performing COTS evaluations, preparing database designs, establishing data standards, and defining data conversion and data maintenance methods. The Build phase entails prototyping and developing applications, installing pilot hardware and software, converting the pilot data, and implementing data maintenance procedures and applications. The final phase, transition, involves evaluating the data conversion methods and costs experienced during the pilot and recommending the most appropriate data conversion approaches for citywide database development.
One result of the Pre-design phase was an analysis of the workflow within each City department. Project team members interviewed City personnel and collected information that was then analyzed in order to understand the work functions and needs of the City’s Departments and Divisions who are interested in using GIS. The analysis of this information resulted in an understanding of their GIS data and application needs. The resulting summary details the findings and identifies where GIS can have the greatest impact on the City of Cleveland’s business processes. The summary also defines at a high-level the application requirements that are recommended for implementation. One such requirement indicated a need to produce standardized maps. City personnel are continually creating maps for other departments as well as citizens and businesses in the City of Cleveland. As a result, the ability to produce maps consistently and quickly was deemed a high priority by the City. The Enterprise Map Printing (EMP) Application was chosen to fulfill this role of producing standard maps consistently, quickly, and with simple user interaction.
The application development process for the City of Cleveland Citywide GIS Project can be considered a subset of the Rational Process. The main facets of this process that will be discussed as they pertain to the Enterprise Map Printing Application are:
The workflow analysis task indicated the need for a standardized map printing application, but it did not detail the specific functional requirements that the application needed to perform. In order to fully grasp the required functionality, the project team and City personnel met to discuss the desired functions that could be included based on the limited project budget. To summarize and document this functionality, the project team created a Software Requirements Specification (SRS) document. This document detailed the list of functionality that was determined to be in the scope of work for the given application. To help in determining functionality and usability of the application, the project team utilized Use Cases. The use cases helped the project team and the City personnel determine the functionality at its most basic level. Based on this list, an application architecture was then developed.
The overall goal for the Enterprise Map Printing application is the ability to produce a standardized map from within numerous applications. The application as a concept is rather simplistic, yet a wide range of complexity could be needed to fully implement the complete list of functionality detailed in the requirements phase.
There are several possible architectural solutions that could satisfy the application requirements and will be discussed briefly. The quickest and most economical solution would be to design a layout in an ArcMap document indicating the desired layers, symbology, map surrounds and paper source and simply distribute a copy of the document to other personnel possibly in other departments. Although simplistic in concept, a myriad of problems are evident. How do you maintain connectivity to the data sources? How do you maintain consistency of the document if others are able to manipulate the document? How do you keep versions up to date? This is not an acceptable enterprise level solution.
Another possible solution would be a custom built, server based application. The initial concept of this solution entailed a server based service that included an Application Programming Interface (API) that would allow for integration into other viewing applications. While using a viewing application such as ArcMap, the user would be able to select a map to print, such as a zoning map, and a printing device, and the EMP application would simply take the extent at which the user was viewing and create the desired map of the selected area. This would remove the requirement of the user having to open an additional application, navigate to the desired area and print a map. The idea was to minimize the number of steps that would be required to produce the same map consistently, where the only change between successive map requests would be the viewable extent.
This custom solution poses many design and subsequent management and maintainability issues. One major issue is that the server based application would require all printable devices be available to the server. This could become a problem, given the large number of devices that could be spread across a department, or possibly the whole city. A requirement to preview the desired map also poses several problems. A preview image of the selected map would require the application to draw the map, create an image and send the results back to the viewing application, while displaying the image without modifying the users current map display. What kind of transport mechanism should be used? How would this affect the performance of the application? Another possible issue would be the development of a publishing component that would save the desired map layouts to a centralized data store. How would versioning and document integrity be handled?
The cost that would be required to develop such a system is another concern. The cost for such an application could be as high as $100,000. In addition to the initial development cost, there is the associated maintenance cost of a custom built application.
A viable solution for the City of Cleveland is a combination of COTS and custom work. This solution will utilize ArcReader and ArcPublisher from Esri. By integrating these products with some custom built modules, the Enterprise Map Printing application can solve some of the custom built issues as well as providing cost savings and decreasing the development time. ArcReader will satisfy the viewing and previewing requirements for the desired map templates. The fact that it is free software helps keep the overall cost of the application down. ArcPublisher satisfies the publishing aspect of the requirements with a small amount of customization for supporting the centralized data store. Using the printing capabilities of ArcReader allows for the printer management to be shifted to the user’s desktop and requires no additional administration of printer configurations than what is required for all user applications on the local machine.
Although the use of ArcReader will require the user to use a separate application, the City of Cleveland believes that the benefits of the combined solution outweigh the costs of an integrated solution.
The construction of the Enterprise Map Printing application will be a combination of COTS products and custom built modules. ArcReader will be deployed to all desktops requiring the EMP application. The ArcPublisher extension will be deployed to those GIS users that will be responsible for creating the standardized layouts for each city department. A custom module will be created and integrated with the ArcPublisher functionality in order to gather attribute information about the published layout and to store this information in a centralized data store. A simple user interface will need to be created that will allow users to search the data store for published layouts. It has not been determined whether this interface will take the form of a client/server or web browser UI. The intent is that this UI will allow the user to query for a layout and simply select the desired layout and ArcReader will automatically start and load the selected layout.
A possible point of integration with other applications would be with the searching capabilities of the EMP application. Other applications such as ArcMap or an ArcIMS application could incorporate the functionality provided by the simple UI noted above. In order to minimize the integration effort, a common method of accessing the data store is desired. All access to the centralized data store will be provided through a web service that will allow for the abstraction of the data access functionality from the user interface.
The Enterprise Map Printing application was designed to fulfill the requirements of printing standardized maps and was a result of the analysis of the main workflows within the City of Cleveland. A high level design of the application was developed with possible solutions with the chosen solution being selected based on COTS availability, overall cost, and development time frame. ArcReader, in combination with the ArcPublisher extension provides a good fit to the requirements, and allows for both labor cost savings, and a shortened timeline for development.
One of the lessons learned was to not be afraid to utilize new technology and new processes in the development of new applications. Utilizing proven processes such as the Rational process can help manage and guide the development process. Be aggressive in working with new technology, but always be mindful of the overall benefit to the project and or application. Continuous end user input is needed during the development cycle so that the end product truly resembles what the client expected.
A future objective for the Enterprise Map Printing application could be tighter integration with other City of Cleveland GIS applications. This would be possible with an ArcReader Development Kit that would allow for the customization of ArcReader or a custom built viewer developed with ArcReader modules that could incorporate the searching capabilities of available map layouts.
Jim Weaver, Project Manager, Montgomery Watson Harza
Dave Dennis, GIS Project Manager, City of Cleveland
Jon Cross, Project Manager, Ralph Tyler Companies