Introduction Relationship between Resources, Services and Features

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-