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