一种应用开发平台的制作方法

文档序号:12469460阅读:209来源:国知局
一种应用开发平台的制作方法与工艺

本发明涉及开发计算机领域,尤其涉及一种应用开发平台。



背景技术:

目前,销售终端(Point Of Sale,POS)由于其安全、快捷和可靠等优点广泛使用。但是,POS的应用对软硬件系统依赖很大,当硬件更换或者操作系统发生变化时都会导致POS的应用软件需要重新改写。

现有的POS应用开发模式通常是一位应用开发人员在系统底层应用程序编程接口(Application Programming Interface,API)的基础上对涉及到的各个功能模块进行处理,包括数据通信、设备管理、数据打包解包、数据加密解密、用户界面设计、打印排版和业务逻辑处理等。

然而,上述现有的POS应用开发模式存在一定缺陷。一方面,由于不同POS机的操作系统和硬件环境可能不同,因此需要针对不同的操作系统和硬件环境进行适配,尤其是当需要把当前已有的POS应用移植到一款新的POS机型上时,需要花费相当大的精力和时间进行适配和改写,由于功能模块太多,使得应用开发人员的精力不能集中到客户最为关注的业务处理上;另一方面,现有的开发模式决定了应用开发人员只能基于系统底层的API进行针对性的全流程开发,无法做到多层多人协同开发,导致开发效率低下。



技术实现要素:

本发明的目的在于提供一种应用开发平台,旨在解决现有技术中POS应用的开发依赖具体的软件操作系统和硬件平台,并且不能分层协同开发的问题。

本发明提供了一种应用开发平台,包括:

原生层,用于提供与操作系统对应的硬件接口,屏蔽底层硬件的电气特性;

中间层,用于封装所述原生层提供的所述硬件接口,屏蔽不同操作系统和硬件平台的差异,为上层应用提供基础调用库;

组件层,用于调用所述中间层提供的所述基础调用库对业务功能进行封装,为所述上层应用提供独立的功能组件;

模板层,用于根据所述上层应用的需求封装相关的所述功能组件,为所述上层应用提供应用开发模板。

本发明与现有技术相比存在的有益效果是:一方面,通过构建中间层封装原生层的硬件接口,屏蔽不同操作系统和硬件平台的差异,使得上层应用的开发人员在应用开发过程中不再依赖具体的软件操作系统和硬件平台,另一方面,通过构建原生层、中间层、组件层和模板层,明确各层的功能和相互之间的关系,提供分层设计的应用开发平台,使得上层应用的开发人员可以实现分层分工协同开发,从而提高应用开发的效率。

附图说明

图1是本发明实施例一提供的一种应用开发平台的结构示意图;

图2是本发明实施例二提供的一种应用开发平台的结构示意图;

图3是本发明实施例二提供的一种应用开发平台中参数编辑工具的使用界面示意图;

图4是本发明实施例二提供的一种应用开发平台中界面编辑工具的使用界面示意图;

图5是本发明实施例二提供的一种应用开发平台中打印编辑工具的编辑界面示意图;

图6是本发明实施例二提供的一种应用开发平台中应用程序和库的编译界面示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下结合具体附图对本发明的实现进行详细的描述。

实施例一:

图1是本发明实施例一提供的一种应用开发平台的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图1示例的一种应用开发平台10包括:原生层11、中间层12、组件层13和模板层14。各功能模块详细说明如下:

1)原生层11

用于提供与操作系统对应的硬件接口,屏蔽底层硬件的电气特性。

具体地,原生层11与具体的硬件和操作系统相关,提供与所操作系统对应的硬件接口,屏蔽硬件的电气特性。

2)中间层12

用于封装原生层11提供的硬件接口,屏蔽不同操作系统和硬件平台的差异,为上层应用提供基础调用库。

具体地,由于不同操作系统之间存在差异,导致与操作系统对应的原生层11提供的硬件接口也各不相同,因此通过中间层12封装原生层11提供的硬件接口,从而可以屏蔽不同操作系统和硬件平台的差异,上层应用不需要针对不同操作系统和硬件平台进行适配,直接调用中间层12提供的基础调用库中的接口函数即可。

基础调用库是所有上层应用的基础,除非增加新功能或者新系统,否则不会随意变更。因此,基础调用库以程序库(library)的形式提供给上层应用的开发人员,不提供源代码。

3)组件层13

用于调用中间层12提供的基础调用库对业务功能进行封装,为上层应用提供独立的功能组件。

具体地,通过调用中间层12提供的基础调用库中的库函数对具体的业务功能进行封装,为上层应用提供常用的独立功能组件,例如,EMV流程处理组件、通讯功能组件以及输入功能组件等。

EMV流程是基于EMV标准的金融IC(Integrated Circuit,集成电路)卡支付流程。EMV标准是由国际三大银行卡组织:Europay(欧陆卡,已被万事达收购)、MasterCard(万事达卡)和Visa(维萨)共同发起制定的银行卡从磁条卡向智能IC卡转移的技术标准,是基于IC卡的金融支付标准,已成为公认的全球统一标准。

功能组件以源代码的形式提供给上层应用的开发人员,以便针对不同的应用时只需要对所提供的功能组件进行适当的针对性修改和调整,极大地方便了上层应用。

一个完整的交易可以由多个独立的功能组件组合完成,当新增一个交易时,通过对交易步骤进行切分,直接使用组件层13提供的独立的功能组件进行组合,当现有的功能组件无法满足需求时,可以依据预设的组件划分规则,新增功能组件。

4)模板层14

用于根据上层应用的需求封装相关的功能组件,为上层应用提供应用开发模板。

具体地,根据具体的上层应用的需求进行客户化定制,通过封装相关的功能组件为上层应用提供定制化的应用开发模板,该模板可以包含支付行业常用的功能,例如数据打包和解包、数据加密和解密、数据采集、交易通讯、凭单打印、参数设置和交易流程控制等。

上层应用的开发人员在进行POS应用的开发时,只需要在应用开发模板的基础上进一步具体化客户的需求即可,从而使得上层应用的开发人员可以将精力集中到客户最为关注的业务处理上,方便快捷地完成应用开发过程。

同时,由于采用了这种分层架构,并且各层均提供了对外接口,使得上层应用的开发人员在进行POS应用的开发时不需要在系统底层API的基础上进行全流程开发,可以多层多人协同开发,提高开发效率。

需要说明的是,由于本发明实施例提供的分层架构实现了多层多人协同开发,因此本发明实施例中提到的上层应用应当理解为当前层级以上的各个层级的应用,例如中间层12的上层应用可以是组件层13的应用,也可以是模板层14的应用,组件层13的上层应用可以是模板层14的应用,模板层14的上层应用可以是开发人员基于模板层14提供的开发模板进行的POS应用开发。在以下的实施例描述中,除特别声明之外,凡涉及上层应用的地方,均指当前层级以上的各个层级的应用。

从上述图1示例的一种应用开发平台可知,一方面,通过构建中间层封装原生层的硬件接口,屏蔽不同操作系统和硬件平台的差异,使得上层应用的开发人员在应用开发过程中不再依赖具体的软件操作系统和硬件平台,另一方面,通过构建原生层、中间层、组件层和模板层,明确各层的功能和相互之间的关系,提供分层设计的应用开发平台,使得上层应用的开发人员可以实现分层分工协同开发,从而提高应用开发的效率。

实施例二:

图2是本发明实施例二提供的一种应用开发平台的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图2示例的一种应用开发平台20包括:原生层21、中间层22、组件层23和模板层24。各功能模块详细说明如下:

1)原生层21

用于提供与操作系统对应的硬件接口,屏蔽底层硬件的电气特性。

具体地,原生层21与具体的硬件和操作系统相关,提供与所操作系统对应的硬件接口,屏蔽硬件的电气特性。

2)中间层22

用于封装原生层21提供的硬件接口,屏蔽不同操作系统和硬件平台的差异,为上层应用提供基础调用库。

具体地,由于不同操作系统之间存在差异,导致与操作系统对应的原生层21提供的硬件接口也各不相同,因此通过中间层22封装原生层21提供的硬件接口,从而可以屏蔽不同操作系统和硬件平台的差异,上层应用不需要针对不同操作系统和硬件平台进行适配,直接调用中间层22提供的基础调用库中的接口函数即可。

基础调用库是所有上层应用的基础,除非增加新功能或者新系统,否则不会随意变更。因此,基础调用库以程序库(library)的形式提供给上层应用的开发人员,不提供源代码。

进一步地,中间层22包括平台公共模块221、独立功能封装模块222、界面模块223和打印模块224,各功能模块的详细说明如下:

a1)平台公共模块221

用于封装公用基础操作,构建公共调用平台。

具体地,平台公共模块221通过屏蔽不同操作系统和硬件平台的原生态API的差异,实现跨平台的应用。平台公共模块221具体可以包括:通信子模块2211、记录子模块2212、加解密子模块2213、卡类子模块2214、系统信息子模块2215、参数管理子模块2216、应用管理子模块2217和日志管理子模块2218。各子模块的功能详细说明如下:

a11)通信子模块2211

用于对通信过程进行封装,屏蔽不同硬件的通信过程的差异。上层应用的开发人员只需要直接通信子模块封装的通讯接口,不需要关心以太网、无线、蓝牙、电话拨号以及串口等通讯方式是如何调用系统函数并实现数据通讯的。

进一步地,通信子模块2211通过对通信过程的抽象,将通信过程封装为打开、连接、发送、接收和关闭等接口。

a12)记录子模块2212

用于对文件进行读写操作,包括对各种存储介质和一些特殊文件的处理,例如移动存储介质、公有文件等的读写操作,以及对记录型文件的记录头和记录项的同步写入功能。

a13)加解密子模块2213

用于封装加密、解密和密钥运算,具体可以包括写密钥、获取个人标识码(Personal Identification Number,PIN)、PIN输入设备(PIN Entry Device、PED)运算、生成密钥和校验密钥等。

a14)卡类子模块2214

用于对银行卡的操作接口进行封装,具体可以包括磁条卡、接触式集成电路(Integrated Circuit,IC)卡和非接触式IC卡的操作接口的简化和封装。

a15)系统信息子模块2215

用于对获取系统基本信息的接口进行封装,具体可以包括时间设置、定时器使用等系统基本信息和基本功能的封装。

a16)参数管理子模块2216

用于存储和管理参数文件。由于每一个上层应用都需要有一个参数文件,记录该上层应用所对应的具体参数和参数值。上层应用的开发人员不能对参数名进行修改,根据使用对象不同可以对参数文件中的参数项设置不同的读写权限。参数管理子模块2216通过参数编辑工具对参数文件进行编辑和加密等处理,通过加密处理避免参数文件被非法编辑和修改。图3为具体的参数编辑工具的使用界面示意图。

a17)应用管理子模块2217

用于对上层应用进行管理、安装和卸载,还可以对硬件设备进行管理。

a18)日志管理子模块2218

用于对交易日志进行记录和管理,交易日志可以分为错误、警告和流水信息三个级别,可以根据实际应用情况调整交易日志的级别,并可根据设置的条件对交易日志进行筛选和导出等过程。

a2)独立功能封装模块222

用于对独立功能和基础算法进行封装。具体地,通过调用平台公共模块211提供的接口,封装独立功能和基础算法。

进一步地,独立功能封装模块222具体可以包括工具子模块2221、8583报文子模块2222、运算子模块2223、图形转换子模块2224和页面描述文件解析子模块2225,各子模块的功能详细说明如下:

a21)工具子模块2221

用于提供基本工具类函数,例如字符转换等。

a22)8583报文子模块2222

用于提供ISO8583报文相关的函数,具体可以包括ISO8583报文域属性的设置、ISO8583报文的打包和解包等。

O8583报文(简称8583包)又称8583报文,是基于ISO8583报文国际标准的包格式,最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。

a23)运算子模块2223

用于提供基本运算类函数。

a24)图形转换子模块2224

用于提供图片格式的转换,主要用于电子签名的图片格式转换。

a25)页面描述文件解析子模块2225

用于提供页面描述文件的解析函数。

进一步地,页面描述文件为可扩展标记语言(Extensible Markup Language,XML)文件。

XML是一种用于标记电子文件使其具有结构性的标记语言,XML可以对文档和数据进行结构化处理,从而能够在不同对象之间进行交换,实现动态内容生成,企业集成和应用开发。

a3)界面模块223

用于封装用户界面设计功能。

进一步地,界面模块223提供可视化界面编辑工具对应用界面进行编辑,并生成应用界面对应的页面描述文件。上层应用调用页面模块提供的库函数对该页面描述文件进行解析并最终呈现在应用界面上。

界面模块233可以对多种界面控件进行编辑,包括按钮(Button)、菜单(MenuList)、文本框(TextBox)、编辑框(EditBox)、图片(PictureBox)、签名板(SignatureBoard)、复选框(CheckBox)、单选框(RadioGroup)、进度条(ProcessBar)、跑马灯(Marquee)和网格(GridView)等。图4为具体的界面编辑工具的使用界面示意图。

a4)打印模块224

用于封装凭条打印功能。

进一步地,打印模块224提供可视化打印编辑工具对打印页面进行打印排版,并生成打印页面对应的页面描述文件。上层应用调用打印模块提供的库函数对该页面描述文件后通过打印机直接实现打印功能。图5为具体的打印编辑工具的编辑界面示意图。

3)组件层23

用于调用中间层22提供的基础调用库对业务功能进行封装,为上层应用提供独立的功能组件。

具体地,通过调用中间层22提供的基础调用库中的库函数对具体的业务功能进行封装,为上层应用提供常用的独立功能组件,例如,EMV流程处理组件、通讯功能组件以及输入功能组件等。

EMV流程是基于EMV标准的金融IC卡支付流程。EMV标准是由国际三大银行卡组织:Europay(欧陆卡,已被万事达收购)、MasterCard(万事达卡)和Visa(维萨)共同发起制定的银行卡从磁条卡向智能IC卡转移的技术标准,是基于IC卡的金融支付标准,已成为公认的全球统一标准。

功能组件以源代码的形式提供给上层应用的开发人员,以便针对不同的应用时只需要对所提供的功能组件进行适当的针对性修改和调整,极大地方便了上层应用。

一个完整的交易可以由多个独立的功能组件组合完成,当新增一个交易时,通过对交易步骤进行切分,直接使用组件层23提供的独立的功能组件进行组合,当现有的功能组件无法满足需求时,可以依据预设的组件划分规则,新增功能组件。

进一步地,组件层23包括:

基本组件模块231,用于提供交易过程中的基本功能组件,具体可以包括常用通讯模式的通讯功能组件和常用输入方式的输入功能组件等。

EMV组件模块232,用于提供EMV流程的组件。

4)模板层24

用于根据上层应用的需求封装相关的功能组件,为上层应用提供应用开发模板。

具体地,根据具体的上层应用的需求进行客户化定制,通过封装相关的功能组件为上层应用提供定制化的应用开发模板,该模板可以包含支付行业常用的功能,例如数据打包和解包、数据加密和解密、数据采集、交易通讯、凭单打印、参数设置和交易流程控制等。

进一步地,模板层24包括:

应用框架模块241,用于构建应用初始化过程和交易过程框架,具体可以包括应用初始化、待机界面处理、待机界面循环、交易触发入口以及管理功能入口和多语言支持等。

信息管理模块242,用于管理上层应用的流水信息、参数信息、人员信息和版本信息,具体可以包括流水查询、参数设置、操作人员管理、版本信息管理等。

交易模块243,用于封装功能组件构建交易过程,具体可以包括POS业务支持的各种本地化和客户化的交易过程的构建。

上层应用的开发人员在进行POS应用的开发时,只需要在应用开发模板的基础上进一步具体化客户的需求即可,从而使得上层应用的开发人员可以将精力集中到客户最为关注的业务处理上,方便快捷地完成应用开发过程。

同时,由于采用了这种分层架构,并且各层均提供了对外接口,使得上层应用的开发人员在进行POS应用的开发时不需要在系统底层API的基础上进行全流程开发,可以多层多人协同开发,提高开发效率。

进一步地,本发明实施例的应用开发平台针对不同的操作系统提供统一的编译环境,可以选择对应的操作系统对应用程序和库进行编译,避免了上层应用的开发人员在进行编译时,需要针对不同操作系统选择不同的编译工具的麻烦,从而提高开发效率。图6为具体的应用程序和库的编译界面示意图。

从上述图2示例的一种应用开发平台可知,一方面,通过构建中间层封装原生层的硬件接口,屏蔽不同操作系统和硬件平台的差异,通过平台功能模块封装公用基础操作,构建公共调用平台,通过独立功能封装模块将常用的独立功能和基础算法进行封装方便调用,通过界面模块实现对用户界面设计功能的封装,以及通过打印模块实现对凭条打印功能的封装,使得上层应用的开发人员在应用开发过程中不再依赖具体的软件操作系统和硬件平台,另一方面,通过构建原生层、中间层、组件层和模板层,明确各层的功能和相互之间的关系,提供分层设计的应用开发平台,使得上层应用的开发人员可以实现分层分工协同开发,从而提高应用开发的效率。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每一个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同或者相似的部分互相参见即可。

值得注意的是,上述实施例中,所包括的各个模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

本领域普通技术人员可以理解,实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1