关于第三方dll,ocx开发的思考
A问题:
最近有个工作,要集成一套老的指纹考勤机器到现在考勤系统(web系统)中,问题出现时老的机器只有ocx可用,没有可用的dll;原本以为简单的第三方调用就ok了,可是ocx不能被承载,在实现上费劲了。
B分析:
1、原始开发人员,提供一套可直接调用的dll供调用;(太老了,都没有人了,代码也没有,更别说文档了)
2、javascript与ocx交互,完成功能;(程序改动比较大,与网站后台交互部分数据库存取不能很好地交互;另外稳定相也不是很好)
3、winform桥接;(相当于多了个管道效果,间接完成机器交互操作)
C解决:
最少改动原则,程序稳定性原则,最后参考了一个老系统思路(桥接),用winform程序承载ocx完成机器的交互,通过socket与web程序交互。
相对来说稳定相还是很好地。
考虑到机器交互部分不会很频繁,并且使用了断开时请求,针对每次的请求都单开socket client通信,完成及时关闭。所以,采取了单独的ocx实例,没有多开支持并发问题。
满足需求就足够了。其他另算!哈哈哈
D总结:(项目积累)
1、文档很重要;(开发人员不愿意写文档,但是当真正用上文档时候却一筹莫展)
2、源码很重要;任何不明白的东西,都可以在代码里面找到答案。(不然,就只能反编译,或者反汇编了。如此就彻底费功夫了)
3、Demo很重要;一图胜过千言万语,在程序这里就是一Demo胜过千言万语。