一 概述
面向服務的架構(Service Oriented Architecture,SOA)繼承了組件化的核心思想,并將其應用到更廣闊的領域。SOA是一種軟件設計的方式,它將企業級IT系統設計的重點放在業務流程的設計上,而不是底層的應用開發或者系統集成的技術細節。換句話說,SOA是一套可重用的網絡服務的集合,他們之間通過標準化的、與平臺無關的接口進行通信。
下表中對比了SOA和分布式組件化架構的異同:
面向服務的體系結構是設計和構建松散耦合軟件解決方案的方法。通過應用SOA,一個企業可以使用一組分布式服務來構成并組織應用程序。這樣,他們就能通過重用他們自己的資產和他們伙伴的業務功能,來構造新的應用程序和修改現有的應用程序參考。
下面將詳細介紹SOA在企業信息化中的作用。
二 更好地支持業務流程的控制和管理
由于SOA是在計算環境下設計、開發、應用、管理分散的邏輯(服務)單元的一種規范,這就決定了SOA的廣泛性。SOA要求開發者從服務集成的角度來設計應用軟件,即使這么做的利益不會馬上顯現。SOA要求開發者超越應用軟件來思考,并考慮復用現有的服務,或者檢查如何讓服務被重復利用。SOA鼓勵使用可替代的技術和方法(例如消息機制),通過把服務聯系在一起而非編寫新代碼來構架應用。經過適當構建之后,這種消息機制的應用允許公司僅通過調整原有服務模式而非被迫進行大規模應用代碼的開發,使得在商業環境許可的時間內對變化的市場條件做出快速的響應。
SOA也不僅僅是一種開發的方法論,它還包含管理。例如,應用SOA后,管理者可以方便地管理這些搭建在服務平臺上的企業應用,而不是管理單一的應用模塊。其原理是通過分析服務之間的相互調用,SOA使得公司管理人員方便地獲取什么時候、什么原因、哪些商業邏輯被執行的數據信息,這樣就幫助了企業管理人員或應用架構師迭代地優化他們的企業業務流程、應用系統。
SOA的一個中心思想就是讓企業應用徹底擺脫面向技術的解決方案的束縛,輕松應對企業商業服務變化、發展的需要。企業IT架構環境中單個應用程序是無法包容業務用戶的(各種)需求的,即使是一個大型的ERP解決方案,仍然不能滿足這個需求在不斷膨脹、變化的缺口。
服務是從業務流程的角度來看待技術的:這是從上向下看的。這種角度同一般的從可用技術所驅動的商業視角是相反的。因為服務的優勢很清楚,它們會同業務流程結合在一起,能夠更加精確地表示業務模型、更好地支持業務流程。相反,我們可以看到,以應用程序為中心的企業應用模型,迫使業務用戶將其能力局限為應用程序的能力。
企業流程(EntERPrise Process)是流經企業框架的空氣,它賦予業務模型里的組件以生命,并更加清晰地定義了它們之間的關系。服務被定義用來支持業務流程,因而自始至終地貫穿整個流程:各種服務組件在流程和邏輯實現過程中的裝配操作,理解業務流程是定制服務的關鍵所在。
三 SOA有利于企業業務的集成
傳統的應用集成方法,如:點對點集成、企業消息總線或EAI、基于業務流程的集成等,都很復雜、昂貴,而且不靈活。這些集成方法難于快速適應基于企業現代業務變化不斷產生的需求。
基于SOA的應用開發和集成可以很好地解決其中的許多問題。它描述了一套完善的開發模式來幫助客戶端應用連接到服務上。這些模式定制了系列機制用于描述服務、通知及發現服務、與服務進行通信。
不同于傳統的應用集成方法的是,在SOA中,圍繞服務的所有模式都是以基于標準的技術實現的。大部分的通信中間件系統,如RPC、CORBA、DCOM、EJB和RMI,也同樣如此。可是它們的實現都不是很完美的,在權衡交互性以及標準定制的可接受性方面總是存在問題。
SOA試圖排除這些缺陷。因為幾乎所有的通信中間件系統都有固定的處理模式,如RPC的功能、CORBA的對象等等。然而,服務既可以定義為功能,又可同時對外定義為對象、應用等等。這使得SOA可適應于任何現有系統,并使得系統在集成時不必刻意遵循任何特殊定制。
四 基于webservice的SOA架構體系
SOA使得應用系統的設計清晰化,而且促進組件的重用。一個新的服務種類可能需要利用運行在現有的跨部門、甚至跨企業的多臺計算機上的應用。理想的情況下,一個團隊開發的客戶端應該可以與另一團隊開發的服務器端模塊不用或少用中間件直接相聯,但更多的情況下,各個組件之間的異構性使得一個由網關(Gateway)、適配器、封裝器、集成總站(Integration Hub)和業務流程引擎(BPM)組成的集成層成為必要。
很多的企業應用由于缺乏同一的長遠的規劃,通常情況下很少共享數據,幾乎從不共享程序邏輯。但很多的服務具有通用性,而非某一應用獨有,一個通用服務架構(Common ServiceArchitecture)能幫助企業在上述的原則下共享部分數據和程序邏輯。
web服務是目前在SOA架構體系中最合適的一種實現。通過在SOA架構下使用webservices,整個信息系統內大部分的業務功能或者具體的應用系統將作為一個服務來開發,服務的接口是基于標準的,無論是對外連系統的交互還是信息系統內部的相互調用會變得更加容易。不僅提高了互操作性,而且對于系統的集成、擴展變得更容易實現和管理。
在于外部系統的交互上,由于使用webservices技術,交互的雙方只通過webservices服務接口來進行,與雙方的具體實現是無關的,通訊協議是基于通用的HTTP/HTTPS的,數據采用XML封裝,這些技術要不就是普遍流行的就是公認的標準技術。Webservices的使用使得這種B2BI更容易開發實現,同時在交互業務發生變更需要進行實現的更改或者擴展時,不需要更改交互的接口,只需要在后端實現上做出相應變更。
在另一方面,對于整個信息化系統平臺內部來說,Web服務使得系統內部各個應用可以相互獨立的開發。應用平臺內部的各個應用系統之間通過Web服務的方式這種標準、通用的方式來相互協調。業務規則的變更引起的系統重構可以嚴格限制在一定范圍之內,而不會影響到整個系統。
在一個以SOA體系架構構造的平臺系統中,完全可以把一些公用的功能作為web服務來開發,例如:用戶身份驗證和授權。不再需要為每個應用都去開發這些功用的功能了,通用功能作為服務來開發,不僅降低了其他應用的開發、集成難度,而且也最大限度地重用了應用平臺內的資源。
五 結束語
SOA是一種新興的組件模型,它通過定義規范的契約和接口實現了不同平臺軟件之間的平順對接。本文介紹了SOA的技術框架和優勢,并提出其在企業信息化系統構建中的具體應用,掌握SOA的思想和技術將有利于快速、高效地開發企業信息化系統。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:SOA在企業信息化系統中的應用
本文網址:http://www.guhuozai8.cn/html/consultation/1083934576.html