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