陳月
(河北省電子信息技術研究院,河北石家莊050071)
當前,計算機硬件高速發展,進入大規模流水線生產階段,但相應的軟件開發卻苦于沒有公共平臺,還處于小作坊生產階段,成為了掣肘計算機發展的一大難題。因為沒有統一平臺標準,軟件開發成本日益增長,后期維護更加困難,開發進度難以掌握。為緩解這一矛盾,文章嘗試用SOA(面向服務)架構對軟件開發服務平臺進行設計。
面向服務架構能夠對現有資源進行重新整合,具有高抽象性與高靈活性,對開發軟件的企業或者軟件需求客戶的資源整合有著極大的優勢。
SOA架構為企業開發軟件提供了一個更加靈活的解決方法,使軟件規模生產、標準接口統一都的到革命性變革,其特點主要有:
(1)跨平臺語言的重用性。SOA架構由一系列交互的服務組成,在開發軟件時由搜索引擎調用相應服務即可,這樣就屏蔽了不同平臺、不同編程語言,不同操作系統間的差異,減少對具體細節的關注,松散軟件開發者與系統間的耦合關系。
(2)良好的維護伸縮性。開發企業可以通過調整服務內部程序語言以調整服務的功能,也可以調整服務間的結構,先后順序,來實現新的功能,在軟件出現問題時可以針對具體服務模塊調整內部程序,具有良好的可維護性。
(3)層次效率更加高效。SOA架構將開發軟件企業技術人員分為幾個層次,結構開發人員只注重將不同服務進行各種組合以實現各種功能,服務開發人員只注重開發滿足特定功能的程序開發。而且服務開發工作重復率是很低的。
SOA架構不需要重新開發各服務,對不同功能的系統只需調整不同的服務,開發一種新的結構即可,相對于以前開發一個系統節省了人力物力財力,更重的是節省了時間。
(1)服務架構商品化。面型服務架構軟件開發平臺不僅服務可以封裝,其實現某種功能的結構也可構成一個組件,形成基礎架構,這樣的組件,架構集合可以作為一種商品化元素來加以考慮。
(2)速度快,成本低。SOA架構的核心資產就是服務構成的服務庫,每面對一項新任務,新功能,開發者只需對現有結構進行創造性重用即可,從而大大縮短了軟件的開發時間與成本。加快軟件開發與上市速度。
區別于傳統的企業架構,SOA架構中出現了一個新的構成—服務層,服務層有各種功能的服務組成。平臺由三部分組成,自上而下分別是應用系統,服務引擎單元,異構數據連接中間件。其共性模塊就是服務層,服務層實現相同的功能,可以在不同的平臺數據庫使用,但實現的功能都是一樣的。
服務層是SOA架構的共性模塊,可以處理跨語言、跨平臺、跨操作系統的業務邏輯,服務引擎主要作用是對服務進行協調與管理。在搭建開發平臺時,要遵守J2EE的相關技術和基于XML的Web服務標準。
(1)服務的種類和特征
服務的種類從SOA架構平臺設計思想與用戶需求方面考慮,可以根據粒度分為兩級:
1)應用服務:指的是為完成功能實現調用的各個服務總稱,應用服務專業性比較強,更能夠吸引開發者,給客戶帶來樂趣。
2)基礎服務:指的是在各個平臺,網際間可以來回調用,利用率比較高,具有良好的兼容性,松耦合性。具有透明的搜索和查詢功能。
(2)服務引擎的功能
1)管理服務:服務的管理中最重要的就是服務的接口定義與接口行為定義,只有標準化的接口定義才會有正常跨平臺調用的服務模塊,服務包括行為約束,質量描述,功能等一并封裝在XML文件里。
2)準確定位功能的位置,管理功能模塊,控制服務尋址。URL尋址和DNS基礎架構可以提供這部分功能。
3)服務的調用派送:ServiceDispatcher.java類接口可以再平臺中實現,開發者可以在引擎搜索服務后,根據服務的功能與描述信息來決定是否調用。
(3)服務引擎的設計與實現
根據引擎的功能需求,服務的派送引擎由SevriceDispatcher實現,服務的重用由DispatchContext實現,服務的定義由Set-viceDef?inition實現,服務的調用由Sen,iceEngine與JobSched-uler共同實現。
實體引擎:完成服務的定義、維護、通用操作的開發工作,對現實中的功能描述進行建模。
消息引擎:該引擎屬于異步集成,主要把J2EE應用程序與非J2EE環境集成在一起,屬于松散耦合特點,建立在標準API的基礎之上。
規則引擎:將服務的調用,重用規則編輯成冊,封裝在規則中,根據規則進行決策。
工作流引擎:工作流就是軟件開發過程中的計算機實現過程,主要有功能過程名稱的定義、功能的執行,接口實現,過程監控管理與日志記錄等功能。
異構數據庫連接中間件:為方便不同數據庫間的訪問讀取數據,設計中間件利用數據類型知識庫提供接口,完成不同數據庫的統一操作。
相關功能服務:其他與軟件功能有關,但不是自開發的服務組件和中間件也可以納入系統架構中來。
基于SOA架構的開發公共軟件平臺可以為企業開發軟件提供基礎服務,其作為一種全新體系架構,具有標準接口與松耦合特點,有著重要的理論價值,隨著平臺不斷完善,在不久必將會成規模發展開來,實現更大價值。
[1]互聯網標準開放實驗.SOA標準體系[R].北京:中國電子技術標準化研究所,2008
[2]中國電子技術標準化研究所.SOA用戶指南[M].北京:電子工業出版社,2008:6-7
[3]毛新生.SOA:原理*方法*實踐.北京:電子工業出版社,2007:56-62
[4]蔣哲遠,韓江洪,王釗.面向Web服務的ERP協同集成框架研究[J].計算機工程與應用,2005,41(16):24-28
[5]Andy Zeneski,jaz@ofbiz.org.The Open For Business Project Service Engine Guide[EB/OL].http://incubator.Apache.org/ofbiz/docs/services.html,2007