登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 计算机类 > 软件工程 > 正文

Java Web应用框架的分类外文翻译资料

 2022-12-18 03:12  

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


Java Web应用框架的分类

摘要

本文从技术的角度描述了各种与Java EE模型相关的Web应用框架和相关的新兴技术。“Web应用程序框架”的定义已被指定,因为该术语已被广泛使用,并且在不同的上下文中具有截然不同的含义。提出了Web应用程序框架的价值主张,以说明框架如何提高应用程序开发效率和质量。阐述了Web应用程序框架的设计理念。定义了一个综合的分类方案,将各种软件框架和Web应用程序框架分类为适当的类别。在作为商业和开放源代码解决方案提供的数十个Web应用程序框架中,对主要产品进行了调查,并遵循了选择指南和建议。构建了一个参考卡来总结Web应用程序框架的关键方面。并对相关技术和未来发展趋势进行了讨论。

1 介绍

在信息系统环境中,框架是一种定义的支持结构,在该结构中可以组织和开发其他软件应用程序。框架可以包括支持程序、代码库、脚本语言、公共服务、接口或其他软件包/实用程序,以帮助开发和粘合软件应用程序的不同组件。软件框架是软件系统和/或子系统的可重用设计和构建块。

软件框架可用于构建不同领域的应用程序,如财务建模应用程序或决策支持系统。

软件框架由冻结点和热点组成。冻结点定义了软件系统的总体架构——它的基本组件以及它们之间的关系。它们在应用程序框架的任何实例化中都保持不变(冻结)。另一方面,热点代表软件框架中特定于单个软件系统的那些部分。热点的设计是通用的。换句话说,它们可以适应正在开发的应用程序的需求。

软件框架定义了体系结构中应该对特定功能进行适应性调整的地方——热点。在面向对象的环境中,框架由抽象类和具体类组成。这种框架的实例化包括组成和子类化现有的类。

当使用

软件框架,热点是根据系统的具体需求和要求而专门化的。软件框架依赖好莱坞的原则:“不要打电话给我们,我们会打电话给你。”。这意味着用户定义的类(如新的子类)接收来自预定义框架类的消息。这些通常是通过实现超类抽象方法来处理的,方法类似于模板设计模式的使用。

2 软件框架

2.1 软件框架类型

一般来说,信息系统领域有七种类型的软件框架:

bull;概念框架——总体架构模型,如Zachman框架;

bull;应用程序框架——应用程序解决方案(如Webwork)的框架结构;

bull;领域框架——针对特定业务部门(如IBM信息框架(IFW))进行定制;

平台框架-编程模型和运行环境(如.NET和JavaEE)

框架;

bull;组件框架——Hibernate、iBATIS和Cayenne等应用程序的构建块,用于对象关系映射;

bull;服务框架——面向服务计算的业务和技术服务模型,如语义Web服务框架;

开发框架——构建一个富客户端开发工具的构建基础,通常用于IDE,如Eclipse、NETBeaS和OSGi。

2.2 Web应用程序框架的定义

Web应用程序框架(WAF)是一个可重用的、框架式的、半完整的模块化平台,可以专门用于生成定制的Web应用程序,这些应用程序通常通过HTTP(S)协议为Web浏览器提供服务。它包括构建复杂、功能丰富的业务服务和协作系统所必需的服务和组件的构建块。WAF通常实现模型-视图-控制器(MVC)设计模式,通常在模型2架构中开发基于Java EE和.NET模型的请求响应的基于Web的应用程序。它还将搜索、版本控制和权限等服务集成到基本业务对象中,从而使应用程序能够利用框架服务,而无需额外工作或很少工作。在此上下文中,WAF是前一节中定义的一种应用程序框架,专门用于基于HTTP(S)的为HTML/XML提供服务的通信。

Web应用程序框架域层通常为用户、组和权限等基本概念建模。WAF还可以包括其他相关部分,如用户界面(UI)框架、为快速开发和重用Web用户界面而设计的UI组件库,以及强大的对象关系持久化引擎/实用程序。

2.3 为什么要使用Web应用程序框架?

2.3.1开放标准体系结构

软件框架大大减少了开发和维护Web应用程序所需的时间、精力和资源。此外,一个框架是一个开放的体系结构,它是基于普遍接受的标准(例如,Java、.NET、XML、XSLT、JAAS、Servlet、JSP、JDBC、ADO.NET)和技术(例如JUnit、XUnit、Ant、Log4J、JDOM、XALN、XECES、Lucene),使任何有经验的开发者能够快速开发和支持系统而无需陡峭的学习曲线。

这种采用和集成技术的最佳方法使应用程序设计人员能够专注于解决他们的业务问题。因此,采用Web应用程序框架作为Web应用程序的标准开发基础架构是确保开发不会锁定到任何专有的、死端的体系结构中的最佳方法。这种方法大大减少了技术流失和风险,因为世界上的高技能专业人员积极维护和增强了行业标准的开源框架。这些开发人员负责识别适当的技术、集成软件、测试这些技术,并为现有用户提供最新技术的迁移路径。

Web应用程序框架通常部署在n层体系结构中,并使用经验证的标准技术。通过使用标准技术,框架可以轻松地部署在现有的企业基础架构中,利用现有的硬件、软件、流程和人员。

2.3.2 相关域名服务

实际上,所有Web应用程序都有一组通用的基本要求,例如用户管理(例如,安全用户登录、密码恢复)、组管理和访问授权。Web应用程序框架通常包括所有这些功能,通过数百个生产部署进行优化,使开发人员能够专注于其特定应用程序的需求。

除了一组基本服务外,Web应用程序通常还有两个重要的相似之处:它们将重要数据存储在关系数据库中,并通过基于Web的用户界面与用户交互。复杂的对象关系持久性层自动管理模型对象在数据库中的存储方式。持久性层通过从元数据生成优化的SQL,大大减少了建模和重构数据库架构或支持其他数据库架构所需的工作量。

Web应用程序框架还可以包括基于组件的表示呈现框架,使开发人员能够扩展现有的UI组件或构建可在整个应用程序(如XSL和标记库)中重用的新组件。可以提供广泛的域服务,如数据验证、版本控制、分类、打印、页面导航和全文搜索。任何写在Web应用程序框架之上的应用程序都可以透明地立即利用这些基本服务。

三 Web应用程序框架解决方案

3.1 设计理念

用于开发Web应用程序框架的关键设计原则如下。

bull;简单性–应该编写越来越简单的代码来使用框架。避免过度使用XML配置文件。利用以POJO为中心的设计。

一致性-组件、容器和约定应一致

bull;效率-应用程序应表现良好并可扩展,支持通过粘性会话进行群集。

bull;集成——框架不应与良好的现有解决方案竞争,而是应促进无缝集成。

bull;可重用性——框架中的构造应该是完全可重用的,并且易于分发/部署。

bull;非侵入性–HTML或其他标记不应受到编程语义、与普通HMTL编辑器的兼容性以及图形设计师易于操作的污染,以识别和避免框架标记。

bull;诊断-当出现问题时,框架不应该妨碍;事实上,它应该提供有用的诊断和调试信息。

bull;开发工具——最大程度的工具支持,对特殊工具的依赖性最小。

3.2 Web应用程序框架类型

几乎所有的Java Web应用程序框架都是基于MVC模式的。一般来说,目前有五大类Web应用程序框架:基于请求的、基于组件的、混合的、元的和基于RIA的框架。

基于请求的框架非常接近原始的CGI规范。它使用直接处理传入请求的控制器和操作。每个请求本质上都是无状态的。随着服务器端会话的引入,实现了一定程度的状态性。不同的框架基本上通过将逻辑映射到URL以及如何将数据结构化并提供给业务处理程序来区分它们自己。

基于组件的框架抽象了请求处理的内部,并将逻辑封装到可重用组件中,通常独立于Web介质。框架根据每个组件实例中存在的数据自动处理状态。除了某种形式的事件处理之外,这个开发模型与桌面GUI工具包提供的功能非常相似。各种框架基本上通过提供的组件API以及组件如何集成在一起来区分它们自己。

混合框架通过在基于请求的模型中控制整个数据和逻辑流,将基于请求的框架和基于组件的框架结合在一起。

开发人员仍然接近CGI应用程序的体系结构,并且完全控制URL、表单、参数、cookie和pathinfos。但是,混合框架没有将操作和控制器直接映射到请求,而是提供了一个组件对象模型,该模型在许多不同的情况下(如单个页面、截获的请求、类似门户的页面片段和可集成的小部件)具有相同的行为。可以将组件连接在一起,并将其打包为组,这些组本身就是组件。它们可以单独分布,并无缝集成到其他项目中。这将基于组件的框架中的可重用性形式与基于请求的方法的原始控制相结合。

元框架具有一组用于公共服务的核心接口和用于集成组件和服务的高度可扩展主干。该结构通常实现控制模式的反转,以分离关注点,从而灵活地合并其他框架和组件。元框架有时被认为是框架的框架。

富Internet应用程序(RIA)是指在浏览器中运行的基于网页的应用程序,具有“胖”客户机中常见的丰富用户界面功能,如拖放、树控件和选项卡式面板。基于RIA的框架使用一个客户端容器模型,该模型最小化了服务器通信量,而不是每次用户单击时加载整个HTML页面,框架要么在本地处理单击(不涉及服务器),要么以XML格式从服务器请求数据。这意味着真正存在一个具有状态和用户交互模型的客户端应用程序——客户机远不止是在服务器上生成的网页。

3.3 主要产品

3.3.1基于请求的框架

WebWork

WebWork[6]为构建可重用的UI模板提供了强大的支持,例如表单控件、UI主题、国际化、到JavaBeans的动态表单参数映射以及强大的客户端和服务器端验证。

WebWork最初由Rickard Oberg于2001年开发,2002年3月作为一个开源项目发布在SourceForge上。Webwork于2002年夏天加入了OpenSymphony项目。截至2005年11月,WebWork合并到Struts中,成为Struts Action 2.0框架的一部分。

Struts

Struts使用并扩展了Java Servlet API,采用了“模型2”方法,这是经典模型视图控制器(MVC)设计模式的一种变体。在模型2中,servlet(或等价物)管理业务逻辑执行,表示逻辑主要驻留在服务器页面中。

Struts最初是由Craig McClanahan开发并于2000年5月捐赠给Apache基金会的。Struts实际上是一个拥有强大而活跃的用户社区的框架。ApacheStruts项目现在由两个不同的框架组成。这两个框架分别是Struts行动框架和Struts Shale框架。此外,SimpleWebFramework(SWF)是一个基于事件的框架,面向希望构建富Web应用程序但不希望迁移到JSF的Struts开发人员。

Beehive

Beehive(Apache 2006)是一个可扩展的Java应用程序框架,具有用于Web服务、Web应用程序和资源访问的集成元数据驱动编程模型。该框架利用Java 5中最新的创新,特别是JSR 175元数据注释。关键组件是NetUI页面流、控件和Web服务元数据。

Beehive在2004年5月从BEA Weblogic Workshop产品的一部分发展到了Apache项目。

Stripes

Stripes[9]是一个健壮而轻量级的表示框架,每页/操作都没有外部配置,绑定引擎根据请求参数构建复杂的对象Web,内置支持每个表单的多个事件,透明的文件上载功能和向导表单。Stripes最初于2005年9月发布。

3.3.2基于组件的框架

JSF

JavaServer FACTS(JSF)是基于Java的Web应用程序的服务器端用户界面组件框架。JSF包含一个API,用于表示UI组件和管理其状态;处理事件、服务器端验证和数据转换;定义页面导航;支持国际化和可访问性;并为所有这些功能提供可扩展性。它还包含两个JSP(JavaServer页面)自定义标记库,用于表示JSP页面中的UI组件,并用于将组件连接到服务器端对象。

JSF1.0(JSR-127)的规范最初于2004年3月发布。JSF1.2规范(JSR252)是下一代JSF,其最终草案于2005年8月发布。

Tapestry

Tapestry在标准JavaServlet API上进行补充和构建,并将Web应用程序划分为一组页面,每个页面由组件构成。这提供了一个一致的结构,允许Tapestry框架承担关键问题的责任,例如URL构造和调度、客户机或服务器上的持久状态存储、用户输入验证、本地化/国际化和异常报告。开发Tapestry应用程序包括使用普通HTML创建HTML模板,并使用(可选的)XML描述符文件将模板与少量Java代码相结合。在Tapestry中,应用程序是根据对象、这些对

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


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

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

企业微信

Copyright © 2010-2022 毕业论文网 站点地图