为何要开发QuickDEV中间件伺服器?
在十多年的开发生涯中,经常听到软件开发人员抱怨与硬件设备打交道很头疼,因为现在是一个日新月异的时代,并且也是一个追求个性化服务的时代,开发计划一般都安排的非常紧张,甚至加班加点都不一定能够保证准时完成任务。在这种情况下,让本来就已经压力重重、烦躁不安的开发人员去研究硬件的“通讯规约”和深入了解硬件的物理特性是极其痛苦的事情。
于是乎在匆匆地一知半解的状况下,开发人员提交的软件大都是漏洞百出,只能保证在最理想的实验室环境下软件与硬件不会出现问题。但是一般的客户现场都是比较复杂的应用环境,客户对软件的熟悉程度和操作是否规范都是对软硬件的极大挑战。
比较资深的软件开发人员相对来说情况可能会好很多,但是依然不能保证对设备的了如指掌,因为硬件毕竟是黑盒子,里面到底有哪些限制和规律对于软件开发人员来说大多是不可知的,因此对于一些比较极端极限的情况,也经常会暴露出效率低下甚至发生运行时错误。
看到这里也许您会说:“那是你的硬件有问题,设计的不够完美!”
“对!您说的很对!”,其实如果硬件厂家是诚实的经营者,他有义务告诉你这个事实,那就是现在硬件的发展水平与软件相比简直是天壤之别,这其实不是技术上的差距,而是硬件平台资源的限制,在一个CPU速度有限、内存和容量有限的物理平台上,是无法实现类似软件数据库管理的高级应用的!并且硬件的主要存储器件FLASH,还有写入后不能字节更改而必须整扇区擦除后再写入的一个非常糟糕的特性,而理论上1万~10万次的擦写寿命也是硬件设计者的最痛。
即便是QuickDEV的硬件产品,也是从十年前最早的低档8位C51单片机内核发展到后来的高速8位R2K单片机,一直到现在全系列使用的32位高级ARM内核,都始终孜孜不倦的在与硬件的这些限制和约束作斗争,并且通过自身的技术努力,配合自身的软件伺服器等一系列技术保证,从而达到一个相对完美的匹配。因此如果有人拍着胸脯告诉你他的硬件是完美的,我可以现在就告诉你他是不诚实或者是经验不足,因为有些技术难点是硬件天生的物理特性所造成的,不经过多年的实践与验证,可能很多硬件开发人员自身都不知道还有这么多需要考虑的问题,所以拍胸脯也就不足为奇了。
诸如此类的限制和问题在硬件平台上是随处可见的,这也就回答了上面的批评,因为硬件的资源太有限太严格,希望设计出一款可以和软件数据库管理相媲美的硬件产品基本上现阶段技术是无法实现的。
因此要开发一款软硬件相结合且完美匹配工作的产品,就一定需要软件开发人员了解硬件的特性和禁忌,但是上面所提到的市场、时间和任务的压力,又不能给软件开发人员充裕的时间去深入了解硬件产品,这样就形成了一个看似不可调和的矛盾,我们该怎么办呢?
其实无非就是尽量减少软件开发人员对硬件的底层驱动编程,于是乎出现了DLL动态链接库的技术和概念,经过对通讯规约的简单封装,从而使软件开发人员脱离枯燥的通讯数据包,通过调用动态链接库中的函数接口,可以实现对硬件的底层操控。现在市场上大概有20%的产品是只提供通讯规约的,而80%以上的产品都是提供动态链接库来实现简化编程的目的。但是由于DLL只是对通讯规约的简单封装,因此只能在一定程度上保证通讯链路层的正确性,因此属于比较低级的解决方案。
经过技术的发展与更新,后来出现了ActiveX控件的COM技术,此技术可以简单的看作是DLL的升级版,提供了更加浅显易懂的编程接口,方便软件开发人员调用。由于ActiveX具备一定的技术难度,因此市场上大概仅有5%的产品可以提供。而且尽管ActiveX可以实现类似WEB等新兴应用,但是此技术依然只是停留在简单的接口封装层面之上,并不能在逻辑应用层面给予软件程序员帮助,而这恰恰是他们最迫切需要的。
经过十多年的技术积累,我们在QuickDEV系列一卡通终端产品的硬件基础之上,从最早的通讯规约发展到ActiveX控件,直到现在提升至一个崭新的境界,那就是——QuickDEV中间件伺服器的问世!
之所以称作“QuickDEV中间件伺服器”,因为它已经不是简单的接口封装或者模块的概念,而是融合了一卡通业务逻辑的应用服务器,通过与数据库的集中交换,可以独立或者无缝的嵌入到现有已经部署的HR、CRP和CRM等系统之中。软件开发人员已经完全不需要与DLL或者ActiveX打交道,甚至开发人员可以不编写一句代码,仅读出或者写入数据库的相关数值,即可透明的通过伺服器对设备进行操控。而类似时钟同步、实时状态监控、刷卡数据获取等日常操作都由伺服器后台处理,完全不需要人为干预。
QuickDEV中间件伺服器在硬件功能级提供全部的操控能力,也就是说只要是硬件通讯规约可以操控的功能,在QuickDEV中间件伺服器提供的数据库接口层都可以操控,可控性和稳定性极强,直接避免了因为软件开发人员对硬件缺乏了解,低效、错误甚至有害编程而造成的硬件缓慢、失灵或者损坏。
基于QuickDEV中间件伺服器的【数据库<---->伺服器<---->终端设备】三层构架,开发人员可以快速的开发基于WEB应用的操控程序,通过IE浏览器实现广域网的远程操控,而此过程中无需对硬件进行任何直接操作, 全部是基于数据库层面进行数据交换。
QuickDEV中间件伺服器的诞生,结合QuickDEV系列ARM内核纯以太网终端设备,标志着一卡通系统的已经进入一个崭新的发展阶段!