




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、業(yè)務(wù)建模和Web環(huán)境下的驅(qū)動方法一、介紹近年來,管理信息系統(tǒng)的開發(fā)已經(jīng)從基于4GL開發(fā)環(huán)境的編碼實(shí)現(xiàn),逐步轉(zhuǎn)向基于業(yè)務(wù)基礎(chǔ)平臺的“快速構(gòu)建、隨需應(yīng)變”,即采用業(yè)務(wù)建模平臺對業(yè)務(wù)建模,然后通過模型驅(qū)動引擎對所建立的模型進(jìn)行解釋,將其“解釋”成相應(yīng)的業(yè)務(wù)應(yīng)用系統(tǒng),包括業(yè)務(wù)處理頁面、業(yè)務(wù)流程和處理規(guī)則等。業(yè)務(wù)的分析和建模通常由系統(tǒng)分析員采用CASE工具來做,其成果用UML表達(dá)。雖然模型驅(qū)動的架構(gòu)(Model-driven Architecture,MDA)仍然是軟件行業(yè)的一個研究熱點(diǎn),但至今尚沒有成熟的CASE平臺或工具能夠把UML模型自動轉(zhuǎn)變?yōu)閼?yīng)用軟件,其主要的原因可能在于UML語言對于應(yīng)用軟件的
2、刻畫尚難以達(dá)到類似程序語言的細(xì)致、準(zhǔn)確程度。一種變通的做法,也是目前軟件行業(yè)流行的做法是:在可視化的模型構(gòu)建或轉(zhuǎn)換工具的支持下,在系統(tǒng)分析員的指導(dǎo)下,由系統(tǒng)構(gòu)建人員把UML業(yè)務(wù)模型轉(zhuǎn)換為可被業(yè)務(wù)驅(qū)動引擎準(zhǔn)確理解的業(yè)務(wù)模型,這種業(yè)務(wù)模型的元素通常采用XML元數(shù)據(jù)來描述。這是一個通過手工或半自動化方式,對UML業(yè)務(wù)模型進(jìn)行理解、補(bǔ)充,使之轉(zhuǎn)換為XML元數(shù)據(jù)模型的過程。該過程要確保后者能夠以XML方式,精確地刻畫出完整的業(yè)務(wù)。在這個過程中,針對業(yè)務(wù)的個性化需求,可能需要對XML標(biāo)簽及其相應(yīng)的驅(qū)動方式進(jìn)行編程式的擴(kuò)展。在定義良好的業(yè)務(wù)元數(shù)據(jù)定義模式(XML Schema Definition,XSD)
3、的支持下,編程擴(kuò)展的工作量可以顯著減少,從而降低應(yīng)用軟件開發(fā)的復(fù)雜度。本文介紹一種采用UML工具對業(yè)務(wù)進(jìn)行分析建模,然后使用可視化的業(yè)務(wù)建模工具把UML模型轉(zhuǎn)變?yōu)閄ML模型,最后采用J2EE技術(shù)把XML模型驅(qū)動為富客戶端(RIA)Web應(yīng)用的完整過程。二、業(yè)務(wù)分析在完成業(yè)務(wù)調(diào)研后,由系統(tǒng)分析員采用面向?qū)ο蠓治觯∣bject-Oriented Analysis,OOA)方法,對所獲取的調(diào)研資料進(jìn)行分析,使用CASE工具和UML語言,建立業(yè)務(wù)邏輯模型。這里,我們所采用的CASE工具為Sparx systems公司的Enterprise Architect(簡稱EA)軟件,把業(yè)務(wù)模型描述為業(yè)務(wù)用例、
4、系統(tǒng)用例和領(lǐng)域模型等三個主要組成部分。1、業(yè)務(wù)用例業(yè)務(wù)用例的描述包括采用UML表達(dá)的業(yè)務(wù)用例圖、業(yè)務(wù)流程圖,以及采用Word或Excel等其他文檔表達(dá)的業(yè)務(wù)表單、業(yè)務(wù)報(bào)表和其他業(yè)務(wù)資料等。以某省國土資源廳土地利用規(guī)劃業(yè)務(wù)分析為例:首先找出該項(xiàng)業(yè)務(wù)包括申請規(guī)劃修編、申請規(guī)劃局部修改和申請年度計(jì)劃追加三個業(yè)務(wù),其業(yè)務(wù)用例如圖1所示。圖1 省廳土地利用規(guī)劃業(yè)務(wù)用例圖其中,申請規(guī)劃業(yè)務(wù)局部修改的業(yè)務(wù)流程如圖2所示。該流程是一個復(fù)雜的工作流,其中包含很多環(huán)節(jié),在業(yè)務(wù)分析時,可以將其拆解為不同的業(yè)務(wù)子流程,并采用UML時序圖,對各個業(yè)務(wù)子流程進(jìn)行建模,如圖3所示。在業(yè)務(wù)流程的每一個環(huán)節(jié),必須明確辦理人、需
5、要使用的表單、需要查看的業(yè)務(wù)材料、以及需要打印出來的表單等,此處不作示例。在獲得上述所有資料后,可以說對業(yè)務(wù)流程有了初步的了解,建立了能夠反映用戶業(yè)務(wù)處理過程的業(yè)務(wù)模型。圖2 申請規(guī)劃業(yè)務(wù)局部修改流程圖3 用UML時序圖表示的業(yè)務(wù)流程圖2、系統(tǒng)用例在獲得業(yè)務(wù)流程的UML時序圖后,就可以在時序圖中引入信息系統(tǒng)對象,分析信息系統(tǒng)對業(yè)務(wù)流程的影響,找到哪些事情可以由信息系統(tǒng)承擔(dān),這些由信息系統(tǒng)承擔(dān)的事情及其應(yīng)用場景即是系統(tǒng)用例。這樣,通過對所有業(yè)務(wù)用例的分析就可以找到所有的系統(tǒng)用例,圖4所示的是土地利用規(guī)劃的公共系統(tǒng)用例圖。圖4 系統(tǒng)用例圖系統(tǒng)用例是用于描述系統(tǒng)功能性需求的主要方式,因此,除系統(tǒng)用例
6、圖外,還要編寫每一個系統(tǒng)用例的規(guī)約,根據(jù)用例規(guī)約,以MVC模式,對系統(tǒng)用例進(jìn)行魯棒性分析,以找出支持系統(tǒng)用例的界面類、控制類和實(shí)體類,其中的實(shí)體類及其關(guān)系便組成系統(tǒng)的領(lǐng)域模型,它是進(jìn)行系統(tǒng)軟件類設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)的根模型。3、領(lǐng)域模型如上所述,把系統(tǒng)用例中的實(shí)體類,以及系統(tǒng)分析員所了解到的與行業(yè)應(yīng)用相關(guān)的名詞、術(shù)語收集起來,明確其相互之間的關(guān)系,就形成系統(tǒng)的領(lǐng)域模型,如圖5所示。圖5 系統(tǒng)領(lǐng)域模型三、業(yè)務(wù)構(gòu)建為了把UML業(yè)務(wù)模型轉(zhuǎn)變?yōu)閼?yīng)用軟件系統(tǒng),接下來要做的工作就是通過人機(jī)交互,使用可視化的業(yè)務(wù)構(gòu)建工具,把UML模型構(gòu)建為XML元數(shù)據(jù)模型。1、可視化的業(yè)務(wù)構(gòu)建工具業(yè)務(wù)構(gòu)建工具提供業(yè)務(wù)模型所涉及
7、的業(yè)務(wù)角色、流程、表單、報(bào)表、業(yè)務(wù)材料和業(yè)務(wù)應(yīng)用等各種業(yè)務(wù)元素的構(gòu)建支持,雖然各種業(yè)務(wù)元素在表現(xiàn)形式上有很大的差異,但其保存格式都采用XML元數(shù)據(jù)描述。為了能夠精細(xì)地描述出各類業(yè)務(wù)元素,就必須針對不同的業(yè)務(wù)元素,定義與其相關(guān)的XSD。圖6、圖7、圖8分別是業(yè)務(wù)構(gòu)建工具中工作流構(gòu)建、表單構(gòu)建和打印表單構(gòu)建的操作界面。圖6 業(yè)務(wù)流程構(gòu)建工具圖7 表單構(gòu)建工具圖8 打印報(bào)表構(gòu)建工具2、XML表達(dá)的業(yè)務(wù)元素上述構(gòu)建工具構(gòu)建所獲得的業(yè)務(wù)元素通過XML來描述。為此,必須針對業(yè)務(wù)建模要求,定義用于描述各種業(yè)務(wù)元素細(xì)節(jié)的XML標(biāo)簽(即XSD)。圖9是表單XSD的結(jié)構(gòu)化顯示,其中包括表單所支持的各種控件定義,如
8、文本框、列表框、多選框、單選框、組合面板等,每一種控件都可以定義其坐標(biāo)位置、長、寬、顯示文字和其他屬性。圖9 用于表單定義的XSD結(jié)構(gòu)圖(部分)符合上述XSD所構(gòu)建出來的表單XML文件示例如圖10所示。圖10 用XML描述的表單(局部)按照此XML定義,相應(yīng)的表單界面如圖11所示。圖11 XML定義的表單界面示例構(gòu)建工具除了定義業(yè)務(wù)元素的展現(xiàn)方式外,還必須定義與業(yè)務(wù)元素綁定的業(yè)務(wù)數(shù)據(jù)包,這個業(yè)務(wù)數(shù)據(jù)包也被稱為業(yè)務(wù)數(shù)據(jù)對象(Business Data Object,BDO),它是由許多更基本的邏輯數(shù)據(jù)表或外部數(shù)據(jù)源(如FTP文件、Web Service數(shù)據(jù))等組合而成的。如果事先根據(jù)領(lǐng)域模型做了
9、物理數(shù)據(jù)庫設(shè)計(jì),那么邏輯數(shù)據(jù)表可以通過對物理表的過濾和邏輯映射得到。也可以通過BDO先定義出邏輯數(shù)據(jù)表,然后把邏輯關(guān)系表物化為關(guān)系物理表。這就意味著,在業(yè)務(wù)模型構(gòu)建完成時,我們將獲得一個業(yè)務(wù)模型庫和一個業(yè)務(wù)數(shù)據(jù)庫,并且業(yè)務(wù)模型庫確定了業(yè)務(wù)數(shù)據(jù)庫的物理模式(Schema)。四、業(yè)務(wù)驅(qū)動根據(jù)模型驅(qū)動引擎實(shí)現(xiàn)方式的不同,對XML業(yè)務(wù)模型進(jìn)行驅(qū)動時,可以選擇桌面或Web運(yùn)行方式既可以采用C/C+或C#.net技術(shù),將業(yè)務(wù)模型驅(qū)動為Windows環(huán)境下的桌面應(yīng)用;又可以采用J2EE技術(shù),將業(yè)務(wù)模型驅(qū)動為網(wǎng)絡(luò)環(huán)境下的Web應(yīng)用。也就是說,業(yè)務(wù)模型驅(qū)動引擎的技術(shù)選擇及其運(yùn)行環(huán)境,不受業(yè)務(wù)模型的約束。這里介紹
10、采用FLEX+BlazeDS+Spring+Hibernate實(shí)現(xiàn)的驅(qū)動架構(gòu)。讓我們回顧一下,當(dāng)完成業(yè)務(wù)構(gòu)建時,后臺的關(guān)系數(shù)據(jù)庫管理系統(tǒng)中至少會有兩個數(shù)據(jù)庫:一個是業(yè)務(wù)模型庫,其中以XML方式存放了組成業(yè)務(wù)的各個元素的詳細(xì)定義數(shù)據(jù),以及用戶信息表;另一個是業(yè)務(wù)數(shù)據(jù)庫,即符合業(yè)務(wù)模型要求的數(shù)據(jù)模式(Schema)。當(dāng)部署好Tomcat和業(yè)務(wù)模型驅(qū)動引擎,做好數(shù)據(jù)庫連接配置,設(shè)置好默認(rèn)主頁后,用戶即可通過瀏覽器驅(qū)動并使用業(yè)務(wù)應(yīng)用系統(tǒng)了。其基本原理是:當(dāng)用戶輸入應(yīng)用系統(tǒng)的URL地址后,Tomcat截獲瀏覽器的請求,找到默認(rèn)的主頁,其中裝載有FLEX編寫的登錄SWF,該SWF在前端瀏覽器展現(xiàn)出來后,用
11、戶即可輸入用戶名和密碼,一旦提交登錄請求,F(xiàn)LEX將在瀏覽器端把輸入信息包裝為一個遠(yuǎn)程對象(RemoteObject),該對象通過動作腳本消息格式(ActionScript Message Format,AMF)傳遞給服務(wù)端,服務(wù)端通過BlazeDS將其轉(zhuǎn)化為Java對象。需要指出的是:服務(wù)器端中與業(yè)務(wù)驅(qū)動相關(guān)的Java對象被注入到Spring框架中,以保持對象之間的相互獨(dú)立性,從而使驅(qū)動引擎具有更好的可擴(kuò)展性和可維護(hù)性。 用戶驗(yàn)證的Java對象也不例外。服務(wù)器端的Java用戶驗(yàn)證對象被啟動后,根據(jù)其業(yè)務(wù)邏輯,為了驗(yàn)證輸入信息的正確性,必須訪問用戶信息表。此時它將在Spring框架內(nèi)使用與用戶
12、信息表之間形成對象-關(guān)系映射(O-R Mapping)的Hibernate POJO對象,通過該對象進(jìn)行用戶查詢,以查看輸入的用戶名及其密碼是否正確。最后,將驗(yàn)證結(jié)果通過AMF反向傳回給FLEX。圖12 驅(qū)動端的渲染效果在這個驗(yàn)證過程中,前端FLEX和服務(wù)端的Java應(yīng)用是異步的,回傳的信息在FLEX中通過消息響應(yīng)被相應(yīng)的處理程序截獲。如果獲得的是驗(yàn)證通過信息,F(xiàn)LEX將把應(yīng)用系統(tǒng)的界面框架渲染出來,然后再向服務(wù)器端發(fā)送獲取業(yè)務(wù)基本信息請求。服務(wù)器端收到業(yè)務(wù)基本信息請求后,調(diào)用注入到Spring的業(yè)務(wù)信息讀取對象,該對象通過Hibernate到業(yè)務(wù)模型庫讀取相關(guān)的業(yè)務(wù)定義信息,再根據(jù)業(yè)務(wù)定義信
13、息,讀取業(yè)務(wù)數(shù)據(jù)庫表中的相關(guān)業(yè)務(wù)實(shí)例(即項(xiàng)目)信息,把這些信息回傳給FLEX后,由FLEX負(fù)責(zé)渲染。渲染的效果如圖12所示。此后的業(yè)務(wù)驅(qū)動操作過程都遵循同樣的架構(gòu)模式,如圖13所示。數(shù)據(jù)庫端服務(wù)端瀏覽器端FLEXRemoteObjectAMFTomCatBlazeDSSpringHibernatePOJO業(yè)務(wù)實(shí)例庫Java ObjectAMFJava Bean業(yè)務(wù)模型及用戶信息庫圖13 Flex+BlazeDS+Spring+Hibernate的業(yè)務(wù)驅(qū)動架構(gòu)五、前景和展望與傳統(tǒng)的以代碼編寫為主的業(yè)務(wù)應(yīng)用軟件開發(fā)模式相比,基于業(yè)務(wù)基礎(chǔ)平臺的應(yīng)用軟件開發(fā)模式是一種極大的改進(jìn),其實(shí)質(zhì)是:將業(yè)務(wù)流程的信息化轉(zhuǎn)變?yōu)闃I(yè)務(wù)分析、建模、構(gòu)建、模型解釋和驅(qū)動過程。顯然,與傳統(tǒng)的編程方法相比,這種模式具有更好的柔性,更能適應(yīng)業(yè)務(wù)流程和業(yè)務(wù)處理需求的變化,更短的開發(fā)周期和更低的開發(fā)成本。計(jì)世資訊(CCW Research)認(rèn)為:業(yè)務(wù)基礎(chǔ)平臺正引領(lǐng)國內(nèi)軟件業(yè)發(fā)生一場變革,一個新的軟件平臺產(chǎn)業(yè)正在悄然而迅速地形成。業(yè)務(wù)基礎(chǔ)平臺是在J2EE、.NET軟件基礎(chǔ)架構(gòu)平臺之上的全新平臺。與其他管理應(yīng)用軟件系統(tǒng)的一個重要區(qū)別在于:它本身不是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 碳酸飲料行業(yè)新興市場機(jī)會考核試卷
- 棉麻行業(yè)生產(chǎn)設(shè)備選型與評價考核試卷
- 環(huán)境監(jiān)測無人機(jī)技術(shù)應(yīng)用考核試卷
- 液力機(jī)械在游樂設(shè)施中的應(yīng)用考核試卷
- 碳超級電容器制造技術(shù)發(fā)展現(xiàn)狀考核試卷
- 漁業(yè)電子商務(wù)案例分析考核試卷
- 經(jīng)濟(jì)林樹種育種新技術(shù)考核試卷
- 武漢晴川學(xué)院《環(huán)境土壤學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧廣告職業(yè)學(xué)院《診斷學(xué)A》2023-2024學(xué)年第一學(xué)期期末試卷
- 武夷山職業(yè)學(xué)院《生物質(zhì)復(fù)合材料》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴州國企招聘2025貴州路橋集團(tuán)有限公司招聘35人筆試參考題庫附帶答案詳解
- 衛(wèi)生管理行業(yè)人才培養(yǎng)與社會責(zé)任分析試題及答案
- DB32T 5082-2025建筑工程消防施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)
- 2025年北京龍雙利達(dá)知識產(chǎn)權(quán)代理有限公司招聘筆試參考題庫含答案解析
- 2024-2025學(xué)年人教新版七年級下冊數(shù)學(xué)期中復(fù)習(xí)試卷(含詳解)
- 2025年中國BOD測試儀市場調(diào)查研究報(bào)告
- 2025克拉瑪依機(jī)場第一季度招聘(15人)筆試參考題庫附帶答案詳解
- 結(jié)直腸癌的治療與護(hù)理
- 施工安全的教育培訓(xùn)記錄表
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蝕工程施工及驗(yàn)收規(guī)范
- 農(nóng)村常用法律法規(guī)知識講座課件(村干部培訓(xùn))
評論
0/150
提交評論