業(yè)務處理方法及系統(tǒng)的制作方法
【專利摘要】本申請公開了業(yè)務處理方法及系統(tǒng),其中,所述方法可以包括:確定各個功能模塊中分別使用的第三方應用程序;在需要調用指定功能模塊時,根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址;所述回調地址根據(jù)寫入到所述目標第三方應用程序代碼的統(tǒng)一資源定位符方案字段的信息生成,所述目標第三方應用程序已在所述服務器中對所述統(tǒng)一資源定位符方案字段的信息進行注冊;按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序,進行相應的業(yè)務處理。通過本申請,能夠實現(xiàn)應用間數(shù)據(jù)交互,幫助打通多應用不同階段電子商務流程。
【專利說明】業(yè)務處理方法及系統(tǒng)
【技術領域】
[0001]本申請涉及電子商務【技術領域】,特別是涉及業(yè)務處理方法及系統(tǒng)。
【背景技術】
[0002]隨著移動互聯(lián)網(wǎng)和電子商務開放平臺的發(fā)展,越來越多的賣家從線上固定辦公轉變成為移動辦公。當前電商移動化需求主要分成幾大類:
[0003]第一,業(yè)務訴求。電商大軍中有很大一部分中小賣家都處于兼職狀態(tài),因此不能長期固守在電腦前操作,但是,每一分鐘離開都可能會由于買家用戶得不到及時的溝通和交流,訂單確認處理而使得交易無法形成,因此,如何能夠在離開電腦后依然保持溝通及業(yè)務處理,就成為中小賣家的業(yè)務命脈。
[0004]第二,職能細分。隨著更多垂直行業(yè)的中大型企業(yè)進入電商,原來電商的小規(guī)模經(jīng)營角色已經(jīng)產(chǎn)生了非常大的變化,有更多層次的管理流程需求融入到了電商管理需求中,這些流程的操作角色都因為業(yè)務和身份的差異對操作可移動性要求很高,因此,在新的電商環(huán)境下,中大型電商不同角色的移動需求凸顯出來。
[0005]第三,環(huán)境因素。隨著移動互聯(lián)網(wǎng)的發(fā)展,移動辦公成本被大大降低,而移動辦公會帶來的整體電商流程效能提升,例如,利用移動終端的照片功能結合二維碼或者條形碼處理軟件,就可以在不移動商品的過程中做到貨物入庫歸檔,提高效率,降低操作成本。
[0006]以上只是羅列了很小一部分的移動訴求,但從上述需求可以發(fā)現(xiàn),電商移動化管理需求非常旺盛,同時會牽涉到電商的各個環(huán)節(jié),例如,供貨、分銷、營銷、導購、交易管理、物流發(fā)貨、售后回訪、績效考核等等。
[0007]當前電商開放平臺開放了大量數(shù)據(jù)類的服務,很多開發(fā)者已經(jīng)基于服務開發(fā)了大量的工具類軟件,開發(fā)者通過線下渠道將軟件推廣給賣家,賣家可以嘗試性的使用一個或者多個工具類軟件來滿足其移動辦公的需求。
[0008]可見,當前對于賣家無線需求的滿足主要還是靠應用開發(fā)者單獨開發(fā)某一類工具,然后通過不同的渠道向賣家推廣,因此,當前的情況就是,通過離散的應用市場來滿足賣家需求。但這種模式至少存在以下問題:
[0009]由于應用的開發(fā)者不同,用戶在使用應用時,需要分別針對各個應用進行用戶授權,同時,連貫的管理需求也被應用切割的支離破碎,應用的風格千差萬別,用戶體驗差異跳躍。另外,不同工具類應用關注的業(yè)務階段不同,每個階段的數(shù)據(jù)無法關聯(lián)分析(例如,導購效果取決于交易部分的分析),這就會導致工具純粹就為了降低工作成本,開發(fā)者開發(fā)重復度高,同質競爭嚴重,同時也無法幫助賣家真實解決整體交易的關鍵問題。
【發(fā)明內容】
[0010]本申請?zhí)峁┝藰I(yè)務處理方法及系統(tǒng),能夠實現(xiàn)應用間數(shù)據(jù)交互,幫助打通多應用不同階段業(yè)務流程。
[0011]本申請?zhí)峁┝巳缦路桨?[0012]—種業(yè)務處理方法,包括:
[0013]確定各個功能模塊中分別使用的第三方應用程序;其中,所述功能模塊為按照電子商務流程中各個階段的使用場景劃分的功能模塊;
[0014]在需要調用指定功能模塊時,根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址;所述回調地址根據(jù)寫入到所述目標第三方應用程序代碼的統(tǒng)一資源定位符方案字段的信息生成,所述目標第三方應用程序已在所述服務器中對所述統(tǒng)一資源定位符方案字段的信息進行注冊;
[0015]按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序,進行相應的業(yè)務處理。
[0016]可選地,所述在需要調用指定功能模塊時,根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址包括:
[0017]接收到系統(tǒng)提醒消息時,根據(jù)所述系統(tǒng)提醒消息確定需要調用的功能模塊;
[0018]根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址。
[0019]可選地,所述在需要調用指定功能模塊時,根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址包括:
[0020]接收當前第三方應用程序發(fā)出的調用指定功能模塊的請求;
[0021]根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址;
[0022]所述按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序包括:
[0023]將獲取到的回調地址發(fā)送給當前第三方應用程序,以便所述當前第三方應用程序按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序。
[0024]可選地,如果調用發(fā)起方需要所述目標第三方應用程序返回響應信息時,所述按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序包括:
[0025]所述調用發(fā)起方創(chuàng)建會話,并在本地保存會話序列號與會話之間的對應關系;
[0026]所述調用發(fā)起方按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序,將調用發(fā)起方的回調地址、事件、需要處理的業(yè)務參數(shù)及所述會話序列號發(fā)送給所述目標第三方應用程序;
[0027]所述目標第三方應用程序根據(jù)所述事件及業(yè)務參數(shù)得到處理結果,并根據(jù)所述調用發(fā)起方的回調地址將處理結果以及所述會話序列號返回給所述調用發(fā)起方;
[0028]所述調用發(fā)起方根據(jù)所述目標第三方應該程序返回的會話序列號查找到對應的會話,將所述處理結果放回該會話中,根據(jù)所述目標第三方應用程序返回的處理結果進行處理操作。
[0029]可選地,所述將調用發(fā)起方的回調地址、事件、需要處理的業(yè)務參數(shù)及所述會話序列號發(fā)送給所述目標第三方應用程序之后還包括:
[0030]將調用發(fā)起方中發(fā)起調用的線程阻塞;
[0031]所述根據(jù)所述目標第三方應用程序返回的處理結果進行處理操作包括:
[0032]通知所述發(fā)起調用的線程根據(jù)所述目標第三方應用程序返回的處理結果進行處理操作。
[0033]可選地,所述根據(jù)所述目標第三方應用程序返回的處理結果進行處理操作包括:
[0034]調用發(fā)起方在新創(chuàng)建的線程中根據(jù)所述目標第三方應用程序返回的處理結果進行處理操作。
[0035]可選地,還包括:
[0036]接收目標第三方應用程序發(fā)起的單點登錄請求;
[0037]將目標第三方應用程序的身份標識以及本地保存的用戶id發(fā)送到服務器,向所述服務器獲取與目標第三方應用程序身份標識及用戶id對應的用戶授權信息;
[0038]將服務器返回的用戶授權信息發(fā)送給目標第三方應用程序,以便目標第三方應用程序利用所述用戶授權信息進行相應的業(yè)務處理。
[0039]可選地,所述將目標第三方應用程序的身份標識以及本地保存的用戶id發(fā)送到服務器包括:
[0040]獲取本地保存的用戶id ;
[0041]如果所述本地保存的用戶id為至少兩個,則將所述至少兩個id展現(xiàn)出來供用戶選擇;
[0042]將目標第三方應用程序的身份標識以及用戶選擇的用戶id發(fā)送到服務器。
[0043]可選地,所述將目標第三方應用程序的身份標識以及本地保存的用戶id發(fā)送到服務器,向所述服務器獲取與目標第三方應用程序身份標識及用戶id對應的用戶授權信息包括:
[0044]將目標第三方應用程序的身份標識以及本地保存的用戶id發(fā)送到服務器,在服務器已保存的信息中查詢目標第三方應用程序身份標識以及本地保存的用戶id對應的用戶授權信息;
[0045]所述將服務器返回的用戶授權信息發(fā)送給目標第三方應用程序包括:
[0046]判斷查詢到的用戶授權信息是否有效,如果有效,則發(fā)送給目標第三方應用程序;
[0047]如果無效,則請求服務器為根據(jù)目標第三方應用程序的身份標識以及用戶id進行用戶授權,并將重新接收到的用戶授權信息發(fā)送給目標第三方應用程序。
[0048]可選地于,所述確定各個功能模塊中分別使用的應用程序包括:
[0049]展示各個功能模塊中分別可供選擇的應用程序,并為用戶提供選擇操作入口 ;
[0050]根據(jù)用戶的選擇結果,確定各個功能模塊中分別使用的應用程序。
[0051]一種業(yè)務處理系統(tǒng),包括:
[0052]程序確定單元,用于確定各個功能模塊中分別使用的第三方應用程序;其中,所述功能模塊為按照電子商務流程中各個階段的使用場景劃分的功能模塊;
[0053]回調地址獲取單元,用于在需要調用指定功能模塊時,根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址;所述回調地址根據(jù)寫入到所述目標第三方應用程序代碼的統(tǒng)一資源定位符方案字段的信息生成,所述目標第三方應用程序已在所述服務器中對所述統(tǒng)一資源定位符方案字段的信息進行注冊;
[0054]調用單元,用于按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序,進行相應的業(yè)務處理。
[0055]根據(jù)本申請?zhí)峁┑木唧w實施例,本申請公開了以下技術效果:
[0056]通過本申請,能夠實現(xiàn)不同應用程序之間的相互通信,從而可以在一個平臺中深度集成多個第三方應用,使得電商在一個平臺上實現(xiàn)完整的電商流程操作,從應用協(xié)同到流程串聯(lián)都讓用戶感覺是同一個應用程序,實現(xiàn)應用間數(shù)據(jù)交互,幫助打通多應用不同階段電子商務流程,實現(xiàn)平臺應用與第三方應用數(shù)據(jù)安全交互,幫助電子商務全鏈路安全開放。
[0057]進一步地,可以實現(xiàn)應用程序的授權互通,降低多應用使用成本,另外,還可以實現(xiàn)個性化可插拔模式的應用植入,幫助電商一站式應用挑選集成使用,有利于實現(xiàn)滿足不同用戶的個性化需求。
[0058]當然,實施本申請的任一產(chǎn)品并不一定需要同時達到以上所述的所有優(yōu)點。
【專利附圖】
【附圖說明】
[0059]為了更清楚地說明本申請實施例或現(xiàn)有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0060]圖1是本申請實施例提供的方法的流程圖;
[0061]圖2是本申請實施例提供的方法中的應用間通信方法的流程圖;
[0062]圖3是本申請實施例提供的方法中同步雙向通信方法的流程圖;
[0063]圖4是本申請實施例提供的方法中異步雙向通信方法的流程圖;
[0064]圖5是本申請實施例提供的第一系統(tǒng)的示意圖;
[0065]圖6是本申請實施例提供的第二系統(tǒng)的示意圖;
[0066]圖7是本申請實施例提供的第三系統(tǒng)的示意圖。
【具體實施方式】
[0067]下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領域普通技術人員所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0068]本申請實施例提供了 一種無線應用集成平臺,可以深度集成多個第三方應用,使得電商可以便利的選擇多應用在一個平臺上實現(xiàn)完整的電商流程操作,從應用協(xié)同到流程串聯(lián)都讓用戶感覺是同一個應用程序。實現(xiàn)授權互通降低多應用使用成本,實現(xiàn)應用間數(shù)據(jù)交互,幫助打通多應用不同階段電子商務流程;實現(xiàn)平臺應用與第三方應用數(shù)據(jù)安全交互,幫助電子商務全鏈路安全開放;實現(xiàn)個性化可插拔模式的應用植入,幫助電商一站式應用挑選集成使用。下面對具體的實現(xiàn)方式進行詳細地介紹。
[0069]參見圖1,本申請實施例首先提供了一種業(yè)務處理方法,該方法可以包括以下步驟:
[0070]SlOl:確定各個功能模塊中分別使用的第三方應用程序;其中,所述功能模塊為按照電子商務流程中各個階段的使用場景劃分的功能模塊;
[0071]從產(chǎn)品角度而言,本申請實施例提供的業(yè)務處理方法可以通過一個應用程序的形式來實現(xiàn)(由于是應用在移動終端中,因此,為了便于描述,以下均將該應用程序稱為“移動工作臺”),該移動工作臺的功能并不是為電子商務流程的某個具體環(huán)節(jié)提供解決方案,而是能夠將多個第三方開發(fā)的應用程序集成起來,各個第三方應用程序的功能才是為電子商務流程的各個具體環(huán)節(jié)提供解決方案。為了能夠將第三方應用程序串聯(lián)起來,在本申請實施例中,首先可以按照電子商務流程中各個階段的使用場景劃分為多個功能模塊,例如,可以包括商品管理、交易管理、物流管理、數(shù)據(jù)統(tǒng)計、即時通信管理等等,每個功能模塊上可以有一個第三方應用程序來實現(xiàn)對應的功能。
[0072]其中,對于各個功能模塊上所使用的第三方應用程序,可以是預先設定的,也就是說,可以預先為各個功能模塊選擇第三方應用程序,用戶安裝本申請實施例中的應用程序可自動綁定功能模塊與第三方應用程序之間的對應關系,因此,直接根據(jù)該對應關系就可以確定各個功能模塊中分別使用的第三方應用程序。
[0073]但是,考慮到在實際應用中,第三方應用程序的開發(fā)商眾多,開發(fā)出的第三方應用程序中可能存在一些功能相同或者相近的,如果預先為各個功能模塊指定固定的第三方應用程序,則不利于滿足不同用戶的個性化需求,整個系統(tǒng)也顯得不夠靈活。因此,在本申請實施例中,可以將各個第三方應用程序按照這些功能模塊進行分類,這樣,一個功能模塊可能對應一個或多個第三方應用程序,這些第三方應用程序均能實現(xiàn)對應的功能。此時,可以通過本申請實施例的應用程序分別將各個功能模塊可供選擇的第三方應用程序展示給用戶,用戶可以根據(jù)自己的需要、愛好、使用習慣等來選擇。例如,對于“商品管理”這一功能模塊,有應用程序A和應用程序B可以選擇,對于“物流管理”這一功能模塊,有應用程序C和應用程序D可以選擇,等等;在將這些信息展示給用戶之后,同時還可以為用戶提供選擇操作入口,用戶就可以進行選擇,例如,對于“商品管理”這一功能模塊,選擇使用應用程序A,對于“物流管理”這一功能模塊,選擇使用應用程序D,等等。在用戶選擇了之后,就可以記錄下用戶的選擇結果,根據(jù)用戶的選擇結果確定出各個功能模塊分別使用的第三方應用程序是哪個。
[0074]S102:在需要調用指定功能模塊時,根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址;所述回調地址可根據(jù)寫入到所述目標第三方應用程序代碼的統(tǒng)一資源定位符方案url schema字段的信息生成,并且,所述目標第三方應用程序可以是已經(jīng)在所述服務器中對所述url schema字段的信息進行過注冊;
[0075]在本申請實施例中,將多個第三方應用程序集成到移動工作臺中來,與普通的推薦類應用的區(qū)別在于,移動工作臺本身是深度集成賣家功能的應用,而非無業(yè)務功能的信息黃頁;與市場上單一的賣家類無線工具應用的區(qū)別在于,移動工作臺能夠既滿足開放集成的需求,又讓用戶能夠感覺操作一體化,而非割裂的堆砌應用。為了達到該目的,則需要實現(xiàn)應用程序之間的通信,以實現(xiàn)應用程序之間自動的數(shù)據(jù)交互,而不需要或者減少用戶的手動參與。這種應用程序之間的通信,包括移動工作臺與第三方應用程序之間的通信(因為移動工作臺本身也是一種應用程序),還包括各個第三方應用程序之間的通信。
[0076]但是,不論iOS操作系統(tǒng)中的應用,還是Android操作系統(tǒng)中的應用,在應用之間都沒有提供完整的應用交互和尋址的方式。尤其是iOS操作系統(tǒng)中,采用ipa格式的安裝方式,即全部ipa都會解包安裝在/var/mobile/Applications目錄下,ipa解包后并非直接放置于Applications目錄下,而是放在一串由隨機碼構成的目錄下,其作用在于,只允許這個軟件運行在一個特定的沙盒(Sandbox)中,不能干擾其他軟件。也就是說,每個應用程序都是一個自我封閉的沙盒,與其他應用程序之間的交互通信基本不可能,這樣如果要深度融合多個應用就不可能,因為應用如果不能把當前的業(yè)務數(shù)據(jù)帶給另一個應用,另一個應用自然不會對用戶在上一個應用的操作做任何反映。例如,用戶在商品管理應用中查看自己的架上商品,這時候如果需要看看該商品的交易情況,跳轉到交易管理應用,此時,首先要解決如何跳轉到對方應用(IOS和android不能對應用尋址)的問題。
[0077]具體實現(xiàn)時,為了實現(xiàn)從一個應用程序向另一個目標應用程序進行消息傳遞,第三方應用程序在開發(fā)目標應用程序的過程中,需要為目標應用程序定制的統(tǒng)一資源定位符方案URL Schemes字段信息。具體定制URL Schemes字段信息時可以有多種方式,例如,其中一種方式可以是在目標程序的Inf0.Plist中指定目標程序的URL Schemes字段,具體的,可以通過以下步驟實現(xiàn):
[0078]步驟1:創(chuàng)建一個新的基于視圖的應用程序,將其保存為URLSchemeExample ;
[0079]步驟2:在Xcode Groups&Files面板中,展開Resource部分,并且選擇<app>-1nf0.plist 文件;
[0080]步驟3:鼠標右鍵點擊Information Property List鍵,并點擊添加箭頭從列表中選擇“URL types”;
[0081]步驟4:展開Iteml,用鼠標右鍵點擊URL identifier,并且再次選擇添加箭頭從列表中選擇URL Schemes ;
[0082]步驟5:選擇Iteml,并且將其值設置為myapplication ;
[0083]步驟6:打開 URLSchemeExampIeView Controller, m,取消對 viewDidLoad 方法的注釋,并且編寫如下代碼:
[0084][self, view setBackgroundColor:[UIColor redColor]];
[0085]通過以上步驟就可以實現(xiàn)為目標應用程序提供定制的URL Schemes,當然,如果需要實現(xiàn)當前應用程序與目標應用程序之間的相互調用,也可以同時為當前應用程序實現(xiàn)上述定制的URL Schemes,甚至,對于集成到本申請移動工作臺中的各個第三方應用程序而言,都可以按照以上方式實現(xiàn)定制的URLSchemes。
[0086]在實現(xiàn)了定制的URL Schemes之后,各個第三方應用程序還可以將各自定制的URLSchemes向移動工作臺的服務器端進行注冊,這樣就可以在服務器端記錄下各個第三方應用程序的URL Schemes字段與身份標識之間的對應關系。這樣,在需要調用某指定功能模塊時,就可以根據(jù)該功能模塊中使用的目標第三方應用程序的身份標識,向移動工作臺的服務器發(fā)起查詢請求,服務器就可以將該第三方應用程序的URL Schemes字段信息返回給移動工作臺,移動工作臺便可以據(jù)此獲知目標第三方應用程序的回調地址。
[0087]例如,URL= [NSURL URLWithString http://***.com"],其中,URL 表示目標第三方應用程序的回調地址,http://#*.com就是目標第三方應用程序的URL Schemes字段信息,用于標識想要載入的應用程序。另外,該URL中還可以包括發(fā)起調用的當前應用程序信息,或者還可以包括從當前應用程序傳遞給目標應用程序的值,等等。例如,某回調地址 URL = MobiIeTestB://fromapp = MobileTestA&level = officer,其中 MobileTestB為目標第三方應用程序,fromapp = MobileTestA為當前應用程序,level = officer為當前應用程序向目標第三方應用程序傳遞的值。
[0088]S103:按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序,進行相應的業(yè)務處理。
[0089]在獲知了目標第三方應用程序的回調地址之后,就可以基于該回調地址,調用目標第三方應用程序,進行相應的業(yè)務處理。例如,具體實現(xiàn)時,可以以目標第三方應用程序的回調地址為參數(shù),調用UIAppI ication類的openURL方法來調用目標第三方應用程序。例如,對于步驟S102的例子中提到的目標第三方應用程序,則可以通過以下代碼來調用:
[0090]ur I = [Mobi IeTestB: / / fromapp = MobileTestA&level = officer];[[UIApplication sharedAppIication]openURL:urI]
[0091]在運行該代碼之后,就可以調用目標第三方應用程序,還可以切換至目標第三方應用程序的顯示界面,目標第三方應用程序還可以在-(BOODapplication:(UIApplication*)application openURL: (NSURL*)url sourceApplication: (NSString*)sourceApplication annotation: (id)annotation函數(shù)中,解析該消息傳入的回調地址,由于該例子中還存在從源應用程序傳遞過來的值,因此,目標第三方應用程序還可以對傳遞過來的值進行存儲,或者根據(jù)傳遞值執(zhí)行相應的業(yè)務處理,等等。
[0092]其中,針對實際應用中的不同場景,向目標第三方應用程序發(fā)起調用的,可能是移動工作臺,也可能是移動工作臺中集成的另一第三方應用程序。對于前者,一般是移動工作臺首先接收到某系統(tǒng)提醒消息,然后移動工作臺可以根據(jù)系統(tǒng)提醒消息確定出需要調用的功能模塊,然后再向該功能模塊中使用的第三方應用程序發(fā)起調用。這種應用場景體現(xiàn)的是一種基于系統(tǒng)消息驅動的用戶行為融合,換言之,基于系統(tǒng)消息驅動的方式主要是針對業(yè)務場景都是由外部事件觸發(fā)的場景。比如賣家的商品售出,產(chǎn)生了一筆交易,此時會在移動工作臺收到一條消息提醒,在移動工作臺可以初步看到消息的情況,具體要處理業(yè)務,則會根據(jù)消息屬性選擇需要調用的功能模塊。在這種情況下,移動工作臺在從服務端獲取到目標第三方應用程序的回調地址之后,直接向目標第三方應用程序發(fā)起調用即可。
[0093]而對于第二種情況,向目標第三方應用程序發(fā)起調用的另一第三方應用程序一般是當前處于焦點狀態(tài)的第三方應用程序,為便于描述,將其簡稱為當前第三方應用程序。也就是說,在用戶使用當前第三方應用程序進行業(yè)務處理的過程中,可能需要調用另一功能模塊的功能,則該當前第三方應用程序就會向移動工作臺發(fā)送調用指定功能模塊的請求,移動工作臺在接收到該請求之后,就可以根據(jù)指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取目標第三方應用程序的回調地址。在移動工作臺獲取到目標第三方應用程序的回調地址之后,就可以將該回調地址發(fā)送給當前第三方應用程序,當前第三方應用程序就可以根據(jù)該回調地址向目標第三方應用程序發(fā)起調用,實現(xiàn)相應的業(yè)務處理。
[0094]也就是說,這是一種基于業(yè)務模塊的功能驅動方式,當用戶在某一個第三方應用程序中進行業(yè)務處理的時候,需要與另一第三方應用之間進行業(yè)務交互,然后產(chǎn)生的應用交互跳轉。例如,用戶在商品管理功能模塊中查看商品,這時候希望將商品推薦給一個買家,此時,從商品列表中點擊跳轉到移動工作臺的聊天功能中,同時帶有商品Id,移動工作臺可向服務器端獲取到聊天功能中的第三方應用程序的回調地址,將其返回給商品管理功能模塊中的當前第三方應用程序,由商品管理功能模塊中的當前第三方應用程序向聊天功能中的目標第三方應用程序發(fā)起調用,相應的,買家直接可以看到商品描述,如果買家確認需要,可以直接下單,然后移動工作臺會收到交易消息,此時用戶被引導到交易模塊中進行
處理,等等。
[0095]在兩個應用程序之間進行通信的過程中,可能存在需要進行數(shù)據(jù)交互的情況,也即,調用發(fā)起方(可能是移動工作臺,也可能是另一第三方應用程序)在調用目標第三方應用程序時,可能需要目標第三方應用程序返回響應信息,例如,返回業(yè)務處理結果,等等。但是,不論是iOS還是Android應用,都只支持單向數(shù)據(jù)通信,不支持全雙工交互通信,因此,在這種情況下,還要解決如何實現(xiàn)應用間同步或異步的雙向通信的問題。
[0096]為此,在本申請實施例中,可以通過以下方式實現(xiàn):
[0097]調用發(fā)起方在向目標第三方應用程序發(fā)起調用時,創(chuàng)建一會話(Session),Session創(chuàng)建中得到的隨機會話序列號sequence作為會話唯一標示,本地會話隊列保存sequence和Session的對應關系;調用發(fā)起方按照目標第三方應用程序的回調地址調用目標第三方應用程序,將調用發(fā)起方的回調地址、事件、需要處理的業(yè)務參數(shù)及會話序列號發(fā)送給目標第三方應用程序。
[0098]目標第三方應用程序根據(jù)事件及業(yè)務參數(shù)得到處理結果,并根據(jù)調用發(fā)起方的回調地址將處理結果以及會話序列號返回給調用發(fā)起方;調用發(fā)起方根據(jù)目標第三方應該程序返回的會話序列號查找到對應的會話,將處理結果放回該會話中,然后根據(jù)目標第三方應用程序返回的處理結果進行處理操作。
[0099]上述過程中,可以采用阻塞模式或者非阻塞模式來實現(xiàn)。其中,在采用阻塞模式實現(xiàn)時,由于手機等移動終端設備應用通信當前都是靠應用的單工模式來實現(xiàn),因此需要模擬阻塞模式,此時,可采用線程的等待(wait)和通知(notify)方式來實現(xiàn)。具體的,發(fā)起調用請求的應用程序(調用發(fā)起方)向目標第三方應用程序發(fā)起調用請求,然后本地用于發(fā)起調用的線程caller thread開始阻塞(block);目標第三方應用程序在接收到調用請求并處理完畢以后,向調用發(fā)起方的回調地址ca 11 backur I發(fā)起響應,返回處理結果及會話序列號sequence。調用發(fā)起方接收到響應返回,根據(jù)sequence獲取session,將處理結果放回session,然后通知(notify) caller thread, caller thead根據(jù)處理結果同步處理響應。
[0100]當然,調用發(fā)起方也可以選擇以異步模式來實現(xiàn)與目標應用程序的交互。與同步模式交互差別在于發(fā)起調用的線程不必再阻塞,目標第三方應用程序返回處理結果以后,調用發(fā)起方根據(jù)session的回調函數(shù),創(chuàng)建新的線程來進行后續(xù)的業(yè)務處理。
[0101]以上對應用程序間進行通信的實現(xiàn)方式進行了詳細地介紹,在實際應用中,在使用某第三方應用程序時,一般還需要向第三方應用程序進行用戶授權,第三方應用程序在獲取到經(jīng)過用戶授權的“令牌”之后,才能調用系統(tǒng)提供的API,進行具體的業(yè)務處理操作。而現(xiàn)有技術中,一般要求用戶分別對各個第三方應用程序進行用戶授權,包括需要用戶輸入密碼、列舉出需要獲取的商品數(shù)據(jù)交易數(shù)據(jù)等之后詢問用戶是否允許訪問等等,在用戶操作完成之后,會為該第三方應用程序生成令牌,該第三方應用程序便可以在持有該令牌的情況下,執(zhí)行自己的業(yè)務處理。其他第三方應用程序也要重復上述操作。[0102]而在本申請實施例中,由于將多個第三方應用程序集成到了本申請實施例的移動工作臺中,這也就意味著,在用戶安裝使用該移動工作臺的情況下,就證明用戶運行集成在其中的各個第三方應用程序訪問相應的數(shù)據(jù)。因此,在本申請實施例中,可以通過移動工作臺實現(xiàn)各個第三方應用程序的授權互通,使得用戶一次登陸授權之后就可以使用多個第三方應用程序,實現(xiàn)應用間任意登錄,第三方應用程序的一體化使用。具體實現(xiàn)時,可以由第三方應用程序在需要獲取用戶授權時,可以首先獲取本地保存的用戶id(用戶在本地使用該id登錄過,則第三方應用程序就可以獲取到該用戶id),然后向移動工作臺發(fā)起SSO (Single Sign On,單點登錄)請求,請求中攜帶第三方應用程序的身份標識(app key)以及用戶id。移動工作臺在接收到該請求之后,可以向服務器發(fā)起請求,請求獲得該用戶對該第三方應用程序的授權信息;服務器可以對該第三方應用程序以及用戶的授權進行驗證,并返回授權結果;移動工作臺在收到授權結果之后可以對其有效性進行驗證(授權信息具有時效性,如果超時,則無效;另外,授權信息的有效性還與用戶與應用之間的訪問契約、訂購時長等有關),如果有效,則可直接發(fā)送給第三方應用程序使用;否則,如果授權信息無效,則可以引導進行用戶授權,請求服務器執(zhí)行該用戶對該第三方應用程序進行授權,并在接收到服務器返回的授權信息之后,發(fā)送給第三方應用程序使用。其他第三方應用程序可以均可以通過上述方式進行授權,可見,在這種方式下,不再需要用戶分別對各個第三方應用程序進行用戶授權,使用戶獲得一個應用中的多個功能的用戶體驗。
[0103]當然,在實際應用中,用戶可能在同一個終端上使用多個用戶id登錄過,此時,在獲取用戶id時,就可能會獲取到多個,因此,可以將這多個用戶id以列表等形式展現(xiàn)給用戶,由用戶選擇一個當前需要使用的用戶id,然后根據(jù)用戶選擇的這個用戶id獲取用戶授權信息。
[0104]需要說明的是,為了能夠按照前述方式實現(xiàn)應用程序之間的相互通信以及授權互通,各個第三方應用程序需要實現(xiàn)規(guī)定模塊的消息接口,這樣當收到其他應用程序發(fā)送的消息以后才可以做業(yè)務處理,包括通過SSO模式獲取到用戶授權,通過集成的SDK來調用遠端服務處理業(yè)務,當業(yè)務處理完畢以后,則通過集成的工具條(Toolbar)回到主應用某個功能中或者回到第三方應用繼續(xù)業(yè)務處理,等等??傊?,在本申請實施例中,是基于消息流驅動用戶行為,同時用戶行為會跨多個第三方應用程序,并且會和移動工作臺有很多數(shù)據(jù)交互,因此重點就是應用尋址交互和模塊間業(yè)務協(xié)議定義,下面列舉了應用間交互的基礎協(xié)議和業(yè)務協(xié)議范例。
[0105]首先,參見表1,其中列舉了一些系統(tǒng)協(xié)議的定義。
[0106]表1
[0107]
【權利要求】
1.一種業(yè)務處理方法,其特征在于,包括: 確定各個功能模塊中分別使用的第三方應用程序;其中,所述功能模塊為按照電子商務流程中各個階段的使用場景劃分的功能模塊; 在需要調用指定功能模塊時,根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址;所述回調地址根據(jù)寫入到所述目標第三方應用程序代碼的統(tǒng)一資源定位符方案字段的信息生成,所述目標第三方應用程序已在所述服務器中對所述統(tǒng)一資源定位符方案字段的信息進行注冊; 按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序,進行相應的業(yè)務處理。
2.根據(jù)權利要求1所述的方法,其特征在于,所述在需要調用指定功能模塊時,根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址包括: 接收到系統(tǒng)提醒消息時,根據(jù)所述系統(tǒng)提醒消息確定需要調用的功能模塊; 根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址。
3.根據(jù)權利要求1所述的方法,其特征在于,所述在需要調用指定功能模塊時,根據(jù)所述指定功能模塊中使 用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址包括: 接收當前第三方應用程序發(fā)出的調用指定功能模塊的請求; 根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址; 所述按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序包括:將獲取到的回調地址發(fā)送給當前第三方應用程序,以便所述當前第三方應用程序按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序。
4.根據(jù)權利要求1至3任一項所述的方法,其特征在于,如果調用發(fā)起方需要所述目標第三方應用程序返回響應信息時,所述按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序包括: 所述調用發(fā)起方創(chuàng)建會話,并在本地保存會話序列號與會話之間的對應關系; 所述調用發(fā)起方按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序,將調用發(fā)起方的回調地址、事件、需要處理的業(yè)務參數(shù)及所述會話序列號發(fā)送給所述目標第三方應用程序; 所述目標第三方應用程序根據(jù)所述事件及業(yè)務參數(shù)得到處理結果,并根據(jù)所述調用發(fā)起方的回調地址將處理結果以及所述會話序列號返回給所述調用發(fā)起方; 所述調用發(fā)起方根據(jù)所述目標第三方應該程序返回的會話序列號查找到對應的會話,將所述處理結果放回該會話中,根據(jù)所述目標第三方應用程序返回的處理結果進行處理操作。
5.根據(jù)權利要求4所述的方法,其特征在于,所述將調用發(fā)起方的回調地址、事件、需要處理的業(yè)務參數(shù)及所述會話序列號發(fā)送給所述目標第三方應用程序之后還包括: 將調用發(fā)起方中發(fā)起調用的線程阻塞;所述根據(jù)所述目標第三方應用程序返回的處理結果進行處理操作包括: 通知所述發(fā)起調用的線程根據(jù)所述目標第三方應用程序返回的處理結果進行處理操作。
6.根據(jù)權利要求4所述的方法,其特征在于,所述根據(jù)所述目標第三方應用程序返回的處理結果進行處理操作包括: 調用發(fā)起方在新創(chuàng)建的線程中根據(jù)所述目標第三方應用程序返回的處理結果進行處理操作。
7.根據(jù)權利要求1至3任一項所述的方法,其特征在于,還包括: 接收目標第三方應用程序發(fā)起的單點登錄請求; 將目標第三方應用程序的身份標識以及本地保存的用戶id發(fā)送到服務器,向所述服務器獲取與目標第三方應用程序身份標識及用戶id對應的用戶授權信息; 將服務器返回的用戶授權信息發(fā)送給目標第三方應用程序,以便目標第三方應用程序利用所述用戶授權信息進行相應的業(yè)務處理。
8.根據(jù)權利要求7所述的方法,其特征在于,所述將目標第三方應用程序的身份標識以及本地保存的用戶id發(fā)送到服務器包括: 獲取本地保存的用戶id ; 如果所述本地保存的用戶id為至少兩個,則將所述至少兩個id展現(xiàn)出來供用戶選擇; 將目標第三方應用程序的身份標識以及用戶選擇的用戶id發(fā)送到服務器。
9.根據(jù)權利要求7所述的方法,其特征在于,所述將目標第三方應用程序的身份標識以及本地保存的用戶id發(fā)送到服務器,向所述服務器獲取與目標第三方應用程序身份標識及用戶id對應的用戶授權信息包括: 將目標第三方應用程序的身份標識以及本地保存的用戶id發(fā)送到服務器,在服務器已保存的信息中查詢目標第三方應用程序身份標識以及本地保存的用戶id對應的用戶授權信息; 所述將服務器返回的用戶授權信息發(fā)送給目標第三方應用程序包括: 判斷查詢到的用戶授權信息是否有效,如果有效,則發(fā)送給目標第三方應用程序; 如果無效,則請求服務器為根據(jù)目標第三方應用程序的身份標識以及用戶id進行用戶授權,并將重新接收到的用戶授權信息發(fā)送給目標第三方應用程序。
10.根據(jù)權利要求1至3任一項所述的方法,其特征在于,所述確定各個功能模塊中分別使用的應用程序包括: 展示各個功能模塊中分別可供選擇的應用程序,并為用戶提供選擇操作入口 ; 根據(jù)用戶的選擇結果,確定各個功能模塊中分別使用的應用程序。
11.一種業(yè)務處理系統(tǒng),其特征在于,包括: 程序確定單元,用于確定各個功能模塊中分別使用的第三方應用程序;其中,所述功能模塊為按照電子商務流程中各個階段的使用場景劃分的功能模塊; 回調地址獲取單元,用于在需要調用指定功能模塊時,根據(jù)所述指定功能模塊中使用的目標第三方應用程序的身份標識,向服務器獲取所述目標第三方應用程序的回調地址;所述回調地址根據(jù)寫入到所述目標第三方應用程序代碼的統(tǒng)一資源定位符方案字段的信息生成,所述目標第三方應用程序已在所述服務器中對所述統(tǒng)一資源定位符方案字段的信息進行注冊; 調用單元,用于按照所述目標第三方應用程序的回調地址調用所述目標第三方應用程序,進行相應的業(yè)務處理。
【文檔編號】G06Q30/00GK103942093SQ201310024468
【公開日】2014年7月23日 申請日期:2013年1月23日 優(yōu)先權日:2013年1月23日
【發(fā)明者】岑文初, 王文彬, 馮光, 墻輝, 李 杰, 李繼斌, 朱成夷 申請人:阿里巴巴集團控股有限公司