soa的技術路線?當今世界,信息技術正在推動着社會生産力的發展,随着行業業務發展的多樣化、多需求化,新的理念、技術、IT術語層出不窮,例如:移動互聯、物聯網、雲計算、大數據、人工智能等,這些詞語的出現一定程度上促使電子政務、智慧醫療、數字化農業、移動辦公、智能家居等治理理念不斷湧現并得到大力發展,今天小編就來說說關于soa的技術路線?下面更多詳細答案一起來看看吧!
當今世界,信息技術正在推動着社會生産力的發展,随着行業業務發展的多樣化、多需求化,新的理念、技術、IT術語層出不窮,例如:移動互聯、物聯網、雲計算、大數據、人工智能等,這些詞語的出現一定程度上促使電子政務、智慧醫療、數字化農業、移動辦公、智能家居等治理理念不斷湧現并得到大力發展。
事實上,很多技術詞彙在很早的時候就已經出現過,由于特定時期的外部環境原因并沒有被大衆熟知或技術在當時沒有得到普及,導緻那些詞彙還沒有來得及火起來就被埋沒。随着社會環境、科技大趨勢的發展,有些技術詞彙重新包裝、炒作,然後又開始慢慢火起來,甚至形成所謂的風口。
曾經被熱炒關注的SOA(Service Oriented Architecture面向服務架構)一詞好像也已經走向落寞,不再被人提起,但事實并非如此,其實SOA因為理念的不斷推進、産品的不斷完善,已經告别概念階段,走向落地,很多企業也改變了對SOA架構理念的看法,趨于認可并計劃實施。雖然SOA已經落地,但對于很多人來說它仍是神秘的,具有多種定義和展現的。那麼,今天就來與大家一起探讨SOA的内涵與外延。
SOA基本概念百科上給出的定義是:SOA(Service Oriented Architecture )面向服務的架構,它是一個組件模型,它将應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立于實現服務的硬件平台、操作系統和編程語言,這使得構建在各種各樣的系統中的服務可以以一種統一通用的方式進行交互。
看了上述的解釋,相信很多人還是不能完全理解SOA究竟是什麼,它能解決什麼問題?事實上,對于SOA不同的廠商有不同的定義,有人說它是一種架構體系,有人說它是一種方法論,有人說它是一種治理理念。橫看成嶺側成峰遠近高低各不同,仁者見仁智者見智。
而我認為:與其一定要給SOA一個通俗易懂的解釋,不如弄清楚SOA這個概念是在何種情況之下産生的,之後我們把答案反過來想,既然SOA可以解決這些問題,那麼SOA的概念就能變得簡單易懂些。
SOA産生原因在這裡,暫且把SOA的由來歸納為兩個方面,一個為技術方面的需求,另一個是業務層面的要求。
1.技術方面
>>>>屏蔽異構性
所謂異構性,指的是存在于計算機軟硬件之間的異構性,包括服務器、CPU、操作系統、開發環境、數據庫等,因為企業所構建的基礎設施都是來自不同廠商、使用不同平台、不同語言的,它們之間是不兼容的,而屏蔽系統間的異構性成為SOA産生的一大原因。
>>>>服務可複用
相同領域的系統在結構上存在着相似性,每次整合開發都從頭開始太過耗時耗力,這時服務可複用顯得尤為重要,而SOA的重要特征就是以服務為核心,通過服務組件來實現更高層次的重用,因為服務是通過标準封裝,服務組件之間的組裝、編排和重組,來實現服務的複用。而且這種複用,可以在不同企業之間的服務複用,是動态可配置的重用。
>>>>可互操作性
因為網絡協議和通信機制的不同,系統間的相互集成受阻,不同軟件設備之間沒有統一的協議标準及規範,平台之間不能相互移植、相互操作,而基于SOA架構的平台産品可以很好的實現系統間的互操作。
通過上述的需求,我們可以分析出,SOA将各個應用系統中的不同功能通過接口方式聯系起來,它可以屏蔽硬件平台、操作系統、編程語言的異構性,并以一種統一的、标準的、通用的方式進行交互,同時基于SOA構建的架構,可以使企業的IT系統更靈活、能更快地應對企業業務需求的變化。
2.業務方面
>>>>信息孤島
随着企業自身經營管理水平與業務執行效率的要求越來越高,信息化建設是提高管理水平的重要支撐,随着信息化系統的不斷增多,企業的IT架構逐漸走向僵化,一系列問題也接踵而至,如:企業現有的各應用系統的基礎平台和技術架構不統一、各系統分散部署、數據相互孤立形成信息孤島等,這時應用系統間的數據共享與功能集成需求日趨頻繁,信息系統間的有效整合,提高系統間的數據交互、信息共享水平以及業務處理效率變得尤為重要。
>>>>資産複用
随着企業信息系統越來越多,在治理面前必将精減或新增一些信息化系統,過程中不可避免會替換甚至是除掉一些平台或功能相似的系統,如果每次治理或開發都要推到重來,在時間和成本上是不可控的,所以複用IT資産也是推動SOA發展的重要動力。
>>>>業務發展
激烈的競争和産業變革,需要企業不斷調整其組織、流程和商業模式,以獲得競争優勢,但基于以往傳統模式構建的企業信息化架構,僵化的IT系統面對企業業務的變化,無法快速做出響應,造成系統無法為業務提供良好支撐的現象,穩定可擴展的基礎業務框架及應用支撐平台,為企業的業務發展、随需應變提供重要的支撐。
SOA基本特征1.技術特征
SOA的目标在于讓IT系統變得更有彈性、靈活以及能夠更快地響應不斷改變的企業業務需求,具體技術特征歸結如下:
2.業務特征
SOA的業務特征來自于企業對業務方面的實際需求和管理,如:解決信息孤島、業務協同、數據集成、後續業務支撐等,這裡将分層次說明。
>>>>數據集成
數據集成主要針對企業信息系統底層的數據同步性、時效性問題,解決數據來源的唯一性、真實性、實時性,這裡包括數據治理和數據集成兩部分。
數據治理通過一組标準和方法轉換異構操作數據,保證一個企業内的基礎數據(組織、人員、崗位、客戶、供應商、物料等)在整個企業範圍内保持一緻性、完整性、準确性。數據集成一般通過消息隊列技術或者Web服務等,将散布在企業各個系統中的數據,以一種松散耦合、集中呈現的方式進行統一管理,促進數據在企業範圍内互聯互通。
>>>>應用整合
應用整合主要針對企業業務變化适應性和信息孤島問題,通過對系統功能的服務化編排,實現快速調整的彈性應用。應用整合提供面向服務所需的軟件基礎設施環境,為分散服務提供了交互、組合和治理的基礎架構,集成企業内部各個IT 應用系統,并使之互相協同工作,形成一個更大的整體系統。要求不隻是實現系統間的技術集成整合,還要實現業務之間的有機整合。
>>>>業務協同
業務協同通常也稱之為流程集成,主要針對企業業務邏輯在多個信息系統之間流轉的問題,具體體現為跨異構系統的流程集成,以業務流程為中心,幫助企業各業務環節與客戶需求對齊的管理方法,有效整合人力、信息等資源,實現跨系統、跨部門、跨組織的企業運營,支撐企業實現業務的“縱向貫通”與“橫向集成”,幫助企業實現從戰略到運營端對端的跟蹤、反饋與優化。
>>>>統一入口
統一入口即門戶集成,主要針對企業交互訪問層集成問題,把企業内部原有的零散系統中的信息、應用、服務通過統一認證、頁面集成、菜單集成、數據門戶等技術整合在統一的訪問平台,提供企業範圍内的統一授權和身份認證,基于單點登錄、個性化配置方式,為企業IT架構提供一個标準的、可擴展的Web 應用基礎框架。平台支持多端登錄,即PC門戶、移動門戶,移動門戶同樣提供統一身份認證、單點登錄、信息/頁面/應用集成等功能,通過移動門戶可以訪問PC端系統大部分功能,用于滿足出差在外流程審批、辦公不受時間地點限制。
SOA架構模式首先看一下什麼是SOA架構,SOA架構是一種粗粒度、開放式、松耦合的服務結構,要求軟件産品在開發過程中,按照相關的标準或協議,進行分層開發。通過這種分層設計或架構體系可以使軟件産品變得更加彈性和靈活,且盡可能的與第三方軟件産品互補兼容,以達到快速擴展,滿足或響應市場或客戶需求的多樣化、多變性。
SOA架構泛化來看映射的是整體企業架構,企業架構又分為業務架構和IT架構,IT架構又分為應用架構、數據架構、技術架構。在SOA項目中,借鑒企業架構之道,并通過SOA技術架構和應用架構将業務系統構建和整合、并納入整體企業IT治理體系中,企業IT治理體系圖如下所示:
1.SOA企業架構
企業架構是指對企業事業信息系統中典型的、普遍的問題而提供的通用解決方案,更确切的說,是基于業務導向和驅動來理解、分析、設計、構建、集成、擴展、運營企業信息化系統。當今很多企業的信息化建設都是早期為滿足當時的業務運轉而設計與實施的,但是随着業務和技術進步,以及需求變化,現有的IT系統難以支撐業務快速發展的步伐,很多企業開始嘗試使用SOA架構重構企業架構。
在進行重構之前,需要梳理企業架構中幾個重要的方面:組織機構、業務流程、IT設施,如下圖所示:
在了解以上幾點後,對其進行标準化、規範化及合理管控。首先,通過SOA制定統一的标準規範,将原有的系統進行改造,統一接口,進行系統重構,應用集成;其次,對于不能滿足集成标準的系統,必要時根據SOA架構标準進行整改、甚至重建。後續新建的應用系統都基于SOA标準規範進行建設,避免重蹈覆轍,保障統一的企業IT架構治理體系、滿足業務發展的整體需求。
2.SOA技術架構
ESB企業服務總線所在的服務層,作為企業信息化的龍骨,保障業務系統的互聯互通,所有的業務最終都可以保留為接口服務的形式,同時基于ESB實現服務的注冊、接入,服務操作使用、服務編排、服務安全、數據傳輸等功能。
BPM流程平台所在的流程層,主要提供流程引擎、流程編排、流程監控等功能,用于實現異構系統間的流程運轉。左側MDM主數據管理主要提供企業内組織、人員、崗位、供應商等基礎數據的統一治理,作為企業信息化數據治理的基石,保障企業内部各應用系統的各基礎數據的一緻性、真實性、準确性。
最上層Portal門戶平台所在的展現層,作為企業信息化的統一訪問入口,實現統一認證、單點登錄、工作台、菜單/頁面集成、信息聚合等,主要為各種應用系統的功能、流程、服務提供統一的交互層的集成平台。
開發平台提供統一的開發框架及開發環境,内置技術組件和服務,可以用于快速構建符合SOA架構的應用系統。
3.SOA應用架構
SOA應用架構部分與傳統的應用架構不同,此部分通常稱為SOA集成解決方案,主要考慮系統整合重用功能,及對業務治理的需求設計及後續的實施方案。
SOA集成解決方案需站在企業頂層位置,對企業IT情況進行了解規劃,從而構建适合企業業務發展的應用架構,解決方案分别從以下三點入手:
通過SOA綜合集成方案(即數據集成、應用集成、流程集成、門戶集成)的支撐,構建統一、集成化的企業IT架構,實現企業業務功能及流程的整合優化,支持平滑升級,為企業後續信息化建設持續打下基礎,實現總部、區域公司、基層業務單元等良好協同,提升運營效率、支撐業務發展、促進業務升級與創新。
SOA如何落地分析了這麼多SOA的深層次含義,那麼SOA将是如何運用到企業中的呢?要想真正實現價值,一定需要:支撐SOA的集成中間件産品、符合SOA架構的應用系統、構建SOA體系的方法論和最佳實踐。從SOA興起到快速發展,國内外出現了很多中間件廠商如BEA、IBM、Oracle、JBoss、數通暢聯、普元、東方通、中創等,下面就來了解具體有哪些落地産品。
1.SOA國内外現狀分析
SOA的興起源于國外,而且很多定義都是從國外延續過來的,早期SOA在國外的發展是較快的,在國外SOA概念深入普及的同時,國内也興起了對SOA的研究與實踐。
國外現狀
在國外,從主機時代、PC時代,到了現在的網絡時代,積累了大量的應用系統。所以國外的SOA理論以及産品的發展一直快于國内,在SOA技術興起初期,很多國外中間件産品進軍國内,一度曾經火熱大賣,但如今也幾乎銷聲匿迹,分析後歸結于以下幾點:
國内現狀
對于國内,很多企業在認識SOA理念這件事情上,變得理性,不再認為SOA理念是虛無缥缈的、誇大的、無法落實的,這預示着SOA将正式走向普及。雖然SOA在國内已經得到企業的認可及應用,但在普及的過程中沒有出現大火特火的現象,相對來說較為平穩,同樣的将這種情況分析後歸結于以下原因:
另外有一個有意思的現象,有些OA協同領域廠商看到SOA市場潛力和價值,對自有主打協同産品進行擴展,貼上SOA整合集成的标簽,承接SOA集成項目,但由于産品基因以及人才隊伍缺失,通常項目最終實現效果較差,達不到全面整合、整體協同的目标。
2.SOA整合套件的構成
那麼,如何才算将産品形成閉環或者一個完善的SOA産品線,究竟是由哪些産品構成的呢?根據架構模式中的架構層次,一般包括各種不同網絡應用系統之間的消息通信、服務集成和數據集成功能的中間件産品,常見的幾種集成中間件産品為:企業服務總線、門戶集成平台、身份管理平台、主數據管理平台、流程集成平台等。
上圖中的産品組合可以稱之為是一幅較為完整的SOA整合套件,産品間相輔相成,靈活組合,彼此之間組成不同的解決方案,滿足絕大多數應用場景。如:IDM(MDM) ESB Portal企業應用中心項目、IDM ESB統一身份認證管理項目、ESB MDM數據治理項目、ESB MDM Portal BPM MAP 綜合集成項目等,可根據企業項目的不同需求/性質,将産品組合搭配,最終形成特定的、符合企業自身業務的、能夠适應企業當前以及未來發展的最佳解決方案。
3.SOA項目的最佳實踐
SOA項目的最佳實踐這裡主要指SOA項目的實施方法論,即交付體系,由于每個SOA廠商對SOA的概念理解不同,自然實施方法論也各不相同,這裡我不準備介紹标準的實施方法論,而是想介紹一套符合國内企業情況的項目實施方法論。
因為一直耕耘于SOA綜合集成領域,數通暢聯經過對多家大型企業系統集成成功實施的經驗總結,同時結合國内外先進的實施方法和實施工具并根據我國企業的實際情況,提煉出一套标準的、科學的實施方法,不但能提高系統實施的效率,也能保障項目的成功交付率。
注:但凡是項目就一定有失敗的風險,軟件項目更甚,應用集成項目尤為突出,後續将有專題來講解SOA集成項目的風險與應對。
項目前期階段主要為商務階段,包括銷售公關、售前技術講解、合同簽訂等事宜,合同簽訂後PMO項目負責人将與項目實施人員一同進入項目,根據客戶内部組織、業務目标、運營流程、項目需求等信息,進行項目整體規劃和協調,并對項目實施過程把控、監督,推進項目至藍圖确認裡程碑。
項目準備
這一階段是項目的計劃和準備階段,主要活動包括:
項目藍圖
項目準備階段過後,主要進入需求調研與計劃設計階段:
項目實施
本階段主要根據獨有的項目實施方法開展工作,通過完備的管控方法及産品功能實現客戶的需求。
項目驗收
驗收階段主要工作是對項目整體實施工作的回顧和總結,對實施工作的認可,也是對雙方高層領導的一個工作彙報,驗收合格後,轉入系統維護期。
因為SOA理念的特殊性,很多時候會被人拿來與新技術做比較,今天在這裡筆者也将當今較火的幾個詞語,雲計算、微服務、大中台與SOA之間的關系做個簡單的分析。
1.SOA與雲計算
衆所周知,提到雲計算一定會提到以下幾個層次的服務:基礎設施即服務(IaaS),平台即服務(PaaS)和軟件即服務(SaaS)。
在SOA架構中,首先可以考慮SOA集成套件本身的應用集成能力,數據集成能力,流程引擎能力等,PaaS平台既是一個在線開發環境,也是一個在線運營環境,不管是對于開發或執行,在SOA中談到的數據服務、業務服務、流程服務,展現服務等都可以作為PaaS層在線開發的時候的能力單元。而這些能力單元在線進行服務編排和組裝又可以借助SOA套件中BPM産品的BPEL和規則引擎來完成,所以SOA平台提供的ESB,BPM等産品技術,可以被看作是雲計算PaaS平台層中的整體能力的重要組成。
而PaaS平台除了是提供标準統一框架、接口、環境的技術平台,也是服務于行業用來實現特定業務環境功能或服務的産品平台,通過Portal門戶平台、MAP移動應用門戶分别作為框架PC端和移動端的業務承載平台,通過ESB企業服務總線WEB/REST服務及管理控制台注冊代理其它系統提供的WEB服務、REST服務,提供面對業務系統的運營支撐(資源的管理、分配、監控狀況),面對用戶的業務支撐(系統的功能、使用狀況),通過BPM流程平台實現業務間特定的流程審批跳轉等,這些産品的組合使用來實現PaaS平台的核心技術支撐。所以雲計算一定程度上促進了SOA内涵的豐富, SOA在雲計算體系中PaaS層面也發揮着重要的作用。
2.SOA與微服務
微服務是當下比較火的一個詞語,微服務架構是一項在雲中部署應用和服務的新技術。微服務架構是否可以取代SOA架構,一直都是備受争議的話題,其實這兩種架構在原則上确實相當近似。微服務主要是經過組件分離各自擁有獨立的生命周期,并且按需進行擴展,這種方式打破了組件之間的技術依賴,這就允許每個服務各自選擇最合适的技術進行實現,即不同的服務甚至可以采用不同的編程語言來實現,一定程度上微服務使技術方案變得更加靈活;微服務架構可以簡單理解為SOA without ESB,不帶ESB的SOA架構。
對于複雜的大型的項目來說,将一個整體治理的問題進行分解,用不同的方案實現,就略顯笨重,因為要兼顧的技術和語言太多,服務本身的調用、日志流量的監控、安全性等事宜疊加起來放大項目的複雜度。SOA架構強調的是整體企業IT架構,而企業IT架構包括應用架構、數據架構、技術架構,SOA架構及方法論幫助企業制定正确的IT架構戰略,将企業系統劃分為不同的服務,增強系統間的靈活性的同時,為企業搭建一個統一的IT治理體系。微服務架構更多則側重于應用架構,或者說應用開發的技術架構。可以從下圖看出SOA架構與為微服務架構的關聯與區别。
3.SOA與大中台
大中台一詞是最初由阿裡提出的,意在為電商産品提供快速設計方法和系統性後端服務,那麼大中台一詞是如何提出的呢?因為阿裡平台與商家的關系,雖然相互之間是獨立的主體,但因為業務上的合作,已經分不清彼此。對于電商來說前端就是一線業務,需要适應瞬息萬變的市場環境,并可以敏捷的、靈活的、快速的做出決策;而這時就需要一個強大的中台,包括運營數據能力、技術能力、支撐能力、産品能力等。
在這裡之所以拿SOA與大中台做比較,是因為在分析大中台的技術及業務特點後,發現兩者存在相同之處。大中台符合電商行業的特性,可以同時運用在許多電商平台的設計和服務中,有效省去許多互聯網電商的設計、開發和運營成本,同時基于電商行業的業務要求,提供了一套完整的後台服務、客服系統、運營系統、倉儲物流系統等,在此平台上電商企業隻需要少數個性化的建設即可。
從SOA角度來看,大中台技術在一定程度上與SOA中的開發集成方案相似,示意圖如下:
SOA開發集成方案在面向行業平台項目中具體實現思路為:采用SOA整合套件作為基礎技術框架及應用支撐平台(ESB、Portal、BPM、MDM),梳理、制定出面向行業業務的标準接口和管理體系,根據标準接口規範集成行業的典型應用系統,不滿足或者特殊業務功能可以根據行業/企業具體需求使用DP開發平台來快速定制開發,然後集成于整個平台中。基于SOA開發集成模式實現行業化的平台類項目,來保障項目平穩落地、敏捷升級擴展。
總結來講,随着雲計算、微服務、大中台的興起,有人認為這些技術最終會取代SOA技術,很多人認為SOA已經走向衰落,但作為專業的SOA産品套件和解決方案的提供廠商,我們認為這些技術一定程度上推動了彼此的發展,随着科技、社會的發展不斷地演變,SOA架構理論及産品必将更加符合當今時代要求、與時俱進不斷擴展外延豐富内涵。
本文由數通暢聯原創,歡迎轉發,僅供學習交流使用,引用請注明出處!謝謝!
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!