黃嘉東 徐兵元 葉向陽
摘要:南方電網公司從“十二五”以來,走著自主可控、深度融合、可持續發展的信息化創新之路。文章提出了走自主研發之路的企業級應用系統SOA架構建設的現狀和困境,通過分析說明了應用系統SOA架構建設的必要性,闡述了應用系統如何構建SOA架構5大分層的思路,介紹了在南方電網公司企業級應用系統建設中如何實踐SOA架構及應用達到的效果。
關鍵詞:企業級應用系統;面向服務架構;SOA架構建設;信息化建設;SOA架構分層 文獻標識碼:A
中圖分類號:TP311 文章編號:1009-2374(2016)02-0159-03 DOI:10.13535/j.cnki.11-4406/n.2016.02.078
在信息化建設過程中,南方電網公司放棄國外各種成熟套裝軟件,自主研發建設企業級應用系統,擁有自主知識產權,滿足國家對央企信息安全的要求;通過遵循SOA技術路線與理念,企業級應用系統采取靈活配置、易擴展、快速響應業務需求變更、運維成本較低的可持續發展模式。南方電網公司統一開展包括資產、營銷、財務、人資等企業級應用系統的建設,如何在這些系統建設過程中做好SOA架構統一規劃與建設工作,尤為重要和迫切。
1 應用系統建設現狀
(1)各應用系統建立過程中都是由各部門獨立負責,參與的建設廠商多,沒有涉及到數據、過程、技術的集成;(2)應用系統建設項目中跨部門業務協作的能力被嚴重限制,必須通過代碼層次的人工參與才可實現應用系統集成;(3)應用系統之間的集成,通過點對點的集成方式實現,每次新增或變更集成,都需要重新開發點對點集成代碼以及發布與部署;(4)應用系統之間的連接需通過復雜的數據、操作和協議的轉換,且每兩個系統之間連接均需定制代碼和適配器。
2 應用系統SOA架構建設的必要性
2.1 應用系統信息孤島
為了打通應用系統之間的壁壘,實現信息資源的自由共享,必須加強各個部門之間的協同合作,通過統一的SOA架構建設應用系統,解決應用系統信息孤島問題。
2.2 應用系統緊耦合
為了滿足業務的需要,信息資源的共享是多變的,建設的應用系統必須是松耦合的,采用的是柔性化、靈活性的架構,使應用系統間的集成更為快捷,而SOA架構特別滿足該特性。
2.3 應用系統資源復用低
信息資源是需要多方共享的,所以需要保證共享資源是標準化、規范化的資源,可以多次復用。SOA架構中,其基本構成單位為服務,具有獨立可復用的特性,可以很好地解決資源共享的復用性。
3 應用系統SOA架構規劃
應用系統SOA架構規劃主要是從應用系統的整體結構合理性、規范性、靈活性及柔性化程度上進行考慮,構建出符合公司應用系統建設的SOA架構模型,它包含了SOA的主要元素,并且描述了各元素之間的連接與關系。
3.1 用戶交互層
用戶交互層主要是用戶與系統人機交互,業務界面的展現。用戶交互層并非SOA約束和規范的范疇,沒有直接的標準和規范,但和用戶易用性息息相關。展現層更多的是從技術上要求滿足用戶業務處理界面展現要求,包括對不同終端設備、操作系統、語言環境、網絡環境的客戶端支持。用戶交互層界面展現的具體實現,通過業務功能層的對應功能進行支撐。
3.2 業務功能層
業務功能層主要是業務活動分解,服務組裝,流程編排,滿足業務流程管理、設計、實現技術的各個方面要求。通過調用原子服務進行組合實現業務功能服務調用。著重于業務功能邏輯內部實現,是一個可展現的業務功能點內對下層所提供的業務服務訪問(調用)和組織,原子服務編排的主體是業務服務,依據是業務功能邏輯。通過調用原子服務進行編排實現業務流程定義配置。著重于業務流程管理方面的實現,是業務功能之間按照業務規則進行編排,編排的主體是業務功能點,依據是業務管理流程。
3.3 服務接入層
服務接入層主要在服務實現的基礎上進行服務化的封裝和定義,以標準的接口技術協議向其他層和外部應用提供服務調用,同時對外屏蔽了服務實現的技術細節,實現服務實現層與業務功能層之間的松耦合。服務接入層應具備以下能力:(1)服務遠程調用:支持系統外部的應用程序和軟件通過標準技術協議的方式遠程調用服務;(2)服務封裝:對服務進行封裝,向外界屏蔽服務的技術細節,實現服務調用與服務實現技術無關;(3)服務合約化描述:向外界提供服務的標準化描述信息,包括服務名稱、服務功能、服務交互數據模型、應用約束等;(4)服務可發現:主動向外界發布服務新增、變更等消息,使外部系統能夠感知和發現服務的變化;(5)服務運行信息監控:向服務質量層實時轉發所有服務的運行調用數據,包括服務響應時間、交互數據量、身份認證信息等。服務接入層是屏蔽服務實現技術與業務需求的關鍵元素,使得企業應用能夠真正實現“高內聚、松耦合”的架構模式。其他層與服務實現層之間須進行有效的隔離,必須通過服務接入層訪問服務實現層的功能。
3.4 服務實現層
服務實現層以服務的形式對外提供業務功能的訪問,其封裝了服務的功能實現邏輯,包括所有操作和存取業務數據的功能、業務處理邏輯和算法以及通用的工具算法等。服務是SOA中最基本的術語,其目的是專注于抽象業務方面的問題,一個服務的實質是業務功能,SOA的目標是對業務規則、功能抽象,在此之上構建大型分布式系統,這為應用系統設計和開發都描繪了一個清晰的結構。雖然系統內部是技術性的,但外部的接口必須設計成業務人員能夠理解,在外部看來技術的細節已被屏蔽。服務是自足的,其粒度必須保證業務功能獨立健壯,支持業務過程合成層中任意業務編排需要,即使流程有異常錯誤的情況,服務也必須保護業務數據的完整性和有效性。
3.5 系統資源層
系統資源層是支撐服務實現層的可操作的系統資源及所有支撐SOA運行與部署的系統軟件和基礎設施,包括數據庫、存儲、各類操作系統資源如設備驅動,其他軟件包、開發庫,遺留的系統(需要在內部資源集成)等。
3.6 集成層
集成層即企業服務總線,主要提供了服務交互與集成、消息處理、服務管理等能力,為SOA架構提供了關鍵的媒介能力,包括信息傳輸、路由、協議轉換等,應用系統和公司其他應用系統的交互與集成均通過企業服務總線完成。
4 實踐應用
4.1 遵循SOA架構分層
公司新建的各應用系統,根據規劃的SOA參考模型,建立了具有用戶交互層、業務功能層、服務接入層、服務實現層、系統資源層5個分層的SOA技術架構,通過集成層的企業信息集成平臺進行應用系統的集成。如圖1是某個系統開發實現的架構分層:
各應用系統根據建立的SOA技術架構服務接入層,可以選擇服務實現層的服務,通過界面配置數據交互模型,以標準的接口技術協議,發布為WebService接口,注冊到集成層的企業信息集成平臺,供其他應用系統調用,實現了各應用系統間的交互。
集成層的企業信息集成平臺可以通過各應用系統的服務接入層,查詢、管理各應用系統的服務,并根據業務需求,將各應用系統的服務,開通給不同的應用系統調用?;蛘吒鶕I務需要,將多個服務組合成新的服務,以供支撐新的業務。
在服務運行過程中,各應用系統的服務接入層會對各自服務實現層的服務進行監控,并將監控信息以WebService方式提供給企業信息集成平臺,方便于企業信息集成平臺對集成服務的分析與優化,并可以在服務異常時快速定位錯誤。
4.2 SOA服務建設
基于SOA架構參考模型,是要構建以服務為核心的SOA架構應用系統,其系統服務實現層的SOA服務建設是落實SOA架構的關鍵和落腳點,也是實現應用系統松耦合及高復用的重要前提條件。
目前,各應用系統的業務功能都是以SOA服務為基礎實現的,其SOA服務的建設是以業務為驅動的。SOA服務強調從業務需求出發,在業務目標和需求推動下進行服務規劃和設計,其具有松耦合、自治性、無狀態、可發現、獨立事務等特征,便于快速地組裝新的應用。企業級應用系統通過SOA服務建設打破組織架構和應用系統的邊界,主要通過服務編排、流程編排、規則調整來實現業務變更和創新。
4.3 SOA集成建設
基于應用系統SOA服務建設完成后,要滿足應用系統之間的資源共享,還需要實現各應用系統SOA服務的交互與集成。
服務提供方的應用系統,通過其SOA架構服務接入層將需要共享的SOA服務注冊接入到集成層(企業信息集成平臺),由其他應用系統消費使用。
服務消費方的應用系統進行SOA服務集成時,首先在企業信息集成平臺中查詢,如現有服務已能滿足需求,可在平臺上發起服務消費申請,由平臺開放對應的服務權限,應用系統進行服務消費,完成系統集成工作。如現有服務不能滿足需求,應用系統消費方可根據自身的業務需求,利用平臺提供的工具,對服務的內容進行裁剪、組合、轉換,從而完成系統集成工作。
5 應用效果
通過對應用系統SOA架構的研究,構建出了完整的應用系統SOA架構模型和標準,為各應用系統SOA技術架構的建設提供了有力指導。
5.1 解決了信息孤島問題
統一了應用系統SOA技術架構,方便于應用系統間的信息交互。通過統一的5層SOA技術架構,經過標準的服務接入層,實現應用系統間的信息共享,解決了信息孤島的問題。
5.2 實現了人機交互方式集成
通過應用系統SOA技術架構服務接入層及企業信息集成平臺,無須代碼層次的人工參與,可通過人機交互方式(系統界面配置)靈活實現系統集成,降低系統二次開發成本,提高了集成效率。
5.3 實現了面向服務集成
各應用系統之間的集成,通過企業服務總線(企業信息集成平臺),以面向服務的方式進行系統集成,實現了應用系統的松耦合,加強了系統資源的復用性,在新增或變更集成時避免了重新開發、發布和部署。
5.4 統一了系統集成模式
各應用系統之間的集成,均通過各系統的服務接入層,對接到集成層(企業信息集成平臺),由集成層(企業信息集成平臺)統一進行復雜的數據、操作和協議的轉換,無須定制代碼和適配器。
6 結語
從本文的研究與實踐得出,企業級應用系統SOA架構建設改進了舊有的集成方式,降低了系統集成成本,提高了系統集成效率,可以靈活應對系統資源的共享需求,并且通過企業級應用系統SOA架構建設,落實了公司“十二五”規劃確定的SOA技術路線,打通了應用系統的信息孤島模式,為系統服務化提供了基本條件和技術支撐。
參考文獻
[1]Dirk Krafzig,Karl Banke,Dirk Slama.Enterprise SOA:Service-Oriented Architecture Best Practices[M].Prentice Hall,2004.
[2]顧春紅,于萬欽.面向服務的企業應用架構:SOA架構特色與全息視角[M].北京:電子工業出版社,2013.
[3]Sandy Carter.The New Language of Business:SOA & Web 2.0[M].IBM Press,2007.
作者簡介:黃嘉東,男,中國南方電網調峰調頻發電公司信息通信運維中心專責,中級工程師,碩士,研究方向:信息安全、企業級信息系統建設。
(責任編輯:蔣建華)