大家好,
需求:在某行政大厅中,有自助终端机,客户可以上去办理某项行政业务,填表格并打印出来,但打印之前,需要先付费,因此该机子上会有一个“塞钱”的入口,当然也可以找零,付款完毕后,系统才打印。用户填写的表格是java表单,“提交”后,等待用户付款,付完款后,java保存数据并打印。问:据我所知,自助收费机是硬件实现的(如自助售饮料机),那么,java程序如何与这玩意互通?即,java如何能监听到收费系统的状态(如客户已准确付款、客户付款不够等)?谢谢大家~
需求:在某行政大厅中,有自助终端机,客户可以上去办理某项行政业务,填表格并打印出来,但打印之前,需要先付费,因此该机子上会有一个“塞钱”的入口,当然也可以找零,付款完毕后,系统才打印。用户填写的表格是java表单,“提交”后,等待用户付款,付完款后,java保存数据并打印。问:据我所知,自助收费机是硬件实现的(如自助售饮料机),那么,java程序如何与这玩意互通?即,java如何能监听到收费系统的状态(如客户已准确付款、客户付款不够等)?谢谢大家~
解决方案 »
- 今天面试遇到个问题把我难住了。各位大牛看下吧,指点下小弟
- 大家帮我看看这段代码是怎么回事!
- linux下java -jar的问题。
- jTextField的文字怎么不停的转换,直到按钮开始,停止,再按又开始
- 各位,如果使程序常驻内存,就像一些杀毒软件一样
- 关于java下的数据库
- ███急███在JBuilderX中run 一个jsp,出现 MAPPING configuration error for request URI 这个错误,请问高手,该如何解决啊?
- 朗新信息科技公司怎么样?
- 新手想学java,求大牛们推荐几本书。
- 这是THINK JIN JAVA 课后题的一道精典短题,谁能给我答案??!!
- android sdk 安装错误
- 谁能举一个链表应用的小案例给我学习啊
可以看到,这是个软硬结合的系统。系统的功能是软件功能和硬件功能的组合。那么,必须清楚地定义出软件实现什么,硬件实现什么。这就解决了系统设计的最基本问题:定义模块的接口。软件是模块,收钱的机器也是模块。
具体到收银机,就是把它看成一个黑盒子,那么他具有的接口就是:
1、接受一个钱数并启动收钱过程,包括检测真伪、找零等等;
2、提供一个接口用于外部调用者查询状态,可能的状态包括:空闲、正在收钱、收钱成功、收钱失败等等;
那么,收银机之外的系统所做的就是:
1、调用接口获取收银机状态,如果空闲,进行第二步。其它状态下,应该等待,并在等待时间结束后继续获取收银机状态知道其空闲。或者不等待,先使用者反馈状态并进行其它业务;
2、调用接口发给收银机一个钱数;
3、通过调用接口轮询收银机状态,此时关心的是收钱成功或者失败。
4、获取状态后在进行其它业务处理;至于软件与设备的通讯,可用的接口很多。可能COM口是目前选择较多的。这主要取决于设备提供什么。当然,有的设备本身不提供任何外部接口,这就必须做改装了,难度可能很大。另外,现在有通用的收银设备模块,可以考虑用来集成,而不要考虑使用成型设备,如自动售货机之类的来进行集成。