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