專利名稱:一種智能卡的應(yīng)用實現(xiàn)方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及智能卡技術(shù)領(lǐng)域,尤其涉及一種智能卡的應(yīng)用實現(xiàn)方法及系統(tǒng)。
背景技術(shù):
隨著智能卡技術(shù)的發(fā)展,其在各個領(lǐng)域的應(yīng)用越來越普及。智能卡操作系統(tǒng)平臺包括私有平臺和公開技術(shù)平臺如Java卡操作系統(tǒng)。為了使應(yīng)用開發(fā)不僅僅局限于智能卡操作系統(tǒng)平臺供應(yīng)商,公開技術(shù)平臺的應(yīng)用更受運營商的青睞。他們希望有更多的參與者提供更多應(yīng)用程序,以提高吸引客戶的能力。由于應(yīng)用程序的地需求有時差別很大,有時差別很小。現(xiàn)有技術(shù)中,只要需求發(fā)生變化,就需要投入開發(fā)工程師重新編寫應(yīng)用程序代碼。隨著與智能卡相關(guān)的電信及其它行業(yè)增值業(yè)務(wù)的發(fā)展,智能卡操作系統(tǒng)開發(fā)商會遇到越來越多的STK增值應(yīng)用的開發(fā)。這些應(yīng)用需求都具有統(tǒng)一的特點,都是一個菜單應(yīng)用的開發(fā),傳統(tǒng)的開發(fā)模式是孤立的將這類應(yīng)用看作獨立的小應(yīng)用程序來開發(fā),需要耗費大量的人力物力,同時也不便于改動。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種智能卡的應(yīng)用實現(xiàn)方法及系統(tǒng),以節(jié)省開發(fā)及人力物力成本。一方面,本發(fā)明實施例提供了一種智能卡的應(yīng)用實現(xiàn)方法,所述方法包括對應(yīng)用需求中的菜單數(shù)據(jù)用一種標記規(guī)則進行標注;將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用;根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;利用所述字節(jié)碼在智能卡上實現(xiàn)應(yīng)用。智能卡操作系統(tǒng)平臺可以是私有平臺,也可以是公開技術(shù)平臺如Java卡操作系統(tǒng)。所述應(yīng)用可以是電信領(lǐng)域的應(yīng)用,如用戶識別模塊SM基本應(yīng)用、STK(SM TOOL KIT, SM卡應(yīng)用工具集,其中,SM為個人身份認證模塊)應(yīng)用等,也可以是支付領(lǐng)域的應(yīng)用,如網(wǎng)銀應(yīng)用,也可以是其它使用智能卡領(lǐng)域的應(yīng)用,如一卡通、社???、公交卡等。還可以是以智能卡操作系統(tǒng)為基礎(chǔ)的其它產(chǎn)品上的應(yīng)用,如USB密鑰卡(USB KEY)。通常,應(yīng)用需求以菜單形式呈現(xiàn)。當然, 也可能以文本描述的方式或其它方式呈現(xiàn)。但無論應(yīng)用需求以何種方式呈現(xiàn),可以將應(yīng)用需求轉(zhuǎn)化為菜單形式呈現(xiàn)。本文中的菜單形式是指具有一類似列表形式的描述方式,至少可以表示列表中兩個選項之間的關(guān)系??蛇x的,在本發(fā)明一實施例中,所述菜單數(shù)據(jù)可以通過Excel表或Word表格表示, 所述菜單數(shù)據(jù)可以包括菜單級別和功能。當然也可以是其它可以形成菜單形式的工具來表示,如WPS軟件、PowerPoint軟件、繪圖工具、數(shù)據(jù)結(jié)構(gòu)描述軟件等??蛇x的,在本發(fā)明一實施例中,所述標記語言可以是如下任意一種可擴展標記語言 XML (extensible Markup Language)、超文本置標語言 HTML (HyperText Markup Language)、通用標記語言 GML(Generalized Markup Language)、標準通用標記語言SGML (Standard Generalized Markup Language)、可擴展超文件標不語言XHTML (extensible Hyper Text Markup Language)、可擴展應(yīng)用標記語言 XAML (Extensible Application Markup Language)、無線標記語言 WML(Wireless Markup Language),也可以是其它可以被看作是標記語言的各種編程語言。所述字節(jié)碼可以通過十六進位hex數(shù)據(jù)表示或二進位數(shù)據(jù)表示??蛇x的,在本發(fā)明一實施例中,所述利用所述字節(jié)碼在具有私有平臺操作系統(tǒng)的智能卡上實現(xiàn)應(yīng)用,如SIM基本應(yīng)用、STK應(yīng)用,可以包括將所述字節(jié)碼下載到所述智能卡上,然后通過所述智能卡上常駐的應(yīng)用引擎解釋執(zhí)行以實現(xiàn)應(yīng)用??蛇x的,在本發(fā)明一實施例中,所述利用所述字節(jié)碼在公開技術(shù)平臺的智能卡上實現(xiàn)應(yīng)用,如SIM基本應(yīng)用、STK應(yīng)用,可以包括將所述字節(jié)碼下載到所述公開技術(shù)平臺的智能卡上,然后通過所述公開技術(shù)平臺智能卡上常駐的應(yīng)用引擎解釋執(zhí)行以實現(xiàn)應(yīng)用。公開技術(shù)平臺可以是JAVA平臺、MultOS平臺,Windows For Smart Card平臺。這里描述的公開技術(shù)平臺與開放式操作系統(tǒng)平臺具有相同的技術(shù)概念,或其它公開技術(shù)平臺的卡片操作系統(tǒng)平臺。微軟智能IC卡視窗(Windows For Smart Card)與微軟 Windows操作系統(tǒng)相結(jié)合,將在電子商務(wù)、網(wǎng)絡(luò)安全有廣闊前景。MULTOS是一個多應(yīng)用OS, 它卡片有效生命周期內(nèi)允許動態(tài)地裝載、更新或刪除卡片應(yīng)用。可選的,在本發(fā)明一實施例中,所述將所述字節(jié)碼下載到所述智能卡上可以采用如下三種方式之一應(yīng)用協(xié)議數(shù)據(jù)單元APDU命令傳輸、小應(yīng)用程序Applet數(shù)據(jù)共享接口、 貼片卡或SD卡數(shù)據(jù)共享。所述智能卡可以是具有私有平臺操作系統(tǒng)的智能卡,也可以是具有公開技術(shù)平臺的卡片操作系統(tǒng)??蛇x的,在本發(fā)明一實施例中,所述將所述字節(jié)碼下載到所述智能卡上,可以包括通過所述智能卡與卡下裝置的身份互認證操作后,將所述字節(jié)碼下載到所述智能卡上。 所述智能卡可以是具有私有平臺操作系統(tǒng)的智能卡,也可以是具有公開技術(shù)平臺的卡片操作系統(tǒng)??蛇x的,在本發(fā)明一實施例中,所述利用所述字節(jié)碼在智能卡上實現(xiàn)應(yīng)用,可以包括利用應(yīng)用引擎將所述字節(jié)碼生成所述智能卡上的小應(yīng)用程序,然后將生成的所述智能卡上的小應(yīng)用程序下載到所述智能卡上解釋執(zhí)行以實現(xiàn)應(yīng)用。所述智能卡可以是具有私有平臺操作系統(tǒng)的智能卡,也可以是具有公開技術(shù)平臺的卡片操作系統(tǒng)。小應(yīng)用程序可以是 JAVA卡的Applet,也可以是私有平臺定義的小應(yīng)用程序,也可以是其它公開平臺定義的小應(yīng)用程序。可選的,在本發(fā)明一實施例中,將所述一種標記語言文件格式的API函數(shù)調(diào)用下載到所述智能卡上,由所述智能卡根據(jù)所述標記語言的標識符將所述標記語言文件格式的 API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼,然后通過所述智能卡上常駐的應(yīng)用引擎解釋執(zhí)行所述字節(jié)碼以實現(xiàn)應(yīng)用??蛇x的,在本發(fā)明一實施例中,將所述一種標記語言文件格式的API函數(shù)調(diào)用下載到所述智能卡上,由所述智能卡根據(jù)所述標記語言的標識符將所述標記語言文件格式的 API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼,然后利用應(yīng)用引擎將所述字節(jié)碼生成所述智能卡上的小應(yīng)用程序,由所述智能卡上解釋執(zhí)行所述小應(yīng)用程序以實現(xiàn)應(yīng)用。小應(yīng)用程序可以是JAVA卡的 Applet,也可以是私有平臺定義的小應(yīng)用程序,也可以是其它公開平臺定義的小應(yīng)用程序??蛇x的,在本發(fā)明一實施例中,將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)下載到所述智能卡上,由所述智能卡將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用,并根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼,然后通過所述智能卡上常駐的應(yīng)用引擎解釋執(zhí)行所述字節(jié)碼以實現(xiàn)應(yīng)用??蛇x的,在本發(fā)明一實施例中,將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)下載到所述智能卡上,由所述智能卡將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用,并根據(jù)所述標記語言的標識符將所述標記語言文件格式的API 函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼,然后利用應(yīng)用引擎將所述字節(jié)碼生成所述智能卡上的小應(yīng)用程序,由所述智能卡上解釋執(zhí)行所述小應(yīng)用程序以實現(xiàn)應(yīng)用。小應(yīng)用程序可以是JAVA卡的 Applet,也可以是私有平臺定義的小應(yīng)用程序,也可以是其它公開平臺定義的小應(yīng)用程序??蛇x的,在本發(fā)明一實施例中,所述應(yīng)用引擎可以包括依次相連的如下模塊:API 模塊、執(zhí)行模塊及智能卡的工具箱小應(yīng)用程序框架模塊;其中,所述API模塊包含STK API 模塊和擴展API模塊。上述中標記規(guī)則是可以按多種方式進行定義,只要定義的規(guī)則可以標識菜單的級別與關(guān)聯(lián)關(guān)系,按照所定義的標記規(guī)則可以區(qū)分每個菜單選項的級別和菜單選項之間的位置關(guān)系。比如,O級菜單或根菜單或應(yīng)用入口菜單用MO表示,I級菜單的第一個選項用Ml 表示,I級菜單的第二個選項用M2表示,以此類推,其中I級菜單是O級菜單的下級菜單;同理,I級菜單的第一個選項的下級是第二級菜單,第二級菜單的第一個選項用Mll表示,第二級菜單的的第二個選項用M12表示。以此可以對于任何復(fù)雜菜單結(jié)構(gòu)的應(yīng)用進行標記。 這里的M0、M1、M2、M11、M12是示例性,相關(guān)領(lǐng)域的技術(shù)人員可以完全理解,可以采用任意一種可區(qū)分的符號進行標記。上述中,為了能夠?qū)崿F(xiàn)將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用,菜單數(shù)據(jù)中,包含每級的菜單選項,當一個菜單之下還有下級菜單時,表明點擊或選中該菜單項,將顯示其下級菜單項,需要調(diào)用與之相關(guān)的API函數(shù)調(diào)用,比如在STK應(yīng)用中為SETUP MENU API函數(shù);除了各級菜單選項外,當某個菜單項沒有下級菜單項時,該菜單項是需要完成一個特定的功能,如顯示字符串或者發(fā)起語音呼叫或發(fā)送短信或發(fā)出提示音等等。為了能夠?qū)崿F(xiàn)自動轉(zhuǎn)換,需要對于菜單數(shù)據(jù)中的各種表示功能的字符或數(shù)據(jù)可以識別,比如,菜單選項為“Display Text”或“顯示文本”,則轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用時,轉(zhuǎn)換模塊需要識別菜單選項的具體文本,當識別為 “Display Text”或“顯示文本”,則檢索到與之對應(yīng)的API函數(shù),將與此API函數(shù)對應(yīng)的參數(shù)填入后實現(xiàn)了將該菜單項菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用了。在 STK應(yīng)用中,還包含其它功能,分別對應(yīng)相應(yīng)的API函數(shù)調(diào)用。例如SETUPCall函數(shù)調(diào)用對應(yīng)于“建立呼叫”,SENDSMS對應(yīng)于“發(fā)送短信”,PlayTone對應(yīng)于“發(fā)出提示音”等等。當然其它應(yīng)用需求則對應(yīng)于其它API函數(shù)調(diào)用,相關(guān)領(lǐng)域的技術(shù)人員可以完全理解,功能與函數(shù)之間的對應(yīng)關(guān)系不一定是一一對應(yīng)關(guān)系,即一個功能可以需要多個API函數(shù)實現(xiàn),相應(yīng)地在進行轉(zhuǎn)換時,當檢測到該功能項時,需要用多個API函數(shù)調(diào)用來實現(xiàn)。如“群發(fā)短信”, 需要調(diào)用多個“發(fā)送短信”對應(yīng)的API函數(shù)。標記語言通常都有一個標記頭和標記尾,在標記頭和標記尾之間的內(nèi)容是與該標記相應(yīng)的實體內(nèi)容,如為API函數(shù)調(diào)用內(nèi)容。對應(yīng)于STK 應(yīng)用,其功能有幾十個,每個功能對應(yīng)有相應(yīng)的API函數(shù)定義和參數(shù)定義,如果要實現(xiàn)STK應(yīng)用,則轉(zhuǎn)換功能模塊需要能夠識別所有這些功能,以完成相應(yīng)的API函數(shù)調(diào)用的轉(zhuǎn)換。另一方面,根據(jù)上述方法,本發(fā)明實施例提供了一種智能卡的應(yīng)用實現(xiàn)系統(tǒng),所述系統(tǒng)包括卡下裝置,用于對應(yīng)用需求中的菜單數(shù)據(jù)用一種標記規(guī)則進行標注;將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用;根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;智能卡,其中,所述智能卡包括應(yīng)用引擎,所述智能卡用于將所述字節(jié)碼下載到所述智能卡上,然后通過所述智能卡上常駐的所述應(yīng)用引擎解釋執(zhí)行以實現(xiàn)應(yīng)用。智能卡操作系統(tǒng)平臺可以是私有平臺,也可以是公開技術(shù)平臺如Java卡操作系統(tǒng)。所述應(yīng)用可以是電信領(lǐng)域的應(yīng)用,如用戶識別模塊SM基本應(yīng)用、STK (SM Tool Kit)應(yīng)用等,也可以是支付領(lǐng)域的應(yīng)用,如網(wǎng)銀應(yīng)用,也可以是其它使用智能卡領(lǐng)域的應(yīng)用,如一卡通、社???、公交卡等。還可以是以智能卡操作系統(tǒng)為基礎(chǔ)的其它產(chǎn)品上的應(yīng)用,如USB密鑰卡(USB KEY)。通常,應(yīng)用需求以菜單形式呈現(xiàn)。當然,也可能以文本描述的方式或其它方式呈現(xiàn)。但無論應(yīng)用需求以何種方式呈現(xiàn),可以將應(yīng)用需求轉(zhuǎn)化為菜單形式呈現(xiàn)。本文中的菜單形式是指具有一類似列表形式的描述方式,至少可以表示列表中兩個選項之間的關(guān)系。可選的,在本發(fā)明一實施例中,所述卡下裝置的所述菜單數(shù)據(jù)可以通過Excel表或Word表格表示,所述菜單數(shù)據(jù)可以包括菜單級別和功能。當然也可以是其它可以形成菜單形式的工具來表示,如WPS軟件、PowerPoint軟件、繪圖工具、數(shù)據(jù)結(jié)構(gòu)描述軟件等??蛇x的,在本發(fā)明一實施例中,所述卡下裝置的所述標記語言可以是如下任意一種可擴展標記語言XML、超文本置標語言HTML、通用標記語言GML、標準通用標記語言 SGML、可擴展超文件標示語言XHTML、可擴展應(yīng)用標記語言XAML、無線標記語言WML。所述字節(jié)碼可以通過十六進位hex數(shù)據(jù)表示或二進位數(shù)據(jù)表示??蛇x的,在本發(fā)明一實施例中,所述利用所述字節(jié)碼在具有私有平臺操作系統(tǒng)的智能卡上實現(xiàn)應(yīng)用,如SIM基本應(yīng)用、STK應(yīng)用,可以包括將所述字節(jié)碼下載到所述智能卡上,然后通過所述智能卡上常駐的應(yīng)用引擎解釋執(zhí)行以實現(xiàn)應(yīng)用??蛇x的,在本發(fā)明一實施例中,所述利用所述字節(jié)碼在公開技術(shù)平臺的智能卡上實現(xiàn)應(yīng)用,如SIM基本應(yīng)用、STK應(yīng)用,可以包括將所述字節(jié)碼下載到所述公開技術(shù)平臺的智能卡上,然后通過所述公開技術(shù)平臺智能卡上常駐的應(yīng)用引擎解釋執(zhí)行以實現(xiàn)應(yīng)用。公開技術(shù)平臺可以是JAVA平臺、MultOS平臺,Windows For Smart Card平臺??蛇x的,在本發(fā)明一實施例中,所述應(yīng)用引擎將所述字節(jié)碼下載到所述智能卡上可以采用如下三種方式之一應(yīng)用協(xié)議數(shù)據(jù)單元APDU命令傳輸、小應(yīng)用程序數(shù)據(jù)共享接口、貼片卡或SD卡數(shù)據(jù)共享??蛇x的,在本發(fā)明一實施例中,所述應(yīng)用引擎,進一步可以用于通過所述智能卡與卡下裝置的身份互認證操作后,將所述字節(jié)碼下載到所述智能卡上??蛇x的,在本發(fā)明一實施例中,所述應(yīng)用引擎可以包括依次相連的如下模塊API 模塊、執(zhí)行模塊及智能卡的工具箱小應(yīng)用程序框架模塊;其中,所述API模塊包括STK API 模塊和擴展API模塊。再一方面,本發(fā)明實施例提供了一種智能卡的應(yīng)用實現(xiàn)系統(tǒng),所述系統(tǒng)包括卡下裝置,用于對應(yīng)用需求中的菜單數(shù)據(jù)用一標記規(guī)則進行標注;將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用;根據(jù)所述標記語言的標識符將
9所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;其中,所述卡下裝置包括應(yīng)用引擎,用于將所述字節(jié)碼生成智能卡上的小應(yīng)用程序;智能卡,用于將生成的所述智能卡上的小應(yīng)用程序下載到所述智能卡上解釋執(zhí)行以實現(xiàn)應(yīng)用??蛇x的,在本發(fā)明一實施例中,所述卡下裝置的所述菜單數(shù)據(jù)可以通過Excel表或Word表格表示,所述菜單數(shù)據(jù)可以包括菜單級別和功能。當然也可以是其它可以形成菜單形式的工具來表示,如WPS軟件、PowerPoint軟件、繪圖工具、數(shù)據(jù)結(jié)構(gòu)描述軟件等??蛇x的,在本發(fā)明一實施例中,所述卡下裝置的所述標記語言可以是如下任意一種可擴展標記語言XML、超文本置標語言HTML、通用標記語言GML、標準通用標記語言 SGML、可擴展超文件標示語言XHTML、可擴展應(yīng)用標記語言XAML、無線標記語言WML。所述字節(jié)碼可以通過十六進位hex數(shù)據(jù)表示或二進位數(shù)據(jù)表示??蛇x的,在本發(fā)明一實施例中,將生成的所述智能卡上的小應(yīng)用程序下載到所述智能卡上采用如下三種方式之一應(yīng)用協(xié)議數(shù)據(jù)單元APDU命令傳輸、小應(yīng)用程序數(shù)據(jù)共享接口、貼片卡或SD卡數(shù)據(jù)共享??蛇x的,在本發(fā)明一實施例中,通過所述智能卡與卡下裝置的身份互認證操作后, 將生成的所述智能卡上的小應(yīng)用程序下載到所述智能卡上??蛇x的,在本發(fā)明一實施例中,所述應(yīng)用引擎可以包括依次相連的如下模塊:API 模塊、執(zhí)行模塊及智能卡的工具箱小應(yīng)用程序框架模塊;其中,所述API模塊包括STK API 模塊和擴展API模塊。再一方面,本發(fā)明實施例提供了一種智能卡的應(yīng)用實現(xiàn)系統(tǒng),所述系統(tǒng)包括卡下裝置,用于對應(yīng)用需求中的菜單數(shù)據(jù)用一種標記規(guī)則進行標注;將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為所述一種標記語言文件格式的API函數(shù)調(diào)用;智能卡,其中,所述智能卡包括應(yīng)用引擎,所述智能卡用于將所述一種標記語言文件格式的API函數(shù)調(diào)用下載到所述智能卡上,由所述智能卡根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;然后通過所述智能卡上常駐的所述應(yīng)用引擎解釋執(zhí)行所述字節(jié)碼以實現(xiàn)應(yīng)用,或者通過所述智能卡上常駐的所述應(yīng)用引擎將所述字節(jié)碼生成智能卡上的小應(yīng)用程序,由所述智能卡解釋執(zhí)行所述小應(yīng)用程序以實現(xiàn)應(yīng)用。可選的,在本發(fā)明一實施例中,,所述卡下裝置的所述菜單數(shù)據(jù)通過Excel表或 Word表格表示,所述菜單數(shù)據(jù)包括菜單級別和功能??蛇x的,在本發(fā)明一實施例中,所述卡下裝置的所述標記語言是如下任意一種可擴展標記語言XML、超文本置標語言HTML、通用標記語言GML、標準通用標記語言SGML、可擴展超文件標示語言XHTML、可擴展應(yīng)用標記語言XAML、無線標記語言WML??蛇x的,在本發(fā)明一實施例中,將所述一種標記語言文件格式的API函數(shù)調(diào)用下載到所述智能卡上采用如下三種方式之一應(yīng)用協(xié)議數(shù)據(jù)單元APDU命令傳輸、小應(yīng)用程序數(shù)據(jù)共享接口、貼片卡或SD卡數(shù)據(jù)共享。可選的,在本發(fā)明一實施例中,通過所述智能卡與卡下裝置的身份互認證操作后, 將所述一種標記語言文件格式的API函數(shù)調(diào)用下載到所述智能卡上??蛇x的,在本發(fā)明一實施例中,所述應(yīng)用引擎包括依次相連的如下模塊API模塊、執(zhí)行模塊及智能卡的工具箱小應(yīng)用程序框架模塊;其中,所述API模塊包括STK API模塊和擴展API模塊。再一方面,本發(fā)明實施例提供了一種智能卡的應(yīng)用實現(xiàn)系統(tǒng),所述系統(tǒng)包括卡下裝置,用于對應(yīng)用需求中的菜單數(shù)據(jù)用一種標記規(guī)則進行標注;智能卡,其中,所述智能卡包括應(yīng)用引擎,所述智能卡用于將所述標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)下載到所述智能卡上,由所述智能卡將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為所述一種標記語言文件格式的API函數(shù)調(diào)用,并根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;然后通過所述智能卡上常駐的所述應(yīng)用弓I擎解釋執(zhí)行所述字節(jié)碼以實現(xiàn)應(yīng)用,或者通過所述智能卡上常駐的所述應(yīng)用弓I擎將所述字節(jié)碼生成智能卡上的小應(yīng)用程序,由所述智能卡解釋執(zhí)行所述小應(yīng)用程序以實現(xiàn)應(yīng)用??蛇x的,在本發(fā)明一實施例中,所述卡下裝置的所述菜單數(shù)據(jù)通過Excel表或 Word表格表示,所述菜單數(shù)據(jù)包括菜單級別和功能??蛇x的,在本發(fā)明一實施例中,所述卡下裝置的所述標記語言是如下任意一種可擴展標記語言XML、超文本置標語言HTML、通用標記語言GML、標準通用標記語言SGML、可擴展超文件標示語言XHTML、可擴展應(yīng)用標記語言XAML、無線標記語言WML。可選的,在本發(fā)明一實施例中,將所述標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)下載到所述智能卡上采用如下三種方式之一應(yīng)用協(xié)議數(shù)據(jù)單元APDU命令傳輸、小應(yīng)用程序數(shù)據(jù)共享接口、貼片卡或SD卡數(shù)據(jù)共享??蛇x的,在本發(fā)明一實施例中,通過所述智能卡與卡下裝置的身份互認證操作后, 將所述標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)下載到所述智能卡上??蛇x的,在本發(fā)明一實施例中,所述應(yīng)用引擎包括依次相連的如下模塊API模塊、執(zhí)行模塊及智能卡的工具箱小應(yīng)用程序框架模塊;其中,所述API模塊包括STK API模塊和擴展API模塊。上述技術(shù)方案具有如下有益效果因為采用對應(yīng)用需求中的菜單數(shù)據(jù)用一標記規(guī)則進行標注;將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API 函數(shù)調(diào)用;根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;利用所述字節(jié)碼在智能卡上實現(xiàn)應(yīng)用的技術(shù)手段,所以節(jié)省了開發(fā)及人力物力成本; 其實現(xiàn)簡單化,開發(fā)者不需要熟悉智能卡規(guī)范;其具有便宜性,可以隨時隨地響應(yīng)客戶的需求變化;且其具有通用性,支持基于短信、語音、支付等的多種業(yè)務(wù)。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。下面所舉的應(yīng)用實例是以在JAVA智能卡上的STK應(yīng)用為例,對于本領(lǐng)域的技術(shù)人員可以完全理解,非STK應(yīng)用是十分類似的。其實現(xiàn)的原理是相同的。另外,本發(fā)明中包含卡下裝置和智能卡,而實現(xiàn)本發(fā)明包含多個步驟或多個功能模塊,除了“對應(yīng)用需求中的菜單數(shù)據(jù)用一標記規(guī)則進行標注”無法在智能卡上實現(xiàn),其它每個步驟或每個功能模塊既可以在卡下裝置實現(xiàn),也可以在智能卡上實現(xiàn),這在發(fā)明內(nèi)容中給出了多種實現(xiàn)方式。作為優(yōu)選的實現(xiàn)方式,下面只給出了其中優(yōu)選的具體實現(xiàn)方式。顯然,本領(lǐng)域的技術(shù)人員根據(jù)發(fā)明內(nèi)容可以完全實現(xiàn)其它具體實現(xiàn)方式。圖I為本發(fā)明實施例一種基于Java智能卡的STK應(yīng)用實現(xiàn)方法流程圖;圖2為本發(fā)明實施例應(yīng)用引擎(APP ENGINE)的結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例一種基于Java智能卡的STK應(yīng)用實現(xiàn)系統(tǒng)結(jié)構(gòu)示意圖;圖4為本發(fā)明實施例另一種基于Java智能卡的STK應(yīng)用實現(xiàn)系統(tǒng)結(jié)構(gòu)不意圖;圖5為本發(fā)明實施例菜單需求示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。實際上可以將STK應(yīng)用看作一類整體,以實現(xiàn)自動生成STK應(yīng)用,如圖I所示,為本發(fā)明實施例一種基于Java智能卡的STK應(yīng)用實現(xiàn)方法流程圖,所述方法包括101、對STK應(yīng)用需求中的菜單數(shù)據(jù)用一標記規(guī)則進行標注;102、將標注過的所述STK應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用;103、根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;104、利用所述字節(jié)碼在Java智能卡上實現(xiàn)STK應(yīng)用??蛇x的,所述菜單數(shù)據(jù)可以通過Excel表或Word表格表示,所述菜單數(shù)據(jù)可以包括采單級別和功能??蛇x的,所述標記語言可以是如下任意一種可擴展標記語言XML、超文本置標語目HTML、通用標記語目GML、標準通用標記語目SGML、可擴展超文件標不語目XHTML、可擴展應(yīng)用標記語言XAML、無線標記語言WML。所述字節(jié)碼可以通過十六進位hex數(shù)據(jù)表示或二進位數(shù)據(jù)表示??蛇x的,所述利用所述字節(jié)碼在Java智能卡上實現(xiàn)STK應(yīng)用,可以包括將所述字節(jié)碼下載到所述Java智能卡上,然后通過所述Java智能卡上常駐的應(yīng)用引擎解釋執(zhí)行以實現(xiàn)STK應(yīng)用。可選的,所述將所述字節(jié)碼下載到所述Java智能卡上可以采用如下三種方式之一應(yīng)用協(xié)議數(shù)據(jù)單元APDU命令傳輸、小應(yīng)用程序Applet數(shù)據(jù)共享接口、貼片卡或SD卡數(shù)
據(jù)共享??蛇x的,所述將所述字節(jié)碼下載到所述Java智能卡上,可以包括通過所述Java 智能卡與卡下裝置的身份互認證操作后,將所述字節(jié)碼下載到所述Java智能卡上??蛇x的,所述利用所述字節(jié)碼在Java智能卡上實現(xiàn)STK應(yīng)用,可以包括利用應(yīng)用引擎將所述字節(jié)碼生成所述Java智能卡上的小應(yīng)用程序Applet,然后將生成的所述Java 智能卡上的小應(yīng)用程序Applet下載到所述Java智能卡上解釋執(zhí)行以實現(xiàn)STK應(yīng)用。
可選的,所述應(yīng)用引擎可以包括依次相連的如下模塊API模塊、執(zhí)行模塊及Java 智能卡的工具箱小應(yīng)用程序框架模塊;其中,所述API模塊包括STK API模塊和擴展API模塊。如圖2所示,為本發(fā)明實施例應(yīng)用引擎(APP ENGINE)的結(jié)構(gòu)示意圖,包含以下幾個部分a)API模塊為XML表示的API函數(shù)提供調(diào)用的程序?qū)嶓w,包括STK API模塊21和 EXTEND API (擴展API)模塊22兩部分。STK API模塊21提供GSMl I. 14等標準規(guī)范接口, EXTEND API模塊22提供私有的擴展API,諸如文件操作,應(yīng)用的邏輯跳轉(zhuǎn)及其它特殊API。b)執(zhí)行模塊(EXECUTED MODULE) 23,其為執(zhí)行模塊,是在STK APP ENGINE里執(zhí)行 API的模塊。c) Java智能卡的工具箱小應(yīng)用程序框架模塊(JAVA TOOLKIT APPLET STRUCT) 24 java卡toolkit applet框架模塊,該模塊負責和java card OS的交互,展現(xiàn)Applet對夕卜的接口,同時調(diào)用執(zhí)行模塊23執(zhí)行菜單。本發(fā)明實施例上述方法技術(shù)方案具有如下有益效果因為采用對STK應(yīng)用需求中的菜單數(shù)據(jù)用一標記規(guī)則進行標注;將標注過的所述STK應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用;根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;利用所述字節(jié)碼在Java智能卡上實現(xiàn)STK應(yīng)用的技術(shù)手段,所以節(jié)省了開發(fā)及人力物力成本;其實現(xiàn)簡單化,開發(fā)者不需要熟悉Java智能卡規(guī)范; 其具有便宜性,可以隨時隨地響應(yīng)客戶的需求變化;且其具有通用性,支持基于短信、語音的STK業(yè)務(wù)。另外為確保數(shù)據(jù)安全,可以加入身份認證操作,在傳輸數(shù)據(jù)前,可以再增加幾條APDU來做身份認證,如通過方可傳輸數(shù)據(jù)。對應(yīng)于上述方法實施例,如圖3所示,為本發(fā)明實施例一種基于Java智能卡的STK 應(yīng)用實現(xiàn)系統(tǒng)結(jié)構(gòu)示意圖,所述系統(tǒng)包括卡下裝置31,用于對STK應(yīng)用需求中的菜單數(shù)據(jù)用一標記規(guī)則進行標注;將標注過的所述STK應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用;根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼Java智能卡32,其中,所述Java智能卡包括應(yīng)用引擎321,所述Java 智能卡32用于將所述字節(jié)碼下載到所述Java智能卡32上,然后通過所述Java智能卡32 上常駐的所述應(yīng)用引擎321解釋執(zhí)行以實現(xiàn)STK應(yīng)用??蛇x的,所述卡下裝置31的所述菜單數(shù)據(jù)可以通過Excel表或Word表格表示,所述菜單數(shù)據(jù)可以包括菜單級別和功能。可選的,所述卡下裝置31的所述標記語言可以是如下任意一種可擴展標記語言 XML、超文本置標語言HTML、通用標記語言GML、標準通用標記語言SGML、可擴展超文件標示語言XHTML、可擴展應(yīng)用標記語言XAML、無線標記語言WML。所述字節(jié)碼可以通過十六進位 hex數(shù)據(jù)表示或二進位數(shù)據(jù)表示。可選的,所述應(yīng)用引擎321將所述字節(jié)碼下載到所述Java智能卡上可以采用如下三種方式之一應(yīng)用協(xié)議數(shù)據(jù)單元APDU命令傳輸、小應(yīng)用程序Applet數(shù)據(jù)共享接口、貼片卡或SD卡數(shù)據(jù)共享。 可選的,所述應(yīng)用引擎321,進一步可以用于通過所述Java智能卡與卡下裝置的身份互認證操作后,將所述字節(jié)碼下載到所述Java智能卡上。
可選的,所述應(yīng)用引擎321可以包括依次相連的如下模塊API模塊、執(zhí)行模塊及 Java智能卡的工具箱小應(yīng)用程序框架模塊;其中,所述API模塊包括STK API模塊和擴展 API模塊。本發(fā)明實施例上述裝置技術(shù)方案具有如下有益效果節(jié)省了開發(fā)及人力物力成本;其實現(xiàn)簡單化,開發(fā)者不需要熟悉Java智能卡規(guī)范;其具有便宜性,可以隨時隨地響應(yīng)客戶的需求變化;且其具有通用性,支持基于短信、語音的STK業(yè)務(wù)。另外為確保數(shù)據(jù)安全, 可以加入身份認證操作,在傳輸數(shù)據(jù)前,可以再增加幾條APDU來做身份認證,如通過方可傳輸數(shù)據(jù)。如圖4所示,為本發(fā)明實施例另一種基于Java智能卡的STK應(yīng)用實現(xiàn)系統(tǒng)結(jié)構(gòu)示意圖,所述系統(tǒng)包括卡下裝置41,用于對STK應(yīng)用需求中的菜單數(shù)據(jù)用一標記規(guī)則進行標注;將標注過的所述STK應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用;根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;其中,所述卡下裝置41包括應(yīng)用引擎411,用于將所述字節(jié)碼生成Java智能卡上的小應(yīng)用程序Applet Java智能卡42,用于將生成的所述Java智能卡上的小應(yīng)用程序Applet 下載到所述Java智能卡42上解釋執(zhí)行以實現(xiàn)STK應(yīng)用??蛇x的,所述卡下裝置41的所述菜單數(shù)據(jù)可以通過Excel表或Word表格表示,所述菜單數(shù)據(jù)可以包括菜單級別和功能??蛇x的,所述卡下裝置41的所述標記語言可以是如下任意一種可擴展標記語言 XML、超文本置標語言HTML、通用標記語言GML、標準通用標記語言SGML、可擴展超文件標示語言XHTML、可擴展應(yīng)用標記語言XAML、無線標記語言WML。所述字節(jié)碼可以通過十六進位 hex數(shù)據(jù)表示或二進位數(shù)據(jù)表示??蛇x的,所述應(yīng)用引擎411可以包括依次相連的如下模塊API模塊、執(zhí)行模塊及 Java智能卡的工具箱小應(yīng)用程序框架模塊;其中,所述API模塊包括STK API模塊和擴展 API模塊。本發(fā)明實施例上述裝置技術(shù)方案具有如下有益效果節(jié)省了開發(fā)及人力物力成本;其實現(xiàn)簡單化,開發(fā)者不需要熟悉Java智能卡規(guī)范;其具有便宜性,可以隨時隨地響應(yīng)客戶的需求變化;且其具有通用性,支持基于短信、語音的STK業(yè)務(wù)。另外為確保數(shù)據(jù)安全, 可以加入身份認證操作,在傳輸數(shù)據(jù)前,可以再增加幾條APDU來做身份認證,如通過方可傳輸數(shù)據(jù)。以下舉實例進行說明如圖5所示,為本發(fā)明實施例菜單需求示意圖。第一步,進行菜單標注
First level of STK menu Sub Menu ISub Menu2
MO—mainMenu
MENUlMl
sendSmsMll_sendSms
setUpCalIM12—SetUpCalI
MENU2M2—displayText第二步,XML文件API函數(shù)標注
< xml version=" 1.0" encoding="gb2312" >
<wml>
〈bytecode aid="000001" name="Main Menu" dcs="ascii">
〈label name="APPVAR" type="appvar" >
<setvar varname ="add" value="0466000040" dcs="hex"></setvar>
<setvar vamame="FQ" value="FQ" dcs="ascii"/>
<setvar varname="菜單例子"value="菜單例子"dcs="ucs2" dcsprefix="08"/> </label>〈label name="PID_000000" type= "processid" pid="000000">
〈select qualifier ="00" dcs= "ascii"〉
〈option itemid= "01">MENUI</option>
〈option itemid= "02">MENU2</option>
〈/select〉
〈/label〉
〈label name="PID_l00000" type= "processid" pid="100000">
〈select qualifier="00" dcs="ascii">
〈option itemid= "01">sendSms</option>
〈option itemid= "02">setUpCall</option>
〈/select〉
〈/label〉
〈label name="PID_l 10000" type= "processid" pid="110000">
〈sendsms qualifier=M01M piddcs=M0004M address=M$(add)M title="$(FQ)M/> 〈/label〉
〈label name="PID_120000" type= "processid" pid="120000">
〈setupcall qualifier="00" address="$(add)"/>
〈/label〉
〈label name="PID—200000" type= "processid" pid="200000">
〈displaytext qualifier=" 81" title=" $(菜單例子)"></di splay text〉
〈/label〉
〈/bytecode〉
</wml>第三步,Bytecode 轉(zhuǎn)換
000001007A"3字節(jié)bytecode索引號+2字節(jié)空間大小 094D61696E204D656E75 //STK 菜單入口名(LV)
FD001303 //變量定義
0466000040
024651090883DC53554F8B5B50
00000013 "menu0(3字節(jié)索引號+1字節(jié)空間大小)
/^select item*/
2411008F06014D454E55318F06024D454E5532
10000019 //sub menul /*command:select item*/
2417008F080173656E64536D738F0A02736574557043616C6C
1100000A//sub menu2 /*command:send sms*/
130801000406100D0111
12000005 //sub menu2 /*command:set up call*/
1003000610
20000006 //sub menul /*command:display text*/
2104810D0112說明以上加粗字體為說明文字。第四步,Bytecode 執(zhí)行如上述例子中,應(yīng)用引擎(APP ENGINE)首先找到菜單名 094D61696E204D656E75//STK菜單入口名(LV),通過調(diào)用 java card API initmenuEntry O 將菜單入口加入。當用戶點擊菜單入口名main menu時,java card toolkit applet引擎開始執(zhí)行該應(yīng)用的byte code,從變量定義處開始執(zhí)行,上例中有三個應(yīng)用變量,SI長度4,內(nèi)容為 ascii編碼66000040,S2長度為2,內(nèi)容為ascii編碼4651,S3長度為9,內(nèi)容為ucs2編碼 0883DC53554F8B5B50,分別調(diào)用擴展API函數(shù)setVarO完成。接著順序執(zhí)行子菜單,從子過程索引號000000處開始執(zhí)行,第一條指令是select Item,則調(diào)用API selectltemO完成,按用戶操作順序完成其它子過程。當用戶操作到最后一級時,引擎默認執(zhí)行回到上級菜單操作。本發(fā)明實施例上述應(yīng)用實施例節(jié)省了開發(fā)及人力物力成本;其實現(xiàn)簡單化,開發(fā)者不需要熟悉智能卡規(guī)范;其具有便宜性,可以隨時隨地響應(yīng)客戶的需求變化;且其具有通用性,支持基于短信、語音、支付等的業(yè)務(wù)。
本領(lǐng)域技術(shù)人員還可以了解到本發(fā)明實施例列出的各種說明性邏輯塊 (illustrative logical block),單元,和步驟可以通過電子硬件、電腦軟件,或兩者的結(jié)合進行實現(xiàn)。為清楚展示硬件和軟件的可替換性(interchangeability),上述的各種說明性部件(illustrative components),單元和步驟已經(jīng)通用地描述了它們的功能。這樣的功能是通過硬件還是軟件來實現(xiàn)取決于特定的應(yīng)用和整個系統(tǒng)的設(shè)計要求。本領(lǐng)域技術(shù)人員可以對于每種特定的應(yīng)用,可以使用各種方法實現(xiàn)所述的功能,但這種實現(xiàn)不應(yīng)被理解為超出本發(fā)明實施例保護的范圍。本發(fā)明實施例中所描述的各種說明性的邏輯塊,或單元都可以通過通用處理器, 數(shù)字信號處理器,專用集成電路(ASIC),現(xiàn)場可編程門陣列(FPGA)或其它可編程邏輯裝置,離散門或晶體管邏輯,離散硬件部件,或上述任何組合的設(shè)計來實現(xiàn)或操作所描述的功能。通用處理器可以為微處理器,可選地,該通用處理器也可以為任何傳統(tǒng)的處理器、控制器、微控制器或狀態(tài)機。處理器也可以通過計算裝置的組合來實現(xiàn),例如數(shù)字信號處理器和微處理器,多個微處理器,一個或多個微處理器聯(lián)合一個數(shù)字信號處理器核,或任何其它類似的配置來實現(xiàn)。本發(fā)明實施例中所描述的方法或算法的步驟可以直接嵌入硬件、處理器執(zhí)行的軟件模塊、或者這兩者的結(jié)合。軟件模塊可以存儲于RAM存儲器、閃存、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可移動磁盤、⑶-ROM或本領(lǐng)域中其它任意形式的存儲媒介中。示例性地,存儲媒介可以與處理器連接,以使得處理器可以從存儲媒介中讀取信息,并可以向存儲媒介存寫信息。可選地,存儲媒介還可以集成到處理器中。處理器和存儲媒介可以設(shè)置于ASIC中,ASIC可以設(shè)置于用戶終端中??蛇x地,處理器和存儲媒介也可以設(shè)置于用戶終端中的不同的部件中。在一個或多個示例性的設(shè)計中,本發(fā)明實施例所描述的上述功能可以在硬件、軟件、固件或這三者的任意組合來實現(xiàn)。如果在軟件中實現(xiàn),這些功能可以存儲與電腦可讀的媒介上,或以一個或多個指令或代碼形式傳輸于電腦可讀的媒介上。電腦可讀媒介包括電腦存儲媒介和便于使得讓電腦程序從一個地方轉(zhuǎn)移到其它地方的通信媒介。存儲媒介可以是任何通用或特殊電腦可以接入訪問的可用媒體。例如,這樣的電腦可讀媒體可以包括但不限于RAM、ROM、EEPR0M、CD-ROM或其它光盤存儲、磁盤存儲或其它磁性存儲裝置,或其它任何可以用于承載或存儲以指令或數(shù)據(jù)結(jié)構(gòu)和其它可被通用或特殊電腦、或通用或特殊處理器讀取形式的程序代碼的媒介。此外,任何連接都可以被適當?shù)囟x為電腦可讀媒介,例如,如果軟件是從一個網(wǎng)站站點、服務(wù)器或其它遠程資源通過一個同軸電纜、光纖電腦、雙絞線、數(shù)字用戶線(DSL)或以例如紅外、無線和微波等無線方式傳輸?shù)囊脖话谒x的電腦可讀媒介中。所述的碟片(disk)和磁盤(disc)包括壓縮磁盤、鐳射盤、光盤、DVD、 軟盤和藍光光盤,磁盤通常以磁性復(fù)制數(shù)據(jù),而碟片通常以激光進行光學復(fù)制數(shù)據(jù)。上述的組合也可以包含在電腦可讀媒介中。以上所述的具體實施方式
,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施方式
而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種智能卡的應(yīng)用實現(xiàn)方法,其特征在于,所述方法包括對應(yīng)用需求中的菜單數(shù)據(jù)用一種標記規(guī)則進行標注;將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用;根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼; 利用所述字節(jié)碼在智能卡上實現(xiàn)應(yīng)用。
2.如權(quán)利要求I所述方法,其特征在于,所述菜單數(shù)據(jù)通過Excel表或Word表格表示, 所述菜單數(shù)據(jù)包括菜單級別和功能。
3.如權(quán)利要求I所述方法,其特征在于,所述標記語言是如下任意一種可擴展標記語言XML、超文本置標語言HTML、通用標記語言GML、標準通用標記語言SGML、可擴展超文件標不語目XHTML、可擴展應(yīng)用標記語目XAML、無線標記語目WML。
4.如權(quán)利要求I所述方法,其特征在于,所述利用所述字節(jié)碼在智能卡上實現(xiàn)應(yīng)用,包括將所述字節(jié)碼下載到所述智能卡上,然后通過所述智能卡上常駐的應(yīng)用引擎解釋執(zhí)行以實現(xiàn)應(yīng)用。
5.如權(quán)利要求4所述方法,其特征在于,所述將所述字節(jié)碼下載到所述智能卡上采用如下三種方式之一應(yīng)用協(xié)議數(shù)據(jù)單元APDU命令傳輸、小應(yīng)用程序數(shù)據(jù)共享接口、貼片卡或SD卡數(shù)據(jù)共享。
6.如權(quán)利要求4所述方法,其特征在于,所述將所述字節(jié)碼下載到所述智能卡上,包括通過所述智能卡與卡下裝置的身份互認證操作后,將所述字節(jié)碼下載到所述智能卡上。
7.如權(quán)利要求I所述方法,其特征在于,所述利用所述字節(jié)碼在智能卡上實現(xiàn)應(yīng)用,包括利用應(yīng)用引擎將所述字節(jié)碼生成所述智能卡上的小應(yīng)用程序,然后將生成的所述智能卡上的小應(yīng)用程序下載到所述智能卡上解釋執(zhí)行以實現(xiàn)應(yīng)用。
8.如權(quán)利要求I所述方法,其特征在于將所述一種標記語言文件格式的API函數(shù)調(diào)用下載到所述智能卡上,由所述智能卡根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼,然后通過所述智能卡上常駐的應(yīng)用引擎解釋執(zhí)行所述字節(jié)碼以實現(xiàn)應(yīng)用。
9.如權(quán)利要求I所述方法,其特征在于將所述一種標記語言文件格式的API函數(shù)調(diào)用下載到所述智能卡上,由所述智能卡根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼,然后利用應(yīng)用引擎將所述字節(jié)碼生成所述智能卡上的小應(yīng)用程序,由所述智能卡上解釋執(zhí)行所述小應(yīng)用程序以實現(xiàn)應(yīng)用。
10.如權(quán)利要求I所述方法,其特征在于將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)下載到所述智能卡上,由所述智能卡將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用,并根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼,然后通過所述智能卡上常駐的應(yīng)用引擎解釋執(zhí)行所述字節(jié)碼以實現(xiàn)應(yīng)用。
11.如權(quán)利要求I所述方法,其特征在于將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)下載到所述智能卡上,由所述智能卡將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用,并根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼,然后利用應(yīng)用引擎將所述字節(jié)碼生成所述智能卡上的小應(yīng)用程序,由所述智能卡上解釋執(zhí)行所述小應(yīng)用程序以實現(xiàn)應(yīng)用。
12.如權(quán)利要求4或7或8或9或10或11所述方法,其特征在于,所述應(yīng)用引擎包含依次相連的如下模塊API模塊、執(zhí)行模塊及智能卡的工具箱小應(yīng)用程序框架模塊;其中, 所述API模塊包括STK API模塊和擴展API模塊。
13.一種智能卡的應(yīng)用實現(xiàn)系統(tǒng),其特征在于,所述系統(tǒng)包括卡下裝置,用于對應(yīng)用需求中的菜單數(shù)據(jù)用一種標記規(guī)則進行標注;將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用;根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;智能卡,其中,所述智能卡包括應(yīng)用引擎,所述智能卡用于將所述字節(jié)碼下載到所述智能卡上,然后通過所述智能卡上常駐的所述應(yīng)用引擎解釋執(zhí)行所述字節(jié)碼以實現(xiàn)應(yīng)用,或者通過所述智能卡上常駐的所述應(yīng)用引擎將所述字節(jié)碼生成智能卡上的小應(yīng)用程序,由所述智能卡解釋執(zhí)行所述小應(yīng)用程序以實現(xiàn)應(yīng)用。
14.如權(quán)利要求13所述系統(tǒng),其特征在于,所述卡下裝置的所述菜單數(shù)據(jù)通過Excel表或Word表格表示,所述菜單數(shù)據(jù)包括菜單級別和功能。
15.如權(quán)利要求13所述系統(tǒng),其特征在于,所述卡下裝置的所述標記語言是如下任意一種可擴展標記語言XML、超文本置標語言HTML、通用標記語言GML、標準通用標記語言 SGML、可擴展超文件標示語言XHTML、可擴展應(yīng)用標記語言XAML、無線標記語言WML。
16.如權(quán)利要求13所述系統(tǒng),其特征在于,將所述字節(jié)碼下載到所述智能卡上采用如下三種方式之一應(yīng)用協(xié)議數(shù)據(jù)單元APDU命令傳輸、小應(yīng)用程序數(shù)據(jù)共享接口、貼片卡或 SD卡數(shù)據(jù)共享。
17.如權(quán)利要求16所述系統(tǒng),其特征在于,通過所述智能卡與卡下裝置的身份互認證操作后,將所述字節(jié)碼下載到所述智能卡上。
18.如權(quán)利要求16所述系統(tǒng),其特征在于,所述應(yīng)用引擎包括依次相連的如下模塊 API模塊、執(zhí)行模塊及智能卡的工具箱小應(yīng)用程序框架模塊;其中,所述API模塊包括 STKAPI模塊和擴展API模塊。
19.一種智能卡的應(yīng)用實現(xiàn)系統(tǒng),其特征在于,所述系統(tǒng)包括卡下裝置,用于對應(yīng)用需求中的菜單數(shù)據(jù)用一種標記規(guī)則進行標注;將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用;根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;其中,所述卡下裝置包括應(yīng)用引擎,用于將所述字節(jié)碼生成智能卡上的小應(yīng)用程序;智能卡,用于將生成的所述智能卡上的小應(yīng)用程序下載到所述智能卡上解釋執(zhí)行以實現(xiàn)應(yīng)用。
20.如權(quán)利要求19所述系統(tǒng),其特征在于,所述卡下裝置的所述菜單數(shù)據(jù)通過Excel表或Word表格表示,所述菜單數(shù)據(jù)包括菜單級別和功能。
21.如權(quán)利要求19所述系統(tǒng),其特征在于,所述卡下裝置的所述標記語言是如下任意一種可擴展標記語言XML、超文本置標語言HTML、通用標記語言GML、標準通用標記語言 SGML、可擴展超文件標示語言XHTML、可擴展應(yīng)用標記語言XAML、無線標記語言WML。
22.如權(quán)利要求19所述系統(tǒng),其特征在于,將生成的所述智能卡上的小應(yīng)用程序下載到所述智能卡上采用如下三種方式之一應(yīng)用協(xié)議數(shù)據(jù)單元APDU命令傳輸、小應(yīng)用程序數(shù)據(jù)共享接口、貼片卡或SD卡數(shù)據(jù)共享。<
23.如權(quán)利要求19所述系統(tǒng),其特征在于,通過所述智能卡與卡下裝置的身份互認證操作后,將生成的所述智能卡上的小應(yīng)用程序下載到所述智能卡上。
24.如權(quán)利要求19所述系統(tǒng),其特征在于,所述應(yīng)用引擎包括依次相連的如下模塊: API模塊、執(zhí)行模塊及智能卡的工具箱小應(yīng)用程序框架模塊;其中,所述API模塊包括 STKAPI模塊和擴展API模塊。
25.一種智能卡的應(yīng)用實現(xiàn)系統(tǒng),其特征在于,所述系統(tǒng)包括卡下裝置,用于對應(yīng)用需求中的菜單數(shù)據(jù)用一種標記規(guī)則進行標注;將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為所述一種標記語言文件格式的API函數(shù)調(diào)用;智能卡,其中,所述智能卡包括應(yīng)用引擎,所述智能卡用于將所述一種標記語言文件格式的API函數(shù)調(diào)用下載到所述智能卡上,由所述智能卡根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;然后通過所述智能卡上常駐的所述應(yīng)用弓I擎解釋執(zhí)行所述字節(jié)碼以實現(xiàn)應(yīng)用,或者通過所述智能卡上常駐的所述應(yīng)用弓I擎將所述字節(jié)碼生成智能卡上的小應(yīng)用程序,由所述智能卡解釋執(zhí)行所述小應(yīng)用程序以實現(xiàn)應(yīng)用。
26.如權(quán)利要求25所述系統(tǒng),其特征在于,所述卡下裝置的所述菜單數(shù)據(jù)通過Excel表或Word表格表示,所述菜單數(shù)據(jù)包括菜單級別和功能。
27.如權(quán)利要求25所述系統(tǒng),其特征在于,所述卡下裝置的所述標記語言是如下任意一種可擴展標記語言XML、超文本置標語言HTML、通用標記語言GML、標準通用標記語言 SGML、可擴展超文件標示語言XHTML、可擴展應(yīng)用標記語言XAML、無線標記語言WML。
28.如權(quán)利要求25所述系統(tǒng),其特征在于,將所述一種標記語言文件格式的API函數(shù)調(diào)用下載到所述智能卡上采用如下三種方式之一應(yīng)用協(xié)議數(shù)據(jù)單元APDU命令傳輸、小應(yīng)用程序數(shù)據(jù)共享接口、貼片卡或SD卡數(shù)據(jù)共享。
29.如權(quán)利要求25所述系統(tǒng),其特征在于,通過所述智能卡與卡下裝置的身份互認證操作后,將所述一種標記語言文件格式的API函數(shù)調(diào)用下載到所述智能卡上。
30.如權(quán)利要求25所述系統(tǒng),其特征在于,所述應(yīng)用引擎包括依次相連的如下模塊 API模塊、執(zhí)行模塊及智能卡的工具箱小應(yīng)用程序框架模塊;其中,所述API模塊包括 STKAPI模塊和擴展API模塊。
31.一種智能卡的應(yīng)用實現(xiàn)系統(tǒng),其特征在于,所述系統(tǒng)包括卡下裝置,用于對應(yīng)用需求中的菜單數(shù)據(jù)用一種標記規(guī)則進行標注;智能卡,其中,所述智能卡包括應(yīng)用引擎,所述智能卡用于將所述標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)下載到所述智能卡上,由所述智能卡將標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為所述一種標記語言文件格式的API函數(shù)調(diào)用,并根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;然后通過所述智能卡上常駐的所述應(yīng)用弓I擎解釋執(zhí)行所述字節(jié)碼以實現(xiàn)應(yīng)用,或者通過所述智能卡上常駐的所述應(yīng)用弓I擎將所述字節(jié)碼生成智能卡上的小應(yīng)用程序,由所述智能卡解釋執(zhí)行所述小應(yīng)用程序以實現(xiàn)應(yīng)用。
32.如權(quán)利要求31所述系統(tǒng),其特征在于,所述卡下裝置的所述菜單數(shù)據(jù)通過Excel表或Word表格表示,所述菜單數(shù)據(jù)包括菜單級別和功能。
33.如權(quán)利要求31所述系統(tǒng),其特征在于,所述卡下裝置的所述標記語言是如下任意一種可擴展標記語言XML、超文本置標語言HTML、通用標記語言GML、標準通用標記語言 SGML、可擴展超文件標示語言XHTML、可擴展應(yīng)用標記語言XAML、無線標記語言WML。
34.如權(quán)利要求31所述系統(tǒng),其特征在于,將所述標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)下載到所述智能卡上采用如下三種方式之一應(yīng)用協(xié)議數(shù)據(jù)單元APDU命令傳輸、小應(yīng)用程序數(shù)據(jù)共享接口、貼片卡或SD卡數(shù)據(jù)共享。
35.如權(quán)利要求31所述系統(tǒng),其特征在于,通過所述智能卡與卡下裝置的身份互認證操作后,將所述標注過的所述應(yīng)用需求中的菜單數(shù)據(jù)下載到所述智能卡上。
36.如權(quán)利要求31所述系統(tǒng),其特征在于,所述應(yīng)用引擎包括依次相連的如下模塊: API模塊、執(zhí)行模塊及智能卡的工具箱小應(yīng)用程序框架模塊;其中,所述API模塊包括 STKAPI模塊和擴展API模塊。
全文摘要
本發(fā)明實施例提供一種智能卡的應(yīng)用實現(xiàn)方法及系統(tǒng),所述方法包括對STK應(yīng)用需求中的菜單數(shù)據(jù)用一種標記規(guī)則進行標注;將標注過的所述STK應(yīng)用需求中的菜單數(shù)據(jù)轉(zhuǎn)換為一種標記語言文件格式的API函數(shù)調(diào)用;根據(jù)所述標記語言的標識符將所述標記語言文件格式的API函數(shù)調(diào)用轉(zhuǎn)換為字節(jié)碼;利用所述字節(jié)碼在智能卡上實現(xiàn)應(yīng)用。本發(fā)明實施例提供了一種智能卡的應(yīng)用實現(xiàn)方法及系統(tǒng),節(jié)省了開發(fā)及人力物力成本;其實現(xiàn)簡單化,開發(fā)者不需要熟悉智能卡規(guī)范;其具有便宜性,可以隨時隨地響應(yīng)客戶的需求變化;且其具有通用性,支持基于短信、語音的STK業(yè)務(wù)。
文檔編號G06F9/44GK102609253SQ20121001743
公開日2012年7月25日 申請日期2012年1月19日 優(yōu)先權(quán)日2012年1月19日
發(fā)明者章順啟 申請人:捷德(中國)信息科技有限公司