22
Copyright © 2006 Open Geospatial Consortium – All rights reserved
of data that can reduce the number of network calls, but the volume of data originally pushed to the client far exceeds a WMS call. Also, such clients can enable actually
editing and manipulation of data at the client level, which might be transactionally inserted back into the originating service.
Clustering allows greater performance than most distributed networkserver topographies. While clustering over http: does enable you to avoid network latencies, the current OGC
servlet http: interfaces do not maximally enable clustering the way CORBA or JAVA interfaces do.
7.2 Interaction with Open Web Services
This section concentrates on the use of Open Web Services, in particular constructing your application to work in the face of the many services and standards currently
deployed.
7.2.1 Representation of Open Web Services
When locating information, either directly at the bequest of a user or via a catalogue search, you will often find the same information available through several workflows. As
an example a Catalogue search will reveal this information through multiple service associations.
In addition you can often safely inspect the following: Sending a WFS Capabilities request to a provided WMS end point most commercial
and public domain WMS implementations allow for this Inspection of the WMS DescribeLayer information for an available a WFS end-point
Knowledge of the popular implementations Traditionally there are several approaches to working with remote services or resources
in general. A Representation by Proxy
The remote service may be represented by use of a Proxy, as shown by CORBRA or recent XML SOA Binding technologies. The use of a Proxy class results in a viable,
direct representation of an external service.
A Proxy class is limited to representing a single OWS Service, and is problematic as services availability and version change over time.
B Representation by Handle
Copyright © 2006 Open Geospatial Consortium – All rights reserved
23 The remote service may also be managed through the concept of a resource handle. By
not representing a service explicitly we gain the ability to lazily bind to the service, and may represent a service that is unavailable or not yet created.
An advantage of the resource handle approach is the ability to offer a binding using a workflow appropriate API. This flexibility allows your architecture to adapt to future
considerations such as the addition of additional services and workflows based on the same information.
+getInfo : Info +resolvein type : Class : Object
+canResolvein type : Class : boolean -id
Handle
-name -title
-abstract -keywords
-bounds -crs
Info
+resolvein type : Class +canResolvein type : Class
SomeResource Extension: Subject
SomeInterface Extension
Proxy
+resolvein obj : Object, in type : Class +canResolvein obj : Object, in type : Class
ResolutionManager
«uses»
+resolvein obj : Object, in type : Class +canResolvein obj : Object, in type : Class
ResolutionFactory
Open ended set to capture WMS, WFS and Workflow
endpoints.
Figure 4 Resource Handle
In the above diagram a Handle offers access to metadata information represented by Info in the above diagram. The implementation of a handle will vary according to source the
results of a Catalogue search, or the processing of a capabilities document. A ResolutionManager indicates the availability of a plug-in system to define additional
resource bindings.
7.2.2 Use of Multiple Services