亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于模型轉換的WEB 代碼自動生成

        2013-08-29 09:37:38張海濱
        山東開放大學學報 2013年3期
        關鍵詞:用戶界面代碼頁面

        張海濱

        (中國海洋大學,山東 青島 266100)

        1.引言

        軟件開發(fā)從本質上講就是一個從模型到最終代碼的實現(xiàn)的過程[1]。自OMG 組織提出MDA 框架以來,基于MDA 的模型轉換及代碼的自動生成大大減輕了程序員手工開發(fā)代碼的工作[2-3]。目前國內(nèi)外的開發(fā)人員也就在基于MDA 框架下的各種應用進行了可行性研究[4-5],主要集中在從一個平臺無關模型到平臺相關模型的轉換,而平臺相關模型是對一個具體平臺進行的一個抽象,其所抽象的層度取決于各研究開發(fā)人員對PSM 的定位,往往PSM 也只起了一個概念描述性的作用,本文提出了一種基于FMP-PIM 模型到J2EE 平臺JSF 框架的映射關系,詳盡描述了FMP 模型中各個模塊到JSF 框架各組成部分的映射關系。

        2.MDA 概述

        MDA(Model Driven Architecture)是OMG 提出的模型驅動軟件體系結構,MDA 一改以前的諸如OMA(對象管理體系結構)和CORBA(公共對象請求代理體系結構)的分布式系統(tǒng)架構,而是以模型驅動為核心,通過模型轉換提高軟件開發(fā)的效率。

        MDA 的提出是基于系統(tǒng)的具體實現(xiàn)技術無關的功能規(guī)范與系統(tǒng)在特定平臺上的實現(xiàn)相分離的思想,其核心思想是模型轉換,該方法最重要之處是系統(tǒng)規(guī)范與實現(xiàn)技術或平臺的分離,再通過形式化映射到具體的平臺基礎(例如Java,XML,SOAP 等)。MDA 定義了3 種模型:①CIM(Computation Independent Model):即計算無關模型,關注系統(tǒng)的需求和環(huán)境,不展示系統(tǒng)的架構細節(jié),是獨立于軟件的模型。②PIM(Platform Independent Model):即平臺無關模型,以與平臺無關的觀點描述系統(tǒng),是具有高度抽象層次的模型。③PSM(Platform Specific Model):平臺相關模型,關注某種特定實現(xiàn)技術,由系統(tǒng)的數(shù)據(jù)、處理進程等平臺相關的信息組成。

        基于MDA 的框架的JSF 代碼自動生成的流程圖如圖1 所示:

        圖1 代碼自動生成流程圖

        在MDA 框架下,軟件開發(fā)人員只需要考慮業(yè)務邏輯的建模,描述系統(tǒng)的業(yè)務功能和行為規(guī)范,建立與具體實現(xiàn)技術無關的平臺無關模型,再通過模型轉換得到加入了技術細節(jié)的平臺相關模型,最后由代碼生成器根據(jù)PSM生成最終可執(zhí)行的代碼。PIM 位于高抽象層次,獨立于任何具體的實現(xiàn)平臺。PSM 則是基于某種特定的實現(xiàn)平臺技術來描述系統(tǒng)的模型,它依賴于該平臺的結構和所提供的功能和服務,包含了系統(tǒng)在該平臺上的實現(xiàn)細節(jié),如操作系統(tǒng)、程序設計語言、數(shù)據(jù)存儲、用戶界面等。MDA 將PIM 抽象出來,針對不同實現(xiàn)技術或平臺從同一個PIM 制訂出不同的映射規(guī)則,然后通過這些映射規(guī)則及轉換工具將PIM 轉換成PSM,再將PSM 不斷求精直至生成目標代碼。這一切都是基于模型嚴格的形式化定義和模型間的自動轉換而實現(xiàn)的。

        MDA 能帶來快速開發(fā),提高系統(tǒng)可移植性、可維護性以及系統(tǒng)集成等方面的好處。已有很多開發(fā)商將基于MDA 的技術融合到他們的企業(yè)級軟件解決方案中,如IBM、Compuware、Sun Microsystems、Adaptive、ADA Software、Kennedy Carter、ATC Enterprises 等,同時OMG 還建立了MDA FastStart 計劃來幫助對MDA 感興趣的公司實現(xiàn)和使用MDA。國內(nèi)外多年的實踐和市場的驗證表明,軟件模型驅動架構在軟件的快速開發(fā)、隨需應變、質量保證以及成本控制等方面是成功的,有很好的發(fā)展前景。

        3.源模型

        FMP(Function Model Presentation)是一種支持用戶界面自動生成的界面模型,它是對界面中的抽象數(shù)據(jù)及行為等元素的描述,展示了界面元素與展示對象之間的對應關系。FMP 模型主要包括:Function 功能模型、Model 內(nèi)部模型和Presentation 表示模型三個部分,F(xiàn)MP 模型圖如圖2所示。

        圖2 FMP 源模型

        功能模型和對象模型捕捉與界面有關的數(shù)據(jù)信息和功能元素,交互模型表達這些信息和控制關系,表示模型則建立內(nèi)部對象和外部顯示元素之間的對應關系,規(guī)劃界面布局,指導實現(xiàn)用戶界面的自動生成。有關FMP 模型的詳細描述見參考文獻。

        4.目標映射框架JSF

        JSF(JavaServer Faces)是Craig McClanahan,Ed Burns等人于最終形成規(guī)范的一個基于Java 的Web 應用框架。JSF 為基于Java 的Web 應用開發(fā)提供了一個可重用、可擴展、基于組件的服務器端UI 框架,可以方便快捷的構建Web 用戶界面,降低了利用Java 技術實現(xiàn)Web 用戶界面的難度。它通過一個控制器Servlet 提出Web 應用程序生命周期管理工作,并提供一組標準的、可重用的服務器端組件來構建用戶界面,而且能夠在服務器上處理客戶端事件、輸入驗證等用戶界面管理問題。JSF 主要包括兩大方面內(nèi)容:一個是API 集合,用來表示用戶接口組件,管理組件的狀態(tài),處理事件和驗證輸入,定義頁面間的導航以及支持國際化:另一個是JSP 自定義標簽庫,用來在JSP 頁面中顯示JSP 接口。

        JSF 框架負責與客戶端設備交互,并且提供一些工具將Web 應用程序可視表示,應用邏輯和業(yè)務邏輯連接在一起,JSF 的范圍主要被限制在表示層。JSF 框架見圖3。

        圖3 JSF 框架

        5.FMP 模型到JSF 框架的映射

        FMP 模型與JSF 框架的映射如圖4 所示。

        圖4 FMP 模型與JSF 框架的映射關系

        功能模型描述了用戶通過界面所進行的操作處理,這些操作處理通過代碼生成器映射到JSF 中的一個或多個Enterprise Beans,而在J2EE 平臺中,Enterprise Beans 被配置到一個裝了EJB 容器的平臺上,應用實例通過這些Beans 的home 接口,定位到某個beans,并產(chǎn)生這個beans的一個實例。

        對象模型描述的是界面的數(shù)據(jù)模型,通過對象模型與功能模型的交互建立對象行為與界面功能的對應關系。為界面功能提供實現(xiàn)條件。

        交互模型是根據(jù)功能模型和對象型而建立的界面構成及關系描述,它與Web 頁面的展示有著互動關系,映射到Web 頁面對應的PageBean,針對Web 頁面中的屬性和方法原則上都對應著PageBean 中的一個set 方法和一個get 方法。

        界面模板是與界面模型對應的界面的外在形式的一個抽象描述,經(jīng)過代碼器生成Web 頁面html 展示。

        體系結構配置信息映射著JSF 的Web 頁面展示所必須的配置信息,如ds.xml,faces-config.xml 和web.xml 等。

        6.一個代碼自動生成的實例

        為了更能清楚的說明問題,現(xiàn)舉一個組合格式的信息查詢系統(tǒng),如圖5 所示。圖a 是信息查詢系統(tǒng)的FMP 功能模型,展示了角色Actor 對復合用例JSPQuery 所執(zhí)行的功能。圖b 是對應的對象模型,定義了類student。圖c 顯示的是信息查詢的交互模型,復合用例JSPQuery 執(zhí)行Requerystu 操作導航到顯示結果頁面。圖d 顯示了信息查詢的界面模板。

        圖5 信息查詢系統(tǒng)模型

        FMP 模型到PAF 模型的整體映射如圖6 所示。本文用OCL 來描述轉換規(guī)則,限于篇幅,這里只給出FMP 中用例的的Class 到PAF 的Class 的轉換規(guī)則。

        圖6 FMP 模型與PAF 的映射關系

        映射到JSF 框架后,由html 格式的JSP 頁面展示出界面模板的Web 頁面,由于本信息查詢系統(tǒng)功能比較單一,故而沒有生成獨立的EJB,而JavaBean 中則包含了界面模板中主要屬性和元素的set 方法和get 方法及某些動作的相應方法(如生成SQL 語句執(zhí)行查詢操作),同時FMP 模型體系結構配置信息經(jīng)過代碼生成器生成了在Servlet 容器中所必需的配置信息。

        7.總結

        一方面,MDA 技術的日益成熟和完善,減輕了程序員的手工開發(fā)代碼的工作量。另一方面。JSF 大大降低了利用Java 技術實現(xiàn)Web 頁面的難度,本文以MDA 技術為基礎,依據(jù)FMP 模型實現(xiàn)代碼到JSF 的自動轉換,描述了其映射關系,為基于J2EE 平臺的WEB 應用提供了一種新的代碼自動生成方法。隨著研究的進一步深入,這些工作將會對基于模型驅動的Web 代碼自動生成有一定的促進作用。

        [1]Joaquin Miller and Jishnu Mukerji.MDA Guide Version 1.0.1,Document number omg/2011 -06 -01.http://www.omg.org/docs/omg/11 -06 -01.pdf.

        [2]Craig McClanahan,Ed Burns,Roger Kitain.JavaServer Faces Specification Version 1.1,http://java.sun.com/javaee/javaserverfaces.

        [3]Devon Simmonds,Arnor Solberg,Raghu Reddy,Robert France,Sudipto Ghosh.An Aspect Oriented Model Driven Framework[C].Ninth IEEE International Conference on EDOC Enterprise Computing,2010:175 -780.

        [4]Jana Koehler,Rainer Hauser,Shubir Kapoor,F(xiàn)red Y.Wu,Santhosh Kumaran.A Model -Driven Transformation Method.Proceeding of Seventh IEEE International Conference on Enterprise Distributed Object Computing,2008:231 -236.

        [5]Bexivin.J,Hammoudi.S,Lopes.D,Jouault.F.Applying MDA Approach for Web Service Platform.Proceedings in Eighth IEEE International Conference on Emterprise Distributed Object Computing (EDOC),2009:83 -90.

        [6]左學明,張力.一種新的基于JSF 技術的Web 用戶界面開發(fā)方法[J].計算機應用,2005,12(01) :69 -73.

        [7]朱慶生,葛亮.新一代Web 應用框架JSF[J].計算機科學,2005,32(07) :8 -11.

        [8]萬建在,孫彬.支持用戶界面自動生成的界面模型[J].計算機工程與應用,2003,23(18) :75 -80.

        猜你喜歡
        用戶界面代碼頁面
        大狗熊在睡覺
        自然用戶界面在智能家居系統(tǒng)中的應用路徑創(chuàng)新研究:生成式人工智能技術的調(diào)節(jié)作用
        包裝工程(2023年16期)2023-08-25 11:40:58
        刷新生活的頁面
        基于CiteSpace的國外用戶界面體驗圖譜量化分析
        創(chuàng)世代碼
        動漫星空(2018年11期)2018-10-26 02:24:02
        創(chuàng)世代碼
        動漫星空(2018年2期)2018-10-26 02:11:00
        創(chuàng)世代碼
        動漫星空(2018年9期)2018-10-26 01:16:48
        創(chuàng)世代碼
        動漫星空(2018年5期)2018-10-26 01:15:02
        UI用戶界面色彩設計研究
        流行色(2017年12期)2017-10-26 03:08:44
        基于B/S的跨平臺用戶界面可配置算法研究
        亚洲羞羞视频| 日本饥渴人妻欲求不满| 日韩不卡av高清中文字幕| 蜜桃av一区二区三区久久| 亚洲天堂丰满人妻av| 欧美极品色午夜在线视频| 久久久久久亚洲AV成人无码国产| 国产女主播视频一区二区三区| 亚洲国产美女高潮久久久| 日韩吃奶摸下aa片免费观看| 亚洲亚洲网站三级片在线| 91桃色在线播放国产| 大地资源网在线观看免费官网| 久久久久久人妻毛片a片| 无遮挡亲胸捏胸免费视频| aⅴ色综合久久天堂av色综合| 久久综合另类激情人妖| 国产超碰人人爽人人做人人添| 日产精品久久久久久久性色 | 久久精品国产精品国产精品污| 亚洲AV无码一区二区三区天堂网| 澳门精品一区二区三区| 欧美亚洲精品suv| 无码久久精品国产亚洲av影片| 91精品在线免费| 国产草逼视频免费观看| 一夲道无码人妻精品一区二区 | 国产成人精品无码一区二区老年人| 亚洲国产夜色在线观看| 久久2020精品免费网站| 一本大道熟女人妻中文字幕在线| 四房播播在线电影| 欧洲AV秘 无码一区二区三| 91九色中文视频在线观看| 日日婷婷夜日日天干| 色www亚洲| 一本色道久久综合亚洲精品不| 日韩国产精品无码一区二区三区| 精品2021露脸国产偷人在视频| av免费网站不卡观看| 少妇被爽到高潮喷水久久欧美精品 |