所謂MES系統(tǒng)架構(gòu),是指MES系統(tǒng)的基礎(chǔ)組織,包含各個(gè)構(gòu)件、構(gòu)件互相之間與環(huán)境的關(guān)系,以及指導(dǎo)其設(shè)計(jì)和演化的原則。MES系統(tǒng)架構(gòu)主要指MES的軟件架構(gòu)或IT架構(gòu)。MES作為大型軟件系統(tǒng),其系統(tǒng)架構(gòu)對(duì)于MES系統(tǒng)的設(shè)計(jì)開(kāi)發(fā)、應(yīng)用部署以及升級(jí)維護(hù)等均具有十分重要的影響。基于先進(jìn)架構(gòu)的MES系統(tǒng)具有開(kāi)放式、客戶化、可配置、可伸縮、易集成等特性,可支持針對(duì)企業(yè)業(yè)務(wù)流程的變更或重組進(jìn)行系統(tǒng)重構(gòu)和快速配置,以適應(yīng)現(xiàn)代制造環(huán)境的變化。
1.基于改進(jìn)C/S結(jié)構(gòu)與組件技術(shù)的三層系統(tǒng)架構(gòu)
MES軟件系統(tǒng)一般由三大部分組成,即用戶界面部分、業(yè)務(wù)邏輯部分和數(shù)據(jù)儲(chǔ)存部分。對(duì)于早期的專用MES系統(tǒng)而言,上述三大部分是緊密結(jié)合、密不可分的;對(duì)于集成化MES系統(tǒng),為了保障系統(tǒng)各功能之間的數(shù)據(jù)集成性,將數(shù)據(jù)集中到服務(wù)器上,實(shí)現(xiàn)數(shù)據(jù)共享,形成了具有兩層結(jié)構(gòu)的C/S架構(gòu);發(fā)展到可集成MES階段,為了實(shí)現(xiàn)系統(tǒng)的可集成性與可重構(gòu)性,將三部分獨(dú)立開(kāi)來(lái),并進(jìn)一步與組件技術(shù)相結(jié)合,形成了如圖1所示的基于改進(jìn)C/S結(jié)構(gòu)與組件技術(shù)的MES三層系統(tǒng)架構(gòu)。其中,表示層用于界面引導(dǎo),接受用戶輸入,并向應(yīng)用服務(wù)器發(fā)送服務(wù)請(qǐng)求,顯示處理結(jié)果;業(yè)務(wù)邏輯層用于執(zhí)行業(yè)務(wù)邏輯,向數(shù)據(jù)庫(kù)發(fā)送請(qǐng)求;數(shù)據(jù)存儲(chǔ)層用于執(zhí)行數(shù)據(jù)邏輯,運(yùn)行SQL或存儲(chǔ)過(guò)程。
圖1 基于改進(jìn)C/S結(jié)構(gòu)與組件技術(shù)的MES三層體系統(tǒng)架構(gòu)
上述基于改進(jìn)C/S結(jié)構(gòu)與組件技術(shù)的MES三層系統(tǒng)架構(gòu)的顯著優(yōu)點(diǎn)是實(shí)現(xiàn)了MES業(yè)務(wù)邏輯與表示層的分離,并可實(shí)現(xiàn)功能組件的重用,從而大大提高了MES系統(tǒng)的開(kāi)發(fā)效率?;诮M件技術(shù)開(kāi)發(fā)的MES具有良好的可配置性、可重用性、可擴(kuò)展性和可集成性,可以較好滿足現(xiàn)代制造企業(yè)對(duì)MES的需求。但上述C/S架構(gòu)也有其明顯的局限性。首先,該系統(tǒng)架構(gòu)下的MES組件是面向功能的,粒度較小,不能實(shí)現(xiàn)系統(tǒng)與制造業(yè)務(wù)的良好對(duì)應(yīng)。其次,MES系統(tǒng)客戶端與服務(wù)器端的實(shí)現(xiàn)必須采用相同的構(gòu)件體系,且組件須是同構(gòu)技術(shù),從而制約了系統(tǒng)自由擴(kuò)充的實(shí)現(xiàn)。第三,基于該系統(tǒng)架構(gòu)的MES系統(tǒng)往往只能部署在局域網(wǎng)中,無(wú)法跨網(wǎng)運(yùn)行,限制了異地制造協(xié)同的實(shí)現(xiàn)。最后,基于該架構(gòu)的MES系統(tǒng)雖然更新業(yè)務(wù)邏輯或數(shù)據(jù)變得容易,不需要在客戶端機(jī)器上重新安裝新版本的用戶界面,但是客戶端跟業(yè)務(wù)邏輯的關(guān)系仍較緊密,如果表示層軟件發(fā)生變動(dòng),仍需要重新安裝客戶端?;谏鲜霾蛔?,出現(xiàn)了基于B/S結(jié)構(gòu)的MES分布式系統(tǒng)架構(gòu)。
2.基于B/S結(jié)構(gòu)的MES分布式系統(tǒng)架構(gòu)
B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式),是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端主要的應(yīng)用軟件。在某些制造業(yè)的生產(chǎn)車間,生產(chǎn)現(xiàn)場(chǎng)條件相對(duì)比較惡劣,如果采用C/S結(jié)構(gòu)的MES系統(tǒng),對(duì)系統(tǒng)硬件的配置要求較高,成本會(huì)大幅度增加。因?yàn)橄啾菴/S結(jié)構(gòu)而言,采用B/S架構(gòu)MES不用像C/S結(jié)構(gòu)的MES那樣在安裝和升級(jí)時(shí),需要到每一臺(tái)客戶端進(jìn)行客戶端的配置,只需在服務(wù)器上進(jìn)行一次安裝升級(jí)即可。在客戶端只需瀏覽器,無(wú)需額外的配置,對(duì)客戶端計(jì)算機(jī)配置要求低,客戶無(wú)需再投入資金購(gòu)買配置高的計(jì)算機(jī)。這樣使得軟件的維護(hù)和升級(jí)較為方便,可實(shí)現(xiàn)系統(tǒng)的無(wú)縫升級(jí),大大降低了系統(tǒng)的維護(hù)成本。此外,由于B/S架構(gòu)操作性強(qiáng),用戶可以在任何一臺(tái)裝有瀏覽器的主機(jī)上使用系統(tǒng),而不需要專門的客戶端軟件,克服了傳統(tǒng)C/S結(jié)構(gòu)安裝和維護(hù)困難的不足。而且,B/S實(shí)現(xiàn)了C/S結(jié)構(gòu)不能實(shí)現(xiàn)的很多功能,如遠(yuǎn)程操作和分布式操作等。如此,用戶可在外網(wǎng)訪問(wèn)到MES系統(tǒng)而不局限于只能在內(nèi)網(wǎng),從而大大提高辦公效率。
基于B/S結(jié)構(gòu)的MES分布式系統(tǒng)架構(gòu)如圖2所示。該架構(gòu)亦由三層組成:第一層是表示層,由基于Web瀏覽器的標(biāo)準(zhǔn)客戶端和基于專用軟件的專業(yè)客戶端組成,用于實(shí)現(xiàn)用戶請(qǐng)求與人機(jī)對(duì)話;第二層是應(yīng)用邏輯層,是由Web服務(wù)器采用HTTP協(xié)議來(lái)處理表示層發(fā)送過(guò)來(lái)的用戶請(qǐng)求,由相應(yīng)的功能組件來(lái)實(shí)現(xiàn)客戶的具體應(yīng)用要求。在應(yīng)用邏輯層,MES的功能組件以軟構(gòu)件的形式集成在系統(tǒng)框架(軟總線)中,并通過(guò)應(yīng)用服務(wù)器對(duì)外提供MES應(yīng)用服務(wù);第三層是數(shù)據(jù)庫(kù)層,包括存儲(chǔ)歷史數(shù)據(jù)的關(guān)系數(shù)據(jù)庫(kù)和存儲(chǔ)實(shí)時(shí)數(shù)據(jù)的實(shí)時(shí)數(shù)據(jù)庫(kù)。該層也可以是一個(gè)抽象的數(shù)據(jù)層,包括各種數(shù)據(jù)資源、數(shù)據(jù)庫(kù)文件、XML文件,以及圖標(biāo)程序文件等。應(yīng)用邏輯層在執(zhí)行業(yè)務(wù)邏輯的過(guò)程中,向數(shù)據(jù)庫(kù)層發(fā)送數(shù)據(jù)請(qǐng)求,由數(shù)據(jù)庫(kù)層執(zhí)行數(shù)據(jù)邏輯,運(yùn)行SQL或存儲(chǔ)過(guò)程。
圖2 基于B/S結(jié)構(gòu)的MES分布式系統(tǒng)架構(gòu)
上述基于B/S結(jié)構(gòu)的MES系統(tǒng)架構(gòu)具有如下特點(diǎn):(1)基于Web技術(shù),采用HTTP與HTML,使得表示層得以集中控制,并使用客戶端來(lái)顯示數(shù)據(jù)、與用戶互動(dòng),軟件變更時(shí)只需在服務(wù)器上進(jìn)行一次升級(jí)安裝即可,而不需要重新安裝整個(gè)客戶端應(yīng)用軟件。(2)允許更靈活地部署表示層、業(yè)務(wù)邏輯層與數(shù)據(jù)存取層。允許將業(yè)務(wù)邏輯跨不同服務(wù)器分布,將表示層與業(yè)務(wù)邏輯層混合在一起,或?qū)I(yè)務(wù)邏輯層與數(shù)據(jù)層相結(jié)合。(3)系統(tǒng)可擴(kuò)展性好。(4)系統(tǒng)硬件成本低。(5)支持外網(wǎng)訪問(wèn)、遠(yuǎn)程操作、分布式操作。
但B/S架構(gòu)存在通信開(kāi)銷較大、安全性差和響應(yīng)速度慢等不足。隨著互聯(lián)網(wǎng)的高速發(fā)展和服務(wù)器性能的顯著提高,B/S結(jié)構(gòu)的性能速度有了很大改善,從而使得這種MES架構(gòu)的應(yīng)用也越來(lái)越廣泛。
3.基于SOA面向服務(wù)的MES系統(tǒng)架構(gòu)
SOA(service oriented architecture,面向服務(wù)的系統(tǒng)架構(gòu))是一種企業(yè)應(yīng)用體系架構(gòu),該架構(gòu)提供了一種編程模型,使得分布部署在網(wǎng)絡(luò)上的服務(wù)組件能夠被其他應(yīng)用程序或服務(wù)發(fā)現(xiàn)和調(diào)用。如圖3所示,SOA中的服務(wù)需求者是一個(gè)應(yīng)用程序、一個(gè)軟件模塊或需要服務(wù)的另一個(gè)服務(wù)。它發(fā)起對(duì)注冊(cè)中心中服務(wù)的查詢,通過(guò)傳輸綁定服務(wù),并且執(zhí)行服務(wù)功能。服務(wù)使用者根據(jù)接口契約來(lái)執(zhí)行服務(wù)。服務(wù)提供者是一個(gè)可通過(guò)網(wǎng)絡(luò)尋址的實(shí)體,它接受和執(zhí)行來(lái)自使用者的請(qǐng)求,它將自己的服務(wù)和接口契約發(fā)布到服務(wù)注冊(cè)中心,以便服務(wù)使用者可以發(fā)現(xiàn)和訪問(wèn)該服務(wù)。服務(wù)注冊(cè)中心則是是服務(wù)發(fā)現(xiàn)的支持者,它包括一個(gè)可用服務(wù)的存儲(chǔ)庫(kù),并允許感興趣的服務(wù)使用者可以發(fā)現(xiàn)和訪問(wèn)該服務(wù)。
圖3 面向服務(wù)的系統(tǒng)架構(gòu)
“服務(wù)”是SOA中的關(guān)鍵概念,成功實(shí)現(xiàn)SOA的關(guān)鍵是為可重用庫(kù)中的每個(gè)服務(wù)確定正確的設(shè)計(jì)與功能,且確??芍赜玫能浖?wù)與業(yè)務(wù)流程完全一致。SOA是基于面向?qū)ο蠹夹g(shù)和組件技術(shù)之上更高級(jí)別的抽象?;赟OA的系統(tǒng)將系統(tǒng)功能打包成一個(gè)可互操作的服務(wù)套件,這種服務(wù)套件可用于多個(gè)不同的系統(tǒng)或多個(gè)業(yè)務(wù)領(lǐng)域。服務(wù)之間具有松耦合、粗粒度、位置和傳輸協(xié)議透明的特性。
SOA的實(shí)現(xiàn)可以基于CORBA、Web Services等技術(shù),目前Web Services是實(shí)現(xiàn)SOA的重要手段,其信息可以被不同形式的客戶端所使用。Web Services是基于網(wǎng)絡(luò)的、分布式的模塊化組件,它執(zhí)行特定的任務(wù),遵守具體的技術(shù)規(guī)范,這些規(guī)范使得Web Services能與其他兼容的組件進(jìn)行交互操作。Web Services建立在開(kāi)放標(biāo)準(zhǔn)和獨(dú)立于平臺(tái)的協(xié)議之上,通過(guò)HTTP(超文本傳輸協(xié)議)使用SOAP(簡(jiǎn)單對(duì)象使用協(xié)議),以便在服務(wù)提供者和消費(fèi)者之間進(jìn)行通信。服務(wù)通過(guò)WSDL(Web服務(wù)描述語(yǔ)言)定義的接口來(lái)公開(kāi),WSDL的語(yǔ)義用XML來(lái)定義。UDDI(一種用于描述、發(fā)現(xiàn)、集成Web Service的技術(shù))是一種與語(yǔ)言無(wú)關(guān)的協(xié)議,用于和注冊(cè)中心進(jìn)行交互和查找服務(wù),通過(guò)Web服務(wù)的組合和編排可以實(shí)現(xiàn)企業(yè)的業(yè)務(wù)流程。
圖4所示為基于 SOA 面向服務(wù)的MES系統(tǒng)架構(gòu)?;赟OA的架構(gòu)設(shè)計(jì)以服務(wù)為關(guān)注點(diǎn),在傳統(tǒng)的MES三級(jí)分層架構(gòu)模型的基礎(chǔ)上主要增加了服務(wù)層,通過(guò)服務(wù)化的封裝把MES系統(tǒng)內(nèi)部具體的業(yè)務(wù)邏輯進(jìn)行屏蔽,僅以服務(wù)的形式暴露出用戶可用的業(yè)務(wù)活動(dòng)的集合,從而提高服務(wù)及服務(wù)內(nèi)部業(yè)務(wù)邏輯的重用,可以通過(guò)對(duì)粗粒度松散耦合的服務(wù)進(jìn)行組合和部署就能構(gòu)造出復(fù)雜的系統(tǒng)邏輯。結(jié)合MES系統(tǒng)功能模塊的定義,將MES各功能模塊封裝成系統(tǒng)服務(wù)放置于系統(tǒng)應(yīng)用層,每個(gè)服務(wù)均由服務(wù)層、邏輯層和數(shù)據(jù)訪問(wèn)層組成。
圖4 基于SOA面向服務(wù)的MES系統(tǒng)架構(gòu)
綜上所述,基于SOA面向服務(wù)的MES系統(tǒng)架構(gòu)具有如下特點(diǎn):
(1)服務(wù)化。在SOA架構(gòu)下,服務(wù)是構(gòu)建MES的基本單元,服務(wù)的請(qǐng)求、發(fā)布、查找、組合運(yùn)作是MES系統(tǒng)的基本運(yùn)作模式。車間所有制造資源、軟硬件條件、制造知識(shí)都被封裝成服務(wù)。車間生產(chǎn)運(yùn)作或MES運(yùn)行過(guò)程具體體現(xiàn)為制造服務(wù)的匹配、選擇、組合、執(zhí)行、監(jiān)控和重構(gòu)。
(2)集成化。基于語(yǔ)義Web服務(wù),采用基于語(yǔ)義網(wǎng)關(guān)的系統(tǒng)集成框架,消除系統(tǒng)之間集成對(duì)象在語(yǔ)法結(jié)構(gòu)和語(yǔ)義層面的異構(gòu)性,實(shí)現(xiàn)系統(tǒng)的無(wú)縫集成。
(3)功能擴(kuò)展。MES系統(tǒng)的應(yīng)用范圍從單一車間擴(kuò)展為網(wǎng)絡(luò)環(huán)境下多車間制造過(guò)程的協(xié)同運(yùn)作管理。(支持網(wǎng)絡(luò)化協(xié)同制造)
(4)開(kāi)放性。MES系統(tǒng)的構(gòu)建基于面向服務(wù)技術(shù),服務(wù)之間的松散耦合性使系統(tǒng)具有良好的可擴(kuò)展性,各類制造服務(wù)和功能能夠方便地按需加入到MES系統(tǒng)。
基于SOA面向服務(wù)的MES系統(tǒng)的物理架構(gòu)及系統(tǒng)部署方案如圖5所示,它描述了系統(tǒng)中軟件和硬件的物理架構(gòu)。
圖5 基于SOA面向服務(wù)的MES系統(tǒng)的物理架構(gòu)
(1)客戶計(jì)算機(jī):部署客戶端應(yīng)用程序,提供用戶訪問(wèn)系統(tǒng)服務(wù)的界面接口,用戶通過(guò)預(yù)裝瀏覽器訪問(wèn)遠(yuǎn)程服務(wù)器上的Web應(yīng)用,或者使用智能客戶端應(yīng)用程序與遠(yuǎn)程應(yīng)用服務(wù)器進(jìn)行交互。
(2)Web 服務(wù)器:該服務(wù)器用于部署Web應(yīng)用或Web Services。Web服務(wù)器是可以向發(fā)出服務(wù)請(qǐng)求的瀏覽器提供文檔的程序。當(dāng)Web瀏覽器(客戶端)連到服務(wù)器上并請(qǐng)求文件時(shí),服務(wù)器將處理該請(qǐng)求并將文件反饋到該瀏覽器上,附帶的信息會(huì)告訴瀏覽器如何查看該文件(即文件類型)。服務(wù)器使用HTTP(超文本傳輸協(xié)議)與客戶機(jī)瀏覽器進(jìn)行信息交流。
(3)應(yīng)用服務(wù)器:系統(tǒng)的服務(wù)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層都部署在該節(jié)點(diǎn)服務(wù)器之上,用于處理核心業(yè)務(wù)邏輯。
(4)數(shù)據(jù)庫(kù)服務(wù)器:使用獨(dú)立的數(shù)據(jù)服務(wù)器部署數(shù)據(jù)庫(kù)應(yīng)用,為系統(tǒng)提供數(shù)據(jù)的存儲(chǔ)功能,保存系統(tǒng)中產(chǎn)生的數(shù)據(jù)信息。
4.MES微服務(wù)架構(gòu)
傳統(tǒng)的服務(wù)應(yīng)用的開(kāi)發(fā)方式是將整個(gè)服務(wù)應(yīng)用的數(shù)據(jù)庫(kù)、接口、頁(yè)面等進(jìn)行分層設(shè)計(jì)、統(tǒng)一開(kāi)發(fā),然后逐層實(shí)現(xiàn)。在這些模塊或接口中,只要有一個(gè)沒(méi)有完成開(kāi)發(fā),那么整個(gè)應(yīng)用系統(tǒng)將無(wú)法正常運(yùn)行。SOA提出在對(duì)軟件進(jìn)行架構(gòu)設(shè)計(jì)時(shí),把整個(gè)應(yīng)用服務(wù)根據(jù)業(yè)務(wù)細(xì)化成多個(gè)獨(dú)立的小的服務(wù),即低耦合及面向服務(wù)流程的思想。但是在SOA的架構(gòu)中,企業(yè)服務(wù)總線(EBS)仍處于非常重要的位置,致使整個(gè)系統(tǒng)的SOA架構(gòu)仍很難實(shí)現(xiàn)完全的面向服務(wù)以及完全的組件化,SOA的應(yīng)用存在一定的局限性。
微服務(wù)架構(gòu)(micro service architecture,MSA)是在2012年被提出的,其思想本質(zhì)上和SOA一脈相承,是SOA的變體,它把SOA的理念進(jìn)行了進(jìn)一步的升華。MSA的核心思想是在系統(tǒng)設(shè)計(jì)開(kāi)發(fā)階段,將單個(gè)應(yīng)用劃分為一系列微小服務(wù)來(lái)實(shí)現(xiàn)系統(tǒng)的所有功能。MSA是一種云原生架構(gòu)方法,其中單個(gè)應(yīng)用程序由許多松散耦合且可獨(dú)立部署的較小組件或服務(wù)組成。這些服務(wù)通常有自己的堆棧,包括數(shù)據(jù)庫(kù)和數(shù)據(jù)模型;通過(guò)REST API,事件流和消息代理的組合相互通信;它們是按業(yè)務(wù)能力組織的,分隔服務(wù)的線通常稱為邊界上下文。相比于SOA,MSA有如下特點(diǎn):
(1)MSA強(qiáng)調(diào)去ESB、去中心化、分布式,所以MSA能帶來(lái)更大的靈活性,為開(kāi)發(fā)系統(tǒng)提供更加輕量級(jí)、效率更高的設(shè)計(jì)模式。而SOA還是以ESB服務(wù)總線為核心,MSA則使用輕量級(jí)協(xié)議,如HTTP、REST等。數(shù)據(jù)存儲(chǔ)層面,SOA是共享數(shù)據(jù)存儲(chǔ),MSA則是每個(gè)微服務(wù)有獨(dú)立的數(shù)據(jù)存儲(chǔ)。
(2)從劃分服務(wù)粒度而言,MSA側(cè)重于服務(wù)劃分的細(xì)粒度、可重用性,每個(gè)方法都可以成為一個(gè)獨(dú)立的微服務(wù),每個(gè)微服務(wù)負(fù)責(zé)明確的任務(wù),并且將處理任務(wù)的結(jié)果以輕量級(jí)API的形式返回給外部;相比之下,SOA對(duì)服務(wù)的劃分沒(méi)有這么細(xì)致,主要是根據(jù)MES的業(yè)務(wù)功能來(lái)劃分服務(wù),以減少服務(wù)數(shù)量,簡(jiǎn)化服務(wù)調(diào)用以及服務(wù)管理。
(3)在軟件開(kāi)發(fā)模式上,SOA注重共同治理和標(biāo)準(zhǔn),MSA則更注重團(tuán)隊(duì)協(xié)作和自由選擇,團(tuán)隊(duì)可以為不同的組件使用不同的堆棧,可以更輕松地更新代碼。SOA的目標(biāo)應(yīng)用程序服務(wù)的可重用性,重點(diǎn)關(guān)注業(yè)務(wù)功能重用,當(dāng)系統(tǒng)改變時(shí)需要修改程序;MSA則專注于解耦,更關(guān)注邊界上下文,系統(tǒng)的改變是創(chuàng)建一個(gè)新的服務(wù)。MSA的組件可以彼此獨(dú)立地進(jìn)行縮放,從而減少了因必須縮放整個(gè)應(yīng)用程序而產(chǎn)生的浪費(fèi)和成本。
(4)從部署方式上,MSA應(yīng)用Docker技術(shù)不依賴于任何服務(wù)器和數(shù)據(jù)模型,是一個(gè)可自動(dòng)化部署的全棧應(yīng)用,每個(gè)微服務(wù)都運(yùn)行在自己的進(jìn)程里。而SOA則通過(guò)不同層進(jìn)行打包,比如展現(xiàn)層打包war包,業(yè)務(wù)層打包為jar包等。
MES微服務(wù)架構(gòu)如圖6所示。該架構(gòu)主要由表示層、微服務(wù)管理層、微服務(wù)層和數(shù)據(jù)庫(kù)層組成。
圖6 MES微服務(wù)架構(gòu)
(1)微服務(wù)層:主要提供MES業(yè)務(wù)功能所需要的所有獨(dú)立的微服務(wù),包括制造過(guò)程管理微服務(wù)、文檔管理微服務(wù)、日志管理微服務(wù)等。每個(gè)微服務(wù)可能有自己的數(shù)據(jù)庫(kù)或者多個(gè)微服務(wù)公用一個(gè)數(shù)據(jù)庫(kù)。每個(gè)微服務(wù)需要對(duì)外提供輕量級(jí)API接口。
(2)微服務(wù)管理層:通過(guò)微服務(wù)管理層來(lái)完成對(duì)微服務(wù)的管理以及處理邏輯,包括微服務(wù)網(wǎng)關(guān)、微服務(wù)注冊(cè)與發(fā)現(xiàn)、微服務(wù)接口與微服務(wù)代理等。當(dāng)微服務(wù)啟動(dòng)時(shí),會(huì)自動(dòng)將其信息注冊(cè)到服務(wù)注冊(cè)表中,比如每個(gè)服務(wù)的IP和端口。當(dāng)微服務(wù)客戶端表示層發(fā)出請(qǐng)求時(shí),將請(qǐng)求發(fā)送到微服務(wù)網(wǎng)關(guān)中,微服務(wù)網(wǎng)關(guān)讀取請(qǐng)求數(shù)據(jù),并從服務(wù)注冊(cè)表中獲取對(duì)應(yīng)服務(wù)的信息(IP與端口)。最后微服務(wù)網(wǎng)關(guān)主動(dòng)去調(diào)用下面對(duì)應(yīng)的微服務(wù)。
(3)微服務(wù)客戶端表示層:主要是通過(guò)微服務(wù)管理層中相應(yīng)MES業(yè)務(wù)模塊的服務(wù)代理向微服務(wù)服務(wù)端發(fā)送請(qǐng)求,經(jīng)過(guò)微服務(wù)管理層內(nèi)部處理后再將請(qǐng)求傳遞給相應(yīng)模塊服務(wù)的服務(wù)接口進(jìn)行MES服務(wù)端處理,完成后將相應(yīng)信息按照相反順序依次傳遞給MES客戶端,這種傳遞一般都是通過(guò)調(diào)用API來(lái)實(shí)現(xiàn)的。
相比于傳統(tǒng)的單體架構(gòu),基于微服務(wù)架構(gòu)的MES實(shí)現(xiàn)功能服務(wù)化,在系統(tǒng)設(shè)計(jì)開(kāi)發(fā)、應(yīng)用與維護(hù)等方面具有明顯優(yōu)勢(shì),其設(shè)計(jì)開(kāi)發(fā)模式是對(duì)現(xiàn)有復(fù)雜大型單體應(yīng)用架構(gòu)以業(yè)務(wù)為單元進(jìn)行拆分,每個(gè)拆分的微服務(wù)應(yīng)用都可以單獨(dú)部署和測(cè)試,可以采用單獨(dú)的技術(shù)架構(gòu)、獨(dú)立的數(shù)據(jù)存儲(chǔ)、獨(dú)立的開(kāi)發(fā)運(yùn)營(yíng)團(tuán)隊(duì)支撐,快速以微服務(wù)應(yīng)用為單位進(jìn)行彈性擴(kuò)展,通過(guò)降低各個(gè)業(yè)務(wù)單元之間的耦合關(guān)系以簡(jiǎn)化開(kāi)發(fā)過(guò)程,降低開(kāi)發(fā)成本。此外,MES微服務(wù)架構(gòu)支持工業(yè)云商業(yè)新模式,并提供廣泛的移動(dòng)化支持。