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