如何选择SDK和平台

如何选择SDK


选择哪种SDK /Toolkit很大程度上取决于目标设备。操作系统的影响不大,因为我们的SDK /Toolkit(.NET除外)通常是独立于平台的,但是某些设备会使用特定的操作系统。下图展示了常见的SDK /Toolkit的选择方式,虽然有一些重叠。例如ANSI C SDK涵盖了从低端设备到大型机的范围,C ++ SDK也可以在嵌入式设备上使用。如果要将OPC UA功能集成到现有产品中,则应选择产品所使用的语言。

下图显示了用于OPC UA产品开发的可用SDK。 根据目标平台和应用程序的要求,可以选择不同的SDK。

如何选择平台
 

下图给出了一个典型SDK不同组件的总体(简化)概述。SDK主要由SDK库和UA堆栈组成,而UA堆栈又由Stack-Core和Stack-PL(平台层)组成。堆栈需要第三方库“OpenSSL”,SDK可能需要“LibXML2”。

SDK(除了.NET)通常是独立于平台编写的。SDK库仅使用UA堆栈中的功能。Stack-Core也是独立于平台的代码。UA堆栈所需的所有特定于平台的功能都封装在所谓的平台层中。该层处理特定的CPU架构或操作系统(OS)的具体行为,例如套接字、线程、信号量、计时器、内存分配等,不同操作系统之间可能有所不同。所以平台的选择取决于最终要运行的目标产品。

 

 

 

 


第三方库

 

 

UA堆栈包含一个抽象接口,可以使用几个不同的加密库,甚至硬件加密。SDK源码版的客户可以依据喜好连接任何加密库和PKI提供商。我们现在提供的是众所周知的开源库OpenSSL(www.openssl.org)。这个库被成百上千的产品所使用,并得到了大量开发人员的支持。OpenSSL库是以ANSI C代码编写的公开可用、可移植的独立平台。
C++ Server SDK使用XML格式读取服务器的配置参数。为了获得配置,服务器需要一个能够进行DOM解析的XML库。我们现在提供的是众所周知的开源库LibXML2(www.xmlsoft.org)。您可以使用包含DOM解析器的任何库,甚至可以使用ini文件来存储服务器的配置参数。这样做可以节省内存占用。注意:只有C++服务器当前使用XML库。
在选择平台时,您应该了解该平台第三方库(OpenSSL和LibXML2)的可用性。第三方库由客户负责,不属于SDK产品部分。您在购买其他平台层时,不包括第三方库。

 

 

 

 

更多SDK产品信息,请访问产品中心 — SDK产品详情页。