基于UWA, MVC 和 JavaServer Faces的WEB应用程序的模型驱动开发外文翻译资料

 2022-10-26 10:52:28

英语原文共 16 页,剩余内容已隐藏,支付完成后下载完整资料


基于UWA, MVC 和 JavaServer Faces的WEB应用程序的模型驱动开发

摘要:本文提出了一种基于无处不在的Web应用程序(UWA)的设计框架,模型 - 视图 - 控制器(MVC)架构模式和JavaServer Faces技术的Web应用程序开发的模型驱动方法。这种方法结合了完整和强大的用MVC模式以用户为中心的概念设计的Web应用程序的方法,从而提高了业务逻辑和数据显示的分离。所提出的方法,通过实现模型驱动开发(MDD)和以用户为中心的设计的优势,开发出更容易维护和在用户的角度上高品质的Web应用程序。

关键词:网络工程,模型驱动开发,模型转换,模型驱动架构,UWA,UML,MVC和JavaServer Faces。

引言

在文献中提供的Web应用程序的设计方法可分为两类,一类是那些集中在应用程序需要做什么(在问题域概念设计)另一类是那些集中在应用程序如何满足它的要求和需要实施什么(在解决方案领域逻辑设计)。UWA[38],OOHDM[36],OOWS[32]和OO-H[9]涉及第一类; Conallen的建议[13]属于第二个;UWE[19][22]和WebML[10] [11] [12]可以被认为是混合的方法,因为它们既包括概念和逻辑设计。

概念设计方法实现细节的抽象,并提供系统从用户的角度来看的总体视图。对实现复杂的系统来说,概念建模是正确的出发点。然而,Web应用程序的概念模型和它的实现之间的距离大,使利用概念设计方法不足为Web应用程序的开发。如果不提供转换为规范的概念落实到设计中间的设计水平,那么Web应用程序的执行活动可以从概念设计中独立,这将使开发不足,甚至费工夫。

知名设计方法的趋势朝着模型驱动开发演变(MDD)表现出对支持整个Web应用程序生命周期的方法的需要。那些最近在此方向上有所发展的方法包括OO - H [9],LOWS[32],UWE[18][20]和OOHDM[35],在相关工作部分讨论更详细。

本文提出了一种模型驱动的方法来开发基于UWA概念设计方法和模型 - 视图 - 控制器架构设计模式的Web应用程序。相比其他的方法,UWA设计框架,其方法和模型,特别适合用于设计其旨在无处不在的和用户为中心的网络的应用程序(在不同的使用环境和使用不同的目标不同的用户类型访问)。将UWA的特性和MVC架构和MDD范例的优点相结合,所产生的方法特别适合于在一个用户为中心的以及用于支撑其维护和演进的无所不在的网络应用。

UWA模型在合适的抽象层次使其与利益相关者的应用中使用,与此同时,可以详细足够的提供给应用程序开发人员有用的信息。该方法也受到了一些用于绘制UWA模型的工具和生成应用程序设计文档的支持。然而,由于UWA模型是独立于实现细节,它们没有指定诸如架构,软件组件,开发者应该实现的设计应用程序的数据库。通过创建一个中间设计模型来表示正在执行的应用程序和一组启发式构造UWA概念模型,我们以一个模型驱动的方法为基础来开发UWAbased web应用程序。

中间设计模型(以下简称内容中的逻辑模型)是一种基于标准的UML图,并适应模型 - 视图 - 控制器(MVC)架构的设计模式[8]。

本文的主要贡献有:

  1. 描述应用程序代码开发并将其映射到该应用程序要求的逻辑模型的定义;
  2. 一组启发式翻译UWA概念模型到新的逻辑模型的定义;
  3. 基于UWA MDD方法的定义,以支持整个Web应用程序的生命周期。

本文的其余部分安排如下。下一节讨论工作的背景和动机。第3节介绍本文提出的基于UWA-MDD方法及其应用的一个例子。相关作品将在第4节,而第5节文章结论,并提供了今后工作的一个概况。

2. 背景和动机

2.1Web应用程序开发的总体框架

尽管在文献中发现的Web工程应用程序的各种方法之间有差异,可以总结出一套共同关心的问题和发展的步骤 [37]。 图1以图形方式表示这些常用功能。基本上,任何设计方法模型的网络有三个层次建设(内容,导航和演示),并解决了一些从结构跨越到行为方面的应用。这些方面是正交的全部建设水平。结构适用于内容(内容被如何构造)以及导航(超文本结构)和呈现(例如,页面组织)。同样地,行为(例如,业务规则和用户的操作)可以与内容,导航和呈现相关联。

图1:Web应用程序的总体开发框架。

如图1所示,开发过程从需求规范和分析开始,并通过一系列设计步骤来实现。设计步骤包括:

  1. 概念设计,侧重于描述问题域,什么系统意料之中的事,独立于任何技术细节。
  2. 逻辑设计,聚焦在系统的操作,同时隐藏实现细节特定于特定的平台。
  3. 物理设计,从而适应应用程序的逻辑模型,以获得详细的规格为与所选择的平台实现。

2.2模型驱动开发

虽然使用的设计方法在网络工程领域尚不普遍,基于模型的方法为特设的网络应用程序的开发和它固有的问题提供了一个更好的选择,这是众所周知的。用系统化的方法来开发复杂的系统和设计实施的需求,现在已被广泛接受。

模型驱动开发(MDD)[5]认为软件开发为一种方法,其中的高级别抽象模型被依次转换成更详细的模型,在最终的模型中可以直接通过一些平台执行这样的方式[3]。MDD方法不仅提倡软件开发使用模型(如前一节中所描述的设计步骤的结果),同时也强调了在发展的各个阶段都需要进行变革,从系统说明书到实施和测试[23]。从一个模型转换到下一个创建一个使系统从需求开始自动执行的链。

MDD最知名的倡议是由对象管理组织(OMG)定义的模型驱动架构(MDA)的建议[25]。MDA的中心思想是独立于平台的设计,从平台的具体实施应用,尽可能延长对特定技术的依赖。因此,MDA倡导平台无关模型(PIM)和模型转换的支持的建设。是直接由一个平台(PSM)满足所有要求,包括非功能性的人执行的模式,也被称为“代码”,并且通常是在改进链的最后一个模型。

Web应用程序的开发是在MDD可以成功地应用于一个特定的域,由于网络的具体分离的关注:内容,导航,演示和定制。

2.3 UWA

随处可见的Web应用程序设计框架(UWA)[38]提供了一种以用户为中心的概念设计的方法和普遍存在的Web应用程序的一套模型和工具。图一是UWA的映射到一般Web应用程序开发框架,产生图二所示的结果。 UWA覆盖需求说明和分析,概念设计阶段。需求获取是致力于应用程序的利益相关者的识别的UWA,他们的目标,和通过一个细化处理,由此产生的应用程序设计的要求。要求被分类成的内容,内容的结构,对内容的访问,表示和行为(系统和用户操作)。

在需求获取之后,开发了以用户为中心的应用程序的概念设计。在图一中,UWA信息模型,导航模型和发布模型分别覆盖三个层次的设计代表的垂直轴。这些模型中的每一个包括所述结构方面(例如,信息模型给出了应用内容的信息,它们的结构,用于访问内容的结构等)。行为方面是由两个模型:交易模式和运营模式,前者解决业务流程设计,而后者更基本的用户功能的设计。

最后,UWA定制设计活动,定义了可以适用于任何的UWA设计模型,从而提供具有适应不同的使用情境的能力而设计的应用程序的定制规则。

UWA方法使通过设计活动设计问题和由此产生的模型的每个水平和特点数据和操作密集型网络应用的方面分离[34][14]。以用户为中心的设计能力(在开发不同型号UWA的角度是不同的用户类型的应用程序的那个)和上下文意识所产生的应用使得UWA成为Web应用程序最宝贵的概念设计方法之一。映象的MOF-Complaint元模型的可用性[4]可以指定每个建模相关的语义概念,适用的有效配置和约束。同时,作为标准的MOF的UWA元模型可以创建建模工具生成的模型,可以很容易地进行交换,在不同的设计工具进口,呈现为不同的格式,并用于产生应用程序代码[24]。

图2:UWA需求获取和概念建模概述

3 基于UWA-MDD方法

3.1过程概述

本文提出的基于UWA- MDD方法的web应用程序的发展使用一系列连续模型和模型转换的逐步完善和丰富的应用程序需求来获取应用程序源代码。在不同层次的抽象,不同的模型也是更新项目文档的基础。

图3描述了整个开发过程和生成的模型。这个过程始于映象需求抽取,确定应用程序的利益相关者和他们的目标,应用程序的需求。利益相关者、目标、子目标和需求通过UML用例图表示。

概念设计的进行使用UWA方法和所产生的应用程序的概念模型。该模型包括信息模型,事务模型,导航模型,操作模式,出版模式和自定义模式。

概念设计阶段之后是逻辑设计。通过合适的翻译规则,映象概念模型转化为一个更接近于实现细节的但仍然独立于平台的逻辑模型。为所得到的应用程序对标准的UML图和MVC架构的采用给出了我们提出的逻辑模型,名为“UML-MVC”。

MDD过程的最后阶段由专业的uml-mvc逻辑模型选择具体实施平台,获取特定于平台的模型。任何实现的MVC架构的设计模式适合在上一步中定义的uml-mvc逻辑模型的目标平台。特别是,我们详细的JSF技术[15][17],这是我们为实验方法与电子商务的Web应用程序选择的技术。

正如图3所强调的,所提出的过程,除了是模型驱动,还坚持MDA。的确,该UWA需求获取模型,被认为是一个CIM,因为它专注于应用程序所需的功能。印象概念模型和uml-mvc逻辑模型是PIMS,因为它们并不意味着任何特定的技术,以用于实施。最后,JSF模型是PSM,它是uml-mvc PIM的专业化对于JavaServer Faces技术。

图3:基于UWA-MDD过程的概述。

在接下来的部分中,我们描述了UML-MVC逻辑模型,这个模型转换规则获取的映象概念模型,以及指导方针,可以用来映射UML-MVC模型到JavaServer Faces实现框架。

3.2 UML-MVC逻辑模型

逻辑模型阐述了由标准的UML图和用于模型的软件组件被开发为三层MVC体系结构[ 8 ],以及它们之间的关系。具体而言,该模型分为以下的UML图:

  1. 模型类图(MCD):一个UML类图建模参与模型层,并实现应用程序的业务逻辑和数据持久化类。
  2. 查看类图(VCD):一个UML类图表示客户端和服务器的页面视图层。这些页面有向用户提供数据和内容的责任,并允许用户与系统进行交互。这张图也有模型:
  3. 控制器层的类;
  4. 用户之间的相互作用(例如,“提交”的形式的一个视图页的形式和方法的模型,是在服务他们的方法;
  5. 类的属性之间的关联(对应于应用程序提供的数据),以管理它们的模型的类的方法。
  6. 浏览网页之间的导航链接。

一个或多个UML序列图描述系统的各个组件之间的交互和状态转换过程中复杂的用户活动和网络事务的执行。此外,这个图是用来描述视图的页面之间导航步骤与不同的返回值相关联的执行模型类的方法。

生成的整体模型独立于具体的技术选择的实现应用程序,因此它是一个PIM的MDA体系结构,但它已经足够详细指导应用程序的开发团队。模型可用于创建应用程序和任何基于MVC模式的实现技术。在实验的基础上,我们使用了Java ServerFaces框架[15]。

3.3映射UWA概念模型到UML-MVC逻辑模型

映象概念模型为UML-MVC逻辑模型的变换是通过一组映射的方法实现启发式,创建适当的映象模型之间的通讯和建模概念,MVC架构的组件和逻辑模型的元素。表1总结了这些启发式:第一列列出了映象概念模型;第二个列表的主要建模概念包含在每个映象模型;第三列报告MVC架构的各个层次上考虑映象的建模概念映射;最后,第四列报告逻辑模型的特定元素,源自映象的概念。UML-MVC逻辑模型定义的元素包括:(i)类,类属性和类方法的MCD;(2)客户机和服务器页面类的VCD;(3)控制器类映射的用户与页面交互VCD在类的方法MCD;(iv)MCD的类之间的关联,(v)之间的关联属性的类的方法的VCD MCD类;(vi)页面之间导航链接的VCD;(七)序列图表示的工作流事务和导航规则实现的控制器。

一般来说,映象信息和事务模型合并到背景,而映象导航和出版模型合并成VCD。之间的关联属性和用户交互元素的视图页面的方法模型类源自导航模型,间接的事务模型。此外,从映象事务模型的UML序列图也创建了。

表1:总结映象UML-MVC转换规则

3.4UML-MVC逻辑模型映射到JavaServer Faces特定于平台的模型

JSF的技术是Java实现,简化的Web应用程序的用户界面由一个页面组装可重用的UI组件,这些组件连接到应用程序数据源建设的MVC架构设计模式;和客户端生成的事件到服务器端事件处理程序[17]。

由图3知,JSF体系结构是MVC架构中的模型组件是由Java业务对象来实现的专业化,View组件是由在自定义标签库是用于表达JSF用户的JavaServer Pages(JSP)的接口组件,控制器是由一个名为FacesServlet的servlet中实现。

图uml-mvc逻辑模型到JSF组件可以使用下列指南:

  1. MCD的类映射到Java业务对象,如JavaBean(EJB)或企业JavaBeans(EJB)。
  2. VCD的类由Java服务器页面的方式包括JSF标记的方式指定的JSF用户界面组件来实现。
  3. 页面之间的联系的VCD MCD用于定义类的方法之间的关联展示J

    剩余内容已隐藏,支付完成后下载完整资料


    资料编号:[153838],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版