魏文清 魏文萍
[摘要]介紹SOA相關(guān)的關(guān)鍵技術(shù),并結(jié)合這些技術(shù)描述如何應(yīng)用SOA實現(xiàn)可集成的、可擴展和通用的MES系統(tǒng)。
[關(guān)鍵詞]面向服務(wù)架構(gòu)(SOA)面向?qū)ο蠹軜?gòu)(OOA)軟件設(shè)計
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)1220052-01
一、面向服務(wù)架構(gòu)SOA
面向服務(wù)的體系結(jié)構(gòu)或面向服務(wù)架構(gòu)SOA是指為了解決在Internet環(huán)境下業(yè)務(wù)集成的需要,通過連接能完成特定任務(wù)的獨立功能實體實現(xiàn)的一種軟件系統(tǒng)架構(gòu)。SOA(面向服務(wù)的體系)采用面向服務(wù)的商業(yè)建模技術(shù)和Web服務(wù)技術(shù),實現(xiàn)系統(tǒng)之間的松耦合,實現(xiàn)系統(tǒng)之間的整合與協(xié)同。Web服務(wù)和SOA的本質(zhì)思路在于使得信息系統(tǒng)個體在能夠溝通的基礎(chǔ)上形成協(xié)同工作。因而,融合SOA的基于Internet的制造可以實現(xiàn)分布式的信息系統(tǒng),這種解決方案可能使靜態(tài)的或動態(tài)的車間管理系統(tǒng)集成進人整個企業(yè)架構(gòu)。羅克韋爾自動化的FactoryTalk集成化生產(chǎn)與績效套件正是提供了基于SOA的MES解決方案,通過應(yīng)用SOA架構(gòu)將所有通用需求因素集中起來放到Factory Talk服務(wù)平臺上,成為一個統(tǒng)一的工廠生產(chǎn)模式。本文介紹了SOA相關(guān)的關(guān)鍵技術(shù),并結(jié)合這些技術(shù)描述了如何應(yīng)用SOA實現(xiàn)可集成的、可擴展和通用的MES系統(tǒng)。
二、相關(guān)技術(shù)
(一)SOA
SOA服務(wù)具有平臺獨立的自我描述XML文檔。Web服務(wù)描述語言WSDL是用于描述服務(wù)的標準語言。SOA服務(wù)用消息進行通信,該消息通常使用XML Schema來定義,也叫做XSD(XML schema definITion)。消費者和提供者或消費者和服務(wù)之間的通信多見于不知道提供者的環(huán)境中。服務(wù)間的通信也可以看作企業(yè)內(nèi)部處理的關(guān)鍵商業(yè)文檔。在一個企業(yè)內(nèi)部,SOA服務(wù)通過一個扮演目錄列表(directory listing)角色的注冊中心(registry)來進行維護。應(yīng)用程序在注冊中心尋找并調(diào)用某項服務(wù)。
統(tǒng)一描述、發(fā)現(xiàn)和集成UDDI(universald escription,discovery,and integration)是服務(wù)登記的標準。每項SOA服務(wù)都有一個與之相關(guān)的服務(wù)品質(zhì)QoS(qualITy of service)。QoS的一些關(guān)鍵元素包括安全需求(例如認證和授權(quán))、可靠通信、以及誰能調(diào)用服務(wù)的策略。如圖1所示,基本的SOA架構(gòu)包含了SOAP、WSDL、UDDI等支持服務(wù)請求者和服務(wù)提供者進行交互,以及用于Web服務(wù)發(fā)現(xiàn)的規(guī)范。服務(wù)提供者通常用WSDL來描述它所提供的Web服務(wù),然后將該WSDL描述發(fā)布;服務(wù)請求者可以通過UDDI或者其他注冊中心來獲取WSDL描述,請通過向服務(wù)提供者發(fā)送一個SOAP消息來請求執(zhí)行服務(wù)。基于SOA的MES系統(tǒng)的關(guān)鍵是如何對服務(wù)進行合理描述,描述后發(fā)不到UDDI中,服務(wù)的請求者則要調(diào)用服務(wù)發(fā)現(xiàn)引擎找到需要使用的服務(wù)。
(二)ESB
企業(yè)服務(wù)總線ESB(enterprise service bus)是一種可以提供可靠的、有保證的消息技術(shù)的新方法。ESB中間件產(chǎn)品利用的是Web Service標準和公認的可靠消息接口協(xié)議MOM。ESB產(chǎn)品的共有特性包括連接異構(gòu)的MOM、利用Web Service描述語言接口WSDL封裝MOM協(xié)議,以及在MOM傳輸層上傳送簡單對象應(yīng)用協(xié)議(SOAP)傳輸流的能力。大多數(shù)ESB產(chǎn)品支持在分布式應(yīng)用之間通過中間層如集成代理實現(xiàn)直接對等溝通。
ESB不是一個應(yīng)用程序框架,也不是一個企業(yè)應(yīng)用的解決方案,它只是一個基于消息的調(diào)用企業(yè)服務(wù)的通信模塊,它可以嵌入到應(yīng)用程序框架中,例如嵌入到spring容器里面,或者嵌入到工作流系統(tǒng)中。ESB為實現(xiàn)可集成的MES系統(tǒng)提供了一個框架和簡便的方法。
(三)BPEL
面向Web服務(wù)的業(yè)務(wù)流程執(zhí)行語言BPEL(或BPEL4WS)是一種使用Web服務(wù)定義和執(zhí)行業(yè)務(wù)流程的語言。BPEL使您可以通過組合、編排和協(xié)調(diào)Web服務(wù)自上而下地實現(xiàn)SOA。BPEL提供了一種相對簡單易懂的方法,可將多個Web服務(wù)組合到一個新的復(fù)合服務(wù)(稱作業(yè)務(wù)流程)中。
BPEL基于XML和Web服務(wù)構(gòu)建,它使用一種基于Web的語言,該語言支持Web服務(wù)技術(shù)系列,包括SOAP、WSDL、UDDI、Web服務(wù)可靠性消息、Web服務(wù)尋址、Web服務(wù)協(xié)調(diào)以及Web服務(wù)事務(wù)。BPEL中描述的業(yè)務(wù)流程定義并不影響現(xiàn)有系統(tǒng),因此,對升級產(chǎn)生了促進作用。在已經(jīng)或?qū)⒁ㄟ^Web服務(wù)公開功能的環(huán)境中,BPEL是一項重要的技術(shù)。隨著Web服務(wù)的不斷普及,BPEL的重要性也隨之提高。
三、基于SOA的軟件系統(tǒng)集成
隨著Web服務(wù)技術(shù)的發(fā)展,控制層的供應(yīng)商以及標準制定者逐漸遵循基于服務(wù)的體系結(jié)構(gòu),典型代表是OPC組織推出了基于Web服務(wù)的OPC XML-DA,并于2003年的7月份發(fā)布了OPC XML-DA的說明文檔1.0。OPC XML DA用基于XML的Web服務(wù)概念,用SOAP(簡單對象訪問協(xié)議)作為對應(yīng)用程序共享消息進行包裝的標準協(xié)議。OPC客戶端和服務(wù)器之間通過HTTP協(xié)議傳輸Web服務(wù)。OPC XML提供一種比較容易的方式用于通過Internet發(fā)布OPC數(shù)據(jù)信息,為企業(yè)自動化過程控制系統(tǒng)集成提供廣泛的連接特性。最新定義的OPC UA更是通過應(yīng)用SOA,定義了一套集成的服務(wù)集,解決了現(xiàn)有的OPC規(guī)范在應(yīng)用時服務(wù)重疊的問題。而所有的這些都為實現(xiàn)基于SOA的MES系統(tǒng)提供了可能。在車間層,實際上這里就是MES系統(tǒng),包含了多個模塊,如車間數(shù)據(jù)采集SFDC(shop floor data collection)、庫存管理、有限資源計劃、工作單元控制、運輸、工具管理和工廠監(jiān)控系統(tǒng)(FMCS)等,通過應(yīng)用SOA的架構(gòu),這些模塊都可以由Web服務(wù)接口、ESB消息傳輸機制以及應(yīng)用BPEL動態(tài)建模來創(chuàng)建一個上與企業(yè)層系統(tǒng)(ERP、數(shù)據(jù)倉庫或MIS)、與控制層系統(tǒng)(PLC、SCADA、RFID或HMI等)集成的MES系統(tǒng)。企業(yè)的供應(yīng)商提供了維護、培訓(xùn)、維護計劃或者設(shè)備故障診斷等服務(wù),在客戶需求方面,客戶要求企業(yè)提供產(chǎn)品追蹤和回溯的服務(wù),此外客戶服務(wù)方面還要求企業(yè)提供可承諾量ATP(available to promise)服務(wù),而企業(yè)內(nèi)部本身也包含了很多私有服務(wù)。通過將這些服務(wù)組合在一起,則可以創(chuàng)建符合企業(yè)業(yè)務(wù)流程的MES應(yīng)用系統(tǒng)。同時,采用Web服務(wù)適配器可以使得Web服務(wù)可以與沒有用Web服務(wù)開發(fā)的系統(tǒng)相通信。
參考文獻:
[1]王兵,基于面向服務(wù)架構(gòu)的應(yīng)用系統(tǒng)開發(fā)與集成研究[D].四川:四川大學(xué),2005.
[2]呂希艷,基于SOA的企業(yè)信息資源整合[J].中國科技論壇,2006(3).