《電子技術應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 通用企業(yè)應用平臺UniEAP

通用企業(yè)應用平臺UniEAP

2008-12-29
作者:趙永生,趙大哲,邸曉明
1 背景及目標
??? 近年來,IT行業(yè)技術方向變幻莫測,技術發(fā)展一日千里,能正確理解技術、運用技術為企業(yè)構建解決方案的人員為數(shù)不多,而在實際的項目的需求中又要求在盡可能短的時間內滿足用戶的復雜需求,這樣導致一個應用系統(tǒng)" title="應用系統(tǒng)">應用系統(tǒng)很難在效率、穩(wěn)定性、易維護性方面取得最佳平衡。UniEAP正是基于這樣一種考慮而構建的一個基于Web等多種接入方式的三層結構的分布式對象模型系統(tǒng)。我們的目標是,使應用系統(tǒng)的設計和開發(fā)人員從激烈變化的“技術洪水”中解放出來,避免重復性的勞動,避免不必要的代碼維護和升級,集中精力了解用戶需求,搞好業(yè)務系統(tǒng)的設計和開發(fā)。
??? J2EE作為企業(yè)級應用的完整解決方案,為應用系統(tǒng)提供了跨平臺的可移植性, 開放性和可擴展性,同時也為創(chuàng)建Internet和n-tier應用提供了底層的技術架構。因此,J2EE在企業(yè)高端解決方案中有著廣泛的應用。但是,Java和J2EE也并不是“銀彈”,在不理解或者沒有經(jīng)驗的情況下,有可能錯誤的使用并構造帶有很多問題的應用,這將是一個災難。
??? UniEAP平臺面向業(yè)務,為應用系統(tǒng)提供一個滿足需求的分布式企業(yè)核心應用支撐平臺,保證安全高速地開發(fā)系統(tǒng),平臺的開發(fā)遵循業(yè)界標準,具有擴展(開放)性強、高強壯性、高穩(wěn)定性,屏蔽業(yè)務開發(fā)人員對基礎技術的了解,促進業(yè)務模塊的再利用,能針對用戶需求在多種環(huán)境下應用。面向未來,UniEAP平臺同時保證:技術的變化不會影響業(yè)務模型,業(yè)務的變化通過對系統(tǒng)的配置來實現(xiàn)。
2 體系結構及特點
體系架構
:UniEAP在J2EE的基礎上采用分布式體系結構技術,大大減小了項目的實施成本。平臺采用的多應用支持技術、Web事件機制、對象持久化技術、負載均衡" title="負載均衡">負載均衡等技術,大大增加了平臺的可配置性,可擴展性。同時,UniEAP平臺支持主流應用服務器" title="應用服務器">應用服務器和中間件產(chǎn)品,具有開發(fā)周期短,質量高的特點。它是一個支持B/S模式應用開發(fā)的通用框架和平臺,運行在J2EE兼容的應用服務器之上。

.UI管理層是基于WebServer和Servlet來實現(xiàn)的??蛻舳说恼埱笸ㄟ^Web協(xié)議傳給服務器端的WebServer, WebServer再將其中的Servlet請求傳給Servlet 容器, Servlet容器再調用UniEAP的入口Servlet,即各種Listener, Listner再將各類請求轉變?yōu)榻y(tǒng)一的UniEAP支持的事件格式,傳遞給事件響應和處理系統(tǒng),由該機構根據(jù)事件的接受者找到相應的UIM層的窗口對象,再將請求交由該對象來處理。
.業(yè)務層的業(yè)務組件根據(jù)需要調用對象持久化層的數(shù)據(jù)訪問接口訪問數(shù)據(jù)。
.對象持久化層提供一組訪問數(shù)據(jù)庫的標準接口,用于存儲指定的業(yè)務數(shù)據(jù)。
.Listener,處理各種終端協(xié)議的機構,同時產(chǎn)生統(tǒng)一的事件。
.Translator,將業(yè)務處理的結果,轉換為各種終端支持的結果后傳遞給終端。

??? UniEAP的對象關系模型(請見圖2)形象地描述了其對象間的關系,UniEAP平臺的設計是分層的,層與層之間通過接口進行調用;同時在各層內又都是面向對象的,各層負責管理自已的對象,而對象與對象之間又是互相關聯(lián)的,這種關聯(lián)關系將各層的對象貫穿在一起,而OP層不但將各對象的屬性持久化到數(shù)據(jù)庫,同時也持久化了對象間的關系,從而使整個系統(tǒng)成為一個基于對象的,可配置的,靈活的應用系統(tǒng)。
??? 從圖2可以看出,BO對象是系統(tǒng)的核心,向下,BO的屬性與數(shù)據(jù)庫中一個或多個表的字段對應;向上,BO的屬性通過Panel來顯示。

?

界面層:UniEAP界面成采用了J2EE的JSP和Servlet的技術。平臺定義了系統(tǒng)的界面模型,它是對實際用戶界面的抽象,界面模型如右圖所示。其中:
Panel:用戶界面元素的容器,是用戶與系統(tǒng)交互的基本單元;
View:應用系統(tǒng)業(yè)務組件的視圖,是界面上相關Panel的容器;
Child Menu:相關View之間的導航工具,每個菜單項與一個View對應,用于在某個功能組的各子模塊間導航,每個功能子模塊都與一個View相對應;
Root Menu:應用系統(tǒng)不同功能組之間的導航工具,用于在應用的Child Menu間導航;
Application:一個應用系統(tǒng)的完整表現(xiàn),是Root Menu、Chile Menu和View等界面組件的容器。
業(yè)務層:UniEAP定義了平臺的業(yè)務模型組件規(guī)范,描述為Business Object,以下簡稱BO。我們需要將業(yè)務邏輯、數(shù)據(jù)等包裝成商業(yè)對象BO,并利用BOMA(通過工作流技術把多個BO和一些人的活動連接成相對復雜的商業(yè)對象)來完成復雜業(yè)務。業(yè)務層主要功能包括負載均衡,調用代理自動生成,業(yè)務對象生存期管理。
數(shù)據(jù)層:數(shù)據(jù)層是對應用數(shù)據(jù)源的訪問功能的一種抽象,數(shù)據(jù)層支持以下特性。在實現(xiàn)上采用了采用的J2EE的JDBC和JCA等技術。


特性?

說明?

對象的批量操作?

可一次讀取、修改、刪除多個對象。?

對象的級聯(lián)操作?

在對主對象進行讀取、刪除、復制等操作時,可以自動對與它相關聯(lián)的對象進行相應的操作。?

事務處理能力?

提供統(tǒng)一的基于J2EE的分布式事務處理功能。?

支持多種數(shù)據(jù)庫?

可以支持目前比較流行的幾種關系數(shù)據(jù)庫系統(tǒng)。?

支持多個數(shù)據(jù)源?

在同一個系統(tǒng)中,可以同時訪問不同的數(shù)據(jù)源,各個對象可以來自不同的數(shù)據(jù)源。?

連接池管理?

數(shù)據(jù)庫連接的共享資源池管理能力。?

業(yè)務對象可定制性?

在系統(tǒng)運行期增加業(yè)務對象的定義和修改業(yè)務對象的屬性。?

擴展性?

允許二次開發(fā)商提供特殊的Persistence訪問類。?


產(chǎn)品特點:
分布式體系架構:UniEAP采用分布、并行的處理方式,大大減小平臺的實施成本;
支持多應用開發(fā):UniEAP平臺支持在一個Web應用下構造多個業(yè)務應用的概念;并且不同的業(yè)務應用擁有屬于自已的資源(包括界面資源和業(yè)務對象資源和數(shù)據(jù)源);
負載均衡技術:UniEAP的業(yè)務對象支持多種訪問方式(如本地、J2EE的RMI、SOAP等),支持分布式調用。當具體調用發(fā)生時,由調度管理器決定調用的目標,達到負載均衡的目的;
遵循業(yè)界標準:為了保證系統(tǒng)的良好開放性及代碼復用率,整個UniEAP的開發(fā)遵循如下業(yè)界標準:JAVA 1.3/1.4, JSP 1.0/1.1, Servlet 2.2/2.3, XML 2.0, EJB 2.0, JDBC2.0,SOAP1.1;

Web事件響應機制:提供Web請求的事件響應機制,簡化Web應用的開發(fā);事件主要發(fā)生在Application,Menu,View,Panel上,其中尤其以Panel上的事件最復雜。右圖給出事件傳遞及轉換的一個圖形表示:
支持主流應用服務器、中間件產(chǎn)品和數(shù)據(jù)庫:BEA? Weblogic/Tuxdeo,IBM?? Websphere/CICS,Tomcat, Oracle,SyBase,…
提供大量的功能組件:包括工作流,日志,異常處理" title="異常處理">異常處理,打印,報表等。
UniEAP平臺功能介紹
可外掛式組織機構:UniEAP 支持外掛式組織機構模塊功能,即不僅可以使用 UniEAP 提供的組織機構模塊,也可以根據(jù)開發(fā)者自身的需要,按照約定的接口規(guī)范,自己重寫一套組織機構處理模塊。這一功能,為復用舊有系統(tǒng)中組織機構信息提供了方便。
??? 分布式事務支持:UniEAP 提供對分布式事務的支持,極大簡化二次開發(fā)者進行分布式事務處理的工作量。它使得對我們以統(tǒng)一的方式和配置的方法來處理分布式事務。
分級日志管理:UniEAP 提供了一套完整的可配置可擴展的日志輸出機制,可根據(jù)不同的類定義不同的日志輸出類型,每一種輸出類型規(guī)定了日志輸出的特定形式,包括輸出介質、輸出格式、優(yōu)先級別等幾個方面。優(yōu)先級別包括由低到高的五個級別:DEBUG、INFO、WARN、ERROR和FATAL,用于描述日志的重要程度。有五種方法來輸出日志信息,分別對應以上的五個級別。當輸出方法的級別大于等于日志類型的級別時,該日志信息被輸出,否則被屏蔽。
通用異??刂葡到y(tǒng):英文“Universal Exception Control System”,簡稱為UniECS。
??? 主要有以下幾個功能:
統(tǒng)一的異常處理模式:在每一個catch塊中只需調用相同或相似的語句來處理異常。
不同的類、不同的方法可以選擇不同的處理方案:UniECS有幾種缺省的異常處理方案,用戶也可以自定義異常處理方案。每一種異常處理方案都有一個唯一的用來標識的方案碼。在配置文件中,可以對不同的類、不同的方法設定采用不同的方案碼,以表示對他們采用不同的異常處理方案。
可自定義異常輸出方案:用戶可以舍棄UniECS缺省的采用Log4j的異常信息輸出方式,而自定義類實現(xiàn)ExcLog來進行異常輸出。
多業(yè)務" title="多業(yè)務">多業(yè)務應用的支持:用戶通過使用UniEAP,可以建立多業(yè)務應用,并且時多個業(yè)務應用允許在同一個Web服務上。用戶可以通過配置工具管理各個業(yè)務應用的運行狀態(tài),并且當應用狀態(tài)改變時會自動的釋放相應占用的各種資源。不同的業(yè)務應用可以根據(jù)需要創(chuàng)建自己的Panel、BO以及基于UniEAP的各種資源。
權限管理:包括模塊級的權限管理(Rolesbility)、數(shù)據(jù)級的權限管理(Visibility)、操作級的權限管理(Operationbility)三方面。其中:
Rolesbility對用戶所能訪問的菜單和視圖導航條進行限制,達到模塊級控制。
Visibility對用戶所能訪問的視圖的記錄集進行限制,達到數(shù)據(jù)級的控制。
Operationbility對用戶所能接觸的操作界面進行限制,從而達到操作級的權限控制。
配置工具:“UniEAP配置工具”是UniEAP系統(tǒng)的輔助開發(fā)工具,她通過友善的界面與完整的功能使用戶能夠在一個統(tǒng)一的模式下輕松的對企業(yè)的應用進行配置。典型的界面如下:

?? “UniEAP工作臺”工具具有以下特點:1)配置的集成度高;2)支持多應用的定制;3)支持各種界面組件的可視化配置;4)支持數(shù)據(jù)源的定制;5)提供組織機構配置和權限配置;6)支持遠程配置服務器的自動查找和配置正確性檢驗;7)采用純Java技術開發(fā),不受開發(fā)平臺和系統(tǒng)語言環(huán)境的限制,可以應用在多種開發(fā)平臺并支持多語言環(huán)境。

總結
??? J2EE的廣泛應用已經(jīng)使得眾多用戶受益,在J2EE的基礎上,UniEAP平臺的產(chǎn)生,更加加快了企業(yè)級應用系統(tǒng)的構建過程,并使得系統(tǒng)質量進一步提升。
??? 目前,UniEAP的用戶已分布在很多應用領域,包括:上海通用汽車客服中心,海爾綜合信息系統(tǒng)及客服中心,華夏基金網(wǎng)上交易系統(tǒng),安徽煙草管理系統(tǒng)、南海社保、遼寧聯(lián)通、山西聯(lián)通、安徽聯(lián)通客戶服務中心等,并逐漸向關鍵業(yè)務領域滲透。

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。