英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料
使用组件框架开发Web应用程序
V. Okanovic
电工专业/计算机科学系
萨拉热窝, 波斯尼亚和黑塞哥维那
摘 要:本文描述了使用基于Web组件的Web框架开发动态Web应用程序。本文考虑了几种现有的开源Java Web组件框架。然后,本文给出了所分析的Web框架的基本特征,并给出了它们的主要特点。为了了解使用哪种框架,本文对所有分析过的Web框架进行了比较,并对它们进行了总结,概述了它们最重要的特点。
1.介绍
Web应用程序框架是设计用于支持动态Web应用程序开发的软件框架。有很多开源的Java框架用于Web应用程序开发。根据类型的不同,主要包含基于action的框架和基于组件的框架。
为了加快Web应用程序的开发,基于action的框架主要依赖于外部配置文件,而较少依赖Java代码。因此,它们不适合Web应用程序的快速开发。
基于组件的框架的范例是完全不同的。这种类型的框架在视图层中创建组件抽象。因此,Web应用程序的开发人员在其应用程序中定义一个组件,并说明该组件的作用。
关于众多开源Java Web框架,开发人员很难为Web应用开发选择合适的框架。正因为如此,本文的目的是帮助Web开发人员更容易地选择合适的框架来开发他们的Web应用程序。本文将分析一些基于Java组件的开源框架。此外,本文还将提供所分析框架的基本特征,以及它们最重要的特征。此外,本文还将对所分析的Web框架进行比较和总结。
2.开源软件
开源软件(OSS)是一种任何人都可以自由使用、更改和共享的软件。OSS编程代码可以在互联网上使用,因此可以被世界各地的人们使用。当互联网上的开发人员可以自由地阅读和修改软件时,软件就会发展。许多开发人员可以使用开源软件,并且可以修改和更新它。开源软件的概念是创建高质量软件的良好模式。
OSS对学生来说非常重要,原因有很多。世界各地的程序员都在不断地开发许多免费工具,学生们可以在工作中使用它们。学生可以向世界上最好的研究人员和工程师学习。他们可以打开一个软件,看看程序员是如何组织它的。通过学习最好的开发人员编写的源代码,学生可以学习如何制作更好的软件。因此,开源软件可以帮助学生成为更好的开发人员。
同时,开源软件也是年轻软件开发人员获得国际认可的一种好方法。现有开源项目的所有者总是在寻找更多的合作者。开发人员可以加入一些开源项目。通过参与项目,开发人员可以创建一些有用的东西,并进一步开发他们的技能。
对于发展中国家的公司、组织、政府和学生来说,OSS提供了一种防止广泛非法复制软件的方法,并提供了一个将软件开发水平提高到国际标准的机会。开源软件已经改变了许多公司、政府和教育机构的专有软件。除了开源技术更便宜之外,公司、政府和教育机构的高管们还认识到,它比专有解决方案提供更好的性能和可靠性。
3.框架
根据词典上的定义,框架是“用于支撑或封闭其他事物的结构,尤其是作为正在构建的事物基础的骨架支撑”。
框架也可以定义为一个由计算机代码、脚本、类、函数组成的单一实体,这些代码、脚本、类、函数提供通用功能,并由用户生成的代码专门化或扩展,以获得特定的功能。框架通过将结构划分为抽象类并定义它们的职责和协作来提供体系结构指导。开发人员通过对框架类的子类和实例进行组合,将框架定制为特定的应用程序。
框架的另一个定义是:框架通常是为域内的应用程序提供可扩展模板的体系结构模式。通过指定一个框架,开发人员指定了体系结构的框架,以及你所希望的使该框架适应其自身上下文的用户公开的插槽、选项卡、旋钮和拨号。
框架最重要的好处是:模块性、可重用性、可扩展性和控制反转。这些好处提供了所有开发人员想要的,应用程序的快速开发、代码和设计的重用、降低维护成本和易于定制。
3.1基于组件的框架
与基于action的框架不同,基于组件的框架的原理是完全不同的。基于组件的框架在视图层中创建组件抽象。事件侦听器捕获用户操作并映射回控制器层中的代码。使用组件的主要优点是模块化。使用Web组件可以轻松地组合复杂的网页。此外,可以在同一个或另一个应用程序的几个网页上重用一个或多个Web组件。还有,基于组件的框架使得Web设计器和Java开发人员之间的协作变得更加容易。
一个好的框架可以降低开发应用程序的成本。基于Java组件的框架是非常流行的框架类型。为了让Web开发者了解他们可能使用的框架,下面是一些基本特征的分析以及一些开源Java组件框架的重要特征的描述。为了节省空间,本文不提供或讨论使用这些Web框架开发Web应用程序的示例。此外,具体实例及其详细描述可在这些框架的引用文献中找到。
4. Tapestry
Topestry是以Java编写的面向开源组件的Web应用框架。使用此框架,开发人员可以轻松创建健壮且内容丰富的Web应用程序。用Tapestry开发的应用程序是网页的集合。在Tapestry应用程序中,每个网页都是简单的HTML页面。网页是使用Web组件构建的。这意味着网页的每个元素都由一些适当的Web组件表示。Tapestry应用程序是基于HTML模板和规范构建的,它们可以在任何servlet容器上运行。
在Web应用程序开发中,Tapestry实现了模型-视图-控制器(MVC)模式。在使用这种分离设计范式开发的Tapestry应用程序中,模型由域对象组成,视图由简单的HTML文件表示,控制器实现XML的页面规范。
Tapestry框架旨在支持Web应用程序的敏捷开发。根据这一点,Tapestry负责许多活动,例如调度用户请求,监控文件系统以改变Java类,管理服务器端状态等。事实上,Tapestry支持Web开发人员编写更少的代码。因此,Web开发人员可以尽可能多地利用他们的时间对应用程序的功能进行编码。
5. JavaServer Faces
JavaServer Faces(JSF)是用于创建用户界面的Java Web组件应用框架。JSF是标准的JavaEE平台的一部分。JSF是通过Java社区过程开发的,用于构建服务器端用户界面的标准化显示技术。JSF框架允许重用Web组件。通过使用现有的可重用Web组件,JSF框架简化了Web页面的构建和用户界面的构建。JSF技术有许多Web组件。使用它们,这个框架可以减少构建和维护Web应用程序的工作量。此外,该框架还提供了用于管理组件状态的处理组件数据和体系结构。此外,JSF还可以处理事件并验证用户输入。
JSF应用程序框架提供了表示逻辑和应用程序逻辑之间的清晰分离。该框架实现了模型-视图-控制器模式。MVC设计模式的JSF实现使应用程序更易于管理。模型管理应用程序的数据和逻辑,视图处理用户界面,控制器处理用户输入。关于团队开发,Web应用程序开发的这种方法允许团队中的每个成员都可以专注于工作的各个部分。
JSF框架使用JavaServer页面表示逻辑,使用标准标记库表示用户界面的组件。使用JavaBeans组件,框架定义了网页上组件的功能。bean配置和页面导航规则在应用程序的配置资源文件中定义。
6. Wicket
Wicket是一个基于Web组件的框架。它是一个使用Web组件创建动态网页的Web应用程序框架。Wicket专注于面向对象的设计。通过使用这个框架,可以用可重用的Web组件构建网页,这些组件可以通过标准继承进行扩展。一个Web组件,例如一个网页或一个页面部分,是Wicket的关注中心。这个框架可以方便地开发Web应用程序。它只使用两种技术:Java和HTML。HTML页面与Java代码非常干净。因此,标记设计者可以完全自由地设计网页。HTML设计者可以通过Visual HTML编辑器轻松地设计和修改页面,如FrontPage、Dreamweaver等。动态内容处理和表单处理都是用Java代码处理的。Wicket应用程序中的每个组件都是在Java类中创建并以标记方式呈现的。HTML文件和Java类必须具有相同的名称。同样,这两个文件必须存在于同一个数据源中。
Wicket为Web应用程序提供了通用支持。Web应用程序概念在Wicket框架和Web应用程序中有相应的类。例如,对于Web应用程序概念,Wicket具有WebApplication类。对于网页,Wicket有网页类。Web应用程序中的每个网页都有自己的类来扩展网页。此外,Wicket Web应用程序的重要特性是它们不需要XML配置文件。相反,Wicket使用Java类来进行应用程序设置。
7. ModelibraWicket
ModelibraWicket是开源的Java组件Web框架,是Modelibra家族的一部分。除了modelibraWicket,Modelibra家族的另一部分是modelibraModeler和modelibraFramework。
ModelibraModeler是设计和代码生成工具。ModelibraModeler已经被实现来帮助开发人员开发领域模型。任何软件的主干都是域模型。域模型是描述核心数据及其行为的特殊域类的模型。
Modelibra是一个域模型框架。它的目标是提供一个易于学习和使用的框架。它推荐用于原型和小型应用。它可以在客户机和服务器应用程序中使用。Modelibra旨在帮助小型应用程序的开发人员表示和使用应用程序域模型。Modelibra对于围绕域模型开发软件、为用户提供简单的安装以及开发Web应用程序向公众介绍软件非常有用。Modelibra使用XML文件保存当前域模型的数据。不需要任何特殊的软件安装。然而,Modelibra允许同时使用关系数据库和对象数据库。应用程序从XML数据文件升级到数据库不需要更改一行编程代码。只需更改XML中的域配置并创建一个数据库并将其配置为再次运行同一个应用程序即可。
ModelibraWicket使域模型作为一个Web应用程序活跃起来,这样模型数据就可以显示为Web页面并通过表单更新。在XML配置的帮助下,该模型被转换为Web应用程序。此Web应用程序可以被视为域的默认应用程序。必须认识到,此Web应用程序不是要作为网站安装的版本。它的主要目的是用于Web应用程序的设计者和未来用户验证域模型,从而优化域模型。此外,ModelibraWicket有一组通用的Web组件,可以在专业的Web应用程序中简易地重用这些组件来显示或更新实体。通用的Web组件可以在特定的Web应用程序中简易地重用。它们的重用包括使用modelibra从域模型收集数据,并将数据作为参数提供给Web组件。modelibraWicket中的通用Web组件将modelibra用于域模型,Wicket用于应用程序视图。
8. web框架的对比
今天,有许多用于开发Web应用程序的开源Java Web框架。大量Web框架的开发是由Web开发人员和用户需求的各种原因引起的。因此,所有的Web框架都是非常不同的,并且每个框架都有其优点和局限性。因此,对于Web应用程序开发人员来说,很难确定用于新项目开发的框架。为了让Web开发人员了解一个框架如何适合他们的项目,本节将比较上面描述的四个Web框架,并概述它们所有最重要的特性。
以下是开发人员在选择创建Java Web应用程序框架时应考虑的一些因素:
成熟度:决定框架存在的时间。Tapestry、JSF、Wicket和ModelibraWicket Web框架存在多年。
社区:指社区活动。Tapestry、JSF和Wicket框架的社区是活跃的,但ModelibraWicket社区并不活跃。
文件编制:确定文件的可用性、数量和质量。有很多关于Tapestry、JSF和Wicket框架的书。此外,这三个Web框架在其主页上提供了良好的在线文档。有一些关于ModelibraWicket框架的书籍和在线手册,但是这个文档并不多。
MVC结构:与如何处理事件调用相关。所有四个框架(Tapestry、JSF、Wicket和ModelibraWicket)都是基于组件的拉式MVC框架。
配置:确定开发人员是否必须创建许多XML、属性或其他文件来配置框架。只有JSF是配置框架,因为在这个框架中有几个必须配置的配置文件。
安全性:指Web应用程序的安全功能的实现。Tapestry、JSF、Wicket和ModelibraWicket执行Java身份验证和授权安全性。
本地化:指国际化,即使Web应用程序适应多种语言的能力。所有四个框架(Tapestry、JSF、Wicket和Modelibra Wicket)都支持本地化。
Ajax:与在Web应用程序中构建交互性相关。四个框架中有三个支持自动生成Ajax:Tapestry、Wicket和ModelibraWicket。
基于页面:确定使用网页开发应用程序的能力。所有四个框架(Tapestry、JSF、Wicket和ModelibraWicket)都是基于页面的框架。
基于JSP:与使用JSP页面生成HTML相关。只有JSF是基于JPS的框架。
基于模板:确定框架是否与模板一起工作。Tapestry、JSF、Wicket和ModelibraWicket是基于模板的框架。
控制反转(IOC):指用于查找内部或外部服务的机制。四个Web框架中的两个支持IOC:Tapestry和JSF。
设计和代码生成:确定是否有可能设计和生成Web应用程序的代码。只有ModelibraWicket有这个能力。因此,ModelibraWicket使用ModelibraModeler、设计和代码生成工具。
分析框架的所有这些最重要特征的概述(存在或不存在)可以通过表(表一)呈现。
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[18767],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。