Adobe Flex 在Vision DWCS 大屏幕LED显示控制软件B/S 结构中的应用
扫描二维码
随时随地手机看文章
1 概述
Vision DWCS 大屏幕显示系统管理软件(VisionDigital Wall Control System)是一套基于硬件的控制软件,它直接体现一个大屏幕显示系统的功能。
Vision DWCS集成了视频信号、RGB信号、网络计算机信号和工作站信号,集成了对视频矩阵,RGB矩阵,远端摄像机,控制器,投影机等的控制与操作,通过它可以方便的把信号以窗口的形式在大屏幕显示墙上显示出来,如单屏显示、任意大小显示、共屏显示、跨屏显示、整屏漫游等;并且可以实现图像和信号的切换,色彩和对比度的调节、预案显示等功能;支持网络控制,多用户控制,远程异地操作等功能,具备用户管理,权限管理,通道管理,远程鼠标管理等多种管理功能。用户仅需要在一个图形界面下通过鼠标操作就能完成对大屏的控制。
2 Vision DWCS 的系统构成
Vision DWCS 大屏幕显示控制软件系统以模块方式构成,系统拓扑图如图1所示。
系统模块分别为:
VIEW AGENT:Vision DWCS 的服务模块Viewa-gent,面向控制器,负责开关窗口,通道操作等。该模块位于控制器上,接收SYSTEM MANAGER发来的操纵命令,在大屏上相应位置绘制窗口,切换输入信号到窗口显示出来。
SYSTEM MANAGER:Vision DWCS 的一个服务模块Sysmanager,面向VIEW AGENT,集成用户命令,位于主控计算机上。它接收来自于各个用户(OPERATOR)的操作命令,分类解析,单独传送到大屏控制器。另外,大屏系统的所有信息,如远端摄像机,视频矩阵,RGB矩阵,VGA信号,网络信号,用户信息等,都可以在此进行详细设置。对于每套系统,只单独配置一份SYS-TEM MANAGER,就可以让多用户同时操作大屏。
OPERATOR:Vision DWCS 的客户模块,面向的是SYSTEM MANAGER,模拟大屏,用户在此完成对大屏的操作。该软件模块基于TCP/IP 方式,在大屏上实时显示窗口信息(窗口大小,种类,信号类型,通道等)。
SCLIENT:Vision DWCS 的Windows网络显示服务模块。安装于各个计算机上,采用TCP/IP方式,将PC机的显示信号通过网络上传到控制器进行显示。该软件抛弃了传统的“拷屏--压缩--传输--解压--显示”的网络拷屏技术而采用WINDOWS HOOK动态检测技术,实时监测屏幕上变化的部分并传送该部分,使得系统资源占用最低,速度最快。
3 采用Adobe Flex 技术Vision DWCS B/S 结构的系统实现
B/S 结构是相对于C/S 结构而言的。C/S 结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,比如MSN,QQ,Outlook就属于C/S结构。
B/S 结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的发展,对C/S结构的一种变化或者改进的结构。在这种结构下,用户接口完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,相较于C/S结构开发,B/S开发节约成本,方便使用,已成为当今应用软件的首选体系结构。
在大屏控制软件Vision DWCS B/S 结构设计方案中,选择一种适合的B/S开发平台和技术至关重要。经过反复的比较、测试,最终采用了Adobe Flex的Web应用程序作为Vision DWCS B/S结构的客户端方案。
Adobe Flex是用于构建和维护在所有主要浏览器、桌面和操作系统一致地部署的极具表现力的Web应用程序的高效率的开放源码框架。该技术提供了一个新的、基于标准的语言和编程模型,其编程模型支持常用的设计模式,能够使企业创建许多有吸引力的、交互的快速应用,这些应用会戏剧性的增强用户的体验、增加客户的满意度和用户的工作效率。传统的Web 开发,在表现层次受到非常大的约束,Flex技术不仅轻松解决了所有表现层的技术问题,让客户感受前所未有的Web应用体验。更主要的是,基与Flash AS 3.0的纯面向对象和组件的构架,让B/S 结构表现层的开发层次分明,结构完整协调,在提供强大华丽表现的同时,大大节约维护成本。
Vision DWCS的B/S结构系统包含两个部分:Web应用客户端(Flex App)和Web 应用服务器(Flex Server)。
其中,Web应用客户端是实现用户操作的Flash客户端应用。Flex App 主要是一个Flash 程序文件,配合相关的动态网页等配置文件,通过IIS或其他Http服务器部署在局域网内。由于Flex App本身就是标准的Web应用程序,所以部署起来和通常的网页部署完全一致,无需额外的配置,因而十分简单,易于操作。Web应用服务器是标准的Window开发的程序文件,从用户命令的数据流来看,介于客户端Flex App 和Sysmanager之间,主要实现数据的中间转发和系统设置管理。
用户通过使用IE,Firefox等网页浏览器,进行大屏幕的控制管理,Web客户端的操作命令通过网络TCP协议发送至Flex Server,需要转发的命令就转发给Sys-manager,由Sysmanager处理后送达VIEW AGENT,实现对大屏幕系统的最终控制。同样,Sysmanager发回客户端的数据经过Flex Server又回传给用户。
Vision DWCS B/S 结构软件的架构如图2 所示,箭头表示了用户操作指令的数据流向。
以下就是利用Flex技术开发的OPERATOR客户端界面,如图3所示,定义方法如图4所示。客户端的界面布局跟原有的C/S 版软件基本一致。界面的上端是传统的操作主菜单;左侧包含了信号源列表,预案管理列表,罗列了当前可用的信号源和用户的预案配置;中间的区域是大屏系统管理的可视操作界面,包括了开窗,关窗,窗口移动等一系列的功能;页面下端包含了当前系统状态的信息提示和状态栏。
相比较原有的C/S 结构,一个最明显的不同,也是B/S 结构最大的优势,就是B/S 的Web 客户端是基于网页浏览器访问的。原有的客户端软件需要进行软件的安装、部署,而B/S 版的控制软件根本没有客户端的安装文件,用户只需在IE,Firefox等浏览器中输入服务器的IP 访问即可打开大屏控制软件的接口,随后就可以使用Web 浏览器随时随地对大屏幕管理调度,甚至可以实现Internet广域网的自由调度控制。
由于Adobe Flex技术基于Adobe的Flash播放平台,而Flash Player是目前世界上最为广泛流行的跨平台的浏览器插件,支持Windows 2000/2003/XP/Vista所有32位/64位操作系统,同时也有Linux,Mac-OS,Solaris的版本。
这就意味着B/S的客户端可以在以上操作系统中使用,具有了跨平台的优点,用户可以有更多的选择。
在系统后期的升级维护方面,B/S结构的软件也有许多优势。传统的C/S客户端需要安装专用的客户端软件,特别是如果有很多客户端的情况,工作量就会很大。
还有,当系统软件升级,或者受到病毒感染时,每一台客户机需要重新安装,其维护和升级成本非常高。而B/S结构这种“零安装”的特点大大降低了客户端的维护成本。系统架构于Web 技术之上,运行稳定,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。同时便于后期升级维护:即只需升级Web 服务器一端的软件即可实现整体系统的升级,客户终端用户无须考虑版本升级所带来的影响,客户端零维护。
从用户使用的习惯上,B/S客户端最大程度地保留了原有C/S客户端OPERATOR的操作,继承了原有设计对于大屏开窗,关窗,移动窗口,改变窗口大小等通用性的操作模式,包含了用户主菜单,右键菜单,用户提示Tooltip,操作日志等友好的操作接口,不管是新用户还是原来使用过C/S 版软件的用户,都可以很快速、方便的了解和使用B/S版软件进行大屏的操作控制。
在数据的通信方面,B/S的客户端Flex App同服务端Flex Server 之间通过TCP/IP 协议进行网络通信。
Flex Server作为客户端与原有系统通信的中继系统,同时负责用户数据的在线保存功能。Flex Server 自动尝试建立与原有C/S 服务管理软件Sysmanager 的通信连接,同时监控来自Web 客户端的用户连接。用户发送的指令和连接状态都有完整的日志记录,方便用户查询。Flex Server整个过程无需人员操作,属于无人职守的服务器软件。
可以看出,Flex Server 其实就是一个中间层的构件。从技术层面,B/S 客户端完全可以直接和Sysman-ager进行直接通信,无需Flex Server在中间进行数据的转发服务。需要Flex Server的原因是:一方面,由于在一般的B/S应用中,用户的自身数据需要保存在服务器端,这就需要一个软件作为服务器,进行相应的数据存储维护服务;另一方面,一些计算量大的任务不宜放在用户端进行,而需要在服务器端执行;因此,才有了FlexServer这样的中间层设计。这样做的好处是:第一,避免了让Sysmanager承担的功能过于复杂与繁重,符合软件工程的设计理念;第二,在不改动原有C/S 系统的基础上完成了B/S软件的数据传输通信,降低了系统之间的耦合,缩短了开发周期;第三,系统各个部分职责明确,便于以后的系统调试、升级,降低了维护成本。
以下是Flex Server的操作界面,如图5所示。
Flex Server 界面主要包含了主菜单、工具条、系统状态记录、任务栏几个主要部分。工具条的按钮主要包含了开启服务、关闭服务、清空记录、刷新客户连接等。
状态栏包含了和Sysmanager的连接状态以及当前连接的用户数量等信息。
同时,基于Web应用程序的特点和方便用户的角度出发,B/S结构软件也对原有C/S版软件进行了一些改动,包括用户操作界面,用户配置信息管理等方面,使得软件的风格更加紧凑,功能设置也更加集中,方便用户操作。
目前,Vision DWCS B/S 版大屏幕控制软件已经广泛应用于各类大屏幕显示控制系统中,并取得了良好的应用效果。
4 结论
由于大屏幕拼接显示控制软件是一个相对复杂的调度系统,其用户端操作包含大量的窗口信息、信号信息和设备信息,由C/S结构转换成B/S结构,采用一般的Web编程技术难以实现,而采用Adobe Flex技术则可以支持相对复杂的B/S应用。通过Vision DWCS B/S版本的Adobe Flex 编程实现,说明了Adobe Flex 的技术特点。Adobe Flex 使得B/S 结构实现、构建简单、快捷方便,且可以实现相对复杂的系统应用。