1.前言
著互聯(lián)網(wǎng)技術(shù)和信息技術(shù)的發(fā)展,很多大中型企業(yè)在實(shí)際工作過(guò)程中根據(jù)業(yè)務(wù)的需求,開(kāi)發(fā)部署了形形色色的應(yīng)用系統(tǒng)。出于多種因素考慮(投資、技術(shù)和應(yīng)用領(lǐng)域),這些軟件應(yīng)用系統(tǒng)一般由不同的軟件供應(yīng)商提供。可是每個(gè)軟件應(yīng)用都有自己特有的技術(shù)方案及基礎(chǔ)架構(gòu),因此在開(kāi)發(fā)語(yǔ)言、通信協(xié)議、部署平臺(tái)都存在極大的不同,造成每個(gè)系統(tǒng)都是一個(gè)“信息孤島”。同時(shí)企業(yè)根據(jù)自身發(fā)展的需要,會(huì)不定期地變更自身的業(yè)務(wù)流程,可是應(yīng)用系統(tǒng)編程代碼都是固定不變的,缺少適應(yīng)現(xiàn)有流程的靈活性,勢(shì)必會(huì)給企業(yè)應(yīng)用整合帶來(lái)相當(dāng)大的阻礙。
企業(yè)應(yīng)用整合(EAI)是通過(guò)先進(jìn)的軟件技術(shù)將企業(yè)已有和新建的應(yīng)用系統(tǒng)集成到一個(gè)統(tǒng)一的信息化架構(gòu),實(shí)現(xiàn)企業(yè)業(yè)務(wù)系統(tǒng)的有機(jī)整合,并能夠靈活快速地適應(yīng)企業(yè)發(fā)展和變化。主要功能在解讀并轉(zhuǎn)換來(lái)自異質(zhì)系統(tǒng)間不同應(yīng)用程序的數(shù)據(jù),導(dǎo)入統(tǒng)一的工作流程籍以整合這些應(yīng)用程序間的協(xié)同協(xié)作,提供數(shù)據(jù)格式轉(zhuǎn)換,同步或異步的自動(dòng)流程處理。傳統(tǒng)的企業(yè)應(yīng)用整合層次主要有應(yīng)用接口級(jí)整合、數(shù)據(jù)級(jí)整合、業(yè)務(wù)邏輯級(jí)整合。應(yīng)用接口級(jí)整合是面向接口的整合方式,該整對(duì)API接口進(jìn)行一定修改,將增加大量的工作,也可能會(huì)導(dǎo)致現(xiàn)有應(yīng)用系統(tǒng)的不穩(wěn)定性。數(shù)據(jù)級(jí)整合是面向信息的整合方式,該方式可能會(huì)導(dǎo)致打開(kāi)數(shù)據(jù)庫(kù)的安全缺口、損壞數(shù)據(jù)等問(wèn)題;業(yè)務(wù)邏輯級(jí)整合是面向過(guò)程的整合方式。該整合方式突出了應(yīng)用程序的業(yè)務(wù)邏輯,而且由于業(yè)務(wù)邏輯的交叉,導(dǎo)致各個(gè)整合系統(tǒng)間的緊耦合性,增加了整個(gè)系統(tǒng)維護(hù)的難度,降低了應(yīng)用系統(tǒng)的靈活性。
SOA面向服務(wù)架構(gòu)的出現(xiàn),解決了上訴問(wèn)題。該架構(gòu)能夠保證原有系統(tǒng)的邏輯安全性和數(shù)據(jù)安全性,而且還能實(shí)現(xiàn)各系統(tǒng)間的松耦合,方便系統(tǒng)流程的重組和優(yōu)化。
2.SOA面向服務(wù)架構(gòu)分析
2.1 SOA架構(gòu)的定義
架構(gòu)是指對(duì)于某個(gè)特定的目標(biāo)系統(tǒng)所做出的具有通用性、系統(tǒng)性的抽象意義的表現(xiàn)。根據(jù)定義:架構(gòu)是組件,彼此間和環(huán)境的關(guān)系,引導(dǎo)設(shè)計(jì)發(fā)展原則中體系的系統(tǒng)的基本結(jié)構(gòu)。通俗地說(shuō),架構(gòu)包括:
(1)組件/結(jié)構(gòu);(2)關(guān)系/環(huán)境;(3)指導(dǎo)原則,也可以說(shuō)架構(gòu)是一種模型實(shí)體怎樣建立的方法和框架原則、基本準(zhǔn)則規(guī)范等。
SOA架構(gòu)是業(yè)務(wù)架構(gòu)與技術(shù)應(yīng)用架構(gòu)的綜合體現(xiàn)。依循架構(gòu)框架模式,凸顯關(guān)注點(diǎn),以靈活而重用的架構(gòu)形式,簡(jiǎn)化業(yè)務(wù)各部分之間的互操作,獲取業(yè)務(wù)的敏捷性及最終用戶體驗(yàn)。技術(shù)層面上,SOA是一種抽象的、松散耦合的粗粒度軟件架構(gòu);在業(yè)務(wù)層面上,SOA的核心概念是“互操作”和“重用”,它將企業(yè)的IT資源整合成可操作的、基于標(biāo)準(zhǔn)的服務(wù),使其能被重新組合和應(yīng)用。
2.2 SOA的重要因素
從語(yǔ)義上來(lái)說(shuō),面向服務(wù)架構(gòu)與面向?qū)ο、面向過(guò)程、面向組件一樣,是一種軟件組建及開(kāi)發(fā)的方式。同傳統(tǒng)的軟件開(kāi)發(fā)、架構(gòu)模式一樣,SOA可以認(rèn)為是一種思想體系,而不能單一的認(rèn)識(shí)成某種具體的軟件產(chǎn)品。SOA從根本要解決的兩個(gè)主要問(wèn)題:快速構(gòu)建和應(yīng)用集成。而SOA之所以能夠在實(shí)際應(yīng)用中取得成功的兩個(gè)重要因素主要是業(yè)務(wù)相關(guān)性和靈活性。這兩個(gè)重要因素也是SOA架構(gòu)成為解決企業(yè)業(yè)務(wù)發(fā)展需求不斷變化與企業(yè)IT支持能力提升的最佳方案。
SOA的第一個(gè)重要因素“業(yè)務(wù)相關(guān)性”。SOA與其他IT架構(gòu)的最大區(qū)別在于它的業(yè)務(wù)的關(guān)聯(lián)性。它是以“服務(wù)”為基本單元來(lái)組織IT資源,其中每一項(xiàng)服務(wù)都可以完成實(shí)際業(yè)務(wù)流程中的一項(xiàng)任務(wù)。例如,可以把一項(xiàng)服務(wù)叫做“打印統(tǒng)計(jì)報(bào)表”,它可能包含查找設(shè)備、計(jì)算產(chǎn)量、打印統(tǒng)計(jì)報(bào)表等一系列操作。這樣一來(lái),服務(wù)就與業(yè)務(wù)產(chǎn)生密切的聯(lián)系,業(yè)務(wù)人員也可以參與服務(wù)的創(chuàng)建并且用它們定義新的業(yè)務(wù)流程。
SOA的第二個(gè)重要因素“靈活性”。SOA是第一個(gè)考慮了企業(yè)業(yè)務(wù)發(fā)展長(zhǎng)期性的IT架構(gòu),從本質(zhì)上來(lái)說(shuō),SOA面向服務(wù)架構(gòu)是一組松耦合的服務(wù),松耦合架構(gòu)更能適應(yīng)業(yè)務(wù)的變化,因此每一個(gè)服務(wù)的建立和替換都會(huì)變得相對(duì)簡(jiǎn)單。在SOA面向服務(wù)架構(gòu)中,可以用一個(gè)服務(wù)替換另一個(gè)服務(wù)而無(wú)須關(guān)心其底層的實(shí)現(xiàn)技術(shù),唯一要考慮的就是服務(wù)接口。同時(shí)還可以充分利用企業(yè)現(xiàn)有IT資源進(jìn)行整合,其中包括企業(yè)已有的應(yīng)用和數(shù)據(jù)庫(kù)等。
3.SOA面向服務(wù)架構(gòu)在企業(yè)應(yīng)用整合中的應(yīng)用分析
SOA面向服務(wù)企業(yè)應(yīng)用架構(gòu)主要有五個(gè)切入點(diǎn):界面交互(門(mén)戶展現(xiàn))、流程管理(業(yè)務(wù)編排)、信息整合(信息集成)、企業(yè)信息轉(zhuǎn)接以及重用性。這五個(gè)切入點(diǎn)主要是從整合的角度來(lái)定義的。
3.1 界面交互
界面交互,或者說(shuō)門(mén)戶展現(xiàn),是SOA架構(gòu)設(shè)計(jì)的重要部分。SOA應(yīng)用主要是面向用戶,滿足靈活的業(yè)務(wù)需求,其中界面的用戶體驗(yàn)及定制化是體現(xiàn)了SOA的靈活性。SOA的交互服務(wù),除了可視化服務(wù)組件定義之外,主要在于其集成、整合作用。目前,SOA項(xiàng)目的界面交互基本使用符合某一技術(shù)規(guī)范的可視化服務(wù),例如,偏于J2EE的Porlet,微軟的ActiveX/DCOM等。下面以Porlet為例對(duì)SOA化界面結(jié)構(gòu)設(shè)計(jì)簡(jiǎn)單介紹:
Potlet Factory門(mén)戶工廠設(shè)計(jì)模式采用模型驅(qū)動(dòng)的設(shè)計(jì)模式,分層進(jìn)行模塊化,將應(yīng)用按構(gòu)件模塊(Builder)、模型模塊(Model)、偏好切換配置組(Profile Sets)及傳統(tǒng)程序來(lái)劃分。它具有規(guī)范的架構(gòu)組織,便于選用設(shè)計(jì)模式;設(shè)計(jì)環(huán)境與運(yùn)行環(huán)境一致,簡(jiǎn)化了管控過(guò)程。頁(yè)面的可視化組件可以完全通過(guò)搭積木似的裝配來(lái)實(shí)現(xiàn),合理了架構(gòu)設(shè)計(jì)及模塊應(yīng)用,極大的簡(jiǎn)化了以后應(yīng)用的擴(kuò)展及維護(hù)。
3.2 流程管理
從程序流到工作流,一直以來(lái),幾乎所有稍微復(fù)雜的業(yè)務(wù)應(yīng)用都包含業(yè)務(wù)流程邏輯。對(duì)于SOA,業(yè)務(wù)流程多了一層編制整合的意義。流程編制是指通過(guò)業(yè)務(wù)流程而進(jìn)行的服務(wù)合成。與之相關(guān)但有區(qū)別的是業(yè)務(wù)編排,業(yè)務(wù)編排是指通過(guò)業(yè)務(wù)協(xié)作而進(jìn)行的服務(wù)合成。在SOA項(xiàng)目中,業(yè)務(wù)流程與其他切入點(diǎn)的關(guān)聯(lián)密切。業(yè)務(wù)流程管理相對(duì)來(lái)說(shuō)是最有價(jià)值的部分,同時(shí)也是最為耗時(shí)的部分,其關(guān)鍵是選擇決定既好用又能重用業(yè)務(wù)流程架構(gòu)模式設(shè)計(jì)。
從企業(yè)生態(tài)環(huán)境到具體的流程實(shí)施應(yīng)用,流程可以分為多個(gè)層面。業(yè)務(wù)流程管理跨越企業(yè)架構(gòu)、業(yè)務(wù)架構(gòu)及應(yīng)用架構(gòu)。如圖1,對(duì)于實(shí)際SOA項(xiàng)目,在架構(gòu)層面我們可以將流程分為:頁(yè)面流(主要是頁(yè)面之間的邏輯關(guān)聯(lián))、工作流、信息流、業(yè)務(wù)流以及消息流。其中,與SOA業(yè)務(wù)流最為關(guān)聯(lián)的是工作流及業(yè)務(wù)流。
圖1 流程管理
3.3 信息整合
SOA的信息服務(wù)是直接或者間接的整合,也稱為信息集成。在異構(gòu)數(shù)據(jù)源的環(huán)境中,信息服務(wù)的整合一般經(jīng)過(guò)三層:信息服務(wù)層、數(shù)據(jù)整合層以及業(yè)務(wù)操作層。
圖2 信息整合
3.4 企業(yè)信息轉(zhuǎn)接
傳統(tǒng)的應(yīng)用及系統(tǒng)間主要是點(diǎn)對(duì)點(diǎn)的連接,而SOA通過(guò)企業(yè)服務(wù)總線(ESB)的方式將業(yè)務(wù)系統(tǒng)松耦合地關(guān)聯(lián)。ESB主要強(qiáng)調(diào)消息流,而且只有在多對(duì)多的依賴關(guān)系時(shí),意義較大。SOA企業(yè)服務(wù)總線與傳統(tǒng)的企業(yè)應(yīng)用集成不盡相同之處表現(xiàn)在其模塊化、標(biāo)準(zhǔn)化、服務(wù)化的架構(gòu)設(shè)計(jì)。如圖為ESB項(xiàng)目的架構(gòu)總體考量因素。其中,內(nèi)層為ESB功能模塊;中層為標(biāo)準(zhǔn)規(guī)范,是ESB設(shè)計(jì)的核心;外層為環(huán)境因素。
圖3 企業(yè)信息轉(zhuǎn)接
4.結(jié)束語(yǔ)
總之,SOA是未來(lái)IT技術(shù)發(fā)展的焦點(diǎn),也為企業(yè)應(yīng)用的整合提供了一個(gè)很好的解決方案。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:淺談SOA架構(gòu)在企業(yè)整合中的應(yīng)用
本文網(wǎng)址:http://www.oesoe.com/html/support/11121512488.html