《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 面向業(yè)務(wù)的敏捷界面定制構(gòu)件的設(shè)計
面向業(yè)務(wù)的敏捷界面定制構(gòu)件的設(shè)計
來源:微型機與應(yīng)用2012年第7期
王 剛1,程建平2
(1.山東師范大學(xué) 信息科學(xué)與工程學(xué)院,山東 濟南 250014; 2.中創(chuàng)軟件工程股份有限公司,山
摘要: 針對傳統(tǒng)表單定制的缺點,提出一種面向業(yè)務(wù)的敏捷界面定制構(gòu)件Xcom-Vtemplet。介紹了傳統(tǒng)表單實現(xiàn)模式及所存在問題,闡述了Xcom-Vtemplet構(gòu)件的體系結(jié)構(gòu)、設(shè)計、開發(fā)接口、相關(guān)技術(shù)以及具體實現(xiàn)應(yīng)用。實踐表明,通過應(yīng)用Xcom-Vtemplet構(gòu)件實現(xiàn)了信息項及界面布局的可視化靈活定制;具有即時調(diào)整、即時生效的快速應(yīng)用能力;便于二次開發(fā)及業(yè)務(wù)產(chǎn)品創(chuàng)新敏捷化,節(jié)省了項目資源;同時也大大減少了表單維護的工作量,降低了表單維護的難度。
Abstract:
Key words :

摘  要: 針對傳統(tǒng)表單定制的缺點,提出一種面向業(yè)務(wù)敏捷界面定制構(gòu)件Xcom-Vtemplet。介紹了傳統(tǒng)表單實現(xiàn)模式及所存在問題,闡述了Xcom-Vtemplet構(gòu)件的體系結(jié)構(gòu)、設(shè)計、開發(fā)接口、相關(guān)技術(shù)以及具體實現(xiàn)應(yīng)用。實踐表明,通過應(yīng)用Xcom-Vtemplet構(gòu)件實現(xiàn)了信息項及界面布局的可視化靈活定制;具有即時調(diào)整、即時生效的快速應(yīng)用能力;便于二次開發(fā)及業(yè)務(wù)產(chǎn)品創(chuàng)新敏捷化,節(jié)省了項目資源;同時也大大減少了表單維護的工作量,降低了表單維護的難度。
關(guān)鍵詞: 表單定制;面向業(yè)務(wù);Xcom-Vtemplet;靈活;敏捷

 隨著計算機的廣泛應(yīng)用和網(wǎng)絡(luò)技術(shù)的快速發(fā)展,企業(yè)的運營和管理發(fā)生了重大的變革,企事業(yè)單位都在逐步實施和普及信息化系統(tǒng)。信息化系統(tǒng)中的大量業(yè)務(wù)都需要通過表單的形式來實現(xiàn),但是傳統(tǒng)的表單模式由于表單的樣式固定、開發(fā)周期長,并不能適應(yīng)信息化系統(tǒng)中業(yè)務(wù)需求的經(jīng)常性變更。為了讓表單能夠適應(yīng)企業(yè)業(yè)務(wù)的靈活性需求,表單定制的概念應(yīng)運而生[1-2]。
本文為了解決傳統(tǒng)表單定制存在的問題,提出一種面向業(yè)務(wù)的表單定制構(gòu)件??梢杂行У貜浹a傳統(tǒng)表單定制的缺點,方便軟件開發(fā)人員開發(fā)軟件,節(jié)省大量的項目資源。
1 傳統(tǒng)表單定制
 表單是國際通用的商業(yè)語言,是結(jié)構(gòu)化的信息載體,是連接企業(yè)與客戶的重要紐帶,表單幾乎扮演著企業(yè)形象代言人的角色。因此,在應(yīng)用系統(tǒng)中,表單的開發(fā)十分重要[3]。
 傳統(tǒng)表單定制出現(xiàn)至今發(fā)揮了很大的作用,在一定程度上幫助了開發(fā)人員更好地開發(fā)軟件,縮短了開發(fā)時間,節(jié)省了大量的人力、財力。傳統(tǒng)表單實現(xiàn)模式如圖1所示。

1.1 面臨問題
 隨著信息技術(shù)的飛速發(fā)展,企業(yè)對應(yīng)用系統(tǒng)的開發(fā)要求越來越高,而傳統(tǒng)表單定制存在著大量的問題:(1)不支持靈活的業(yè)務(wù)定制。表單基本上是針對某個具體應(yīng)用進行開發(fā)的,并且當業(yè)務(wù)需求發(fā)生變更時,客戶沒有能力或者很少有能力進行變更;(2)不支持業(yè)務(wù)創(chuàng)新。傳統(tǒng)表單定制運用比較單一,很難在業(yè)務(wù)上實現(xiàn)創(chuàng)新;(3)界面風格不統(tǒng)一。由于開發(fā)人員在開發(fā)軟件項目的時候會使用不同的表單定制來實現(xiàn)大量的業(yè)務(wù)定制,造成了在同一個項目中有可能會出現(xiàn)各種各樣的界面風格;(4)開發(fā)復(fù)雜性高。開發(fā)人員可能會運用大量不同的表單定制,增大了其復(fù)雜性;(5)重用性差。很多表單定制都是針對某一項目甚至某一業(yè)務(wù)而開發(fā)的,因此有可能導(dǎo)致大量表單定制浪費,無法進行良好的開發(fā)再復(fù)用,重用性比較差。
而客戶的要求是表單定制工具能夠具備以下功能:滿足業(yè)務(wù)定制,適應(yīng)業(yè)務(wù)變化;穩(wěn)定運行,維護方便;按時上線,滿足顯性業(yè)務(wù)需求。
1.2 解決思路
 針對傳統(tǒng)表單定制所表現(xiàn)出來的問題,提出的解決思路是進行業(yè)務(wù)化定制:通過界面即時配置進行需求開發(fā),解決從需求到設(shè)計的快速切換問題,提高以數(shù)據(jù)為中心的應(yīng)用系統(tǒng)設(shè)計的質(zhì)量和效率。業(yè)務(wù)化表單實現(xiàn)模式如圖2所示。


 面向業(yè)務(wù)表單定制將重點放在了業(yè)務(wù)域,并不像傳統(tǒng)表單定制那樣將大量的精力放在技術(shù)域。業(yè)務(wù)部門根據(jù)需求復(fù)用模板、進行繪制表單、檢測表單、部署表單和發(fā)布,技術(shù)部門則進行技術(shù)組件的開發(fā)。面向業(yè)務(wù)的表單定制最突出的特點在于面向業(yè)務(wù)、能夠復(fù)用,軟件開發(fā)人員可以復(fù)用此構(gòu)件,實現(xiàn)開發(fā)界面的統(tǒng)一風格,使表單使用靈活方便,減少開發(fā)成本。
2 面向業(yè)務(wù)的敏捷界面定制構(gòu)件
 根據(jù)業(yè)務(wù)化表單的實現(xiàn)模式,本文提出了一種面向業(yè)務(wù)的敏捷界面定制構(gòu)件——Xcom-Vtemplet。該構(gòu)件的核心設(shè)計理念是屏蔽繁復(fù)的技術(shù)細節(jié),使開發(fā)者僅關(guān)注業(yè)務(wù)處理邏輯,實現(xiàn)快速構(gòu)建。該構(gòu)件提供基于業(yè)務(wù)語言的靈活定制功能;支持業(yè)務(wù)創(chuàng)新;開發(fā)頁面風格統(tǒng)一;降低了軟件開發(fā)難度;提高重用性;所見即所得,實現(xiàn)可視化。
2.1 Xcom-Vtemplet構(gòu)件的體系結(jié)構(gòu)
 Xcom-Vtemplet構(gòu)件設(shè)計采用MDD模式,界面靈活動態(tài)配置,構(gòu)建敏捷界面,能夠靈活應(yīng)對業(yè)務(wù)變化(隨時增加相應(yīng)信息項)。其構(gòu)件體系結(jié)構(gòu)如圖3所示。

 整個構(gòu)件內(nèi)部體系由元數(shù)據(jù)引擎、表單運行引擎和數(shù)據(jù)存儲引擎三部分構(gòu)成。元數(shù)據(jù)引擎滿足開發(fā)人員調(diào)用元數(shù)據(jù)對表單與業(yè)務(wù)對象進行定義需要;表單運行引擎用來保證設(shè)計器所設(shè)計表單能正常;數(shù)據(jù)存儲引擎用來保證設(shè)計的模板數(shù)據(jù)能進行存儲。表單設(shè)計器通過服務(wù)管理接口與后臺交互,可實現(xiàn)設(shè)計器的既有功能。元數(shù)據(jù)庫存儲表單定義對象、業(yè)務(wù)對象以及模板對象,供設(shè)計器通過元數(shù)據(jù)引擎使用。設(shè)計器生成的XML代碼文件通過XML存儲適配器進行存儲。
 Xcom-Vtemplet構(gòu)件基于Ajax技術(shù),使用戶能方便、快捷、可視化地對表單進行設(shè)計。表單模板可由用戶通過可視化界面設(shè)計,該表單設(shè)計器提供各種控件,用戶可直接拖拽控件至設(shè)計域中。將所有控件定義為一個對象列表,用戶拖拽控件時在設(shè)計域中增加對應(yīng)的控件代碼。
2.2 Xcom-Vtemplet構(gòu)件的設(shè)計
?。?)定義表單模型
 表單模型是該構(gòu)件運行的基礎(chǔ),用來定義和描述表單的相關(guān)信息。其涵蓋表單相關(guān)的所有詳細信息,這些構(gòu)成了表單模型的子模型,主要包括:數(shù)據(jù)模型、頁面顯示控件模型、頁面布局模型、控件事件模型以及數(shù)據(jù)集模型。
 表單構(gòu)件操作這些模型,以此為基礎(chǔ)設(shè)計構(gòu)建表單模板、解析模板、傳輸并處理數(shù)據(jù)。模型設(shè)計的好壞影響表單構(gòu)件的運行效率和易用性,同時決定了開發(fā)表單構(gòu)件的難易程度。
 (2)設(shè)計表單模板
 表單模板是以表單模型為基礎(chǔ)的一個描述性的文件,包含了一個表單的所有詳細信息。本表單定制構(gòu)件采用圖形化的所見即所得的方式,使用拖拽的操作方式即可完成表單設(shè)計,并不需要手工編寫代碼,避免了手工編程的低效率,同時降低了錯誤率。通過表單設(shè)計器代替手工編程完成的工作主要有兩大類:一類是需要使用拖拽的操作方式來完成,包括表單頁面顯示控件、表單頁面顯示控件的布局以及表單的流程設(shè)計;另一類則是需要使用配置的方式來完成,包括控件的屬性、控件的事件以及數(shù)據(jù)集[4]。
表單的設(shè)計是使用表單構(gòu)件進行應(yīng)用開發(fā)的核心,它決定了表單應(yīng)用進行軟件開發(fā)和維護的工作量。好的表單設(shè)計器能達到事半功倍的作用,而平庸的表單設(shè)計器則發(fā)揮不出應(yīng)有的作用。
?。?)解析表單模板
 表單模板包含著表單的所有相關(guān)信息,是表單應(yīng)用得以正常運行的基礎(chǔ)。表單構(gòu)件根據(jù)表單模型自行定義表單模板的文件格式和內(nèi)容,要使表單應(yīng)用能夠正確運行,實現(xiàn)它具有的功能,這就要求表單模板能夠正確有效地被解析,將表單模板的自定義語言轉(zhuǎn)換為能夠在應(yīng)用系統(tǒng)中正確運行的有效宿主語言。包括:解析表單頁面顯示控件、控件的屬性、頁面顯示控件的布局、頁面顯示控件上定義的事件以及數(shù)據(jù)集。
?。?)輸出表單頁面
 表單頁面的內(nèi)容來自于表單模板,表單頁面輸出的工作是在用戶請求表單時動態(tài)完成,即表單是動態(tài)加載的。當需要修改表單時,只需要使用表單設(shè)計器修改表單模板,然后重新部署模板,并不需要手動修改頁面的代碼。在這種實現(xiàn)方式下,頁面的代碼不會物理地存在應(yīng)用程序系統(tǒng)中。XML的讀取使用DOM技術(shù)實現(xiàn)[5]。輸出的表單頁面,不僅僅包含表單的控件和表單的控件布局,同時還包含表單數(shù)據(jù)的模型、表單控件的事件、表單控件權(quán)限控制以及根據(jù)數(shù)據(jù)集的預(yù)填充數(shù)據(jù)。這些輸出的信息通過解析表單模板得到。
2.3 Xcom-Vtemplet構(gòu)件的開發(fā)接口
 Xcom-Vtemplet構(gòu)件的開發(fā)接口如圖4所示。圖中,bom為業(yè)務(wù)對象,對各個元素進行屬性配置,實現(xiàn)數(shù)據(jù)的存儲,提高擴展性;templet為模板對象,對設(shè)計所調(diào)用的模板進行屬性配置,實現(xiàn)了靈活定制;bizService為遠程調(diào)用,保證構(gòu)件的穩(wěn)定運行。

 

 


 在設(shè)計器中,實現(xiàn)的界面為設(shè)計態(tài)中的界面。為了方便用戶實現(xiàn)所見即所得的功能,可以通過預(yù)覽界面進行可視化。
2.4 Xcom-VTemplet構(gòu)件的功能及相關(guān)技術(shù)
2.4.1 功能

 (1)實現(xiàn)可視化靈活定制信息項及界面布局,實現(xiàn)業(yè)務(wù)敏捷開發(fā)。
?。?)Vtemplet定制的模板具有即時調(diào)整、即時生效的快速應(yīng)用能力。
?。?)簡化傳統(tǒng)JSP頁面開發(fā),將模板的顯示和JSP頁面的交互進行職責分離,使頁面代碼更加簡潔。
 (4)便于二次開發(fā)及業(yè)務(wù)產(chǎn)品創(chuàng)新敏捷化以節(jié)省項目資源。
2.4.2 相關(guān)技術(shù)
 Xcom-VTemplet構(gòu)件采用的Ajax技術(shù),其中Dojo工具包在本構(gòu)件中運用。Ajax(Asynchronous javascript and XML)是一種用于創(chuàng)建更好更快以及交互性更強的Web應(yīng)用程序的技術(shù)。Dojo(即Unified toolkit)是一個用JavaScript語言實現(xiàn)的開源DHTML工具包。
 與傳統(tǒng)的Web應(yīng)用不同,Ajax采用的是一種異步交互的處理方式,其處理過程如圖5所示[6]。

 Ajax相當于在瀏覽器客戶端與服務(wù)器之間架設(shè)了一個橋梁、一個媒介,在它的幫助下,可以消除網(wǎng)絡(luò)交互過程中的處理—等待—處理—等待等缺陷。在處理過程中,Web服務(wù)器響應(yīng)是將標準的且易于解析的XML格式的數(shù)據(jù)傳遞給Ajax,然后再轉(zhuǎn)換成HTML頁面的格式,輔助CSS進行顯示[6]。正是通過Ajax引擎,服務(wù)器在返回數(shù)據(jù)時,不需要更新整個網(wǎng)頁,而只是更新網(wǎng)頁的一部分,讓用戶感覺網(wǎng)頁的反應(yīng)更快、更靈敏[7]。
Dojo體系主要由以下部分構(gòu)成:Base-dojo基礎(chǔ)核心、Core-工具模塊、Dijit-界面組件庫、DojoX-擴展庫、Util-構(gòu)建和測試工具。Dojo可以幫助開發(fā)人員開發(fā)大型的Ajax項目,并有助于構(gòu)建健壯的代碼,節(jié)省開發(fā)時間。Dojo很大程度上屏蔽了瀏覽器之間的差異性,因此不用擔心Web頁面是否在某些瀏覽器中可用。利用Dojo提供的組件,可以提升Web應(yīng)用程序的可用性和交互能力。
3 面向業(yè)務(wù)的敏捷界面定制構(gòu)件的應(yīng)用
 本構(gòu)件基于業(yè)務(wù)語言,這為在各種構(gòu)件以及項目中復(fù)用奠定了基礎(chǔ),使開發(fā)者僅需關(guān)注業(yè)務(wù)處理邏輯,就能夠?qū)崿F(xiàn)業(yè)務(wù)敏捷構(gòu)建,項目開發(fā)人員可以方便快捷地將此構(gòu)件jar包安裝部署即可使用。Xcom-Vtemplet構(gòu)件的應(yīng)用如圖6所示。
3.1 Xcom-Vtemplet構(gòu)件在構(gòu)件中的應(yīng)用
 Xcom-Vtemplet構(gòu)件成功運用到了合同構(gòu)件、押品構(gòu)件、客戶構(gòu)件、物聯(lián)網(wǎng)構(gòu)件、自定義查詢構(gòu)件中。開發(fā)的構(gòu)件如果想要實現(xiàn)表單定制無需自開發(fā),開發(fā)人員復(fù)用Xcom-Vtemplet構(gòu)件,即可通過業(yè)務(wù)對象管理對其調(diào)用。Xcom-Vtemplet構(gòu)件內(nèi)的模板解析類通過與瀏覽器進行數(shù)據(jù)交互可以生成頁面展示模板文件,同時頁面展示模板文件也可以通過模板解析類展現(xiàn)到瀏覽器中。模板設(shè)計器可以將業(yè)務(wù)對象模板文件展現(xiàn)到瀏覽器中,同時開發(fā)人員可將設(shè)計的可視化的界面生成業(yè)務(wù)對象模板文件?;跇I(yè)務(wù)語言的Xcom-Vtemplet構(gòu)件使軟件開發(fā)人員實現(xiàn)了方便、快捷、可視化的表單定制。
3.2 Xcom-Vtemplet構(gòu)件在項目中的應(yīng)用
 Xcom-Vtemplet構(gòu)件已成功運用到了交通銀行金融租賃、光大銀行金融租賃、廣發(fā)信貸系統(tǒng)等項目中。各個項目可直接通過業(yè)務(wù)對象管理復(fù)用Xcom-Vtemplet構(gòu)件,也可以通過復(fù)用其他的構(gòu)件間接復(fù)用Xcom-Vtemplet構(gòu)件。其實現(xiàn)過程與在構(gòu)件中的應(yīng)用類似。
 本文從實際需求出發(fā),設(shè)計開發(fā)了面向業(yè)務(wù)的敏捷界面定制構(gòu)件。通過表單設(shè)計器,用戶可以自行設(shè)計修改表單模板,實現(xiàn)用戶對表單的頁面動態(tài)靈活的配置,靈活應(yīng)對業(yè)務(wù)變化,很好地滿足了用戶的需求。面向業(yè)務(wù)的敏捷界面定制構(gòu)件可以滿足業(yè)務(wù)敏捷開發(fā)的市場競爭要求,把串行開發(fā)變?yōu)椴⑿虚_發(fā)。業(yè)務(wù)化定制有效減小了技術(shù)人員和業(yè)務(wù)人員之間的鴻溝,不再過分依賴資源,分離了技術(shù)工作和業(yè)務(wù)工作,降低了總體開發(fā)成本。
參考文獻
[1] 楊俊杰.面向SaaS應(yīng)用的表單定制平臺的研究與實現(xiàn)[D].北京:北京郵電大學(xué),2011.
[2] 謝鑫軍,何志均.一種單一表單工作流系統(tǒng)的設(shè)計和實現(xiàn)[J].計算機工程,1998,24(9):53-55.
[3] 唐文忠,莫偉棟.面向領(lǐng)域的模型驅(qū)動智能表單系統(tǒng)的框架設(shè)計[J].北京航空航天大學(xué)學(xué)報,2007,33(9):1086-1089,1126.
[4] 徐瑞軍.基于XForms的所見即所得的電子表單工具設(shè)計與實現(xiàn)[D].北京:北京交通大學(xué),2008.
[5] NAKHIMOVSKY A,MYERS T. Professional Java XML programming with servlets and JSP[M]. Birmingham: Peer Information Inc., 1999:201-284.
[6] 張桂元,賈燕楓,姜波.征服Ajax—Web2.0快速入門與項目實踐(Java)[M].北京:人民郵電出版社,2007:1-4.
[7] 張洪斌.Java程序員的AJAX技術(shù)開發(fā)[M].北京:機械工業(yè)出版社,2007.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。