18
2012
05

虚拟应用平台的开放性—开发工具VA SDK

虚拟应用平台的开放性

不同于虚拟机(服务器)、虚拟操作系统、虚拟桌面,“虚拟应用”解决方案面向终端用户,提供应用级云计算服务,能够实现细颗粒度的资源管理和安全性管理,占用资源最少,是目前较为理想的企业/机构信息化平台的私有云解决方案。但是,与其它终端模式的虚拟化方案一样,也存在客户端资源的接口(例如设备驱动)以及功能扩展接口的问题。面临这一类问题,没有通用一次性解决方法,而是要求虚拟化平台具有一定的开放性,提供二次开发接口以及相应的工具(SDK),以便设备生产和应用软件开发、集成厂商开发制作客户端软件(插件)。

SDK软件开发工具包

SDK(Software Development Kit 软件开发工具包),指辅助开发某一类软件的相关文档、范例和工具的集合。它可以简单的为某个程序设计语言提供应用程序接口 API的一些文件,也可能包括能与某种嵌入式系统通讯的复杂的硬件。

VA SDK通讯原理

“云海VA虚拟应用管理平台”继发布其WEB二次开发接口后,发布了VA SDK开发工具包。VA SDK二次开发支持服务端分发和加载客户端插件,并在服务端和客户端之间建立通讯通道,实现服务端与客户端的无缝衔接,提高VA应用的可扩展性。

在VA应用服务器运行的应用程序与客户端插件之间的通讯,通过服务端ARH、VA SDK-S,与客户端AR应用执行器、VA SDK-C来共同完成。通讯原理如下图所示:

虚拟应用平台的开放性—开发工具VA SDK - 云海虚拟应用 - 云海虚拟应用

通过上述方式实现一对一的双向通讯,使会话隔离,保证应用的可靠性和安全性。

虚拟应用平台的开放性—开发工具VA SDK - 云海虚拟应用 - 云海虚拟应用

VA SDK编程功能

VA SDK编程依赖于VASDK.dll和VAUtils.dll动态链接库,它为服务端和客户端的开发提供了一组功能支持,目前支持C语言(动态调用),Pascal等可以调用动态链接库的语言。

VAUtils.DLL导出函数功能

序号

函数

功能

1

GetVAEnv

获得VA运行环境字符串

2

GetVAEnv2

获得VA运行环境字符串

3

VACheck

检测是否在VA环境下运行

4

VACheck2

检测是否在VA环境下运行

5

GetVABindCode

此功能供合作版使用

6

GetVABindCode2

此功能供合作版使用

7

GetSessionID

获取本次应用的会话ID

8

GetConsoleSessionID

获取服务器控制台的会话ID

9

IsRunOnConsole

判断程序是否运行在控制台下

10

VaDPnt

直接端口打印,主要用于Pos打印机VA会自动映射到客户机的打印机上

11

VaDPntW

直接端口打印,主要用于Pos打印机VA会自动映射到客户机的打印机上

VASDK.DLL导出函数说明

序号

函数

功能

1

S_Open

打开SDK服务端

2

C_Open

打开SDK客户端

3

S_LoadPlugin

加载SDK客户端插件

4

S_UnloadPlugin

卸载SDK 客户端插件

5

S_OpenAndLoadPlugin

打开SDK服务端,并加载SDK客户端插件

6

CloseSDK

关闭已打开的SDK服务

7

SendData

向已打开的接收方发送数据

8

SendString

向已打开的接收方发送字符串数据

9

SendStrList

向已打开的接收方发送字符串列表数据

10

SendBIN

向已打开的接收方发送二进制数据

11

SetWaitMode

设置发送方发送数据后等待返回的模式

12

SendAndWait

通过通讯通道发送数据并等待接收方响应

13

RegCallBackProc

注册数据接收方的回调函数

14

GetReceiveDataPackCount

获取发送方发来数据的包数

15

GetReceiveDataPackSize

获取发送方发来数据的首包长度

16

GetReceiveDataPack

获取发送方发来的数据

17

FreeDataPack

释放发送数据的缓冲区

18

GetReceiveDataPackToBuf

获取发送方发来的数据

19

FreeBuf

释放调用GetReceiveDataPackToBuf所申请的缓冲区

20

IsRunOnConsole

判断程序是否运行在控制台下

21

GetLastError

获取SDK最后一次出错信息

作者:云海一门

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。