如图 2 所示,点菜机通过 WIFI 与服务器相连,通过网络与服务器通讯进行点菜操作,厨房端也有客户端与服务器相连,根据点菜情况进行菜品制作的安排。忽略 PC 和嵌入式开发的差异性,这个应用的实现过程和原理与 PC 基本是一致的。不同的是,通过网络实现业务的调用,如我们在前面提到过的,这在 PC 平台上已经有了很多资源甚至成熟企业应用框架,但是在嵌入式 Linux 平台上几乎都没有。所以,开发人员需要自己来实现点菜机和服务器之间的业务调用,进而与服务器端的业务处理部分进行集成。
对于服务器而言,最重要的部分就是数据库,要远程的操作数据库,PC 平台有大量的数据库组件实现对各种数据库的支持,但是在嵌入式 Linux 平台就没那么丰富的组件资源可以利用。所以,开发人员需要在服务器端实现一个“代理”,点菜机通过“代理”对数据库进行操作。这个“代理”不一定很复杂,但问题是,它仍然会占用大量的开发工作量,消耗工作时间。另外一个问题在于,当这个系统功能需要改变时,比如希望在点菜机界面增加显示图片的功能,客户端和“代理”端都需要同步进行开发,因此维护起来也是比较麻烦的。
实际上,这一类的应用在 PC 上现在大多已经由 C/S 模式转向了 B/S 模式。既然现在嵌入式 Linux 平台已经有了 Web 的支持,那么在嵌入式 Linux 平台 B/S 是否也同样适用呢。对于点菜系统这样的应用,假如我们在 pc 平台已经用 B/S 模式进行了实现(与很多企业应用相比,这是比较简单的)。只要嵌入式平台支持标准 Web,那么直接用嵌入式客户端的浏览器,这套系统的迁移很可能只需要考虑嵌入式设备的屏幕尺寸问题,把网页显示调整一下而已。
除了点菜机之外,物流行业中广泛使用的条码扫描机也是典型的应用之一。当货物入仓之时,工作人员用手持智能终端扫描条形码,数据会上传到服务器进行处理。如果采用 Web 方式,嵌入式 Linux 端开发工作量就会大大降低,只需要读取条码,然后通过 Web 输入即可。