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