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-