相對于其他行業(yè)中應(yīng)用管理系統(tǒng)而言,對于大型制造行業(yè)中投入實(shí)施的MES系統(tǒng)不僅建設(shè)復(fù)雜而且所用成本而言遠(yuǎn)遠(yuǎn)超出其他的管理系統(tǒng),因此為了幫助更多的制作行業(yè)實(shí)施MES降低成本,下面筆者向大家介紹一下基于SOA技術(shù)MES制造執(zhí)行系統(tǒng),希望來幫助更多的企業(yè)用戶有所選擇。
引言
近十年以來,一些先進(jìn)的制造企業(yè),為了將計(jì)劃經(jīng)營層和制造過程統(tǒng)一起來而采用了一種新的生產(chǎn)管理方式,即制造執(zhí)行系統(tǒng)(Manufacturing _execudon System,MES)。MES位于企業(yè)的執(zhí)行層,很自然地成為了計(jì)劃層MRPII ERP和車間層操作控制系統(tǒng)——現(xiàn)場自動(dòng)化系統(tǒng)(Shop Floor Control System,SFC)之間的橋梁。MES要真正體現(xiàn)企業(yè)的實(shí)際生產(chǎn)狀況,就必須有良好的信息共享。傳統(tǒng)MES系統(tǒng)的建設(shè)是某一技術(shù)平臺(tái)綁定的(如.NET、J2EE),部署在不同的系統(tǒng)之上(如Windows、IBM—AIX等)。這種系統(tǒng)的成長方式在短期來看有著低投入、回報(bào)快的優(yōu)勢,但從長遠(yuǎn)的角度來看這不利于系統(tǒng)的集成和整合,這將影響到信息的共享,同時(shí)會(huì)加大整個(gè)企業(yè)的IT系統(tǒng)維護(hù)費(fèi)用,這與IBM與ING合作研究有關(guān)“IT投資與收益”得出的結(jié)論“高效的企業(yè)應(yīng)當(dāng)在建設(shè)IT系統(tǒng)時(shí)投入更大的費(fèi)用,而要設(shè)法在IT維護(hù)方面投入較少的費(fèi)用”相抵觸。因此如何更有效地復(fù)用IT資產(chǎn),提高ROI(投資回報(bào)率),實(shí)現(xiàn)更高效可靠低成本的信息共享成為了制造執(zhí)行系統(tǒng)(MES)研究的核心問題之一。
傳統(tǒng)的MES架構(gòu)
傳統(tǒng)的開發(fā)Web應(yīng)用典型的方式就是基于C/S或B/S的三層架構(gòu),即表示層、領(lǐng)域?qū)雍蛿?shù)據(jù)源層2。無論客戶端是基于瀏覽器還是基于胖客戶端應(yīng)用,都需要通過業(yè)務(wù)層組件的業(yè)務(wù)接口進(jìn)行邏輯調(diào)用,業(yè)務(wù)組件使用行/表數(shù)據(jù)接口或者ORM(Object Relation Mapping,對象關(guān)系映射)進(jìn)行數(shù)據(jù)持久化操作。為了使系統(tǒng)靈活、富有彈性以及具有良好的可復(fù)用性,在設(shè)計(jì)系統(tǒng)時(shí)需要盡量遵守OCP(Open—Closed Principle,開放一封閉原則)、LSP(Liskov Substitution Principle,里氏替換原則)、DIP(Dependence Inversion Principle,依賴倒轉(zhuǎn)原則)以及ISP(Interface Segregation Principle,接口隔離原則)來降低層之間、框架之間和組件之間的耦合程度,以便使系統(tǒng)達(dá)到一種良構(gòu)的設(shè)計(jì)。對于一些非業(yè)務(wù)但必不可少的操作,例如日志操作、安全驗(yàn)證與授權(quán)等,MES系統(tǒng)設(shè)計(jì)時(shí)可以采用面向切面的方法讓其透明地貫穿于整個(gè)系統(tǒng)之中。傳統(tǒng)基于面向?qū)ο蠹夹g(shù)的MES架構(gòu)很好地滿足了面對現(xiàn)有需求時(shí)系統(tǒng)靈活性、可復(fù)用性的要求,并在建設(shè)MES時(shí)得到了廣泛的應(yīng)用。然而,它卻沒有較多地考慮未來的需求,也沒有對于在不同機(jī)器間共享應(yīng)用邏輯和應(yīng)用數(shù)據(jù)給予足夠的關(guān)注。
基于SOA的MES
面向服務(wù)的開發(fā)方法并非什么新的概念,但隨著對于利用現(xiàn)有系統(tǒng)的需求越來越多,它漸漸變得風(fēng)行起來。服務(wù)與對象或過程不同,因?yàn)榉?wù)是由它與其他服務(wù)交換的消息來定義的。服務(wù)與應(yīng)用之間是松耦合的,這令服務(wù)可以更容易的在整個(gè)部門、企業(yè)間共享數(shù)據(jù)。如果所有應(yīng)用都使用公共的編程接口(Programming Interface)及互操作協(xié)議(Interoperability Protocol,例如在J2EE中,EJB組件之間通過RMI協(xié)議進(jìn)行組件的分布式調(diào)用)的話,那么將有助于IT降低復(fù)雜性,已有功能也更容易被再次利用。SOA提供了這樣一種編程接口,使我們能更輕松地完成對現(xiàn)行IT基礎(chǔ)設(shè)施(ITInfrastructure,指機(jī)構(gòu)中與IT相關(guān)的各種硬件、軟件、服務(wù)以及數(shù)據(jù)通信設(shè)施等的總和)的替換和更新。
SOA是一種設(shè)計(jì)方式,并非某一種具體的技術(shù),它指導(dǎo)著業(yè)務(wù)服務(wù)(Business Services)在其生命周期(從構(gòu)思開始,直至停止使用)中包括創(chuàng)建和使用的方方面面。SOA也可被看作是在一些IT技術(shù)基礎(chǔ)之上的一種構(gòu)建IT系統(tǒng)的方案。
“服務(wù)”是SOA中的關(guān)鍵概念,成功實(shí)現(xiàn)SOA的關(guān)鍵,是為可重用庫中的每個(gè)服務(wù)確定正確的設(shè)計(jì)與功能,成功的SOA項(xiàng)目要確??芍赜玫能浖?wù)與實(shí)際的業(yè)務(wù)流程完全一致。在SOA中,一般有服務(wù)提供者、服務(wù)代理以及服務(wù)請求者三種角色,服務(wù)提供者對外發(fā)布自己的服務(wù)并對正確的外界請求給予相應(yīng);服務(wù)代理提供一個(gè)服務(wù)目錄,提供分類搜索服務(wù)的功能;服務(wù)請求者即查找到服務(wù),使用服務(wù)的對象。
基于SOA的MES系統(tǒng)建設(shè),應(yīng)當(dāng)著眼于一個(gè)企業(yè)所有的制造生產(chǎn)部門,而非針對于某一個(gè)車間等,SOA能夠更靈活地實(shí)現(xiàn)各個(gè)制造部門間的信息共享,能夠提供靈活的多渠道服務(wù),以應(yīng)對業(yè)務(wù)變化。我們在原有基礎(chǔ)上引入了一個(gè)“MES服務(wù)層”,表示層不再直接調(diào)用業(yè)務(wù)組件,而是通過服務(wù)目錄查找服務(wù),并調(diào)用服務(wù)。MES服務(wù)層的引入,提供了公共的編程接口及互操作協(xié)議,這樣其他的外部系統(tǒng)也可以通過服務(wù)接口實(shí)現(xiàn)跨平臺(tái)的服務(wù)調(diào)用。在底層,業(yè)務(wù)組件被設(shè)計(jì)為更細(xì)顆粒度的接口,在其基礎(chǔ)上提供一種較細(xì)顆粒度的服務(wù),通過引入流程建模(可以使用WS—BPEL定義),將細(xì)顆粒度的服務(wù)組合為對外的業(yè)務(wù)流程服務(wù)。這樣的一種架構(gòu)方式,降低了系統(tǒng)層之間的耦合,上層服務(wù)不再關(guān)心下層組件的實(shí)現(xiàn)方式與技術(shù),而只關(guān)心暴露的接口,同時(shí),在系統(tǒng)開發(fā)過程中,有助于項(xiàng)目相關(guān)人員職責(zé)的劃分,業(yè)務(wù)員面對晦澀難懂的領(lǐng)域模型、事物腳本、對象圖等技術(shù)領(lǐng)域的概念的機(jī)率大大降低,這樣能夠增加開發(fā)效率,降低錯(cuò)誤的發(fā)生,降低開發(fā)成本。
效率科技自2007開始從事MES系統(tǒng)相關(guān)項(xiàng)目研發(fā),至今已經(jīng)有十多個(gè)年頭,主要致力于為電子、汽車內(nèi)飾、塑膠、五金沖壓、模具等行業(yè)提供特定要求的企業(yè)生產(chǎn)信息管理系統(tǒng)產(chǎn)品和服務(wù),我們的解決方案服務(wù)于數(shù)十家企業(yè)的上百個(gè)項(xiàng)目,包括比亞迪、富士康、中國移動(dòng)等各行業(yè)知名企業(yè),廣受客戶信賴和好評,十余年的經(jīng)驗(yàn)累積甚至讓我們能先于客戶發(fā)現(xiàn)他們的問題。
效率擁有成熟的產(chǎn)品研發(fā)團(tuán)隊(duì),效率的所有產(chǎn)品都是自主研發(fā)而來,不同產(chǎn)品和不同的功能模塊能任意組合,完全取決于客戶的需求,這種可配置性、靈活性、透明開放的大平臺(tái)深受客戶歡迎。