编辑推荐: |
文章主要介绍了DDS高级数据中心接口取代了以消息为中心的编程和基本技术概念等相关内容。
来自于dds-foundation.org,由火龙果软件Anna译、推荐。 |
|
开放国际数据中心连接标准(Open International Data-Centric
Connectivity Standard)
DDS拥有一个活跃而充满活力的社区,不断致力于扩展其适用性。DDS标准当前包括以下内容:
高性能,可扩展,安全且以数据为中心的发布/订阅抽象
具有动态发现服务的完全去中心化的体系结构,可自动在匹配对等体之间建立通信
丰富的服务质量(QoS)特性,可控制数据分发的各个方面,如数据可用性、资源使用率、可靠性和定时
可互操作的数据共享,独立于平台的可扩展数据建模,编码和表示
RPC,安全性,资源受限的设备,Web集成和OPC UA集成的最新扩展
OMG DDS标准(OMG DDS Standard)
核心
DDS v1.4 – DDS规范描述了用于分布式应用程序通信和集成的以数据为中心的发布-订阅(DCPS)模型。
DDSI-RTPS v2.3 –定义了实时发布-订阅协议(RTPS)DDS互操作性有线协议。
实施由OMG分配的RTPS供应商ID标识
DDS-XTypes v1.3 –定义了DDS类型系统和DDS数据的序列化表示。
DDS-Security v1.1 –为兼容的DDS实现定义安全模型和服务插件接口(SPI)体系结构。
类型语法和语言映射(IDL)
IDL4(接口定义语言)v4.2 (也可作为ISO标准ISO / IEC 19516:2020获得)–定义IDL,IDL是一种用于以独立于编程语言的方式定义数据类型和接口的语言。这不是DDS标准,但DDS依赖于此。
IDL4-JAVA –定义IDL4类型到Java语言的映射。
IDL4-C# –定义IDL4类型到C#语言的映射。
API
DDS C ++ API(用于DDS的ISO / IEC C ++ 2003语言PSM) –仅为DDS规范的以数据为中心的发布-订阅(DCPS)部分定义了C
++ API。
DDS Java API(用于DDS的Java 5语言PSM) –为DDS规范的以数据为中心的发布-订阅(DCPS)部分定义了Java
API。
其他语言API –用于C,Java,传统C ++,ADA,C#和其他语言的API是使用相应的IDL到语言映射从IDL中的DDS
API派生的。
扩展名
DDS-RPC v1.0 –定义了一个分布式服务框架,该框架提供了独立于语言的服务定义以及使用DDS进行的服务/远程过程调用。支持自动发现,同步和异步调用以及Qos。
DDS-XML v1.0 –定义用于表示DDS相关资源的XML语法。提供用于DDS服务质量(Qos),DDS数据类型和DDS实体(DomainParticipant,主题,发布者,订阅者,DataWriters和DataReaders)的XSD架构文件。
DDS-JSON v1.0 –定义用于表示DDS相关资源的JSON语法。为DDS服务质量(Qos),DDS数据类型,DDS数据和DDS实体(域参与者,主题,发布者,订阅者,DataWriters和DataReaders)提供JSON模式文件。
网关
DDS-WEB v1.0 –定义了与平台无关的抽象交互模型,该模型描述了Web客户端应如何访问DDS系统以及到特定Web平台的一组映射,这些映射根据标准Web技术和协议实现了平台独立模型(PIM)。
。
DDS-OPCUA v1.0 –定义了一个标准的,可配置的网关,该网关可在使用DDS的系统与使用OPC
UA的系统之间实现互操作性和信息交换。
DDS-XRCE v1.0 –定义资源受限的低功耗设备(客户端)使用的协议,以将数据发布和订阅到DDS域。XRCE协议将XRCE客户端连接到充当DDS域网关的DDS代理。
工作正在进行中
DDS-TSN –定义了一组机制,以允许DDS部署在时间敏感网络(TSN)上并加以利用。定义DDSI-RTPS协议到TSN传输的映射。
DDSI-RTPS TCP / IP PSM –定义DDSI-RTPS协议到TCP / IP传输的映射。
DDS C#API –为DDS规范的以数据为中心的发布-订阅(DCPS)部分定义了C#API。
DDS和CORBA是两个独立的连接标准,可实现信息交换,而与位置,硬件平台,编程语言或操作系统不同。
它们都提供了应用程序可移植性(使用标准语言界面)和网络互操作性。DDS和CORBA都是由Object
ManagementGroup(OMG)开发的。但是,它们旨在支持不同的用例和集成模式。
DDS主要支持发布-订阅数据分发。它还支持远程过程调用(RPC),可扩展类型系统,Qos和细粒度的安全性。DDS与传输无关:它可以在UDP
/ IP,TCP / IP,共享内存或其他传输上运行。
CORBA系列标准支持对分布式对象的远程方法调用。CORBA使用TCP / IP,SSL / TLS或其他传输方式。CORBA支持实时和嵌入式系统。
尽管DDS和CORBA标准是独立的,但它们都利用OMG接口定义语言(IDL)来指定数据和服务类型。这允许应用程序对DDS和CORBA交互使用相同的数据类型。 |