(计算机应用技术专业论文)嵌入式javapos平台ejavapos的研究与实现.pdf_第1页
(计算机应用技术专业论文)嵌入式javapos平台ejavapos的研究与实现.pdf_第2页
(计算机应用技术专业论文)嵌入式javapos平台ejavapos的研究与实现.pdf_第3页
(计算机应用技术专业论文)嵌入式javapos平台ejavapos的研究与实现.pdf_第4页
(计算机应用技术专业论文)嵌入式javapos平台ejavapos的研究与实现.pdf_第5页
已阅读5页,还剩75页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式javapos平台ejavapos的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

于i ;i i 矍 随着嵌入式系统硬件性能的提高和相关软件技术的发展,嵌入式p o s 的使 用越来越广泛,更多的企业和组织已加入到p o s 应用和服务的领域中。为了可 以使p o s 设备增加新的功能而不必付出更多的支出,美国国家零售体系联盟 ( n r f - - n a t i o n a l r e t a i l f e d e r a t i o n ) 的分支机构零售终端技术标准协会 ( a r t s - - a s s o c i a t i o n o f r e t a i l t e c h n o l o g ys t a n d a r d s l 所制定的标准u n i f l e d p o s 规 范由于其独立于操作系统和编程语言的特性在p o s 解决方案中正发挥着愈来愈 重要的作用。 u n i f i e dp o s 体系规范在零售业,银行,税务等行业的终端设备的设计实现上 有着广泛的应用。目前主要有两种实现方案:o p o s 是一种基于微软的o l e 2 x 技 术及其操作系统家族( 主要是基于w i n 3 2 体系结构) 的p o s 规范实现j a v a p o s 是基 于s u n 的j a v ap l a t f o r m 的p o s 规范实现。其中j a v a p o s 不再依赖特定的操作 系统,而是构建在s u n 公司的j a v ap l a t f o r m 之上,应用与操作系统相互独立, 同一个应用不经任何修改就可以在基于不同操作系统且运行有j v m ( j a v a v i r t u a lm a c h m e ) 的p o s 设备上运行或实现互操作这样,极大的缩短y p o s 应用的 开发周期,节省了维护费用,因而有极其广泛的应用前景。 本课题在对j a v a p o s 规范及相关的满足国家标准的税控模块和金融模块详 细分析的基础上,参考了一些已经实现的p o s 平台的技术特点,实现了一套面 向嵌入式p o s 的、符合p o s 设备的国际标准u n m e d p o s 的、开放的、安全的、 具有自主知识产权的通用软件平台,以下简称e j a v a p o s 。它是集p o s 系统运行 和开发为一体的平台,由开发平台、运行平台构成。 关键词:j 2 m e u n i f i e d p o sj a v a p o se j a v a p o s 税控p o s a b s t r a c t w i t ht h ei m p r o v e m e n to ft 1 1 ep e r f o r m a n c eo ft h ee m b e d d e ds y s t e m a t i ch a r d w a r e a n dd e v e l o p m e n to fr e l e v a n ts o f t w a r ee n g i n e e r i n g ,e m b e d d e du s eo fp o sm o r ea n d m o r ee x t e n s i v e ,m o r e e n t e r p r i s e a n d o r g a n i z a t i o n h a s j o i u e d t h ef i e l do ft h e a p p l i c a t i o nm a ds e r v i c ew h i c ha r ec o n n e c t e d 、埘t l lp o sa l r e a d y n e e d n tp a ym o r e e x p e n d i t u r ei n o r d e rt om a k ep o se q u i p m e n ti n c r e a s et h en e wf u n c t i o n , s t a n d a r d u n i f i e dp o sn o r mw h i c hi sm a d eb yn a t i o n a lr e t a i l s y s t e m a l l i a n c eo fu s a ( n r f - n a t i o n a l r e t a i l f e d e r a t i o n ) b r a n c h r e t a i lt e r m i n a lf o rt e c h n i c a ls t a n d a r d a s s o c i a t i o n ( a r t s a s s o c i a t i o no f r e t a i lt e c h n o l o g ys t a n d a r d s ) i sp l a y i n g am o r ea n d m o r ei m p o r t a n tr o l ei np o ss o l u t i o nb e c a u s eo f i t sc h a r a c t e r i s t i cw h i c hi si n d e p e n d e n t o f o p e r a t i n gs y s t e ma n dp r o g r a m m i n gl a n g u a g e t ou n i f i e dp o ss y s t e mn o r l t l ,t h e r ei se x t e n s i v ea p p l i c a t i o no nd e s i g na n d r e a l i z a t i o no ft e r m i n a ld e v i c ei nt a x ,r e t a i lb u s i n e s s ,b a n k ,e t c t h e r ea r et w ok i n d so f r e a l i z a t i o ns c h e m e sm a i n l ya tp r e s e n t :o p o si sak i n do fo l e 2 b a s e do nm i c r o s o f t x t e c h n o l o g ya n dp o s n o r n lo ft h eo p e r a t i n gs y s t e mf a m i l y ( m a i n l yo nt h eb a s i so f w 蹦3 2s y s t e ms t r u c t u r e ) a r er e a l i z e d j a v a p o si sr e a l i z e db vp o sn o r mb a s e do n j a v ap l a t f o r mo fs u n a m o n gt h e mj a v a p o sn ol o n g e rr e l i e so nt h es p e c i f i c o p e r a t i n gs y s t e m ,b u t c o n s t r u c to r lj a v ap l a t f o r mw h i c hi sb u i l ti ns u n c o m p a n y , i t i ss e p a r a t ew i t ht h eo p e r a t i n gs y s t e mt ou s e ,t h es a n l ea p p l i c a t i o nc a nb e a n do p e r a t i n gj v mb e c a u s eo fd i f f e r e n to p e r a t i n gs y s t e m sb ya n ym o d i f i c a t i o nr u n o rr e a l i z eo np o s e q u i p m e n tt h a t ( j a v a v i r t u a lm a c h i n e ) t h a to p e r a t e se a c ho t h e r i n t h i sw a y , g r e a ts h o r t e n i n gt h ed e v e l o p m e n tp e r i o dt h a tp o su s e s ,h a ss a f e g u a r d e dt h e e x p e n s e ss p a r i n g l y , t h e r e f o r e t h e r ea r ee x t r e m e l ye x t e n s i v ea p p l i c a t i o np r o s p e c t s t h i ss u b j e c ti si nr e l e v a n tt a x e sw h i c hm e e tt h en a t i o n a ls t a n d a r dn o r m a lt o j a v a p o sa c c u s eo ft h em o d u l ea n df o u n d a t i o nt h a ta n a l y s ei nd e t a i lo ff i n a n c i a l m o d u l e ,h a v ec o n s u l t e ds o m et e c h n o l o g i c a lc h a r a c t e r i s t i c so fp o sp l a t f o r mt h a th a s a l r e a d yr e a l i z e d ,h a v er e a l i z e da s e to fo n et h a tf a c ee m b e d d e dp o s s ,t h eo n e st h a t a c c o r d w i t hi n t e r n a t i o n a ls t a n d a r du n i f i e d p o so fp o s e q u i p m e n t ,o p e n ,s a f e p l a t f o r mo f c o m m o ns o f t w a r ew i t hi n d e p e n d e n ti n t e l l e c t u a lp r o p e r t yf i g h t ,h e r e a f t e r r e f e r r e dt oa se j a v a p o s i tc o l l e c t sp o ss y s t e ma n do p e r a t e sa n dd e v e l o p sf o rt h e i n t e g r a t i v ep l a t f o r m ,i sf o r m e db yd e v e l o p i n gp l a t f o r ma n do p e r a t i o np l a t f o r m k e yw o r d s :j 2 m eu n i f i e d p o sj a v a p o se j a v a p o s i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外。论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:! :翌! 翌日期:删年p 月堋 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:乜翌导师签名:进 日期:如¥年i 明# 佣 第一章引言 1 1 课题背景 第一章引言 p o s ( p o i n to fs e r v i c e ) 设备在世界范围内已经得到了越来越广泛的应用。在 银行、超市、售票点及其他许多地方,我们都在使用p o s 设备。为了支持高性 能的3 2 位微处理器,友善的用户图形界面及更大的应用软件内存,各家p o s 设 备制造商不断的提高p o s 设备的硬件配置和底层的操作系统。面对如此众多的 硬件o s 网络,应用开发商不得不面对痛苦的交叉开发过程+ 痛苦的移植过程。 在这种情况下,s u n 公司针对消费电子和嵌入式设备制定了j a v a2 技术的 精简版本:j 2 m e ( j a v a2m i c r oe d i t i o n ) 。j 2 m e 为p o s 设备应用的开发提供了 强大的开发工具m i d p 、完善的运行环境c l d c 以及可移植的k v m 。大大简化 了开发过程和大量的重复劳动,真正做到了“w r i t eo n c e r u ne v e r y w h e r e ”。同时, 针对p o s 设备所必须具备的条形码读写,i c 卡刷卡消费,打印发票单据等诸多 特性,j a v a p o s 规范为软件设计者提供了一整套涵盖了对大部分p o s 硬件设备 的属性和操作进行控制和服务的应用接口。 在有了稳定的底层运行平台j 2 m e 和定义p o s 设备属性和操作的j a v a p o s 规范的基础上,一个通用p o s 软件开发平台就成为我们的首要目标,以真正发 挥j a v ap o s 规范独立于操作系统和编程语言的特性及j a v a 语言本身良好的可移 植性,保证该平台在各种p o s 设备操作系统上的通用性。 1 2 课题综述 本课题采用嵌入式技术依照j a v a p o s 规范,构建通用p o s 软件平台 e j a v a p o s ,由运行平台和开发平台两部分组成。其中运行平台由设备管理器、 j 2 m e 和j a v a p o s 支持等基本部分组成,是整个平台的支撑和基础;开发平台不 但提供完整的开发、测试和生产工具,而且提供满足j a v a p o s 规范和国家标准的 税控模块、金融模块以及通用的商业引擎模块。并且基于e j a v a p o s 开发平台, 在已有的嵌入式税控收款机基础上,研发了满足j a v a p o s 规范和国家税控标准的 j a v a p o s 税控收款机。 嵌入式j a v a p o s 通用平台具有以下特点; 规范、统一的设备管理 可移植性 可扩展性 第一章引言 可裁剪性 易用性 符合j a v a p o s 规范 满足国家标准的模块: 税控模块( g b l 8 2 4 0 1 - 2 0 0 3 g b l 8 2 4 0 3 2 0 0 3 ) 金融模块( i s o8 5 8 3 ) 通用的商业支持 一体化的开发、调试环境 通用性、整体性 本课题的主要工作有t j 2 m e 对j 2 m e 的完善。 j a v a p o s 框架 实现j a v a p o s 规范。对p o s 设备进行支持和规范。构建k v m + p o s e f t p r o f i l e 应用平台体系。 x m l 解析器 实现对x m l 的解析。 设备管理器 对设备进行注册、配置和使用等的管理,达到应用、j a v a p o s 库、底层设备 驱动对设备支持的一致性。对应用而言易于配置和使用;对设备开发者而言,方 便向系统中增加新的设备。 通用商业模块 分析国外的商业软件,实现通用的商业模块。最终形成稳定的核心商业引擎, 外部应用可扩展。下一步进行后台支持。 开发平台和调试工具 开发和完善j a v a 开发调试环境,实现p o s 设备远程调试,支持应用软件交 叉开发和调试。 税控模块和银行模块 遵照税控标准和银行标准,实现标准化的税控模块和银行模块,直接提供给 应用开发商。 测试平台 开发p o s 设备的测试集,对p o s 设备进行全面测试。 生产工具 开发生产工具,辅助p o s 生产商进行大规模生产。 2 第一章引言 设备扩展规范 对设备开发者进行规范,提供标准接口,以便他们向框架中添加新设备( 逻 辑的和物理的) 。 标准化 整个平台的标准化、规范化。 本课题从原型研制到正式立项,再到发布平台共历时1 年。本人作为该课题 组成员参与了该课题的全过程。主要参与完成了j a v a p o s 框架的构建,税控模块 和银行模块以及j a v a p o s 税控收款机的开发工作。 1 - 3 章节安排 流程 第一章介绍了本课题的背景和一些情况; 第二章介绍了本课题所涉及的一些基本概念,以便研究能够深入进行: 第三章详细介绍了本课题的国内外最新动态以及发展趋势: 第四章深入分析了e j a v a p o s 运行平台的设计以及e j a v a p o s 开发平台的开发 第五章细致描述了e j a v a p o s 开发的实例税控p o s 的设计与实现; 第六章介绍了税控p o s 功能测试和性能测试的实施过程、方法和结果 第七章对本文进行的总结; 最后是致谢和参考文献。 3 第二章基本概念 2 1 运行平台框架部分 第二章基本概念 2 1 1j 2 m e 和m i d p 、p o s p r o f i l e j 2 m e ( j a v a2m i c r oe d i t i o n ) 是s u nm i c r o s y s t e m si n c 面向市场的需要,针对 微型家电及嵌入式领域推出的微型j a v a 技术,其结构如下图所示: 图2 - 1 j 2 m e 架构图 j 2 m e 的主要应用可咀分为2 大类:个人移动设备和共享固定设备。前者在 c o n f i g u r a t i o n 层使用了c l d c ( c o n n e c t e dl i m i t e dd e v i c ec o n f i g u r a t i o n ) ;c l d c 是 专门针对具有网络连接功能( c o n n e c t e d ) 但资源有限( l i m i t e d ) 的移动终端设备的 规范,包含一个j a v av l q f l 及定义了一套该v n l 之上的核心函数库,其应用包括移动 电话,p d a ,传呼机等而c d c ( c o r m e c t e dd e v i c ec o n f i g u r a t i o n ) 则没有资源有限的 限制,主要用于导航,电脑擞字电视,视频电话等设备 m 1 d p ( m o b i l e i n f o r m a t i o nd e v i c ep r o f i l e ) 则是在c l d c 基础上针对移动通信 ( m o b i l ei n f o r m a t i o n ) 设备制定的a p i 库。它的地位相当于c 语言中的类库,为 程序员实现一些核心或常用的操作,缩短应用的开发周期,减小开发难度m i d p 绝 大部分代码也是用j a v a 编写,在运行时同样由j v m 翻译执行。 同m i d p ( m o b i l ei n f o r m a t i o n d e v i c ep r o f i l e ) 概念类似,p o sp r o f i l e 是 d 第二章基本概念 e j a v a p o s 平台上对p o s 设备制定的a p i 库,其绝大部分代码也是用j a v a 编写, 在运行时同样由j v m 翻译执行。其功能在e j a v a p o s 上主要是提供g t n ( 用户图 形界面1 和网络连接的a p i 库。 除了c l d c 和c d c 两个基本的c o n f i g u r a t i o n s ,j 2 m e 还包括p e r s o n a l j a v a , j a v a c a r d 等其他应用于嵌入式领域的j a v a 技术,但就移动通信市场而言,j 2 m e 技术一般就是指c l d c m i d p 。我们一般所说的j 2 m e m i d p 也包含c l d c 。本 文所提到的嵌入式j a v a ,除非特别说明,都是指c l d c m i d p 。 2 1 2j a v a 虚拟机与j a v a 程序运行 2 1 2 1j a v a 虚拟机简介 j a v a 是一种与平台无关的语言。j a v a 源程序经编译器编译以后生成j a v a 字 节码( b y t e c o d e ) ,由j a v a 虚拟机( v i r t u a lm a c h i n e ,以下简称j v m ) 解释执行。j v m 建立在硬件和操作系统之上,作为j a v a 与不同平台的接口,实现j a v a 字节码的 具体功能。j a v a 字节码本身与平台无关。 j a v a 语言定义了丰富的类库( c l a s sl i b r a r y ) ,用以实现不同的功能。在某种 意义上,类库相当于操作系统提供的a p i ,或者c c + 十语言的函数库。类库的绝 大部分代码也是用j a v a 编写,在运行时同样由m 解释执行。 和传统的编译型面向对象语言相比,j a v a 语言拥有一些重要的特性。这些特 性包括( 但不限于) : 1 目标代码( 字节码) 与平台无关,完全可移植; 2 不支持指针; 3 用内置的垃圾回收器取代了传统的显式内存分配与回收操作; 4 多线程支持。和c 佗+ 十语言不同,这种多线程支持是j a v a 语言标准的一 部分,与平台和操作系统无关; 5 运行时的安全检查,包括字节码校验、数组边界检查、类型转换检查等; 6 j a v a 类可以在运行时动态装载; 7 统一的数据类型。整型类型规定为3 2 位,长整型为6 4 位。单精度浮点 数为3 2 位,双精度浮点数为6 4 位,字符为1 6 位; 8 内置的u n i c o d e 支持。 可以看出,j v m 必须完成许多复杂的功能来实现j a v a 的这些特性,同时还 要保证j a v a 程序运行时的性能。 j a v a 语言的创始者s u n 公司定义了m 的标准规格,但没有规定具体的实 5 第二章基本概念 现方式,因此,j v m 的具体实现方式可以多种多样。 2 1 22 嵌入式j a v a 虚拟机k v m 针对移动通信设备硬件资源有限( c p u 主频低、内存小、电力供应有限) 的事实,为了降低m 的复杂程度,使之更适合应用在移动通信设备上,c l d c 规范定义了一个简化版本的j a v a 虚拟机,这个虚拟机通常被称为k v m ( k i l o b y t e s v i s u a lm a c h i n e ) 。在c l d c1 0 规范中定义的k v m 与标准j v m 的差异主要包括: 1 k v m 不支持浮点数据类型( 包括浮点类f l o a t 和d o u b l e ) 和浮点运算指 令; 2 k v m 不支持j a v a 的r e f l e c t 机制; 3 k v m 不支持w e a kr e f e r e n c e ,s o f tr e f e r e n c e 和p h a n t o mr e f e r e n c e : 4 k v m 不支持对象的f i n a l i z a t i o n : 5 k v m 不支持j a v a 字节码中的j s r 和r e t 指令: 6 k v m 简化了字节码校验过程; 7 k v m 不支持j n i ( j a v an a t i v ei n t e r f a c e ,j a v a 本地方法接口) 。 这些简化降低了在移动通信设备上实现k v m 的复杂程度,降低了k v m 对 系统资源的需求,也减小了系统类库的容量。例如,仅仅j v m 中进行字节码校 验所需要的代码就已经超过k v m 自身代码的总量。 c l d c m i d p 规范也定义了与k v m 一起应用在移动通信设备上的标准类 库。与标准的j 2 s e 类库相比,这些类库也进行了大量的简化。 j a v a 程序的编译运行过程如下图所示: r 。一一一一+ 一一。一一一一一一一一一一一一- 1 i 运行阶段i 图2 - 2 j a v a 程序的编译运行图 6 第二章基本概念 文本格式的j a v a 源程序( 文件后缀名为j a v a ) 经过j a v a 编译器编译后生成 j a v a 字节码文件( 文件后缀名为c l a s s ) 。每一个j a v a 类对应一个c l a s s 文件,c l a s s 文件存放的信息包括: 1 c l a s s 文件格式的版本信息; 2 该j a v a 类的常量表; 3 该j a v a 类的访问标志; 4 该j a v a 类的类名信息; 5 该j a v a 类的父类和所实现的接口的信息; 6 该j a v a 类的数据成员表; 7 该j a v a 类的方法成员表( 含方法的字节码) : 8 其他可扩充的属性信息。 同字节码一样,c l a s s 文件的格式也与平台无关。 在运行阶段,j a v a 虚拟机在装入指定的c l a s s 文件,进行必要的校验,然后 翻译运行c l a s s 文件中的字节码。虚拟机在执行过程中根据需要动态装入其他的 c l a s s 文件并运行。这些c l a s s 文件可能是用户程序的一部分,也可能是系统类库 的一部分。这一装入过程通常都是被推迟到必要的时候才进行。 除了翻译执行j a v a 字节码,j a v a 虚拟机在运行j a v a 程序时还需要完成大量 的其他工作,包括垃圾回收、线程调度、对象同步、异常处理等。 2 1 3u n i f i e d p o s u n i f i e dp o s 是u n i f i e dp o i n to f s e r v i c e 的首字母缩写,它是一种为在零售环 境中使用的终端设备的应用软件接口而设计的体系规范。这种规范是独立于操作 系统和编程语言的,其定义的体系结构框图如下图所示: 图2 - 3 u n i f i e dp o s 体系结构框图 7 第二章基本概念 标准p o s 设备被分为几种被称为设备类别的不同类别,例如收银机和p o s 打 印机。每一种统一标准p o s 设备都包括以下组件: 设备种属控制类组件。控制类提供了应用软件和设备种属之间的接口,他 不包括图形组件因而在运行期间不可见。控制类组件被设计成所有对设备种 属控制的改进都是兼容的。因此对于同一设备种属控制类组件的不同服务可 以单独可发( 甚至可以由不同的公司开发) 。 服务类组件,因通过服务接口进行控制而得名。服务类组件被用来控制对 物理设备进行功能性描述,它同时也可以调用有控制类组建件提供的特殊事 件传送方法传送事件给应用程序。 应用软件通过调用遵循统一标准p o s 规范的某种操作平台的a p i 来操控物理 设备( 硬件单元或外围设备) 。一些物理设备支持多种设备种属,例如,某些p o s 打印机具有收银机的功能,某些条形码扫描仪整合了度量的功能。然而对于统一 标准p o s 来说,应用软件对每一种设备种属进行操作时都认为它是独立的物理设 备。统一标准p o s 设备制造商有责任以这种方式提供硬件外围设备。 注意:某种设备由软件而不是用户可见的硬件实现时称其为逻辑设备。 2 1 4j a v a p o s 框架 j a v a p o s 是构建在s u n 公司的j a v ap l a t f o r m 之上的u n 值e d p o s 具体 实现,其达到了应用与操作系统相互独立,同一个应用不经任何修改就可以在基于 不同操作系统且运行有j v m ( j a v av i r t u a lm a c h i n e ) 的p o s 设备上运行或实现互 操作。其体系结构框图如图3 所示 j a v a p o s 应用程序 千 j p o s 库( u n i f i e d p o s 控制服务实现) 0千 m 千 操作系统 士千 物理( 逻辑) 设备 p o s 事件 v m 本地事件 系统事件 设各事件 图2 4 j a v a p o s 框架图 8 第二章基本概念 2 2 软件开发平台部分 2 2 1j a v a p o s 库和j c l ( j a v a c o n f i g u r a t i o nl o a d e r ) & j e rr j a v ae n t r y r e g i s t r y ) 根据j a v a p o s 的定义,p o s 应用程序指使用一个或者多个j a v a p o s 设备的 j a v a 应用程序或者a p p l c t 程序。应用通过j a v a 实现的j a v a p o s 设备接口操作和 访问j a v a p o s 的设备。j a v a p o s 设备分为不同的设备类,u n i f i e d p o s l 7 标准一 共定义了2 3 种设备类,如钱箱、p o s 打印机等j a v a p o s 库和j c l & i e r 的作用 就是对这些设备进行加载、注册和管理,管理设备的服务属性和控制属性。 2 2 2 行业应用引擎 图2 - 5 j a v a p o s 库结构图 外部应用在引擎的规范下可以方便地扩展,同时引擎还为后台支持提供通用 接口。 2 2 - 3 税控模块和银行模快 税控收款机由两个模块组成,即商业模块以及税控模块商业模块完成商业的 销售、统计以及进、销、存管理功能;税控模块完成税控功能,即对每一次交易 过程进行税控管理,实现报税、完税等功能,从而达到符合国家标准要求的控税 过程。这两个模块在功能上完全独立,商业模块为税控模块提供数据来源以及功 能入口,税控模块向商业模块提供功能接口。 2 2 4 商业引擎 该模块在整个j a v a p o s 平台体系处于最上层,是直接与商业应用层接口的模 块。它为应用层提供了统一的j a v ap o s 设备使用方法和规范的应用开发方法。 商业引擎采用了事件处理机制,它提供了商业事件的基类,每一个商业事件 均从该基类派生,引擎统一对这些事件按顺序进行集中调度与执行;它还对底层 设备进行统一管理,将底层设备上产生的动作转化为驱动商业过程的事件,并向 9 第二章基本概念 应用层提供设备使用方法,从而达到屏蔽j a v a p o s 层的实现细节。该模块为应用 层提供了规范的开发流程和执行机制,使得应用层与底层设备之间真正独立开 来,是应用层开发的支撑模块。 1 0 第三章国内外现状和趋势 第三章国内外现状和趋势 目前,世界各地的零售商为使自己的p o s 设备具有某一、两种新的p o s 功能 而不得不更新甚至替换整个硬件和软件系统。为了给p o s 设备增加新的功能而减 少不必要的支出,美国国家零售体系联盟( n r f - _ n a t i o n a lr e t a i lf e d e r a t i o n ) 的分支机构零售终端技术标准协会( a r t s - - a s s o c i a t i o no fr e t a i lt e c h n o l o g y s t a n d a r d s ) 所制定的标准在p o s 解决方案u n i f i e d p o sj 下发挥着愈来愈重要的作 用 3 1 目前主要的u n i f i e d p o s 实现方法 u n i f i e d p o s 标准与编程语言和运行环境是完全无关的,在体系上,它将p o s 设备分成了控制层和服务层两层。其中控制层对应用提供该设备所有功能接口, 而服务层通过调用底层设备的驱动实现这些功能,服务层对底层驱动的方法和操 作进行了规范。u n i f i e dp o s 体系规范在零售业,银行,税务等行业的终端设备上 有着广泛的应用。目前主要有两种实现方案:基于o l e 的o p o s 和基于j a v a 的 j a v a p o s 。 3 1 1o p o s 实现及其发展概况 3 1 1 1 0 p o s 体系结构概况 o l e p o s 为p o s 设备提供了一个开放的设备驱动架构,允许p o s 设备方便 的加载到基于微软操作系统的p o s 系统上来使用,它同时满足u n i f i e d p o s 标准 和微软的o l e 2 x 体系规范。o p o s 的最终目的是: 1 定义一套基于w i n 3 2 平台p o s 设备的框架 2 定义一套完善的支持各种p o s 解决方案的设备接口 o l e p o s 对于p o s 设备的控制遵从于a c t i v e ) ( 控制规范,它为相关应用程 序提供必要的方法,属性和事件。整个控制过程在运行期间不可见,它与应用程 序的交互仅限于应用程序对方法或属性的调用以及控制层对方法,属性和事件的 返回。o p o s 主要定义了: 设备种属一个设备种属是一类具有相同的方法,事件和属性的设备,例 如提款机和p o s 打印机。同时一个设备也可以属于多个不同的设备种属。 控制模块为应用程序提供某一设备种属相关的方法,事件和属性。 服务模块由控制模块调用,向控制模块反馈其调用的具体设备的方法, 同时也可以调用控制模块的方法来向应用程序传递事件。 第三章国内外现状和趋势 图3 - 1 o l ep o s 定义的体系结构框图 3 1 1 2 应用程序对o p o s 控制的调用过程 取得控制模块 如果需要的话准备事件 调用打开方法打开一个服务并与控制模块相连 调用申请方法获取对物理设各的独占( 设备应是可被独占的,对于 一些共享设备也可被独占) 设置设备使能属性为真使物理设备可操作( 对于共享设备不用申 请即可使能) 使用设备 设置设备使能属性为加使物理设备不可操作 调用释放方法释放队伍里设备的独占享用 调用关闭方法从控制模块中脱离服务 如果需要的话释放事件 关闭控制模块 3 1 1 3o p o s 的发展概况 由于w i n d o w s 系统强大的系统功能,完善的接口调用技术,良好的互操作性, 大量的设备都在使用w i n d o w s 系统,这也使o p o s 在目前的p o s 设备中占有主导地 位。1 9 9 5 年3 月,美国成立了o l ep o s 标准制订核心小组,后又成立了o l ef o r r e t a i l p o sc o m m i t r e e ( 由a t t ,s e i k oe p s o n ,p o s ts o f t w a r ei n t e r n a t i o n a l 及m jc x r o s o f t 等组成) ,井提出了o l ep o s m 推荐文本。1 9 9 5 年7 月日本微软、 n e c 、t e c 、s e i k o e p s o n 、日本a t t ,富士通等6 家公司发起成立了推进p o s 系统 1 2 第三章国内外现状和趋势 标准化的团体:o l ep o s 技术协会( 英文名称o l ep o s t e c h n o l o g y ,j a p a n ,简称 o p o s j ) 1 9 9 6 年4 月发布 o l ef o r r e t a i lp o s 日本版规格书1 0 版 除了 同本p o s 一1 组织外。在欧洲也成立了相应的组织o p o s e u r o p e ,成员有o l i v e t t i 和s i m e n s 。据来自日木的最新提供资料,符合o l e 各种版本的p o s 共有n e c 、 s h a r p ,n c r 、f u j i t s u 、e p s o n 、m i t s u b i s h ,t o s h i b a 、h i t a c h i 、t o m r o m ? i b m ? t o w a 等1 9 个公司计5 0 个不同产品、应用程序共2 4 个公司计2 8 个产品,还有 很多外设已在日本p o s j 登录。 3 1 2j a v a p o s 的发展概况 由于o p o s 限定了设各使用的操作系统,不利于p o s 应用的可移植性和互操作 性基于这样的原因,p o s 规范委员会在o p o s 的基础上又制定j p o s 规范j p o s 不 再依赖特定的操作系统,而是构建在s u n 公司的j a v ap l a t f o r m 之上,应用与操作 系统相互独立,同一个应用不经任何修改就可以在基于不同操作系统且运行有 j v m ( j a v av i r t u a lm a c h i n e ) 的p o s 设备上运行或实现互操作。1 9 9 7 年4 月,首 届j a v a p o s 信息会议在美国亚特兰大举行,在会上成立了由s u n ,i b m ,和n c r 公司发起的j a v a p o s 标准协会。并制定了j a v a p o s 相关的技术白皮书。1 9 9 8 年3 月,j a v a p o s 标准1 2 版发布标志着j a v a p o s 体系结构的全球规范化。到目前为 止,有如下一些公司成为j a v a p o s 协会年度会议的主要发起者:j c p e n n y ,s e a r s , h o m ed e p o t ,n c r ,i b m ,s u nm i c r o s y s t e m s ,e p s o n ,w i n c o rn i x d o r f ,f u j i t s u , d a t a f i t ,m g v ,u 1 t i m a t et e c h n o l o g y ,r c s ,t r i v e r s i t y ,3 6 0 c o m m e r c e ,s t a r m i c r o n i c s 和b e a r i n g p o i n t 。2 0 0 4 年6 月,j a v a p o s 标准1 8 版已经推出,该 标准对j a v a p o s 体系结构的描述更准确且详细。 3 2 发展趋势 o p o s 只能运行于m i c r o s o f t 的窗口系统之上,不仅在平台方面受到限制, 而且需要支付昂贵的版税,限制了它的发展。s u n 公司于1 9 9 7 年就已经完成了 u n if i e d p o s 的j a v a 实现,形成了j a v a p o s 标准。同时s u n 还专门针对嵌入式系 统制定了j 2 m e 平台,j 2 m e 是一套面向嵌入式的、以j a v a 为基础的开放平台, 大大促进了嵌入式系统在j a v a 方面的发展和应用。由于嵌入式系统和p o s 应用 的特点,嵌入式p o s 将成为未来的主流,而j a v a p o s 将是嵌入式p o s 今后发展的 必然趋势之一。 1 3 第四章e j a v a p o s 平台的设计与实现 第四章e j a v a p o s 平台的设计与实现 4 1e j a v a p o s 总体框架结构设计 作为完全符合j a v a p o s 规范的p o s 平台体系,e j a v a p o s 平台同时还有自己的 特点,其体系结构如下图所示: 图4 1 e j a v a p o s 平台体系结构框图 4 2e j a v a p o s 运行平台 e j a v a p o s 运行平台分成本地实现和j a v a 实现两个大的层次。本地实现由硬 件、操作系统、设备驱动程序、设备管理、j a v a 虚拟机( k w ) 以及j 2 m e 运行 需要的本地方法等组成。 对于设备开发者而言,需要实现设备驱动程序,然后将该设备注册到设备管 理器中,这样新加设备就可以得到设备管理器的管理,并且得到虚拟机的调度。 另外还需要实现j a v a p o s 服务层定义的j a v a 本地方法( 在j a v a 中定义为n a t i v e 】4 第四章e j a v a p o s 平台的设计与实现 的方法) ,本地方法通过调用驱动程序提供的接口实现本地方法的功能,供服务 层调用。 e j a v a p o s 运行平台的j a v a 实现图4 1 的j a v a p o s 部分所示,它包括j 2 m e 平 台的j a v a p o s 支持、事件处理模块、j a v a p o s 支持环境、应用等。 事件处理模块从虚拟机( k v m ) 获得设备事件然后分发给上层模块( 包括 j a _ v a p o s ) : j a v a p o s 支持系统除了实现u n i f i e d p o s 标准之外,还负责将事件处理模块送 来的事件进行上传、再次分发或者处理。 p o s 应用程序通过调用j a v a p o s 控制层提供的接1 7 1 使用p o s 设备,开发p o s 应用。 p o s 应用软件是种用于单个或多个统一标准p o s 设备的应用软件。标准 p o s 设备在u n i f i e d p o s 规范中被分为几种被称为设备类别的不同类

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论