基于應(yīng)用場(chǎng)景的工業(yè)APP集成架構(gòu)設(shè)計(jì)
引言
工業(yè)互聯(lián)網(wǎng)APP(以下簡(jiǎn)稱(chēng)"工業(yè)APP")承載工業(yè)知識(shí)經(jīng)驗(yàn),有助于實(shí)現(xiàn)數(shù)據(jù)的自由流動(dòng)與知識(shí)工作的自動(dòng)化,重建我國(guó)自主工業(yè)技術(shù)和知識(shí)體系,為智能制造發(fā)展奠定基礎(chǔ)[1]。國(guó)家出臺(tái)了《國(guó)家軟件和信息技術(shù)服務(wù)業(yè)十三五發(fā)展規(guī)劃(2016一2020年)》《國(guó)務(wù)院關(guān)于深化"互聯(lián)網(wǎng)+先進(jìn)制造業(yè)"發(fā)展工業(yè)互聯(lián)網(wǎng)的指導(dǎo)意見(jiàn)》《工業(yè)互聯(lián)網(wǎng)APP培育工程實(shí)施方案(2018一2020年)》等一系列文件支持工業(yè)APP的培育,領(lǐng)域內(nèi)服務(wù)企業(yè)紛紛開(kāi)發(fā)和匯聚工業(yè)APP,工業(yè)APP受到了越來(lái)越多的關(guān)注和重視,發(fā)揮的作用也日益增強(qiáng)。
工業(yè)APP應(yīng)用是工業(yè)APP價(jià)值輸出的直接路徑,工業(yè)APP的流通是構(gòu)建開(kāi)放的工業(yè)APP生態(tài)體系的關(guān)鍵,這些需要工業(yè)APP集成的支持。一方面,單個(gè)工業(yè)APP目標(biāo)單一,只解決特定的問(wèn)題,企業(yè)需要匯聚多種不同的工業(yè)APP綜合滿足需求:另一方面,工業(yè)APP流通的基礎(chǔ)是工業(yè)APP在平臺(tái)提供商與技術(shù)服務(wù)商之間實(shí)現(xiàn)工業(yè)APP交易平臺(tái)和運(yùn)營(yíng)平臺(tái)的匯聚。本文分析總結(jié)了若干工業(yè)APP匯聚和集成的場(chǎng)景,針對(duì)每種場(chǎng)景給出了工業(yè)APP的集成架構(gòu),以期促進(jìn)工業(yè)APP的應(yīng)用和流通,助力工業(yè)APP發(fā)展。
1相關(guān)技術(shù)
1.1工業(yè)APP
工業(yè)APP是基于工業(yè)互聯(lián)網(wǎng),承載工業(yè)知識(shí)和經(jīng)驗(yàn),滿足特定需求的工業(yè)應(yīng)用軟件,是工業(yè)技術(shù)軟件化的重要成果。到2020年,我國(guó)要培育30萬(wàn)個(gè)面向特定行業(yè)、特定場(chǎng)景的工業(yè)APP,全面覆蓋研發(fā)設(shè)計(jì)、生產(chǎn)制造、運(yùn)營(yíng)維護(hù)和經(jīng)營(yíng)管理等制造業(yè)關(guān)鍵業(yè)務(wù)環(huán)節(jié)的重點(diǎn)需求。如圖1所示,國(guó)內(nèi)開(kāi)發(fā)工業(yè)APP一般采用MVC模式,數(shù)據(jù)(Model)封裝工業(yè)APP數(shù)據(jù),并定義了操作和處理數(shù)據(jù)的邏輯規(guī)則:視圖(View)將應(yīng)用模型對(duì)象中的數(shù)據(jù)顯示出來(lái),并允許用戶編輯數(shù)據(jù):控制(Controller)負(fù)責(zé)用戶視圖和業(yè)務(wù)邏輯的協(xié)調(diào)控制。
傳統(tǒng)工業(yè)軟件和工業(yè)APP存在表1所示的差異。嚴(yán)格說(shuō),工業(yè)APP是工業(yè)互聯(lián)網(wǎng)APP發(fā)展的一個(gè)前期階段,是企業(yè)目前最有可能實(shí)現(xiàn)的APP形式,因此將工業(yè)互聯(lián)網(wǎng)APP簡(jiǎn)稱(chēng)為工業(yè)APP有三個(gè)目的,一是體現(xiàn)了工業(yè)APP是工業(yè)互聯(lián)網(wǎng)APP發(fā)展過(guò)程中最重要、最常見(jiàn)、最務(wù)實(shí)的階段,二是強(qiáng)調(diào)開(kāi)發(fā)工業(yè)APP的最終目的是工業(yè)互聯(lián)網(wǎng)APP,三是與相關(guān)文件術(shù)語(yǔ)描述保持一致。
1.2軟件集成
軟件集成技術(shù)和實(shí)踐已經(jīng)非常成熟。從集成的層次來(lái)看,有數(shù)據(jù)集成、客戶端集成、系統(tǒng)集成、過(guò)程集成等不同層次。從集成技術(shù)來(lái)看,有RPC、消息中間件、企業(yè)服務(wù)總線、REsTAPI等。企業(yè)在應(yīng)用設(shè)計(jì)開(kāi)發(fā)過(guò)程中也更加重視對(duì)集成接口的預(yù)留。
1.3工業(yè)APP集成
按照集成對(duì)象差異,工業(yè)APP的集成分為工業(yè)APP和技術(shù)對(duì)象的集成、工業(yè)APP之間的集成兩種。工業(yè)APP與技術(shù)對(duì)象的集成是工業(yè)APP的關(guān)鍵技術(shù)之一,用于集成工業(yè)技術(shù)運(yùn)行的工業(yè)軟件、工業(yè)硬件、有數(shù)據(jù)交互的其他對(duì)象等使用環(huán)境,一般采用適配器的方式集成。本文的APP集成是指工業(yè)APP之間的集成。
工業(yè)APP的集成和傳統(tǒng)工業(yè)軟件存在多種差異,如表2所示。文獻(xiàn)提出了基于封裝技術(shù)和軟件系統(tǒng)解耦的以云平臺(tái)為載體的工業(yè)APP集成方案,只涉及到采用統(tǒng)一開(kāi)發(fā)平臺(tái)的工業(yè)APP之間的集成,沒(méi)有考慮未采用統(tǒng)計(jì)開(kāi)發(fā)平臺(tái)的工業(yè)APP集成情況。
2工業(yè)APP集成場(chǎng)景分析
基于對(duì)工業(yè)APP開(kāi)發(fā)、應(yīng)用、流通等環(huán)節(jié)的分析,提出四種工業(yè)APP集成場(chǎng)景。
2.1平臺(tái)匯聚場(chǎng)景
(1)場(chǎng)景定義:以服務(wù)資源匯聚為重點(diǎn)的平臺(tái)將各行業(yè)、領(lǐng)域的工業(yè)APP匯聚到一起,形成統(tǒng)一的資源體系提供對(duì)外服務(wù)。
(2)場(chǎng)景描述:各類(lèi)服務(wù)商基于自身的系統(tǒng)產(chǎn)品、應(yīng)用領(lǐng)域,形成具有特色優(yōu)勢(shì)的工業(yè)APP。以服務(wù)資源匯聚為重點(diǎn)的平臺(tái)聚合大量來(lái)自不同服務(wù)商的工業(yè)APP,優(yōu)勢(shì)互補(bǔ),構(gòu)建覆蓋全面的服務(wù)供給體系。
(3)集成特點(diǎn):在這一場(chǎng)景下,工業(yè)APP之間是相互獨(dú)立的,用戶以平臺(tái)為統(tǒng)一入口使用購(gòu)買(mǎi)的工業(yè)APP,本質(zhì)是工業(yè)APP與平臺(tái)的集成。平臺(tái)不必要留存應(yīng)用數(shù)據(jù),但可保留基礎(chǔ)的應(yīng)用頻率、時(shí)長(zhǎng)等數(shù)據(jù),實(shí)現(xiàn)平臺(tái)對(duì)工業(yè)APP服務(wù)資源使用情況的統(tǒng)計(jì)。
2.2統(tǒng)一服務(wù)場(chǎng)景
(1)場(chǎng)景定義:將不同工業(yè)APP集成,形成統(tǒng)一的服務(wù)環(huán)境,對(duì)外提供服務(wù)。
(2)場(chǎng)景描述:一種情況是某行業(yè)、領(lǐng)域服務(wù)商,為補(bǔ)充自身的工業(yè)APP產(chǎn)品體系的完整性,將其他相關(guān)服務(wù)商互補(bǔ)的工業(yè)APP集成到自身的產(chǎn)品體系中,完善產(chǎn)品體系,形成統(tǒng)一品牌對(duì)外提供服務(wù),或形成統(tǒng)一的解決方案。另一種情況是,在企業(yè)的集成項(xiàng)目中,系統(tǒng)集成商基于企業(yè)需求,將來(lái)自于不同服務(wù)商的工業(yè)APP按需集成,形成一體化的服務(wù)環(huán)境。
(3)集成特點(diǎn):在這一場(chǎng)景下,工業(yè)APP之間不僅有統(tǒng)一入口,還要有統(tǒng)一的界面和服務(wù)邏輯,以提升產(chǎn)品使用流暢性和用戶使用體驗(yàn)。
2.3數(shù)據(jù)互通場(chǎng)景
(1)場(chǎng)景定義:在統(tǒng)一服務(wù)環(huán)境的基礎(chǔ)上,應(yīng)用之間共享數(shù)據(jù),實(shí)現(xiàn)優(yōu)化資源配置。
(2)場(chǎng)景描述:解決相關(guān)問(wèn)題的工業(yè)APPA、APPB、
APPC,工業(yè)APPA的部分輸出數(shù)據(jù)作為工業(yè)APPB的輸入數(shù)據(jù),或工業(yè)APPC需要將工業(yè)APPA和工業(yè)APPB管理的資源統(tǒng)一調(diào)度,這些都是數(shù)據(jù)互通場(chǎng)景的示例。
(3)集成特點(diǎn):在這一場(chǎng)景下,工業(yè)APP之間不僅要有統(tǒng)一入口、界面、服務(wù)邏輯,還要實(shí)現(xiàn)基于數(shù)據(jù)的互操作。
2.4應(yīng)用協(xié)作場(chǎng)景
(1)場(chǎng)景定義:在統(tǒng)一服務(wù)環(huán)境的基礎(chǔ)上,不同工業(yè)APP的功能之間協(xié)作解決新問(wèn)題。
(2)場(chǎng)景描述:解決不同問(wèn)題的工業(yè)APPA、APPB,工業(yè)APPA的a1功能和工業(yè)APPB的b1功能,作為工業(yè)APPC的功能組成部分,支持工業(yè)APPC解決新問(wèn)題。
(3)集成特點(diǎn):在這一場(chǎng)景下,工業(yè)APP之間不僅要有統(tǒng)一入口、界面、服務(wù)邏輯,還要實(shí)現(xiàn)功能集成。這對(duì)工業(yè)APP本身架構(gòu)基礎(chǔ)要求較高,在工業(yè)APP本身基于微服務(wù)架構(gòu)建的條件下,方能在較為經(jīng)濟(jì)的前提下實(shí)現(xiàn)應(yīng)用集成。
3面向不同場(chǎng)景的工業(yè)APP集成架構(gòu)
針對(duì)不同場(chǎng)景工業(yè)APP集成的特點(diǎn),提出相應(yīng)的工業(yè)APP集成架構(gòu)。由于集成技術(shù)本身已很成熟,本文僅給出集成功能架構(gòu)圖,未提供技術(shù)架構(gòu)。
3.1平臺(tái)匯聚場(chǎng)景
平臺(tái)匯聚集成場(chǎng)景下,待集成對(duì)象可能是獨(dú)立APP,也可能是擁有批量APP的平臺(tái),采用松耦合的集成架構(gòu),如圖2所示。
如果待集成APP是獨(dú)立APP,采用單點(diǎn)登錄集成技術(shù)即可實(shí)現(xiàn)集成。如果待集成的是擁有批量APP的平臺(tái),在采用單點(diǎn)登錄集成技術(shù)的基礎(chǔ)上,還需實(shí)現(xiàn)對(duì)APP管理的集成。APP管理的集成,即APP的上架、審核、發(fā)布等的集成,最簡(jiǎn)單的方式是只有工業(yè)APP平臺(tái)中發(fā)布的APP,才會(huì)被工業(yè)APP匯聚平臺(tái)集成。此外,如工業(yè)APP平臺(tái)本身提供工業(yè)APP的交易功能,可以按需增加訂單管理集成功能。
3.2統(tǒng)一服務(wù)場(chǎng)景
統(tǒng)一服務(wù)場(chǎng)景下,APP之間有統(tǒng)一的GUI和服務(wù)邏輯,采用GUI集成架構(gòu),如圖3所示。GUI集成包括界面風(fēng)格、用詞規(guī)范的統(tǒng)一及服務(wù)邏輯的設(shè)計(jì)。對(duì)于采用GUI集成架構(gòu)的情況,不同工業(yè)APP分別運(yùn)行在各自獨(dú)立的應(yīng)用程序空間。
3.3數(shù)據(jù)互通場(chǎng)景
對(duì)于數(shù)據(jù)互通場(chǎng)景,工業(yè)APP可以調(diào)用其他工業(yè)APP處理生成的數(shù)據(jù),在單點(diǎn)登錄集成、界面集成的基礎(chǔ)上,針對(duì)互通數(shù)據(jù),開(kāi)放數(shù)據(jù)互操作API接口,如圖4所示。
3.4應(yīng)用協(xié)作場(chǎng)景
應(yīng)用協(xié)作場(chǎng)景的工業(yè)APP集成本質(zhì)是將工業(yè)APP功能拆分后的重新組合,屬于系統(tǒng)細(xì)分功能集成,在工業(yè)APP本身架構(gòu)基礎(chǔ)較好的情況下經(jīng)濟(jì)性尚可,否則成本較高。基于微服務(wù)架構(gòu)的工業(yè)APP集成架構(gòu)如圖5所示。
微服務(wù)架構(gòu)靈活的服務(wù)調(diào)用、編排等可實(shí)現(xiàn)靈活的功能組合。
4結(jié)語(yǔ)
工業(yè)APP的集成是工業(yè)APP流通和應(yīng)用環(huán)節(jié)中的常見(jiàn)需求,對(duì)構(gòu)建完備的工業(yè)APP服務(wù)體系,提供全面的服務(wù)非常重要。本文分析總結(jié)了工業(yè)APP集成的平臺(tái)匯聚、統(tǒng)一服務(wù)、數(shù)據(jù)互通、應(yīng)用協(xié)作四個(gè)場(chǎng)景,針對(duì)平臺(tái)匯聚場(chǎng)景設(shè)計(jì)了松耦合集成架構(gòu),針對(duì)統(tǒng)一服務(wù)場(chǎng)景設(shè)計(jì)了GUI集成架構(gòu),針對(duì)數(shù)據(jù)互通場(chǎng)景設(shè)計(jì)了數(shù)據(jù)互操作架構(gòu),針對(duì)應(yīng)用協(xié)作場(chǎng)景設(shè)計(jì)了基于微服務(wù)的集成架構(gòu)。企業(yè)在開(kāi)發(fā)工業(yè)APP的過(guò)程中,不僅要考慮工業(yè)APP的功能需求,還要考慮工業(yè)APP的集成需求,盡量采用微服務(wù)架構(gòu)構(gòu)建靈活的工業(yè)APP,提高工業(yè)APP的復(fù)用性。