IT研究院

聯系我們

  • 總機電話:86-10-62431717
  • 業務電話:86-10-62431697
  • Email:suport@rayootech.com

一、GAP平台整體層次模型


GAP平台全稱是RayooTech Global Application Platform,是北京瑞友科技股份有限公司集多年應用開發實施經驗所提煉的企業級應用開發平台。致力于解決在大規模企業應用和互聯網應用開發過程中遇到的共性問題,提供了一套完整的技術環境和技術解決方案,主要功能包括基礎框架、業務引擎、快速開發工具和組件庫等,提高開發效率,增加軟件的復用度,提升企業的項目交付能力。

應用軟件開發領域隨著各學科與計算機科學不斷深入的交織發展,為我們展現出了越來越多的機遇,與此同時也為我們帶來了許多新的挑戰。一方面應用軟件的規模不斷膨脹、復雜度不斷提高、個性化要求不斷加強,另一方面用戶對應用軟件交付周期提出了越來越短的要求。正如汽車、家電等行業一樣,大規模的定制開發能力已經逐步成為企業核心的競爭力。

GAP平台針對當前軟件開發過程中的三個關鍵問題︰人員分工問題,軟件復用問題,快速開發問題提出了相應的解決方案。並通過對這些問題的解決來滿足用戶對軟件質量、開發周期等方面的要求。

GAP平台采取了輕量級的構建方法,組件式設計可以提高復用率和靈活性。核心架構控制在靈活輕量的規模內,以CBD(Component-Based Development) 的方式集成平台中的眾多組件,強調組件內部高內聚,組件間保持松耦合,各組件既能獨立運行,也可以插件的方式集成到個平台體系中。企業應用軟件的層次模型是整個GAP平台的核心基礎,我們依據技術相關度和業務相關度的強弱,將應用軟件劃分成了六個層次︰

技術環境
主要指異構的項目實施環境,由于瑞友科技提供的是個性化的IT服務而非標準化的產品,我們在項目開發、測試、實施的過程中必須面對各種各樣軟硬件環境,包括各種 服務器、操作系統、應用中間件、數據庫等。基于GAP平台構建的項目能夠保證項目可以運行在各種異構的技術環境中,目前GAP平台支持的操作系統有Windows Server、Aix、 Solaris、HP-Unix、Linux等,應用中間件有WebLogic、WebSphere、Sun APP Server、JBoss、Tomcat等,數據庫有Oracle、SQLServer、DB2等。

服務框架
是GAP平台的核心和基礎,它為構建上層應用系統提供各種基礎服務和擴展機制,
包括日志服務、緩存服務、異常處理、事務處理、集群支持策略、分布式調用、配置服 務、數據持久化、數據源服務、監控服務等,除此之外,服務框架層還集成了多個web 框架,包括struts和jsf ,

基于領域驅動思想提供了對JavaEE四層架構的支持︰
展現層︰提供完善的界面展示框架和豐富的界面控件,解釋來自UI層的命令
控制層︰用來協調應用活動,轉發請求,處理調用方式等,它不包含業務邏輯,它不持有業務對象的狀態
領域層︰本層包含關于領域的信息。這是業務軟件的核心所在。在這里保留業務對 象的狀態,對業務對象和它們狀態的持久化被委托給了持久化層。
持久化層︰本層作為其他層的支撐庫存在,它提供了數據對象之間的通信,實現對 業務對象的持久化,屏蔽數據存儲層的環境影響。

引擎、組件和工具
服務框架層之上是基本的業務支撐引擎、通用組件和快速開發工具,支撐引擎包括工作流引擎、規則引擎、全文檢索引擎、報表引擎,通用組件包括組織權限、工作流平 台、消息平台、接口服務平台、業務日志、任務調度、站內短信、預警平台、內容管理 等,快速開發工具包括GAP-IDE、項目管理器、代碼生成器、數據字典等,這一層的組 件把技術環境和具體業務邏輯進行了很好的隔離,在商業環境的運行規則發生改變的情況下,依然能保證整個系統的穩定性。

業務組件
業務組件與通用組件不同,業務組件層主要包含為解決企業特定業務職能而抽象的 業務模型及其實現。每個業務組件代表企業某個相對獨立業務或者業務鏈條,每個業務 組件都具備相關的領域知識,基于每個領域的成熟解決方案構建而成,這樣的業務組件不同于某個應用系統中簡單劃分的業務模塊,它是高度抽象化,高度可擴展的。目前我們規劃的領域主要包括金融領域業務組件、保險領域業務組件、物流領域業務組件。

業務套件
業務組件層之上是業務套件,業務套件的概念是由GAP平台項目創新性提出,它既 不是傳統意義上的標準化成品,也不是細粒度的業務組件和技術組件,而是粗粒度的業務組件集合,每個領域的業務套件基于GAP平台底層框架構建,選取通用組件,引擎和 該領域的業務組件進行擴展開發,形成一系列該領域的業務套件。業務套件可以理解為傳統意義上的準產品。

領域應用
領域應用層就是針對特定用戶特定項目進行的個性化項目開發,解決特定領域的應 用問題,領域應用層通常會依賴一個或多個業務套件,同時根據客戶的個性化需求還會使用到相關的業務組件、通用組件和支撐引擎。這是整個軟件結構中的最上層,它調用下面各個層次的服務,形成最終呈現給客戶優質的軟件產品。
六個層級自定向下依賴,形成一個完整的企業應用開發解決方案。
 

二、 GAP平台的技術架構


GAP平台所采用的技術全部遵循國際行業標準,JavaEE規範,WFMC, XML,Web Service,IOC,AOP,ORM等,具有良好的擴展性和技術先進性。
GAP平台采用了輕量級的構建方法,在POJO的基礎上,封裝了Spring,Struts和Hibernate, 實現了主框架平台、基于Eclipse插件方式的IDE平台、遵循國際標準WFMC的工作流系統、遵循JSR94規範的規則引擎,可靈活擴展組織權限系統、輔助項目應用的獨立組件庫等。

以下是基于Business Service的技術架構圖︰

從技術角度,我們完全面向Business Service編程,所有的服務以IOC的方式注入到系統中,同時提供各種接口方式進行訪問,包括直接引用Web Service 訪問,Rmi遠程調用,基于HttpInvoker的訪問,基于輕量級(hessian,burlap) remote的訪問等多種方式,可以支撐各種異構系統的集成。

以下是基于領域驅動的分層技術架構圖︰

View︰展示層,由于GAP平台主要面向B/S架構,展示層主要由web資源文件組成,包括JSP,JS和大量的界面控件,采用了AJAX技術,負責向用戶展現豐富的界面信息,並執行用戶的命令
Control︰控制層,負責展示層請求的轉發、調度和驗證,同時處理後台 返回的異常信息,同時控制層可以通過Action做遠程的請求
Domain︰領域層,是系統最為豐富的一層,主要負責處理整個系統的業 務邏輯。這一層主要包括上一章提到業務服務和領域模型,同時負責系 統的事務管理
Persistence︰持久化層,主要負責數據持久化,支持O/R Mapping和 JDBC,對數據源的訪問提供多種訪問方式。
另外,我們引入了Spring的IOC容器,系統的控制層、領域層和持久化層元素都有IOC容器統一管理,實現完全的接口分離和解耦。
 

三、 GAP平台的功能架構

 


整個GAP平台由以下幾部分組成︰
基礎框架,提供各種基礎服務,包括主框架,通用列表控件和性能監等統一的集成開發環境GAP IDE,在提供標準IDE開發調試功能的基礎上,又開發和集成了大量快速的開發和部署插件,以滿足業務開發人員的使用應用系統,包括工作流平台,組織權限系統,接口服務平台,消息平台、數據字典和數據交換平台組件庫,包括業務日志,規則引擎,WEB控件,全文檢索引擎,任務調度,報表工具,站內短信,論壇,Flex組件等
下面分別做簡要介紹︰

1、基礎框架︰
基礎框架是整個GAP平台的核心,為平台提供基礎的服務和架構維護。
首先,GAP主框架提供了對J2EE架構體系的支持︰
GAP Web View︰為Web頁面開發提供輔助。
GAP Web Framework︰為Web開發提供一套輔助框架。
GAP Business︰為業務層處理提供開發基礎和事務支持。
GAP DAO︰為數據持久化提供抽象化的處理。

其次,作為一個完善的應用開發平台,GAP主框架同時為開發提供了多樣的服務和擴展支持,包括︰日志服務、數據源服務、分布式緩存服務、分布式應用、集群部署、異常處理、事務處理、配置管理支持等等。

隨著互聯網技術的發展,我們發現企業應用不再局限在Intranet內部,企業應用系統的互聯網化趨勢越來越明顯。為了應對互聯網的需求和變化,我們對底層框架和前台的UI做了全面的改進,能夠支持多語種開發(默認支持中英文),支持多瀏覽器(IE、Firefox、Chrome、 Safari)。為了更好的滿足中小企業的數據存儲需求,GAP平台的最新版本除了支持原來的Oracle、SqlServer和DB2之外,增加了對開源數據庫 MySql的支持。

同時基礎框架還提供了基于事務腳本模式實現的單表和主子表應用,和基于領域驅動設計的網上書店應用。基礎框架中的性能監控模塊還可以對系統的界面訪問、方法訪問、SQL執行等方面進行監控,獲取性能信息,定義系統瓶頸。

2、統一的集成開發環境︰
GAP IDE開發環境是基于Eclipse插件技術構建的,在提供標準IDE開發調試功能的基礎上,又開發和集成了大量快速的開發和部署插件,以滿足業務開發人員的使用 GAP項目生成器和代碼生成器是作為插件集成到IDE工具中的,GAP項目生成器可以根據各項目需求靈活選擇功能組件和定義系統架構,GAP代碼生成器可以根據數據模型生成單表模式或多表模式完整框架代碼,包括view,action,business service,dao各個層次,實現了增刪改查翻頁等功能。

3、應用系統
應用系統主要指GAP平台中具備獨立的業務邏輯和完整功能的應用,能夠完整的解決某一領域的問題,具體包括組織權限系統、工作流平台、數據字典、服務平台、消息平台和數據交換平台等。

組織權限系統︰實現了企業級組織機構管理和權限管理的可復用應用系統。它實現了企業管理軟件系統中常用的系統管理功能,包括組織機構和人員的管理、用戶管理、角色管理、權限管理和菜單管理等,可以與 現有的應用軟件系統進行快速無縫的集成,使得項目開發人員可以根據項目的業務需求,不用編碼或者少量編碼,就能快速地實現一整套的組織機構和權限管理的功能。

工作流平台︰工作流平台是基于WFMC規範的業務流程管理系統,專注于各類企業級應用中業務流程的建模。提供可視化在線流程設計和表單設計功能夠快速、靈活、可靠的支撐企業內部的業務流程管理和再造,使項目開發人員可以根據項目的業務需求,不用編碼或者少量編碼,通過可視化建模的方式,就能快速生成一個可運行的管理系統。

數據字典︰數據字典組件包含三方面的內容︰元數據管理、基礎數據管理、控制數據管理。元數據管理,是對于數據庫表、數據庫列、表間關系的管理,可以實現動態修改數據結構而不需要改動程序;基礎數據管理可以保證數據的一致性、準確性,並且有利于多個系統間的數據交換;控制數據管理包括界面定制、界面解析等內容,方便用戶的界面自定義。

服務平台︰服務平台基于SOA思想構建,其核心是業務服務(BusinessService)。主要提供業務服務的注冊和消費功能,把基礎框架,組件庫和業務系統開發的各種業務功能注冊為一個 Service (服務),服務方式可以是Web Service、HttpInvoke、Rmi或MQ,同時提供對服務的管理,可以方便的集成其他系統的標準服務。通過對服務層的管理,使得在GAP平台上構建業務應用時變得更加靈活,同時能夠更快的響應不斷變化的業務需求和業務整合。

消息平台︰消息平台是基于JMS規範的消息中間件,實現了分布式的數據交換和消息傳遞。主要解決企業應用系統之間的信息共享,提供標準的產生、發送、接收消息的接口,簡化企業應用的開發。

預警平台︰預警平台的功能是對企業信息流轉過程中出現的重大問題進行預警,例如對在某個條件下將要發生的事件(事前預告),或者正在發生(事中防範)和已經發生的重大事件(事後警告)給出預警信息,以便于企業管理者對重大事件或者例外事件進行及時的管控,幫助企業優化內部流程。

數據交換平台︰在客戶的信息化建設過程中,由于諸多因素的影響,各個項目通常是自治的、異構的,數據可能存放于數據庫、文本文件、XML文件,甚至普通文件中,無法進行合理、有效的溝通,形成一座座的“信息孤島”。數據交換平台通過在不同系統間提供數據交流、轉換,從而達到數據資料共享,將這些“孤島”有機地串連在一起,充分發揮其效能。

4、組件庫   
整個平台框架是基于組件設計的,所以組件庫中的組件都可以通過構建工具 ANT加載到已有項目中,或者通過項目生成器自動加載和裝配組合,各組件之間高度松耦合。組件列表如下︰

業務日志︰提供了企業管理業務系統中常用業務日志管理功能,通過配置可以實現同步或異步,編碼和申明的方式記錄業務日志等。

規則引擎︰實現了數據同邏輯的完全解耦,把可抽去的易變更的業務邏輯通過配置文件統一管理,讓它們能在運行時可以動態地管理和修改。

全文檢索︰按照全文檢索理論構建的用于提供全文檢索服務的系統組件。 全文檢索具備建立索引和提供查詢的基本功能,此外還提供方便的用戶 接口面向web的開發接口、二次應用開發接口,目前已經完成針對各類型文件和數據庫大字段的全文檢索服務,後續會涉及網絡數據抓取的全文檢索功能。

任務調度︰任務調度通常是為了應對管理維護人員需求,從而更好的實 現對用戶任務的管理,基本的任務調度功能是實現周期性的有規律操作。 利用任務調度程序,管理維護人員可以快捷的設置要完成的工作、指定 什麼時候完成該工作,並可以通過任務管理器監測該工作的完成情況, 以便能實時進行業務調整。管理維護人員甚至可以控制分配給其所調度的任務的數據庫資源和優先級,以確保首先完成最重要的工作,而不會對其它系統的活動產生不可預料的影響。任務調度主要包括︰任務調度 控制台,作業管理,作業組管理,觸發器管理,日志管理等。

報表管理︰報表設計器,報表引擎,報表模板管理(9種常用報表模型), 報表打印導出,在能夠支撐通用報表開發之後,後續會涉及商業智能領域,包括數據挖掘,數據分析,數據交換等。

AJAX控件︰是基于RIA (富互聯網應用系統)技術構建的界面展示控件。 實現數據和表現層的真正分離,增加客戶體驗,縮短響應時間,減輕網絡負荷,主要功能包括︰後台數據驗證、錄入幫助-Google的下拉搜索菜單、級聯菜單、動態樹編輯-Windows資源管理器、局部刷新、拖拽、反向推-拍賣系統、多種類型的單表和主子表AJAX實現等。

Flex控件︰是一套基于RIA技術的Web應用,主要用于前端界面的展現, 提供Flex示例和Flex Component兩部分支持。Flex示例提供一些Flex應 用Demo,幫助開發人員了解Flex;Flex Component會提供給開發人員 經過功能封裝的Flex的控件,可以通過Flash Builder IDE拖拽使用,或 都在編寫ActionScript時調用這些已定義的控件。

站內短信︰提供了企業內部網絡的短消息發送和離線接收功能,主要功能包括收件箱、發件箱、新消息、發消息、消息管理和消息輪詢配置、消息顯示方式配置等,並提供了二次開發接口和MSN消息集成的示例,方便擴展。

論壇︰提供了主流論壇的所有功能,同時還支持支持獨立部署與集成部 署兩種方式,支持多種用戶登錄驗證方式。獨立部署時采用獨立驗證方 式,論壇組件作為獨立應用時自己進行用戶驗證;集成部署時采用GAP平台驗證方式,論壇組件作為組件可以使用GAP平台本身的用戶信息和用戶驗證功能;LDAP服務器驗證方式,論壇組件可以支持LDAP服務器的用戶信息驗證。

JSF控件︰JSF是一款MVC結構的WEB開發框架。對比其它WEB框架,它有 著自己獨特的特點和開發方式,在某些應用領域里有著獨特的優勢和開發效率。伴隨著IDE的支持也帶來了有著CS架構的開發體驗,頁面組件化,事件驅動,EL表達式等這些特性使快速開發成為可能。GAP-JSF控件將提供這樣的開發方式,以滿足不同項目的開發需求,該組件基于MyFaces1.1 和Tomahawk1.1實現,提供了部分基類簡化操作,同時提供了一個具有列表控件特征的示例。
 

四、總結

面向企業和互聯網應用的開發平台是IT服務的基礎,也是未來的發展趨勢, 瑞友科技自成立以來始終堅持科技創新,自主研發的路線,到目前為止形成了以軟件平台技術為基礎的核心競爭力。基于該平台,可有效促進外包服務企業承接個性化IT服務項目,降低軟件外包服務企業的入門門檻的技術難度。未來GAP平台將延展到企業移動應用終端和私有雲領域,為企業用戶提供全方位服務︰Anytime,Anywhere,Any Device!


 


如果你對IT服務產品感興趣或想進一步了解相關資料,請與瑞友科技服務產品推廣部聯系,

電話︰010-62431697    Email︰pengliang@rayootech.com



 

id pro maxwin | 下一页