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