SANY D2.3.4 Specification of the Sensor Service Architecture V3 Doc.V3.1
Copyright © 2007-2009 SANY Consortium Page 117 of 233
If a well-defined procedure was used to detect an event based upon the existence or absence of one or more other events, the resulting event is called DerivedEvent. The procedure may be any
process or algorithm that is capable of detecting an event based upon the existence or absence of information in member events. A DerivedEvent therefore has at least one member. The event
time of a derived event is determined by its procedure.
7.6. Resource Model
7.6.1 Introduction
As motivated in section 6.4, the SensorSA defines a conceptual link between a service- oriented and a resource-oriented view upon a sensor service network. In this section a resource
model is defined as a technology-independent basic information model of a Resource-Oriented Architecture ROA. Possible applications of the resource model in the context of a sensor
service network are described in section 7.6.3 after the specification of the ROA concepts.
The term ROA denotes the architectural concepts and the set of rules that aim at accessing and manipulating uniquely identified resources based on a uniform interface. The SensorSA
understands ROA itself as a technology-independent concept, although it is usually discussed together with its realisation in a Web environment, i.e. based on the basic technologies of the
World Wide Web. RubyRichardson, 2007 describe ROA as a “way of turning a problem into a
RESTful web service: an arrangement of URIs, HTTP and XML that works like the rest of the Web”.
This section describes the major ROA concepts as an extension to the meta-model for information and services defined in RM-OA, 2007. This enables the specification of resource
models as application schemas in an information viewpoint specification of a SensorSA.
7.6.2 ROA Concepts
The basic concepts of an ROA are abstracted from the specification of RESTful Web Services according to RubyRichardson, 2007. These are:
-
resource
-
resource name
-
resource representation
-
resource links These ROA concepts are modelled as feature types and types according to RM-OA,
2007. The basic resource model is shown in Figure 7-12. Furthermore, one of the major characteristics of a ROA is the access to the resource and the manipulation of its state through a
uniform interface. The modelling of uniform interface is defined in section 7.6.2.4.
Note: The resource model has been submitted to OGC as OGC 07-156r1 Usländer, 2008.
SANY D2.3.4 Specification of the Sensor Service Architecture V3 Doc.V3.1
Copyright © 2007-2009 SANY Consortium Page 118 of 233
Figure 7-12: Resource Model 7.6.2.1
Resource
A resource is anything that‟s important enough to be referenced as a thing itself. A resource is understood as a specialisation of a feature type and has the following properties:
-
definition : Human-readable description of the purpose of the resource.
-
namedAs : Name of the resource. It is modelled by the type ResourceName see section
7.6.2.3
-
supports : Provides a list of those methods of the uniform interface that are supported by
the resource see section 7.6.2.4.
SANY D2.3.4 Specification of the Sensor Service Architecture V3 Doc.V3.1
Copyright © 2007-2009 SANY Consortium Page 119 of 233
-
providesView optional : list of feature instances that provides the underlying data of the
resource.
-
linkedTo: list of zero or more resource types to which representations of this resource
types may be potentially linked. This link is further described by the association class ResourceLink
see section 7.6.2.4.
-
representedBy : List of identifiers of possible representations of this resource. One
resource may have one or more possible representations. This property is modelled by the type ResourceRepresentation see section 7.6.2.2.
-
defaultRepr : identifier of the default representation of the resource.
7.6.2.2 Resource representation
The representation of a resource comprises any useful information about the current state of a resource. A resource may have and usually has several representations. It has the following
properties:
-
id: unique identification of the resource representation.
-
definition : Human-readable description of the purpose of the resource representation.
-
format : MIME-type format in which the information is presented to the client.
-
representation : Information that is returned to the client when the representation is
retrieved.
-
supports : Provides a list of those methods of the uniform interface that are supported by
the resource see section 7.6.2.4.
-
linkedTo : identifier of zero or more resource representations to which may be navigated
from the resource representation.
7.6.2.3 Resource name
The resource name denotes the resource. It shall indicate the intended purpose of the resource to a human user. It has to be distinguished from the identifier of the representations of the resources
which also provide an address a path by which to access the resource see section 7.6.2.2. It has the following properties:
-
name: Provides the name of the resource.
-
id-scheme : Defines the ways how identifiers for representations of the resource may be
built. Note: The resource model just assumes that the identifiers are built hierarchically. The
namespace attribute ns-id see below shall define the scope of the identifier such that all identifiers of representations are unique.
SANY D2.3.4 Specification of the Sensor Service Architecture V3 Doc.V3.1
Copyright © 2007-2009 SANY Consortium Page 120 of 233
-
ns-id optional : Defines the namespace for the identifiers of the representations of the
resource. It may but need not be the same as the name of the resource. Note: When mapping to a service platform, the relationship between the identifier of the
resource and the identifierss of its representations has to be defined. This is done in an identifier scheme and has to be defined as part of the Engineering Viewpoint of the system‟s
design. In the case of RESTful Web Services, a typical identifier scheme is to combine the ns-id into one hierarchical URI such that the start of the URI denotes the resource name and the rest
denotes the identifier. The boundary between the start and the rest is specific to the resource.
7.6.2.4 Resource link
The possibility to link a representation of a resource to other representations of the same or a different resource is one of the key features of a resource-oriented architecture. It is modelled by
the association class ResourceLink. A resource link is a directed link that determines the navigation direction between the corresponding representations.
It has the following properties:
-
definition optional: Human-readable description of the purpose of the link.
7.6.2.5 Uniform Interface
The uniform interface is an instance of the meta-class OMM_InterfaceType of the service meta- model of RM-OA, 2007. As illustrated in Figure 7-13, it requires that the following operations
be defined for a given platform. Examples for HTTP 1.1 as the mandatory transport protocol of the SANY service platforms see section 9.2 are given in brackets:
-
createResource cR: create a new resource e.g. HTTP PUT to a new resource
representation, HTTP POST to an existing resource representation
-
getResource gR: retrieve a representation of a resource e.g. HTTP GET
-
deleteResource dR: delete an existing resource e.g. HTTP DELETE
-
updateResource uR: modify an existing resource e.g. HTTP PUT to an existing
representation The following operations are to be optionally provided:
-
getResourceCapabilities gC : check which methods are supported by a particular
resource e.g. HTTP OPTIONS
-
getResourceMetadata gM : retrieve the descriptive information about a representation
e.g. HTTP HEAD
-
createSubordinateResource cS : create a resource representation in the context e.g.
namespace of a given resource representation e.g. HTTP POST
SANY D2.3.4 Specification of the Sensor Service Architecture V3 Doc.V3.1
Copyright © 2007-2009 SANY Consortium Page 121 of 233
-
appendToResourceState aS : create additional information about the state of a resource
e.g. HTTP POST.
Figure 7-13: Model of the Uniform Interface 7.6.2.6
Resource Method
The resource method defines a method that is supported by a resource and its possible mapping to an operation of another interface type. It has the following properties:
-
opName : Method that is supported by the uniform interface see section 7.6.2.4
-
definition optional : Human readable description of the meaning of the method for the
resource.
-
opSpecificIF optional: name of an operation of another specific interface other than the
uniform interface that is semantically equivalent to this resource method. This property is essential when the uniform interface is defined in addition to an existing interface of a
given service type.
Example: The getResourceRepresentation operation of the resource type “observation” is
semantically equivalent to the getObservation operation of the interface Core Operation Profile
of the Sensor Observation Service see section 8.2.2.
SANY D2.3.4 Specification of the Sensor Service Architecture V3 Doc.V3.1
Copyright © 2007-2009 SANY Consortium Page 122 of 233
7.6.3 Relationship between Resources, Services and Features
The conceptual relationships between resources, services and features cannot be described without having a purpose of the resource modelling in mind. Figure 7-14 illustrates possible
relationships derived from the basic assumption of the RM-OA that a service provides one or more interfaces, and each interface consists of one or more operations. Operations access
underlying data in a read and write mode.
The left-hand side of Figure 7-14 shows the traditional approach of OGC services accessing underlying data whose structure is modelled as an ISOOGC application schema. The
right-hand side shows a complementary resource-modelling approach. Here, operations are modelled together with their underlying data in form of resources and their representations.
Figure 7-14: Services, features and resources and possible relationships
There are two possible purposes and applications for this modelling approach:
-
The capabilities of a service may be specified in a resource-oriented way. Typically, the resulting resource model mirrors the basic elements of the underlying application schema
of a service. As an example section 10.2.5 of the Engineering Viewpoint specifies an resource model for the Sensor Observation Service SOS see section 8.2.2. Here the
SOS capabilities are interpreted as resources that reflect the basic OM concepts such as offerings, features of interest, observation collections or observed properties. They may
SANY D2.3.4 Specification of the Sensor Service Architecture V3 Doc.V3.1
Copyright © 2007-2009 SANY Consortium Page 123 of 233
be used by client application as navigational means for discovery of and the access to the observations provided by the SOS.
-
An extended approach is to provide a RESTful service as an alternate interface based on a resource model on top of a service instance or by combining several service instances.
Such a RESTful service would then provide a selected view typically just a subset upon the capabilities and operations of the underlying service. This approach has been
implemented for the as a prototype in the SANY project.
The modelling of resources according to this resource model may serve the following purposes in the context of a sensor service network:
-
It may provide a modelling bridge between the Information and the Service Viewpoint in a system design. The modelling of services in terms of the resources and their
representations which they provide to a client may facilitate the understanding of the functionality of the service to a system designer.
-
When specifying a resource- oriented view upon a service in addition to its “specific”
interface and operations, the system designer gains flexibility in mapping the abstract service specification to an implementation specification. For example, the system
designer may then map it to the SANY W3C Web Service platform see section 9.2.1, to a SANY OGC Web Service platform see section 9.2.2, or to a RESTful Web Service
platform see section 9.2.3.
-
The provision of a resource-oriented view upon a service may facilitate the discovery of the se
rvice as the notion of resources may be closer to the “universe of discourse” of the user as it‟s the case for the signatures of specific services. Having this application in
mind, the resource application schema should then be stored as meta-information entries in catalogue systems.
7.7. Meta-information Schema for Discovery
7.7.1 Overview
The discovery of resources is an important consideration in a sensor service network. Several kinds of resources need to be discovered. It is possible to distinguish between two main resource
types which can be described by a meta-information document:
-
services, describing meta-information about available service instances
-
data, describing meta-information about available datasets It is possible to directly search for meta-information describing these two main resource
types in common OGC catalogues. This structure was also used in the default ORCHESTRA meta-information schema. The schema provides general elements for the description of the
above resource types. It is possible to directly re-use this meta-information schema for SANY to create meta-information documents describing resources in the Application Domain of SANY.
However, several extensions of the meta-information schema are needed for the discovery of resources of the Mediation Processing, Acquisition and Sensor Domains. The meta-