BC-CS交互实现

背景
我们检验采用BS的设计结构,目标就是支持主流浏览器。作为科室的业务系统、各种单据的打印是必不可少的。检验报告单等不光要客户端打印,还要公布接口给自助打印机,给第三方生成报告文件等。已经控制打印机边距,按程序指定的打印机名称打印等都是难以用JS控制实现的。为此需要开发CS打印程序实现打印,对CS版本的系统这些都不是问题。由于网络的安全问题,浏览器对本地操作限制也越来越严,网站程序调动客户端本地的EXE也就成了问题。需要一套BS和CS的交互通道来完成双方的消息交互。

探索的三个阶段
1.第一阶段实现了谷歌浏览器插件,优点:比较稳定 缺点:浏览器版本限制,只能谷歌浏览器
2.第二阶段实现了浏览器呼出,优点:多种浏览器支持 缺点:有的电脑无法呼出,谷歌高版本也无法调用
3.第三阶段通过websockt实现了BS-CS交互通道,优点:跨浏览器,调用稳定 缺点:要运行监听程序

最终交互结构
最终交互结构图
为了确保websockt通道交互的稳定性和扩展性,抽取了消息处理接口(引入了Spring的IOC后续介绍)。实现类通过sockt对象给JS回复消息
接口
对打印调用来说只需要实现消息接口配置实现类即可
打印接口实现
配置实现对象入消息链对象,以对消息链的消息处理
Spring配置
调包装的websockt方法驱动消息
JS驱动

websockt服务宿主提供统一日志
宿主日志
以上就实现了打印使用消息机制的调用(先尝试了谷歌插件,然后尝试调用消息驱动打印插件,然后尝试浏览器呼出调用),来满足各种调用。要运行监听程序的消息服务模式,可支持CA类的BS和CS的交互场景。后期改为先尝试websockt发送,再尝试谷歌浏览器插件,再尝试浏览器呼出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小乌鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值