摘 要: 介紹了基于SOA技術(shù)快速構(gòu)建OA、MIS類項(xiàng)目的開發(fā)平臺(tái),該平臺(tái)使用簡(jiǎn)單、高效,支持界面圖形化操作,使得開發(fā)過(guò)程更簡(jiǎn)潔、代碼編寫更少、開發(fā)效率更高。使用該平臺(tái)建設(shè)系統(tǒng)對(duì)開發(fā)人員要求很低,方便二次開發(fā)和快速響應(yīng)用戶的需求變更,可節(jié)省企業(yè)人力成本。
關(guān)鍵詞: SOA;HMVC;快速開發(fā)平臺(tái);MIS
隨著信息化的發(fā)展,越來(lái)越多的日常人為手動(dòng)處理的工作由電腦系統(tǒng)完成,因此OA、MIS系統(tǒng)得到了廣泛的應(yīng)用。隨之而來(lái)的是各方面需求量的不斷增加,快速開發(fā)平臺(tái)就是為了高效地開發(fā)此類系統(tǒng)而產(chǎn)生的??焖匍_發(fā)平臺(tái)幾乎是以零代碼量來(lái)開發(fā)系統(tǒng),使系統(tǒng)建設(shè)者更加快捷、高效地實(shí)現(xiàn)MIS系統(tǒng)的同時(shí),使用者可以更加靈活、多樣地對(duì)系統(tǒng)進(jìn)行調(diào)整,同時(shí)滿足了不同層次的需求。
1 快速開發(fā)平臺(tái)設(shè)計(jì)
本快速開發(fā)平臺(tái)基一體成型貼片電感于SOA架構(gòu),采用分層結(jié)構(gòu)設(shè)計(jì),包括信息表示層(已配置的業(yè)務(wù)系統(tǒng))、信息展示層(建立的業(yè)務(wù)系統(tǒng))、業(yè)務(wù)對(duì)象層、持久層(聲明式服務(wù)對(duì)象),采用微內(nèi)核、元模型、插件體系、總線集成的體系結(jié)構(gòu)。該平臺(tái)實(shí)現(xiàn)了組織機(jī)構(gòu)、工作流、報(bào)表、業(yè)務(wù)規(guī)則、組織機(jī)構(gòu)權(quán)限和用戶界面的完全可視化設(shè)計(jì),提供豐富的組件庫(kù)和業(yè)務(wù)模板,實(shí)現(xiàn)了可視化建模和代碼開發(fā)的完美結(jié)合;支持順序、http://www.szmzhg.com/電感生產(chǎn)并行、同步、異步、分支、合并、循環(huán)、終止、回退、轉(zhuǎn)交、通知、子流程、批處理等所有業(yè)務(wù)工作流模式,提供完全可視化的流程建模環(huán)境,集流程圖設(shè)計(jì)、業(yè)務(wù)規(guī)則定制和運(yùn)行跟蹤于一體;創(chuàng)新的元模型處理體系,完全可視化的界面設(shè)計(jì)工具,提供前所未有的Web交互頁(yè)面設(shè)計(jì)體驗(yàn)。多樣的布局模式、豐富的界面組件、強(qiáng)大的頁(yè)面向?qū)?,使開發(fā)人員幾乎不用寫代碼便可開發(fā)出復(fù)雜的業(yè)務(wù)應(yīng)用界面[1]。開發(fā)平臺(tái)系統(tǒng)結(jié)構(gòu)如圖1所示。
?。?)信息表示層
應(yīng)用程序運(yùn)行配置完成的應(yīng)用以及用來(lái)作為配置管理的核心應(yīng)用,例如多租戶配置等。信息表示層是本系統(tǒng)平臺(tái)的UI(用戶界面)部分,此UI部分采用層疊式MVC模式(如圖2所示),將客戶端應(yīng)用程序分解為有層次的父子關(guān)系的MVC。反復(fù)應(yīng)用這個(gè)模式,形成結(jié)構(gòu)化的客戶端架構(gòu)。這樣把界面分成了多個(gè)部分,降低了依賴性,同時(shí)提高了代碼、組件或者模塊的重用度,在日后的維護(hù)中,提高了可擴(kuò)展性。
(2)邏輯層
邏輯層與UI層是松耦合的,邏輯層實(shí)現(xiàn)的核心是聲明式業(yè)務(wù)對(duì)象[2],主要通過(guò)以下幾種方式進(jìn)行:①聲明式業(yè)務(wù)對(duì)象的服務(wù)可以通過(guò)業(yè)務(wù)對(duì)象總線進(jìn)行互操作;②聲明式業(yè)務(wù)對(duì)象的粒度可大可小,可以是一個(gè)實(shí)體表,也可以是一個(gè)較大的業(yè)務(wù)模塊;③服務(wù)可以調(diào)用多個(gè)規(guī)則,規(guī)則本身可以根據(jù)上下文環(huán)境判斷是否可以執(zhí)行,從而完成復(fù)雜的業(yè)務(wù)邏輯而無(wú)需編碼;④服務(wù)可以調(diào)用腳本或JavaClass完成平臺(tái)不能配置或不易配置的業(yè)務(wù)邏輯。邏輯層主要包含了各類插件及中間處理組件,系統(tǒng)為SOA架構(gòu)(如圖3所示),其主要目的是: ①使總線成為業(yè)務(wù)對(duì)象之間共享數(shù)據(jù)、交換數(shù)據(jù)的唯一媒介;②總線的生命周期是Session,即從用戶會(huì)話開始到用戶會(huì)話結(jié)束數(shù)據(jù)總線是一貫和連續(xù)的;③數(shù)據(jù)總線是線程獨(dú)享的、線程安全的,一個(gè)線程對(duì)數(shù)據(jù)總線的改變不會(huì)影響到其他線程對(duì)數(shù)據(jù)總線的使用,每個(gè)線程使用的都是總線的副本。
數(shù)據(jù)總線包括Form、User總線等[3]。Form的類型是BOInstance。使用Form實(shí)現(xiàn)對(duì)HTTP GET的QueryString的封裝或?qū)TTP POST數(shù)據(jù)的封裝,它同時(shí)可以充當(dāng)界面上Form的值,也可以是通過(guò)AJAX方式傳遞的參數(shù);User的類型是BOInstance,通過(guò)Form對(duì)登錄用戶封裝,User在登錄自定義動(dòng)作里進(jìn)行創(chuàng)建;通過(guò)MVCController操作總線,為了減少調(diào)用次數(shù),總線和面板操作及服務(wù)操作放在一起進(jìn)行。元模型層面提供對(duì)WebService的支持,即平臺(tái)中每個(gè)服務(wù)都是可被調(diào)用的Restful WebService。
?。?)持久層
持久層提供了各類服務(wù)組件和可擴(kuò)展的組件,將各類服務(wù)以組件的方式進(jìn)行封裝,包括組織權(quán)限、數(shù)據(jù)庫(kù)訪問、國(guó)際化等,擴(kuò)展組件包括WebService和Restfull等接口的實(shí)現(xiàn),充分發(fā)揮了平臺(tái)的靈活性。其中,數(shù)據(jù)庫(kù)訪問組件的建立包含了多種方式不同數(shù)據(jù)庫(kù)的連接,支持多種不同的連接方式。 大功率電感廠家 |大電流電感工廠