李進(jìn) 張?zhí)?/p>
摘 要:充分利用智能手機(jī)終端的主動(dòng)定位、多媒體信息播放、條碼識(shí)別、數(shù)據(jù)共享、3G/4G通信等功能,實(shí)現(xiàn)企業(yè)關(guān)聯(lián)信息在移動(dòng)終端上的智能推送和方便的服務(wù)交互。
關(guān)鍵詞:社交網(wǎng)絡(luò)模式;企業(yè)移動(dòng)信息化;研究
1 主要研究?jī)?nèi)容
在傳統(tǒng)的企業(yè)服務(wù)信息化解決方案中,如何實(shí)現(xiàn)有效的生成業(yè)務(wù)以及數(shù)據(jù)共享一直是一個(gè)老生常談的問(wèn)題,于是有了諸如EAI、EDC、SOA等解決方案,但這些方案復(fù)雜而且成本高昂,難以適應(yīng)當(dāng)前移動(dòng)互聯(lián)網(wǎng)應(yīng)用高效低成本的應(yīng)用需求,而到了移動(dòng)互聯(lián)網(wǎng)時(shí)代,面對(duì)越來(lái)越強(qiáng)烈移動(dòng)信息的需求,這個(gè)問(wèn)題日益尖銳,本研究將針對(duì)這一問(wèn)題進(jìn)行深入研究,通過(guò)創(chuàng)新一種解決方案——微服務(wù)模式,有效地解決了這一難題。
假設(shè)目前有三個(gè)系統(tǒng)分別運(yùn)行A、B、C三個(gè)應(yīng)用,現(xiàn)在有了新的需求,需要上一個(gè)新的應(yīng)用系統(tǒng)D,但需要A系統(tǒng)提供數(shù)據(jù)a1、a2,需要B系統(tǒng)提供數(shù)據(jù)b1、b2、b3,需要C系統(tǒng)提供數(shù)據(jù)c1,按照傳統(tǒng)思路,D系統(tǒng)需要分別與A、B、C系統(tǒng)建立接口關(guān)系,通過(guò)相應(yīng)的接口協(xié)議實(shí)現(xiàn)彼此之間的數(shù)據(jù)交換。如果這些系統(tǒng)分屬不同服務(wù)提供商,由不同提供商在不同時(shí)期建設(shè)完成,那么D系統(tǒng)的建設(shè)過(guò)程中所面臨的難度就可想而知了。
采用微服務(wù)模式的解決方案后,D系統(tǒng)把A、B、C系統(tǒng)加入到自己的共享域(類似于朋友圈)并關(guān)注它們的相應(yīng)數(shù)據(jù),A、B、C系統(tǒng)授權(quán)D系統(tǒng)作為自己的共享對(duì)象(相對(duì)于好友)并共享相應(yīng)數(shù)據(jù),完成這些系統(tǒng)設(shè)置后,D系統(tǒng)就有了一個(gè)(a1、a2、b1、b2、b3、c1)這樣的共享數(shù)據(jù)視圖(類似于聊天群),這樣D就可以隨時(shí)訪問(wèn)A、B、C系統(tǒng)的共享數(shù)據(jù)了,另外,有了這個(gè)機(jī)制后,系統(tǒng)間消息交互也變得非常容易——互相@對(duì)方即可。
但這又引出來(lái)一個(gè)問(wèn)題,如果將A、B、C這三個(gè)老系統(tǒng)改造成能夠適應(yīng)微服務(wù)模式的架構(gòu),比起前面提到的傳統(tǒng)做法,其工作量只會(huì)更大,因此這就又引出了一個(gè)需求,需要有一個(gè)中間產(chǎn)品分別從A、B、C系統(tǒng)把相應(yīng)的數(shù)據(jù)提取出來(lái),形成(a1、a2、b1、b2、b3、c1)這樣的視圖提供給D系統(tǒng)。這種方式其實(shí)就是通過(guò)中間產(chǎn)品主動(dòng)關(guān)注A、B、C系統(tǒng)中的相應(yīng)數(shù)據(jù),而不是由這些系統(tǒng)主動(dòng)共享出來(lái),這樣的話就不會(huì)對(duì)原有系統(tǒng)造成任何影響,它們所需做的工作就是開(kāi)放其數(shù)據(jù)訪問(wèn)的權(quán)限。這個(gè)中間產(chǎn)品在理論上可以實(shí)現(xiàn)與任何業(yè)務(wù)系統(tǒng),包括像微信、易信、微博等社交媒體的對(duì)接。
本研究實(shí)現(xiàn)了企業(yè)IT系統(tǒng)中的服務(wù)內(nèi)容與采用微信、易信等流行社交媒體的對(duì)接,通過(guò)這些社交媒體的公眾號(hào)即可向移動(dòng)終端用戶提供服務(wù)。
2 關(guān)鍵技術(shù)問(wèn)題
本研究重點(diǎn)在于充分體現(xiàn)了當(dāng)前移動(dòng)互聯(lián)網(wǎng)應(yīng)用當(dāng)中的幾個(gè)最為流行的元素,如社交網(wǎng)絡(luò)、終端App等,可實(shí)現(xiàn)與主流社交媒體的無(wú)縫對(duì)接,可以極大地利用當(dāng)前流行社交媒體所具備的廣泛的用戶基礎(chǔ),快速地借助這些媒體渠道將服務(wù)推送到廣大用戶的移動(dòng)終端上。
2.1 終端應(yīng)用容器與綜合管控
目前的移動(dòng)互聯(lián)網(wǎng)App有一種越來(lái)越復(fù)雜化的傾向,但如果把這些App抽象一下,全部可以歸結(jié)為“首屏→事件→下一屏→事件→下一屏→……→結(jié)束”這種機(jī)制(即“有限狀態(tài)機(jī)”機(jī)制),每一屏中可以包括圖片、視頻、音頻、文字等內(nèi)容元素,而這些內(nèi)容又是可以從所關(guān)注的后臺(tái)應(yīng)用中獲取的,這樣的話終端上只要有一個(gè)應(yīng)用支撐框架,或者可以叫做應(yīng)用容器,任何人都可以很方便按照前面提到的機(jī)制開(kāi)發(fā)自己的App腳本實(shí)例,再用應(yīng)用容器進(jìn)行封裝,一個(gè)專屬于自己的定制App就生成了。
由此不難看出,采用微服務(wù)模式后,App更多的不是被“開(kāi)發(fā)”出來(lái)的,而是被“編輯”出來(lái)的,這樣就大大降低了服務(wù)提供者向用戶提供自己專用App的技術(shù)門檻。通過(guò)這種方式,將App當(dāng)中的底層控制操作盡可能地封裝,對(duì)外只提供與業(yè)務(wù)相關(guān)聯(lián)的組件內(nèi)容讓業(yè)務(wù)人員去定制,這樣業(yè)務(wù)人員就專注于他的業(yè)務(wù)邏輯即可,而無(wú)需關(guān)注具體技術(shù)實(shí)現(xiàn)細(xì)節(jié)。
2.2 統(tǒng)一消息管理機(jī)制的構(gòu)建
(1)基于規(guī)則引擎的協(xié)議自主適配:基于規(guī)則引擎,通過(guò)多種協(xié)議的自主適配,屏蔽各傳感器接入不同標(biāo)準(zhǔn)的差異。目前已在使用當(dāng)中的各類行業(yè)終端,修改其上的應(yīng)用使之兼容協(xié)議都會(huì)存在或多或少的困難和障礙,甚至短期內(nèi)無(wú)法實(shí)現(xiàn),本框架的關(guān)鍵性技術(shù)就是進(jìn)行協(xié)議轉(zhuǎn)換。
基于規(guī)則引擎的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換適配器類似于互聯(lián)網(wǎng)數(shù)據(jù)采集和傳輸?shù)目晒芾砜蚣艿那爸脵C(jī),把各種網(wǎng)絡(luò)協(xié)議終端的協(xié)議包轉(zhuǎn)換成標(biāo)準(zhǔn)協(xié)議。協(xié)議轉(zhuǎn)換服務(wù)器采取插件機(jī)制,根據(jù)需要為不同協(xié)議提供不同的協(xié)議轉(zhuǎn)換插件。部署協(xié)議轉(zhuǎn)換器后,靈活支持各種不同網(wǎng)絡(luò)協(xié)議。協(xié)議轉(zhuǎn)換器插件使用熱部署的方式。在事務(wù)驅(qū)動(dòng)的過(guò)程中,規(guī)則引擎除了負(fù)責(zé)適配工作,還可以支持事件業(yè)務(wù)決策。
(2)信息安全化,使用數(shù)據(jù)安全與認(rèn)證技術(shù),對(duì)互聯(lián)網(wǎng)傳輸信息進(jìn)行安全管理服務(wù),增強(qiáng)安全機(jī)制?;ヂ?lián)網(wǎng)的安全一直是阻礙其發(fā)展的另一重要原因,要做到信息的安全性,應(yīng)建立一套安全認(rèn)證體系,包括用戶的認(rèn)證、識(shí)別、授權(quán)等一整套流程。
根據(jù)互聯(lián)網(wǎng)終端及網(wǎng)絡(luò)設(shè)備的具體特點(diǎn),在訪問(wèn)控制、傳輸安全、密鑰管理、安全策略等多層次上,綜合身份認(rèn)證、地址綁定、接入控制、密鑰分發(fā)更換、應(yīng)用過(guò)濾等安全措施,用以提高互聯(lián)網(wǎng)系統(tǒng)的整體安全性。
(3)傳輸消息的高效處理。指利用高效可靠的消息傳輸機(jī)制進(jìn)行平臺(tái)無(wú)關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來(lái)進(jìn)行分布式集成,通過(guò)提供消息傳遞和消息排隊(duì)的模型,擴(kuò)展進(jìn)程間通信,本項(xiàng)目的傳輸消息框架主要基于ACE自適應(yīng)通信環(huán)境技術(shù)來(lái)開(kāi)發(fā)。
ACE自適應(yīng)通信環(huán)境(Adaptive Communication Environment)是可以自由使用、開(kāi)放源碼和高度可移植的的面向?qū)ο螅∣O)框架(Framework),在其中實(shí)現(xiàn)了許多用于并發(fā)通信軟件的核心模式。ACE提供了一組豐富的可復(fù)用C++Wrapper Facade(包裝外觀)和框架組件,可跨越多種平臺(tái)完成通用的通信軟件任務(wù),其中包括:事件多路分離和事件處理器分派、信號(hào)處理、服務(wù)初始化、進(jìn)程間通信、共享內(nèi)存管理、消息路由、分布式服務(wù)動(dòng)態(tài)(重)配置、并發(fā)執(zhí)行和同步等。
3 可視化移動(dòng)互聯(lián)網(wǎng)應(yīng)用快速生成技術(shù)
基于終端的業(yè)務(wù)控制過(guò)程及業(yè)務(wù)邏輯過(guò)程均被抽象為“狀態(tài)”、“事件”、“動(dòng)作”這三個(gè)要素,利用這三個(gè)要素就可構(gòu)建出應(yīng)用實(shí)現(xiàn)過(guò)程的控制腳本,過(guò)程中的所有技術(shù)性細(xì)節(jié)均可被封裝。平臺(tái)提供可視化的開(kāi)發(fā)環(huán)境,將封裝后的各功能組件、標(biāo)準(zhǔn)事件動(dòng)作、流程管理等以圖形化的形式展現(xiàn),業(yè)務(wù)開(kāi)發(fā)人員則可利用這些標(biāo)準(zhǔn)化的開(kāi)發(fā)組件在可視化環(huán)境中生成面向各類具體應(yīng)用的模板,并可在可視化環(huán)境中進(jìn)行應(yīng)用腳本的設(shè)計(jì)及仿真測(cè)試。應(yīng)用模板的實(shí)質(zhì)就是一個(gè)沒(méi)有實(shí)例化的應(yīng)用,作為最終的使用者,只需要以應(yīng)用模板為基礎(chǔ),在模板的框架內(nèi)填入自己的應(yīng)用數(shù)據(jù),一個(gè)專屬于自己的定制化應(yīng)用就生成了,整個(gè)過(guò)程中使用者無(wú)需關(guān)注任何技術(shù)層面的內(nèi)容。