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