本發(fā)明涉及開發(fā)計算機領域,尤其涉及一種應用開發(fā)平臺。
背景技術:
目前,銷售終端(Point Of Sale,POS)由于其安全、快捷和可靠等優(yōu)點廣泛使用。但是,POS的應用對軟硬件系統(tǒng)依賴很大,當硬件更換或者操作系統(tǒng)發(fā)生變化時都會導致POS的應用軟件需要重新改寫。
現(xiàn)有的POS應用開發(fā)模式通常是一位應用開發(fā)人員在系統(tǒng)底層應用程序編程接口(Application Programming Interface,API)的基礎上對涉及到的各個功能模塊進行處理,包括數據通信、設備管理、數據打包解包、數據加密解密、用戶界面設計、打印排版和業(yè)務邏輯處理等。
然而,上述現(xiàn)有的POS應用開發(fā)模式存在一定缺陷。一方面,由于不同POS機的操作系統(tǒng)和硬件環(huán)境可能不同,因此需要針對不同的操作系統(tǒng)和硬件環(huán)境進行適配,尤其是當需要把當前已有的POS應用移植到一款新的POS機型上時,需要花費相當大的精力和時間進行適配和改寫,由于功能模塊太多,使得應用開發(fā)人員的精力不能集中到客戶最為關注的業(yè)務處理上;另一方面,現(xiàn)有的開發(fā)模式決定了應用開發(fā)人員只能基于系統(tǒng)底層的API進行針對性的全流程開發(fā),無法做到多層多人協(xié)同開發(fā),導致開發(fā)效率低下。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種應用開發(fā)平臺,旨在解決現(xiàn)有技術中POS應用的開發(fā)依賴具體的軟件操作系統(tǒng)和硬件平臺,并且不能分層協(xié)同開發(fā)的問題。
本發(fā)明提供了一種應用開發(fā)平臺,包括:
原生層,用于提供與操作系統(tǒng)對應的硬件接口,屏蔽底層硬件的電氣特性;
中間層,用于封裝所述原生層提供的所述硬件接口,屏蔽不同操作系統(tǒng)和硬件平臺的差異,為上層應用提供基礎調用庫;
組件層,用于調用所述中間層提供的所述基礎調用庫對業(yè)務功能進行封裝,為所述上層應用提供獨立的功能組件;
模板層,用于根據所述上層應用的需求封裝相關的所述功能組件,為所述上層應用提供應用開發(fā)模板。
本發(fā)明與現(xiàn)有技術相比存在的有益效果是:一方面,通過構建中間層封裝原生層的硬件接口,屏蔽不同操作系統(tǒng)和硬件平臺的差異,使得上層應用的開發(fā)人員在應用開發(fā)過程中不再依賴具體的軟件操作系統(tǒng)和硬件平臺,另一方面,通過構建原生層、中間層、組件層和模板層,明確各層的功能和相互之間的關系,提供分層設計的應用開發(fā)平臺,使得上層應用的開發(fā)人員可以實現(xiàn)分層分工協(xié)同開發(fā),從而提高應用開發(fā)的效率。
附圖說明
圖1是本發(fā)明實施例一提供的一種應用開發(fā)平臺的結構示意圖;
圖2是本發(fā)明實施例二提供的一種應用開發(fā)平臺的結構示意圖;
圖3是本發(fā)明實施例二提供的一種應用開發(fā)平臺中參數編輯工具的使用界面示意圖;
圖4是本發(fā)明實施例二提供的一種應用開發(fā)平臺中界面編輯工具的使用界面示意圖;
圖5是本發(fā)明實施例二提供的一種應用開發(fā)平臺中打印編輯工具的編輯界面示意圖;
圖6是本發(fā)明實施例二提供的一種應用開發(fā)平臺中應用程序和庫的編譯界面示意圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
以下結合具體附圖對本發(fā)明的實現(xiàn)進行詳細的描述。
實施例一:
圖1是本發(fā)明實施例一提供的一種應用開發(fā)平臺的結構示意圖,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。圖1示例的一種應用開發(fā)平臺10包括:原生層11、中間層12、組件層13和模板層14。各功能模塊詳細說明如下:
1)原生層11
用于提供與操作系統(tǒng)對應的硬件接口,屏蔽底層硬件的電氣特性。
具體地,原生層11與具體的硬件和操作系統(tǒng)相關,提供與所操作系統(tǒng)對應的硬件接口,屏蔽硬件的電氣特性。
2)中間層12
用于封裝原生層11提供的硬件接口,屏蔽不同操作系統(tǒng)和硬件平臺的差異,為上層應用提供基礎調用庫。
具體地,由于不同操作系統(tǒng)之間存在差異,導致與操作系統(tǒng)對應的原生層11提供的硬件接口也各不相同,因此通過中間層12封裝原生層11提供的硬件接口,從而可以屏蔽不同操作系統(tǒng)和硬件平臺的差異,上層應用不需要針對不同操作系統(tǒng)和硬件平臺進行適配,直接調用中間層12提供的基礎調用庫中的接口函數即可。
基礎調用庫是所有上層應用的基礎,除非增加新功能或者新系統(tǒng),否則不會隨意變更。因此,基礎調用庫以程序庫(library)的形式提供給上層應用的開發(fā)人員,不提供源代碼。
3)組件層13
用于調用中間層12提供的基礎調用庫對業(yè)務功能進行封裝,為上層應用提供獨立的功能組件。
具體地,通過調用中間層12提供的基礎調用庫中的庫函數對具體的業(yè)務功能進行封裝,為上層應用提供常用的獨立功能組件,例如,EMV流程處理組件、通訊功能組件以及輸入功能組件等。
EMV流程是基于EMV標準的金融IC(Integrated Circuit,集成電路)卡支付流程。EMV標準是由國際三大銀行卡組織:Europay(歐陸卡,已被萬事達收購)、MasterCard(萬事達卡)和Visa(維薩)共同發(fā)起制定的銀行卡從磁條卡向智能IC卡轉移的技術標準,是基于IC卡的金融支付標準,已成為公認的全球統(tǒng)一標準。
功能組件以源代碼的形式提供給上層應用的開發(fā)人員,以便針對不同的應用時只需要對所提供的功能組件進行適當的針對性修改和調整,極大地方便了上層應用。
一個完整的交易可以由多個獨立的功能組件組合完成,當新增一個交易時,通過對交易步驟進行切分,直接使用組件層13提供的獨立的功能組件進行組合,當現(xiàn)有的功能組件無法滿足需求時,可以依據預設的組件劃分規(guī)則,新增功能組件。
4)模板層14
用于根據上層應用的需求封裝相關的功能組件,為上層應用提供應用開發(fā)模板。
具體地,根據具體的上層應用的需求進行客戶化定制,通過封裝相關的功能組件為上層應用提供定制化的應用開發(fā)模板,該模板可以包含支付行業(yè)常用的功能,例如數據打包和解包、數據加密和解密、數據采集、交易通訊、憑單打印、參數設置和交易流程控制等。
上層應用的開發(fā)人員在進行POS應用的開發(fā)時,只需要在應用開發(fā)模板的基礎上進一步具體化客戶的需求即可,從而使得上層應用的開發(fā)人員可以將精力集中到客戶最為關注的業(yè)務處理上,方便快捷地完成應用開發(fā)過程。
同時,由于采用了這種分層架構,并且各層均提供了對外接口,使得上層應用的開發(fā)人員在進行POS應用的開發(fā)時不需要在系統(tǒng)底層API的基礎上進行全流程開發(fā),可以多層多人協(xié)同開發(fā),提高開發(fā)效率。
需要說明的是,由于本發(fā)明實施例提供的分層架構實現(xiàn)了多層多人協(xié)同開發(fā),因此本發(fā)明實施例中提到的上層應用應當理解為當前層級以上的各個層級的應用,例如中間層12的上層應用可以是組件層13的應用,也可以是模板層14的應用,組件層13的上層應用可以是模板層14的應用,模板層14的上層應用可以是開發(fā)人員基于模板層14提供的開發(fā)模板進行的POS應用開發(fā)。在以下的實施例描述中,除特別聲明之外,凡涉及上層應用的地方,均指當前層級以上的各個層級的應用。
從上述圖1示例的一種應用開發(fā)平臺可知,一方面,通過構建中間層封裝原生層的硬件接口,屏蔽不同操作系統(tǒng)和硬件平臺的差異,使得上層應用的開發(fā)人員在應用開發(fā)過程中不再依賴具體的軟件操作系統(tǒng)和硬件平臺,另一方面,通過構建原生層、中間層、組件層和模板層,明確各層的功能和相互之間的關系,提供分層設計的應用開發(fā)平臺,使得上層應用的開發(fā)人員可以實現(xiàn)分層分工協(xié)同開發(fā),從而提高應用開發(fā)的效率。
實施例二:
圖2是本發(fā)明實施例二提供的一種應用開發(fā)平臺的結構示意圖,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。圖2示例的一種應用開發(fā)平臺20包括:原生層21、中間層22、組件層23和模板層24。各功能模塊詳細說明如下:
1)原生層21
用于提供與操作系統(tǒng)對應的硬件接口,屏蔽底層硬件的電氣特性。
具體地,原生層21與具體的硬件和操作系統(tǒng)相關,提供與所操作系統(tǒng)對應的硬件接口,屏蔽硬件的電氣特性。
2)中間層22
用于封裝原生層21提供的硬件接口,屏蔽不同操作系統(tǒng)和硬件平臺的差異,為上層應用提供基礎調用庫。
具體地,由于不同操作系統(tǒng)之間存在差異,導致與操作系統(tǒng)對應的原生層21提供的硬件接口也各不相同,因此通過中間層22封裝原生層21提供的硬件接口,從而可以屏蔽不同操作系統(tǒng)和硬件平臺的差異,上層應用不需要針對不同操作系統(tǒng)和硬件平臺進行適配,直接調用中間層22提供的基礎調用庫中的接口函數即可。
基礎調用庫是所有上層應用的基礎,除非增加新功能或者新系統(tǒng),否則不會隨意變更。因此,基礎調用庫以程序庫(library)的形式提供給上層應用的開發(fā)人員,不提供源代碼。
進一步地,中間層22包括平臺公共模塊221、獨立功能封裝模塊222、界面模塊223和打印模塊224,各功能模塊的詳細說明如下:
a1)平臺公共模塊221
用于封裝公用基礎操作,構建公共調用平臺。
具體地,平臺公共模塊221通過屏蔽不同操作系統(tǒng)和硬件平臺的原生態(tài)API的差異,實現(xiàn)跨平臺的應用。平臺公共模塊221具體可以包括:通信子模塊2211、記錄子模塊2212、加解密子模塊2213、卡類子模塊2214、系統(tǒng)信息子模塊2215、參數管理子模塊2216、應用管理子模塊2217和日志管理子模塊2218。各子模塊的功能詳細說明如下:
a11)通信子模塊2211
用于對通信過程進行封裝,屏蔽不同硬件的通信過程的差異。上層應用的開發(fā)人員只需要直接通信子模塊封裝的通訊接口,不需要關心以太網、無線、藍牙、電話撥號以及串口等通訊方式是如何調用系統(tǒng)函數并實現(xiàn)數據通訊的。
進一步地,通信子模塊2211通過對通信過程的抽象,將通信過程封裝為打開、連接、發(fā)送、接收和關閉等接口。
a12)記錄子模塊2212
用于對文件進行讀寫操作,包括對各種存儲介質和一些特殊文件的處理,例如移動存儲介質、公有文件等的讀寫操作,以及對記錄型文件的記錄頭和記錄項的同步寫入功能。
a13)加解密子模塊2213
用于封裝加密、解密和密鑰運算,具體可以包括寫密鑰、獲取個人標識碼(Personal Identification Number,PIN)、PIN輸入設備(PIN Entry Device、PED)運算、生成密鑰和校驗密鑰等。
a14)卡類子模塊2214
用于對銀行卡的操作接口進行封裝,具體可以包括磁條卡、接觸式集成電路(Integrated Circuit,IC)卡和非接觸式IC卡的操作接口的簡化和封裝。
a15)系統(tǒng)信息子模塊2215
用于對獲取系統(tǒng)基本信息的接口進行封裝,具體可以包括時間設置、定時器使用等系統(tǒng)基本信息和基本功能的封裝。
a16)參數管理子模塊2216
用于存儲和管理參數文件。由于每一個上層應用都需要有一個參數文件,記錄該上層應用所對應的具體參數和參數值。上層應用的開發(fā)人員不能對參數名進行修改,根據使用對象不同可以對參數文件中的參數項設置不同的讀寫權限。參數管理子模塊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個字段域組成,每個域都有統(tǒng)一的規(guī)定,并有定長與變長之分。
a23)運算子模塊2223
用于提供基本運算類函數。
a24)圖形轉換子模塊2224
用于提供圖片格式的轉換,主要用于電子簽名的圖片格式轉換。
a25)頁面描述文件解析子模塊2225
用于提供頁面描述文件的解析函數。
進一步地,頁面描述文件為可擴展標記語言(Extensible Markup Language,XML)文件。
XML是一種用于標記電子文件使其具有結構性的標記語言,XML可以對文檔和數據進行結構化處理,從而能夠在不同對象之間進行交換,實現(xiàn)動態(tài)內容生成,企業(yè)集成和應用開發(fā)。
a3)界面模塊223
用于封裝用戶界面設計功能。
進一步地,界面模塊223提供可視化界面編輯工具對應用界面進行編輯,并生成應用界面對應的頁面描述文件。上層應用調用頁面模塊提供的庫函數對該頁面描述文件進行解析并最終呈現(xiàn)在應用界面上。
界面模塊233可以對多種界面控件進行編輯,包括按鈕(Button)、菜單(MenuList)、文本框(TextBox)、編輯框(EditBox)、圖片(PictureBox)、簽名板(SignatureBoard)、復選框(CheckBox)、單選框(RadioGroup)、進度條(ProcessBar)、跑馬燈(Marquee)和網格(GridView)等。圖4為具體的界面編輯工具的使用界面示意圖。
a4)打印模塊224
用于封裝憑條打印功能。
進一步地,打印模塊224提供可視化打印編輯工具對打印頁面進行打印排版,并生成打印頁面對應的頁面描述文件。上層應用調用打印模塊提供的庫函數對該頁面描述文件后通過打印機直接實現(xiàn)打印功能。圖5為具體的打印編輯工具的編輯界面示意圖。
3)組件層23
用于調用中間層22提供的基礎調用庫對業(yè)務功能進行封裝,為上層應用提供獨立的功能組件。
具體地,通過調用中間層22提供的基礎調用庫中的庫函數對具體的業(yè)務功能進行封裝,為上層應用提供常用的獨立功能組件,例如,EMV流程處理組件、通訊功能組件以及輸入功能組件等。
EMV流程是基于EMV標準的金融IC卡支付流程。EMV標準是由國際三大銀行卡組織:Europay(歐陸卡,已被萬事達收購)、MasterCard(萬事達卡)和Visa(維薩)共同發(fā)起制定的銀行卡從磁條卡向智能IC卡轉移的技術標準,是基于IC卡的金融支付標準,已成為公認的全球統(tǒng)一標準。
功能組件以源代碼的形式提供給上層應用的開發(fā)人員,以便針對不同的應用時只需要對所提供的功能組件進行適當的針對性修改和調整,極大地方便了上層應用。
一個完整的交易可以由多個獨立的功能組件組合完成,當新增一個交易時,通過對交易步驟進行切分,直接使用組件層23提供的獨立的功能組件進行組合,當現(xiàn)有的功能組件無法滿足需求時,可以依據預設的組件劃分規(guī)則,新增功能組件。
進一步地,組件層23包括:
基本組件模塊231,用于提供交易過程中的基本功能組件,具體可以包括常用通訊模式的通訊功能組件和常用輸入方式的輸入功能組件等。
EMV組件模塊232,用于提供EMV流程的組件。
4)模板層24
用于根據上層應用的需求封裝相關的功能組件,為上層應用提供應用開發(fā)模板。
具體地,根據具體的上層應用的需求進行客戶化定制,通過封裝相關的功能組件為上層應用提供定制化的應用開發(fā)模板,該模板可以包含支付行業(yè)常用的功能,例如數據打包和解包、數據加密和解密、數據采集、交易通訊、憑單打印、參數設置和交易流程控制等。
進一步地,模板層24包括:
應用框架模塊241,用于構建應用初始化過程和交易過程框架,具體可以包括應用初始化、待機界面處理、待機界面循環(huán)、交易觸發(fā)入口以及管理功能入口和多語言支持等。
信息管理模塊242,用于管理上層應用的流水信息、參數信息、人員信息和版本信息,具體可以包括流水查詢、參數設置、操作人員管理、版本信息管理等。
交易模塊243,用于封裝功能組件構建交易過程,具體可以包括POS業(yè)務支持的各種本地化和客戶化的交易過程的構建。
上層應用的開發(fā)人員在進行POS應用的開發(fā)時,只需要在應用開發(fā)模板的基礎上進一步具體化客戶的需求即可,從而使得上層應用的開發(fā)人員可以將精力集中到客戶最為關注的業(yè)務處理上,方便快捷地完成應用開發(fā)過程。
同時,由于采用了這種分層架構,并且各層均提供了對外接口,使得上層應用的開發(fā)人員在進行POS應用的開發(fā)時不需要在系統(tǒng)底層API的基礎上進行全流程開發(fā),可以多層多人協(xié)同開發(fā),提高開發(fā)效率。
進一步地,本發(fā)明實施例的應用開發(fā)平臺針對不同的操作系統(tǒng)提供統(tǒng)一的編譯環(huán)境,可以選擇對應的操作系統(tǒng)對應用程序和庫進行編譯,避免了上層應用的開發(fā)人員在進行編譯時,需要針對不同操作系統(tǒng)選擇不同的編譯工具的麻煩,從而提高開發(fā)效率。圖6為具體的應用程序和庫的編譯界面示意圖。
從上述圖2示例的一種應用開發(fā)平臺可知,一方面,通過構建中間層封裝原生層的硬件接口,屏蔽不同操作系統(tǒng)和硬件平臺的差異,通過平臺功能模塊封裝公用基礎操作,構建公共調用平臺,通過獨立功能封裝模塊將常用的獨立功能和基礎算法進行封裝方便調用,通過界面模塊實現(xiàn)對用戶界面設計功能的封裝,以及通過打印模塊實現(xiàn)對憑條打印功能的封裝,使得上層應用的開發(fā)人員在應用開發(fā)過程中不再依賴具體的軟件操作系統(tǒng)和硬件平臺,另一方面,通過構建原生層、中間層、組件層和模板層,明確各層的功能和相互之間的關系,提供分層設計的應用開發(fā)平臺,使得上層應用的開發(fā)人員可以實現(xiàn)分層分工協(xié)同開發(fā),從而提高應用開發(fā)的效率。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每一個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同或者相似的部分互相參見即可。
值得注意的是,上述實施例中,所包括的各個模塊只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠實現(xiàn)相應的功能即可;另外,各功能模塊的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護范圍。
本領域普通技術人員可以理解,實現(xiàn)上述各實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,相應的程序可以存儲于一計算機可讀取存儲介質中,所述的存儲介質,如ROM/RAM、磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。