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