英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
在Java EE平台上开发高质量的Web应用程序
Harshad B. Prajapati
Information Technology Department Dharmsinh Desai University Nadiad, India harshad.b.prajapati@gmail.com
Vipul K.Dabhi
Information Technology Department Dharmsinh Desai University Nadiad, India vipul.k.dabhi@gmail.com
摘要:网络应用程序的质量在其成功中起着重要作用。通过遵循高质量的网络工程流程,高质量的网络应用程序是非常有可能实现的。强大的网络应用程序架构与强大的开发平台的使用不仅使网络应用程序稳健且高质量,而且使网络应用程序能够以高效的方式满足不断变化和苛刻的客户需求。即使在用户交互式应用程序体系结构发生重大变化之后,模型视图控制器(MVC)设计模式仍然是基础架构设计模式。在本文中,我们将讨论如何支持实现Web应用程序的质量属性,支持Web应用程序开发过程以及支持在Java EE平台上满足Web应用程序的要求特性。
关键词:Java、逻辑设计、信息技术、健壮性、图形用户界面、大规模系统、无所不在的计算、标准制定、硬件
- 介绍
随着网络应用在普适计算和广泛计算时代的巨大需求,网络应用质量相关的一些问题[1]也在网络应用开发过程中得到了高度重视。Web应用程序业务的巨大竞争迫使Web应用程序开发人员更加注重质量。如果网络应用程序能够在苛刻的和不断变化的客户需求以及不断变化的业务需求下生存下来,那将是非常有价值的。
构建高质量的网络应用程序确实是一项艰巨且具有挑战性的任务,但是对正确的开发过程、方法、工具和人员的支持确实有可能实现高质量的网络应用程序。由于开发平台会影响相关的开发过程、方法、工具和人员,因此它使开发过程变得简单、高效和可靠,并在实现高质量的Web应用程序的过程中扮演着重要角色。
Java EE平台[7]是开放的、基于标准的[8],并且可以开发和运行分布式企业应用程序的硬件和操作系统无关平台。由于针对Java EE平台的应用程序是供应商中立的,组织不会面临供应商锁定的问题。基于Java EE平台的Web应用程序使用模型/视图/控制器(MVC)[2]设计模式[3]为三个架构组件:表示逻辑、控制器逻辑和实体/业务逻辑。我们讨论传统基于GUI的应用程序中使用的MVC设计模式,并讨论它如何适应基于Java EE平台的Web应用程序的体系结构。我们根据(1)质量属性要求分析Java EE平台;(2)在开发过程中提供相关支持;(3)在开发过程中为相关人员提供相关支持,并以快速易消化的形式呈现我们的结果。我们的研究结果表明,Java EE平台上的Web应用程序开发对于提供高质量的Web应用程序,满足不断变化的客户需求和满足不断变化的业务需求具有重要价值。
本文提出的工作主要集中在从整体开发过程的不同角度为Java EE平台上开发的Web应用程序实现高质量的性能。该类别的相关工作如下:使用MVC设计模式的Web应用程序开发可以在[4]中找到。ASP.NET和JSP框架中的MVC设计模式可以在[5]中找到。网站的质量特征和属性可以在[1]中找到。
在第二章讨论了传统的GUI应用程序的架构MVC设计模式及其在Web的应用程序架构适应。在第三节呈现web应用开发过程和Java EE平台为它提供支持。在第四部分提出了对Java EE平台的Web应用程序提供有价值的功能。第五部分介绍了Java EE平台分析的结果,以实现高质量的Web应用程序及其组件。最后,第六部分介绍未来研究工作的结论和方向。
- 使用MVC设计模式的Java EE平台上的web应用程序体系结构
即使在用户交互式应用程序体系结构发生重大变化之后,MVC[2]设计模式[3]仍然是基础架构设计模式。因此,在我们讨论它在Java EE平台上的Web应用程序体系结构中的使用之前,我们想向读者提供简短的介绍[7]。
(一)MVC设计模式
MVC设计模式被程序员、软件设计师和GUI组件开发人员广泛使用,以构建他们正在开发的小部件。如图1所示,MVC设计模式由三种对象组成:模型、视图和控制器,它们分别处理任何小部件的三个基本职责:实体(数据)、边界(表示)和控制(行为) 。该模型封装了应用程序数据和业务逻辑; 该视图处理应用程序数据和用户可视化界面的呈现,并且控制器处理用户与应用程序的交互。
图1. MVC设计模式
MVC设计模式通过在它们之间建立订阅/通知协议来分离视图和模型。视图对象必须确保其外观反映模型的状态。模型对象独立于视图和控制器对象,因此可以拥有同一模型(数据)的多个视图(演示文稿)。所有相关的视图都可以通过模型和模型进行订阅,通知他们有关其状态更改。
当用户与基于MVC设计模式的GUI窗体或页面进行交互时,所有触发的事件都由控制器对象捕获。控制器然后决定触发的事件是否与模型状态的改变或观察状态的改变相关。作为一个例子,当用户触发与改变文本字段中的值有关的事件时,控制器调用模型的方法来改变其内容。但是,如果用户执行水平或垂直向上滚动或向下滚动,则模型内容不会更改,只应通知视图以反映其外观变化。
(二)Java EE平台中的Web应用程序体系结构
在独立应用程序中,通常模型、视图和控制器位于同一台计算机上。但在分布式Web应用程序中应用程序体系结构不同;但是,MVC设计模式非常普遍,以至于仍然可以将其应用于其架构。基于Java EE平台的Web应用程序使用基于MVC的体系结构,如图2所示。
图2. 在基于Java EE平台的Web应用程序体系结构中使用MVC设计模式
在基于Java EE平台的Web应用程序体系结构中,servlet [10]组件用作控制器;JavaBean组件被用作模型;并且Java服务器页面[11](JSP)页面被用作视图模板。Enterprise Java Bean(EJB)[12]可以用作模型,它可以位于分布式环境中,而不像JavaBean。JSP技术用于创建视图,并且JSP页面被视为视图模板。这个JSP页面的执行会生成视图--HTML[13]内容。
Java EE平台为Web应用程序组件提供了许多系统服务。Java EE平台提供对安全性身份验证,授权和事务的支持。数据库连接管理由Java EE平台处理,并且可以在部署描述符的外部进行配置,因此模型组件不需要担心这些细节。因此,模型组件的责任仅仅是处理业务数据和业务逻辑。认证和授权服务也由Java EE平台提供给servlet,并且该服务也可以在部署描述符中进行外部配置。容器在Servlet组件和Web浏览器之间为每个HTTP [14]请求进行调解,并按照部署描述符中的配置应用这些服务。
- Java EE 上的Web应用程序开发过程
(一)Web应用程序开发过程
在本章中,我们将讨论Java EE平台中的Web应用程序开发过程[7]以及可用于从Java EE平台开发Web应用程序的支持。
Java EE平台上的典型开发流程涉及以下任务:设计、编码、创建部署描述符、打包、组装和部署。这些任务也适用于Web应用程序开发。Java EE平台规范[8]详细说明了Java企业应用程序开发中的角色和责任。我们在这里介绍这些角色和他们在Web应用程序开发过程的各个阶段的责任。表1显示了发展过程中所涉及的人所起的重要作用,他们的基于角色的责任,他们在特定的发展阶段参与的工作。
表I. Java EE平台上基于角色的开发:角色,职责和人员参与开发过程
(二)在发展过程中的支持
如果在编码,测试,集成,部署和维护阶段提供工具/技术支持,则开发变得高效。在这里,我们讨论了Java EE平台在所有这些阶段如何提供支持以使开发过程高效。
1支持编码
开发环境应提供避免输入错误的机制,只需很少的代价即可添加新的功能,并为基于标准的技术和工具提供支持。非常复杂的开发工具可用于Java EE平台上的软件开发。Netbeans IDE[15]和Eclipse IDE[16]就是其中之一。这些IDE都配备了复杂的编辑器。很少有这样的功能是自动代码完成,重新分解,代码插入,避免拼写错误的语法高亮显示,修复包导入,getter / setter处理以及用于调用EJB的代码插入。这些特性在开发servlet,JSP,JavaBean和EJB组件时有很大帮助。
2支持测试
良好的调试和单元测试支持是测试过程中的基本要求。Java平台[9]带有调试器jdb,NetBeans和Eclipse等IDE提供了良好的调试支持。JUnit [17]为单元测试提供了回归测试框架。它可以加速编程并提高代码质量。它提供了用于轻松创建Java测试用例的API,全面的断言工具,用于运行测试的测试运行器,汇总工具和报告。所有这些功能都有助于开发人员在实际代码中嵌入多个println()调用,并以结构化的方式手动准备测试。为了测试而添加然后删除单独的println()是非常令人沮丧的任务,并且它不能轻易地复制到类似的类中。
3支持集成和部署
Web应用程序的集成和部署应尽可能简单,以最大限度地减少部署时间和停机时间。部署过程应该独立于不同的托管应用程序服务器提供程序。由于Java技术[9]是基于标准的,web应用使用它可以在任何Java EE的合规经营开发[8]的应用服务器,而无需在代码中任何修改。网络应用程序不受供应商锁定。Java EE平台在标准部署描述符中指定供应商中立配置,在供应商特定部署描述符文件中指定供应商特定配置。特定于供应商的配置包括与目标安全系统映射的抽象安全角色,数据源引用以及其他资源配置。
4支持维护
Java EE平台规范明确规定了不同参与人员的角色和责任。如上所述。所有这些角色都适用于Web以及企业模块/应用程序开发。三个主要角色:开发人员,汇编人员和部署人员简化了整个开发任务。所有三个基本组件:servlet,JSP和JavaBean / EJB组件可分别由servlet开发人员,JSP开发人员和Java / EJB开发人员分别实施和维护。
- Java EE平台上Web应用程序的重要功能
由于Java技术[9]是面向对象和平台独立的,Java类或组件固有的许多特性,如可伸缩性,可移植性,可重用性,安全性,高性能和灵活性。Servlet[10]和JavaBean组件都是java类,所以上述特性是它们固有的。这也适用于EJB[12]组件,它是Java类和部署描述符的集合。JSP[11]脚本语言用于创建JSP页面。尽管JSP页面看起来像一个HTML[13]类型的页面,但在执行时它是一个被执行的已翻译的Java类。总之,所有三个组件:用于实现MVC的servlet,JavaBean / EJB和JSP[2]设计图案[3]上的Java EE平台[7]是可变的,便携的,可重复使用的,安全的,高性能的,灵活的。Java EE平台上的以下可用功能为web应用程序增加了价值。而且在某些业务/客户要求中,它们是不可或缺的。
(一)安全
通信安全性(机密性和完整性)通过SSL[18]支持提供。对于SSL支持,应该在Java EE容器上配置SSL连接器,并且应该在Java EE容器上安装由认证中心(CA)签发的服务器证书[18]。基于Java EE的Web应用程序被配置为声明性机密性和完整性。在图3示出了与网络的应用程序的安全性方面三种配置。在lt;! - SECURE COMMUNICATION - gt;下显示的部分与在Java EE容器和Web浏览器之间传输的数据的机密性和完整性有关。
图3. 基于Java EE平台的Web应用程序的声明性安全配置
图3中的lt;! - LOGIN CONFIGURATION-gt;下的部分声明,在授予对资源的访问权限之前,必须执行用户认证。它声明身份验证方法是FORM类型。
授权部分包括哪些用户允许哪些资源的操作。lt;web-resource-collectiongt;中的部分指示哪些资源受lt;url-patterngt;指示的访问控制,以及lt;http-methodgt;指示允许哪些操作。并且允许哪些用户对所选资源执行选定的操作在lt;! - AUTHORIZED USER - gt;部分下进行配置。
(二)交易处理
Java EE平台支持会话Bean和消息驱动Bean(MDB)的容器管理事务和Bean管理事务[12]。在容器管理的事务中,企业bean代码不会使用begin transaction和commit transaction显式标记事务的边界。相反,事务是在部署描述符中配置的。容器在企业中的业务方法开始之前立即开始交易。它在企业bean的业务方法退出前提交事务。如果在业务方法执行期间生成异常,容器将自动回退到事务发生之前的状态。根据容器管理的交易,仅支持单个交易或不支持交易。为了对事务进行细粒度的控制,可以使用bean管理的事务。
(三)支持会议管理
互联网上的大多数网络应用程序都使用cookie机制来处理会话。因此,从不支持cookie机制的浏览器访问这些网络应用程序的用户不能参与会话,并且将无法访问任何个人资源。Java EE平台上的编码URL机制自动确定客户端的浏览器是否支持该cookie,然后决定如何
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[24354],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。