1 引言
目前在大型的制造行業(yè),企業(yè)的信息化水平都相對比較高,在設(shè)計、生產(chǎn)、管理的各個環(huán)節(jié)都開發(fā)了與相應(yīng)業(yè)務(wù)配套的應(yīng)用系統(tǒng),也都在不同層次上使用了網(wǎng)絡(luò)信息系統(tǒng),并且取得了明顯的經(jīng)濟效益。但是隨著企業(yè)信息化程度的不斷深入開展,“信息孤島”(information isolated island)的問題也逐漸暴露出來。各個子系統(tǒng)之間不能很好地進行數(shù)據(jù)交換,人機交互不夠友好,應(yīng)用系統(tǒng)之間不能友好交互,工作流、業(yè)務(wù)流、信息流混亂等問題不斷困擾制造行業(yè)。而這些問題(“信息孤島”)形成的根本原因在于企業(yè)缺乏統(tǒng)一的信息標(biāo)準(zhǔn)規(guī)范,在各應(yīng)用系統(tǒng)設(shè)計之初,就已經(jīng)隱藏了信息資源表達不一致的問題。因此,必須從企業(yè)整體信息集成的高度,對企業(yè)各種信息資源進行集中管理以及標(biāo)準(zhǔn)化,以指導(dǎo)各類信息化項目的設(shè)計工作。
針對“信息孤島”問題,本文利用SOA面向服務(wù)的思想,提出了一種新的基于ESB總線技術(shù)的業(yè)務(wù)集成方案,并對該業(yè)務(wù)集成方案實現(xiàn)涉及的關(guān)鍵技術(shù)進行討論。
2面向服務(wù)的體系架構(gòu)SOA及其支撐技術(shù)ESB
2.1面向服務(wù)的體系架構(gòu)-SOA
面向服務(wù)的體系架構(gòu)(Service-Oriented Architeeture,SOA)是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口規(guī)范和契約聯(lián)接起來。接口采用中立的方式定義,獨立于實現(xiàn)服務(wù)的平臺、操作系統(tǒng)和編程語言,以便在各種各樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進行交互。
在面向服務(wù)的體系結(jié)構(gòu)中主要有四個實體:
1)服務(wù)消費者:請求服務(wù)的實體;
2)服務(wù)提供者:接受和執(zhí)行來自服務(wù)使用者請求的、可通過網(wǎng)絡(luò)訪問的實體;
3)服務(wù)注冊中心:網(wǎng)絡(luò)中的一個存貯可用服務(wù)索引的實體;
4)服務(wù)協(xié)議:服務(wù)消費者與服務(wù)提供者之間進行交互的通信規(guī)范。
面向服務(wù)的體系架構(gòu)典型的模型圖如圖1所示。
圖1 SOA架構(gòu)模型
SOA是基于面向?qū)ο蠹夹g(shù)和面向組件技術(shù)之上更高級別的抽象,它提出了服務(wù)的概念,具有服務(wù)之間松耦合、粗粒度、位置和傳輸協(xié)議透明的特性。其目的是減少異構(gòu)性、互操作性,提高企業(yè)軟件酌敏捷性和重用性,并在實踐角度上搭建應(yīng)用環(huán)境架構(gòu)。
2.2企業(yè)服務(wù)總線-ESB
ESB(EntERPrise Service Bus,即企業(yè)服務(wù)總線)是一種在松散耦合的服務(wù)和應(yīng)用之間的標(biāo)準(zhǔn)集成方式,是面向服務(wù)架構(gòu)的基礎(chǔ)設(shè)施,為SOA提供服務(wù)的交互通信、協(xié)作和組合的基于網(wǎng)絡(luò)的分布式總線。它比單一的Hub的形式更加開放,總線結(jié)構(gòu)有無限擴展的可能,真正體現(xiàn)了SOA的理念,一切皆為服務(wù),所有的服務(wù)在總線中處于平等地位,結(jié)構(gòu)要更加靈活。
ESB主要實現(xiàn)以下功能:
1)數(shù)據(jù)轉(zhuǎn)換與適配器:通過預(yù)定義的接口和契約聯(lián)系異構(gòu)的組件;
2)緩沖器:負(fù)責(zé)在服務(wù)之間轉(zhuǎn)換業(yè)務(wù)邏輯和數(shù)據(jù)格式,使得服務(wù)可被多次復(fù)用;
3)異步消息:各服務(wù)之間通過基于SOAP標(biāo)準(zhǔn)的消息通信;
4)服務(wù)發(fā)現(xiàn):通過UDDI標(biāo)準(zhǔn)實現(xiàn)服務(wù)的動態(tài)發(fā)現(xiàn);
5)智能路由:它使用分布式管理功能、Web服務(wù)池進行智能查找適用的服務(wù);
6)事務(wù)完整性管理:通過原子事務(wù)服務(wù)保證事務(wù)執(zhí)行的完整性;
7)跨平臺互操作:使用開放標(biāo)準(zhǔn)的、非專有的技術(shù),從而實現(xiàn)跨越多種平臺,進行互操作;
8)廉價的無縫集成覦決方案:對企業(yè)遺留系統(tǒng)提供接口,可部署在多個標(biāo)準(zhǔn)中。
SOA架構(gòu)結(jié)合ESB技術(shù),通過流程引擎,對流程進行管理,形成不同企業(yè)之間,不同應(yīng)用之問的統(tǒng)一架構(gòu),滿足了未來企業(yè)業(yè)務(wù)動態(tài)發(fā)展對動態(tài)軟件的需求,并支持集中應(yīng)用模式、分布應(yīng)用模式和集中/分布混合應(yīng)用模式。
3 基于ESB制造業(yè)業(yè)務(wù)集成
當(dāng)今的制造行業(yè)都已經(jīng)進人信息化、自動化管理時代,一般主要涉及到以下幾個主要業(yè)務(wù):采購業(yè)務(wù)、銷售業(yè)務(wù)、庫存管理業(yè)務(wù)、財務(wù)與人力資源管理業(yè)務(wù)、生產(chǎn)產(chǎn)品業(yè)務(wù)以及數(shù)據(jù)存儲業(yè)務(wù)等等。在SOA架構(gòu)體系中,每項業(yè)務(wù)都被看成一項服務(wù),在整個體系中處于平等地位。
制造行業(yè)業(yè)務(wù)的整合與集成首先是要實現(xiàn)各個子系統(tǒng)之間的數(shù)據(jù)交換,其次是要實現(xiàn)全體業(yè)務(wù)的模擬及還原,最后還要實現(xiàn)全部業(yè)務(wù)流程的整合與優(yōu)化。我們設(shè)計的基于ESB-SOA架構(gòu)下的業(yè)務(wù)整合分為三個層面進行:
人的整合:主要表現(xiàn)為人機交互。任何用戶可以在任何時間、任何地點通過任何設(shè)備訪問他們可以訪問的任何信息和應(yīng)用;
流程的整合:主要表現(xiàn)為應(yīng)用與應(yīng)用之間的交互。通過信息的交換、工作流管理以及業(yè)務(wù)流程管理,實現(xiàn)整個制造業(yè)內(nèi)部的業(yè)務(wù)流轉(zhuǎn);
信息的整合:主要表現(xiàn)為數(shù)據(jù)的共享。用戶可以通過一個單一的入口,使用一個簡單的查詢?nèi)カ@取所需要的數(shù)據(jù),而不必關(guān)心這些數(shù)據(jù)從何而來、如何而來。
圖2制造業(yè)業(yè)務(wù)集成方案
我們所關(guān)注的是基于ESB的SOA架構(gòu)下制造業(yè)業(yè)務(wù)集成,目的是要把不同的業(yè)務(wù)應(yīng)用系統(tǒng)集成在一個統(tǒng)一的平臺之上,因此,關(guān)于制造業(yè)內(nèi)部的各個子系統(tǒng)如何構(gòu)建已不是重點,也不需要關(guān)注制造業(yè)內(nèi)部有多少個復(fù)雜的子系統(tǒng),不考慮其子系統(tǒng)是否龐大,不考慮其子系統(tǒng)的體系結(jié)構(gòu)、架構(gòu),不去關(guān)注有關(guān)集成或應(yīng)鼴程序的底層實現(xiàn)問題,雨是把精力致力于集成制造業(yè)的業(yè)務(wù)上,把注意力放在服務(wù)上,實現(xiàn)跨平臺共享數(shù)據(jù)和業(yè)務(wù)集成。SOA架構(gòu)體系的核心理念就是要把這些不同功能、不同應(yīng)用、不同體系的子系統(tǒng)通過統(tǒng)一的、標(biāo)準(zhǔn)的接口集成整合起來。根據(jù)SOA的基本思想與核心理念,針對以上提到的制造業(yè)業(yè)務(wù),可以設(shè)計一個基于ESB-SOA的制造業(yè)業(yè)務(wù)集成方案,如圖2所示。由于制造業(yè)內(nèi)部系統(tǒng)繁多,在這里只列出一些基本的核心業(yè)務(wù)作為示意。
在這個架構(gòu)中,各個子系統(tǒng)是封裝起來的,向其它各個子系統(tǒng)提供服務(wù),完成制造業(yè)業(yè)務(wù)的模擬與還原。解決的是如何把不同功能的子系統(tǒng)集成到一個統(tǒng)一的平臺之上,對制造業(yè)業(yè)務(wù)整合與優(yōu)化,并可以實現(xiàn)不斷變化的業(yè)務(wù)需求,面向不同的業(yè)務(wù)系統(tǒng),實現(xiàn)統(tǒng)一的網(wǎng)絡(luò)連通方式,面向不同的數(shù)據(jù)格式,實現(xiàn)統(tǒng)一的數(shù)據(jù)展現(xiàn)形式,面向不同的應(yīng)用范疇,實現(xiàn)統(tǒng)一的服務(wù)調(diào)用方法,以靈活的服務(wù)組件封裝及整合,來滿足個性化的業(yè)務(wù)應(yīng)用需求。
4基于ESB實現(xiàn)制造業(yè)業(yè)務(wù)集成涉及的關(guān)鍵技術(shù)
4.1XML
XML 1.0(可擴展標(biāo)記語言,Extensible Mark—up Language)標(biāo)準(zhǔn)是一個基于文本的World WideWeb組織(W3C)規(guī)范的標(biāo)記語言。與HTML使用標(biāo)簽來描述外觀和數(shù)據(jù)不同,XML嚴(yán)格地定義了可移植的結(jié)構(gòu)化數(shù)據(jù)。它可以作為定義數(shù)據(jù)描述語言的語言,為Web Service提供了統(tǒng)一的數(shù)據(jù)格式,包括消息、服務(wù)描述及工作流的描述。面向服務(wù)體系架構(gòu)中最關(guān)鍵的問題在于如何描述服務(wù),本制造業(yè)業(yè)務(wù)集成方案中,ESB總線中所有服務(wù)的描述、各模塊之間交互的數(shù)據(jù)及消息全部采用XML標(biāo)準(zhǔn)格式描述。
4.2 SOAP
簡單對象訪問協(xié)議(Simple Object Access Pro—tocol)是一個基于XML的、用于在分布式環(huán)境下交換信息的輕量級協(xié)議,SOAP在請求者和提供者對象之間定義了一個通信協(xié)議。如在本集成方案中,銷售系統(tǒng)(服務(wù))和財務(wù)系統(tǒng)(服務(wù))需要通訊以交換數(shù)據(jù),一個系統(tǒng)便充當(dāng)服務(wù)的請求者,另一個系統(tǒng)則是服務(wù)的提供者,它們之間的通訊必須基于SOAP協(xié)議才能正常交換數(shù)據(jù)。
4.3 WSDL
Web服務(wù)描述語言WSDL(Web Services Description Language)定義了一個XML詞匯表,該詞匯表依照請求和響應(yīng)消息,在服務(wù)請求者和服務(wù)提供者之間定義了一種契約。本集成方案中,所有服務(wù)注冊成功后都要通過WSDL向外發(fā)布自己所提供的Web服務(wù),并且通過描述SOAP消息接口的WSDL文檔來提供可重用的應(yīng)用程序功能。
4.4 UDDI
統(tǒng)一描述、發(fā)現(xiàn)和集成(Universal Description,Discovery and Integration)規(guī)范提供了一組公用的SOAP API,使得服務(wù)代理得以實現(xiàn)。為了發(fā)布和發(fā)現(xiàn)其他SOA服務(wù),UDDI通過定義標(biāo)準(zhǔn)的SOAP消息來實現(xiàn)服務(wù)注冊(Service Registry)。注冊是一種服務(wù)代理。在本集成方案中,所有的服務(wù)都要通過UDDI注冊,才能被發(fā)現(xiàn)和請求調(diào)用。
4.5適配器
適配器是總線標(biāo)準(zhǔn)接口的驅(qū)動程序。對于接人ESB總線的這些應(yīng)用系統(tǒng)和服務(wù),它們的體系架構(gòu)及設(shè)計方案我們并不清楚,如圖2集成方案中,B/S,C/S,.net,J2EE等結(jié)構(gòu)都存在,甚至有些是新增的系統(tǒng),有些系統(tǒng)過老從不升級,根本無法知道其結(jié)構(gòu)。因此要把這些系統(tǒng)接入總線結(jié)構(gòu)中來,我們需要一種擔(dān)任系統(tǒng)與總線間的數(shù)據(jù)格式翻譯工作的中介組件一適配器。如銷售和財務(wù)系統(tǒng)是不同的體系架構(gòu),它們都需要調(diào)用數(shù)據(jù)庫中的數(shù)據(jù),那么就需要一個SQL適配器做中介翻譯。
4.6節(jié)點-節(jié)點集
節(jié)點為應(yīng)用系統(tǒng)接入ESB服務(wù)總線的連接點,代表一種應(yīng)用服務(wù)。節(jié)點集為可進行同一操作的應(yīng)用集合。本集成方案圖2中所有接入ESB總線中的單獨的服務(wù)都為一個節(jié)點,(財務(wù),銷售...)可稱為一個節(jié)點集。如銷售系統(tǒng)獲得了一個在ESB上注冊好的節(jié)點一財務(wù)系統(tǒng),就可以向財務(wù)節(jié)點發(fā)送請求。服務(wù)請求方需要從ESB上獲得服務(wù)提供節(jié)點的請求格式,通過ESB的通用調(diào)用接口,傳入請求和目的地,ESB自動啟用通用適配器,向節(jié)點傳輸請示,并返回結(jié)果。若財務(wù)系統(tǒng)想把一個請求傳遞給銷售節(jié)點和采購節(jié)點,又不想多次調(diào)用,則可以把銷售節(jié)點和采購節(jié)點組成一個節(jié)點集{銷售,采購),財務(wù)系統(tǒng)一次向節(jié)點集發(fā)送信息即可。節(jié)點集中的節(jié)點處于并發(fā)地位,請求會同時傳遞給節(jié)點集中所有節(jié)點。
4.7路由調(diào)度
路由決定著數(shù)據(jù)傳輸或業(yè)務(wù)執(zhí)行的路徑與次序,調(diào)度是自動運作的一系列業(yè)務(wù)過程。若銷售服務(wù)要向各個節(jié)點按次序發(fā)送請求或者要把上個節(jié)點返回的數(shù)據(jù)作為下個節(jié)點的請求,則要路由來控制。若某些操作不需要人工干預(yù),如銷售系統(tǒng)和采購系統(tǒng)要自動把最新業(yè)績發(fā)送給所有的用戶系統(tǒng),我們可以設(shè)計一個數(shù)據(jù)傳遞的路由,然后指定這個路由的請求數(shù)據(jù)來源和數(shù)據(jù)傳遞規(guī)則,最后定義該路由運行的時間規(guī)律,自動按照時間表運行路由的規(guī)則進行調(diào)度。
結(jié)束語
由以上的分析可知,SOA架構(gòu)是在計算機環(huán)境下設(shè)計、開發(fā)、應(yīng)用、管理分散的服務(wù)單元的一種規(guī)范,因其靈活、可擴展性、高度集成化等特點,將具有廣泛的應(yīng)用前景。SOA架構(gòu)可幫助制造業(yè)及其它各類企業(yè)徹底擺脫面向技術(shù)解決方案的束縛,較好地應(yīng)對服務(wù)變化和發(fā)展的需要,很好地解決企業(yè)業(yè)務(wù)集成問題;贓SB的應(yīng)用將在分布式、異構(gòu)的各類企業(yè)、電子商務(wù)、電子政務(wù)等各類軟件設(shè)計、實現(xiàn)、集成、部署及應(yīng)用方面提供更高效的、高可用的、可擴展的平臺和工具。SOA結(jié)合ESB不僅減少了不同系統(tǒng)的連接接口,使企業(yè)可大范圍整合已有的系統(tǒng)和新的系統(tǒng),提高組織敏捷性,而且減少重復(fù)投資,提高了生產(chǎn)效率,增強了企業(yè)的核心競爭力。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:基于ESB的制造業(yè)業(yè)務(wù)集成研究
本文網(wǎng)址:http://www.oesoe.com/html/support/1112153595.html