ESB的出現改變了傳統的軟件架構,可以提供比傳統中間件產品更為廉價的解決方案。同時它還可以消除不同應用之間的技術差異,讓不同的應用服務器協調運作,實現了不同服務之間的通信與整合。從功能上看,ESB提供了事件驅動和文檔導向的處理模式,以及分布式的運行管理機制,它支持基于內容的路由和過濾,具備了復雜數據的傳輸能力,并提供了一系列的標準接口。
ESB不是一個應用程序框架,也不是一個企業應用的解決方案,它只是一個基于消息的調用企業服務的通信模塊,它可以嵌入到應用程序框架中,例如嵌入到spring容器里面,或者嵌入到工作流系統中。ESB為實現可集成的MES系統提供了一個框架和簡便的方法。
3. BPEL
面向Web服務的業務流程執行語言BPEL(或BPEL4WS)是一種使用Web服務定義和執行業務流程的語言。BPEL使您可以通過組合、編排和協調Web服務自上而下地實現SOA。BPEL提供了一種相對簡單易懂的方法,可將多個Web服務組合到一個新的復合服務(稱作業務流程)中。
BPEL基于XML和Web服務構建,它使用一種基于Web的語言,該語言支持Web服務技術系列,包括SOAP、WSDL、UDDI、Web服務可靠性消息、Web服務尋址、Web服務協調以及Web服務事務。
在企業內部,BPEL用于標準化企業應用程序集成以及將此集成擴展到先前孤立的系統。在企業之間,BPEL使與業務合作伙伴的集成變得更容易、更高效。BPEL激發企業進一步定義它們的業務流程,從而導致業務流程的優化、重新設計以及選擇最合適的流程,進而實現了組織的進一步優化。BPEL中描述的業務流程定義并不影響現有系統,因此,對升級產生了促進作用。在已經或將要通過Web服務公開功能的環境中,BPEL是一項重要的技術。隨著Web服務的不斷普及,BPEL的重要性也隨之提高。
由此可見,為了實現可集成的、通用的MES系統,BPEL的重要性是顯而易見的。以生產任務分排為例,簡單介紹BPEL在MES系統中的應用。ERP系統只制定生產計劃,而沒有將具體的生產執行計劃制定出來,MES系統得到ERP系統的生產計劃后,需要對生產計劃進行分解,將其分解為若干個生產請求。因此可以將生產任務分派的流程描述為:
計劃分解—→預定生產產品需要的資源—→更新處理的狀態—→開始生產
而這個流程可以通過應用BPEL來進行描述,從而可以實現現有Web服務的重用。
文章來源于領測軟件測試網 http://www.kjueaiud.com/