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

通用企業(yè)應(yīng)用平臺(tái)UniEAP

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

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

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

?

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


特性?

說(shuō)明?

對(duì)象的批量操作?

可一次讀取、修改、刪除多個(gè)對(duì)象。?

對(duì)象的級(jí)聯(lián)操作?

在對(duì)主對(duì)象進(jìn)行讀取、刪除、復(fù)制等操作時(shí),可以自動(dòng)對(duì)與它相關(guān)聯(lián)的對(duì)象進(jìn)行相應(yīng)的操作。?

事務(wù)處理能力?

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

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

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

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

在同一個(gè)系統(tǒng)中,可以同時(shí)訪問(wèn)不同的數(shù)據(jù)源,各個(gè)對(duì)象可以來(lái)自不同的數(shù)據(jù)源。?

連接池管理?

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

業(yè)務(wù)對(duì)象可定制性?

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

擴(kuò)展性?

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


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

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

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

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