Other Architectural and Design Choices

28 Copyright © 2006 Open Geospatial Consortium – All rights reserved +GetCapabilities +GetMap +GetFeatureInfo +GetLegendGraphics +GetStyles +PutStyles WMSProxy +createDescribeLayerRequests +createGetCapabilitiesRequest +createGetFeatureInfoRequest +createGetStylesRequest +createPutStylesRequest -capabilities : URL -getmap : URL WMSSpecification WMS1.0 -getFeatureInfo -getLegendGraphics -getStyles -putStyles WMS1.1 Stratagy -getFeatureInfo -getLegendGraphics -getStyles -putStyles WMS1.1.1 -getFeatureInfo -getLegendGraphics -getStyles -putStyles WMS1.3 Figure 11 Version Negotiation using Strategy In the above diagram the different WMS versions are accounted for by use of WMS Specification strategy object.

7.3 Other Architectural and Design Choices

In addition to the question of whether a client is clustered or distributed, an implementer must decide how the various components of the software connect to one another, how control is imposed on the flow of logic through any given process, and how extensions are accommodated. For many geospatial technology GIS systems that predate the growing acceptance of interoperability standards, the core system may be considered a black box that provides hooks for adaptors or translators of file formats not supported in the original design. Call- backs and callouts to extensions that support OGC interfaces are essentially functional interfaces. They may be mediated through jump tables that are populated from configuration files when the application is started. The most monolithic systems can be extended only by their developers, by compiling new interfaces directly into their code. Some recently developed systems are being built upon a concept of messaging between their various internal components. A system of this sort resembles a clustered architecture as described above, except that its various components all exist and communicate within the same address space, as a single application. Information passed across the internal interfaces may be documents similar or identical to those mandated by OGC standards. This approach minimizes the cost of converting external documents to internal object format. Copyright © 2006 Open Geospatial Consortium – All rights reserved 29 8 Geospatial Technology Platform and Components Like most complex software applications, the extensive functionality of an Integrated Client of OGC Web Services is typically implemented as a suite of software modules that have more or less independent although related functions. Although there is a relationship between functional categories and the software modules that implement them, the relationship is not necessarily one to one. By the same token, neither functionality nor the underlying software always bears a direct relationship to user interface. In this section, we describe some of the software components that support the fundamental operations of an integrated client. In the next section, we discuss user interface.

8.1 Generic Descriptions of Client Components