IT界出現(xiàn)的最新術(shù)語(yǔ)SOA,是服務(wù)型架構(gòu)(service oriented architecture)的縮寫(xiě)。它是如今IT經(jīng)理、系統(tǒng)集成商和IT供應(yīng)商的最常掛在嘴邊的詞,然而只有很少的經(jīng)理、集成商或供應(yīng)商知道它到底是什么。SOA其實(shí)不是一種產(chǎn)品,技術(shù)或者體系結(jié)構(gòu),它只是一種應(yīng)用軟件一體化的概念。這一點(diǎn)制造業(yè)的專(zhuān)業(yè)人士應(yīng)該知道,因?yàn)樗麄兂31灰髮⑺麄兊南到y(tǒng)與其它系統(tǒng)界面通過(guò)ESB(企業(yè)服務(wù)總線(xiàn))主干網(wǎng),以SOA 模式連接起來(lái)。ESB是軟件、路由信息、緩沖請(qǐng)求和回應(yīng)的連接通道,而SOA則限定了通過(guò)這條通道的內(nèi)容。 最早的SOA 概念是希望任何應(yīng)用軟件的界面都應(yīng)該具備一定的商業(yè)用途,比如可以處理一個(gè)購(gòu)貨訂單或者進(jìn)行庫(kù)存的實(shí)物清算。只要開(kāi)始服務(wù)就可以自動(dòng)完成整套相關(guān)的商業(yè)流程。舉一個(gè)例子,有一項(xiàng)可以提供“為到達(dá)的貨物分配一個(gè)庫(kù)存容器號(hào)碼”的服務(wù)。這項(xiàng)服務(wù)用物質(zhì)化的ID標(biāo)簽,為庫(kù)存的容器分配一個(gè)號(hào)碼。因此,它的SOA界面可能就是被稱(chēng)為“Assign Storage Container ID. (分配庫(kù)存容器ID)”的服務(wù)。它通過(guò)那個(gè)分配號(hào)碼的應(yīng)用軟件與ESB相連。當(dāng)分配ID時(shí),程序有可 能同時(shí)執(zhí)行其他的工作,例如記錄任務(wù);專(zhuān)項(xiàng)儲(chǔ)存庫(kù)存號(hào)碼資料以備貨物到達(dá)時(shí)能及時(shí)調(diào)用;以及將容器的狀態(tài)標(biāo)記為“使用中”。 SOA的設(shè)立基于6個(gè)假設(shè)的前提:系統(tǒng)是松散耦合的;界面交換是非物質(zhì)的;程序具有RPC(remote procedure call遠(yuǎn)程功能呼叫)功能;界面基于消息;消息使用XML 數(shù)據(jù);以及界面支持同步或不同步兩種數(shù)據(jù)傳輸形式。 當(dāng)一個(gè)系統(tǒng)工作時(shí)不會(huì)對(duì)另一系統(tǒng)產(chǎn)生較大程度,而同時(shí)服務(wù)的實(shí)施在幕后進(jìn)行時(shí),系統(tǒng)被認(rèn)為是松散耦合的。而非物質(zhì)的界面并沒(méi)有固定的形式,每次使用的其實(shí)只是被交換的數(shù)據(jù),而不是隱藏在背后的服務(wù)提供商的知識(shí)和經(jīng)驗(yàn)。RPC 功能就是程序運(yùn)行起來(lái)就像一個(gè)本地函數(shù)或者子程序調(diào)用那般簡(jiǎn)單,使用者完全不必理會(huì)界面信息的任何細(xì)節(jié)。一個(gè)基于信息的界面通過(guò)ESB在程序間傳送消息;這些消息基于XML 數(shù)據(jù),而非可展開(kāi)的文件或某種專(zhuān)用的二進(jìn)制語(yǔ)言。服務(wù)可能是同步的,即發(fā)送請(qǐng)求然后等待即時(shí)回應(yīng)。同樣的,當(dāng)服務(wù)請(qǐng)求發(fā)出后,程序繼續(xù)處理另一個(gè)過(guò)程,稍后再做出回應(yīng),這時(shí)服務(wù)是不同步的。 這些簡(jiǎn)單的SOA 概念很難在現(xiàn)有的系統(tǒng)里實(shí)現(xiàn)。關(guān)鍵是為系統(tǒng)提供的服務(wù)確定適當(dāng)?shù)某潭群皖?lèi)型。服務(wù)可以是精細(xì)型的,也就是執(zhí)行諸如改變某一數(shù)據(jù)要素;也可以是粗放型的,即可處理重要復(fù)雜的商務(wù)過(guò)程的服務(wù)。可以想見(jiàn),粗放型的服務(wù)是比較受歡迎的SOA 應(yīng)用類(lèi)型;當(dāng)然,在很多情況下,精細(xì)型服務(wù)也是不可或缺的。 制造團(tuán)隊(duì)?wèi)?yīng)該幫助企業(yè)認(rèn)清他們的系統(tǒng)需要實(shí)現(xiàn)的服務(wù)是粗放型還是精細(xì)型的,以方便其做出決定。通常會(huì)使用到SOA模式的商業(yè)流程主要集中在物質(zhì)管理、物流控制,包括原材料、設(shè)備和人員的運(yùn)轉(zhuǎn)等。粗放型服務(wù)主要針對(duì)生產(chǎn)、測(cè)試、維護(hù)等主要流程,而精細(xì)型服務(wù)則主要處理與材料、設(shè)備和人員相關(guān)的具體信息。必須強(qiáng)調(diào)一點(diǎn):SOA不是一個(gè)隨處可用的解決辦法;要實(shí)現(xiàn)SOA必須要很好地理解生產(chǎn)制造在企業(yè)供應(yīng)鏈里所起的作用。 |