3.1 基本概念
资源模型定义了一些概念和机制,这些概念和机制提供了OCF生态系统中设备之间的一致性和核心互操作性。在此基础上,资源模型的概念和机制被映射到传输协议上,使得两个设备之间可以进行通信,即每次传输都提供了通信协议的互操作性。因此,资源模型允许独立于传输来定义互操作性。
此外,资源模型中的概念支持基本设备及彼此之间关系的建模,并在一个环境中捕获互操作性所需的语义信息。通过这种方式,OCF超越了简单的协议互操作性,在可穿戴设备和物联网生态系统中,可以获取真正互操作性所需的丰富语义。
在OCF资源模型中,基本概念有实体、资源、统一资源标识符、资源类型、属性、表示、接口、集合和链接。此外,通用的操作有创建、检索、更新、删除和通知,也就是CRUDN。这些概念和操作以各种各样的方式组合,可以为OCF框架的各种应用场景定义所需的语义和互操作。
OCF资源模型框架中,在一个给定应用中的软硬件人工产品、值、用例和上下文被称为一个实体。当一个实体需要可视化、交互或者被操作时,它就会由一个抽象概念表示,这个抽象概念称为资源。一个资源的压缩和表示是一个实体的最重要部分,通过使用URI可以被标识、寻址和命名。
“属性”就是“键值对”,表示资源的主要部分。这些属性的一个“快照”就是资源的“表示”。“表示”是一个特定的视图,且可应用于该视图中的机制就是“接口”。与一个资源进行交互是由“请求”和“响应”完成的,其中就包含“表示”。
一个资源实例源于一个资源类型。一个资源和另一个资源之间的单向关系被定义为一个“链”。一个有“属性”和“链路”的资源就是一个“集合”。
一组“属性”可以用来定义一个资源的一个状态。通过使用合适的“表示”,使用该资源的响应或到该资源的请求,该资源的状态可以被检索或更新。
一个资源(和资源类型)可以表示,并用于暴露一种能力。通过与该资源的交互可以训练或使用这种能力。这样的能力可以用于定义类似发现、管理和广播这样的过程。例如,“在一个设备上发现资源”可以定义为一个特定资源表示的检索、该资源的属性值描述或者引用设备上的资源。
具有请求或响应的表示信息可以“在线”传输,这可以通过使用传输协议序列化或者封装到传输协议负载上的方式,具体的方法由请求或响应到传输协议的映射规范来决定。
在本书中,以RAML定义标准规范。同时,也可以使用JSON模式。有关OCF规范中定义的资源类型,将在第9和10章中介绍。