




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
定义基于J2EE Web开发信息系统的方法Askar S. Boranbayev Eurasian National University, 5 Munaitpassov Street, Astana, 010008, Kazakhstan文章信息: 关键字:J2EE 架构 网站开发摘要:这篇文章描述了Java项目开发的框架的概念并且描述了框架是如何在IT项目中被使用的。开发框架被创建是因为许多设计和开发任务用多次不同的方式来重复进行,而且这些方法并不总是符合最佳实践。我们已经确定了共同的应用程序关系和交付的设计模式和工具,这就代表有效的解决方案。开发框架提供:应用程序从用户数据集成接口开发堆栈一个架构、基础设施和相关技术为提高和改变其他一些框架。该体系结构定义了一个开发方法,其目的是帮助定制开发项目1简介软件工具和对空间动态系统的非线性复杂分析的包越来越多地使用web的网络平台实现的用户界面,从而实现科学分析、分布的模拟和科学家之间的信息交换。非线性分析模拟的实时网络访问软件成为许多应用系统的关键部分。网络硬件和密集的技术变革软件1提供了比过去更多的自由选择2。因此,理性的选择和发展网络平台对整个地区的非线性分析和它的许多应用程序是越来越重要的。当前Web开发阶段的特点是大量的开源框架的出现。基于框架的Web开发的重点转移到一个更高的水平,允许重用基本功能,从而增加了工作的效率。 在某些情况下,开源框架没有提供常见问题的解决方案。出于这个原因,开发人员构建自己开发框架之上的开源框架。本文的目的是描述一个开发基于java框架,利用开源框架和协助开发基于web的应用程序。通过分析一些现有的开源框架,本文提出了一种新的体系结构、基础设施和相关的技术用于提高和利用其他一些框架。该体系结构定义了自己的开发方法,旨在帮助定制开发项目和集成项目。 在项目开发中有一些共同的应用程序开发方法。甚至在独特的功能需求、用例有常见的模式,有助于设计和开发重用。本文描述了一个“自定义”框架,它被开发用来确定这种常见应用问题和识别设计模式,并且这种框架开发人员可以使用的。这个框架,我们将参考XYZ开发框架,提供了一组模式和工具,是建立在行业最佳实践,量身定做常见的应用程序问题。它提供了一个应用程序开发堆栈,集成和表示层。本文阐述了这些应用程序问题和模式,工具和最佳实践。XYZ框架可以定制各种项目的需求。这是基于各种框架开发和配置和工具如Struts、Spring、Hibernate和JUnit。2开发框架时使用的技术 2.1 层和代码和配置分离 Web应用程序有各种设计问题如表示、业务逻辑、数据访问和安全。分离设计问题成不同的代码层有几个优点如:易于维护、实施的能力 良好的设计模式,能够为特定问题选择专门的工具和技术。分离一个项目会导致这些层之间的存在着独立关系。例如,一次性案件和简单的数据条目 调查通常必须集成表示,业务逻辑和数据访问一起交付所需的功能3。 因此,必须有一个良好定义的策略来管理依赖关系。XYZ框架结合设计模式、可重用的代码和配置文件,使这种尽可能容易。这个框架使用 Spring的控制管理依赖性。Spring框架4提供了一种方法将对象联系在一起来开发一个应用程序。它与Spring应用程序实现这一目标,这是一种对对象之间的依赖关系的战略管理。Spring使用下面的描述方的依赖项注入和拦截技术。 我们写的代码依赖于它所使用的对象。它负责创建这些对象。这可能导致 在紧密耦合,但我们希望,我们的代码是松散耦合的。依赖注入是一种帮助我们做到这一点的技术。依赖注入是一种控制反转(IoC)形式5。当应用程序使用依赖注入,代码变得更清晰,更容易阅读。而这也是松散耦合,允许更容易配置和测试。XYZ框架使用几个Spring应用程序上下文文件来定义层之间的依赖关系。拦截方法是一个概念的面向方面的编程(AOP)6。Spring AOP实现方法拦截 通过JDK动态代理。XYZ框架使用Spring AOP来管理事务管理等问题和性能监控。 XYZ框架包括两个不同的部分:代码和配置。代码驻留在一个特定的应用程序层,集中于一个特定应用程序的解决方案。这可能是与数据库交互, 或提供数据到屏幕上。配置将应用程序的各层连接在一起。分离的配置使我们能够独立管理配置,使我们对相同的代码运用不同的配置。例如,一个数据访问对象(DAO)实现知道使用JDBC连接到一个数据源数据库,但是它不知道任何关于数据源的实现。它可能会从Java命名和目录接口(JNDI)上下文或来自一个驱动程序管理器。它可能指向远程数据库或本地数据库。不管数据源来自何方,DAO实现来运作的数据源以相同的方式。同样,服务对象可能取决于一个DAO,但是它不知道是否DAO 实现通过Hibernate、直接JDBC或Web服务。服务对象与DAO以同样的方式, 不管DAO的实现。 Spring给了我们一个方法来管理我们的应用程序即通过Spring应用程序上下文定义的 一组XML文件。我们可以在一个文件中定义应用程序上下文。然而,通过定义小文件,我们可以简化配置管理。以这样的应用程序上下文文件,构成一套完整的应用程序的逻辑配置被称为配置。 在基于Java的企业级应用开发中标准配置文件是一个使用了外部资源,例如数据源和JNDI源的框架配置文件。这种类型的配置有时可以产生问题:(1)尚未加载一个不完整的数据库。开发人员可能希望测试显示的某些类型的数据,但如果底层数据库尚未完成,他们将无法做到这一点。(2)服务或DAO可能还没有被开发出来。我们可以使用备用配置专门设置实现发展目标。 这些问题降低工作效率。所开发的XYZ框架使它的配置从代码中分离出来。我们可以使用备用配置专门设置实现发展目标。这将缓解我们外部系统可用性的困扰,这样可以解决当前发展的需要。 XYZ框架定义了两个配置设置:默认和独立。我们还可以根据我们的项目需求在原有的配置文件上添加额外的配置。默认de 配置设置使用JNDI连接开发数据库中定义的数据源。它使用完全开发应用程序服务和DAO。独立的配置是最灵活的发展环境。这个配置设置: (1)连接本地安装的数据库或开发数据库使用数据源驱动程序管理器;(2)使用Spring的 数据源事务管理器的本地事务管理;(3)使用完全开发应用程序服务和DAOs; 和(4)完全连接Spring应用程序上下文之外的完全可以运行和测试应用程序服务器。 XYZ框架通过应用程序上下文进行配置。在一个或定义的应用程序上下文可能 更多的XML文件。一个配置组是一组定义一个应用程序上下文XML文件。配置集由两个部分:服务和网络。服务部分定义服务、dao和资源服务和集成层。 网络部件定义了表示层组件。一套配置不能完全没有这两种部分。 2.2 类和依赖关系 使用XYZ开发框架,下面的代码将通常需要开发和配置工件 用户界面屏幕:(a)行动,ActionForm类和验证。xml条目;(b)服务接口和实现 类;(c)DAO接口和实现类,(d)之间的依赖关系管理上面。当开始 开发一个用例,我们必须意识到的需要所有这些类及其依赖项的前期。 2.3 测试技术 测试应该开发过程中不可或缺的一部分。使用XYZ开发框架构建的应用程序, 单元测试意味着在服务或集成层测试一个类的方法。表示层构件不采取单元测试。此测试程序的目的是要确保行为封装类是预期在测试与其他组件集成。单元测试的应用程序,开发使用XYZ框架,是基于JUnit框架7。不同于单元测试,集成测试要求判断代码的依赖关系可用性。这个测试的目的是确保不同阶层之间的集成(发达 由不同的开发人员)是否按预期运行。在功能测试过程中,重点是测试的功能。应用程序通过使用数据来测试不同的场景。功能测试通常涉及测试类的服务 与不同的数据层。它也可以由测试用户界面层和通过使用真正的依赖关系。 为了执行不同类型的测试,所开发的应用程序必须是可测试的。下列是一个可测试的应用程序的基本特征。(1)易于开发单元测试和集成测试。我们应该能够进行单位测试而且没有必要使用数据源或者队列。同时,我们应该能够模拟依赖代码测试。(2) 模拟各种测试场景的功能测试。(3)易于反复重新运行所有测试的生命周期的应用程序。(4)从应用程序代码分离测试代码。 结构良好的应用程序,将设计问题分离开,如服务和数据访问是非常重要的。应用程序编码始于getter、setter、变量等,然后综合提供所需的解决方案。单元测试是一种测试方法的基本构建块。XYZ 框架的设计便于开发的可测试的应用程序:提供测试模板类,有助于创建单元测试,也通过使容易配置应用程序适应测试的需要。可以像任何运行JUnit单元测试。专门开发的默认“构建脚本”提供了一个任务运行单元测试。这个任务可以在生成时调用 EAR文件部署或可以单独运行。 2.4 Web演示设计 XYZ框架使用Struts框架开发的概念和JavaScript来实现和提供了额外的特性,可以用于扩展项目。当使用Struts框架进行开发时, 首先我们设置行动Servlet在web.xml;然后我们设置配置、动作映射,表单和本地转发 struts-config.xml;最后,我们在validation.xml建立验证规则。 这种方法已经改变了使用XYZ构建的应用程序框架,这样开发人员 不能直接编辑struts-config.xml或validation.xml。相反,我们指定该信息作为XDoclet注释 直接行动和ActionForm类。该信息通过运行Ant脚本然后转入struts-config.xml和validation.xml。 有两种类型的验证,要求:数据格式验证和业务逻辑验证。数据格式 验证最好是在表示层,业务逻辑验证最好是在服务层。 业务逻辑验证错误,发生在服务层,应该由抛出定制的异常处理。 以下是表示层的设计目标:(1)只有一个Action类对每个JSP。一个Web页面都必须处理一个Action类。(2)指定依赖项和验证规则 使用XDoclet注释。(3)开发人员应该避免或减少会话对象的使用,因为它阻碍了可伸缩性。 XYZ框架提供了一个默认模板操作类包含上述的解决方案设计 这一层的目标。以下是典型的代码工件需要开发一个Web页面:(1)创建一个新JSP 默认隐藏字段称为“actionType”用于处理用户操作,预计将出现在页面上。(2)创建 一个新的操作类,扩展了此模板操作类。我们必须指定依赖ActionForm特定的方法 处理用户的行为由隐藏字段中的值表示“actionType”。之后,我们可以声明所需的权限来访问这个Action类。这样做是在Spring配置文件中。(3)创建一个新的ActionForm类 使用XDoclet注释和指定验证规则的要求。 创建JSP后,行动和ActionForm,需要运行Ant脚本重新生成“struts - config . xml” 文件。 2.5 数据库连接XYZ框架构建的应用程序使用JDBC和Hibernate框架将会一直发送数据到关系数据库中。应用程序配置了必要的Spring上下文文DAOS, 使用直接JDBC必须扩展Spring框架的JdbcDaoSupport.java类。同样,使用Hibernate必须的dao扩展Spring框架的HibernateDaoSupport.java类。2.6 通过注释配置XYZ框架使用Spring框架维护代码构件之间的依赖关系。这些依赖项(如行动与ActionForm)在“struts-config.xml配置”,而 其他(如服务和DAO)之间配置在Spring应用程序上下文文件(中)。在 团队环境中这些配置文件由开发人员共享。这就是为什么这些配置版本冲突 文件可能发生。发达XYZ框架提供了一种新的有效的方法,使用特殊的注释来指定 这些依赖关系。通过使用这些注释,配置成为配置更简单和避免冲突性的变更。3.服务的开发框架XYZ框架促进使用普通旧式java对象(pojo)来实现业务逻辑。必须声明为逻辑接口。所有服务实现必须实现一个或多个业务接口。这是当业务规则验证错误时建议服务层抛出定制业务异常的开发。XYZ框架采用声明式事务管理方法基于Spring框架8。这是使用面向方面的编程(AOP)实现。XYZ框架促进良好实践的分离部署接口服务接口。部署是一个Java接口 表示服务暴露在WSDL接口。实现这个接口的类总是必须委托请求实现服务接口的类。这确保了所有业务逻辑保持在一个地方正确的层。服务接口是一个Java接口,代表业务逻辑。在大多数情况下,部署接口将包含从服务接口的一个子集的方法。Apache Axis Web服务框架1.2.4是当前的Web服务标准。在开发Web服务时, 有两种截然不同的方法9:先制定协议和最后制定协议。区别在于方法首先在于是否创建WSDL还是从代码生成。先制定协议是一个很好的实践开发Web服务,服务使用者和提供者外部供应商可能使用不同的技术实现Web服务相互(他们可能使用.NET 而不是Java)10。4. 中间层集成有几种技术集成外部资源(如数据库和Web服务。XYZ框架使用这些技术在逻辑层称为“集成”层。这一层的设计目标 是:(1)使用JDBC访问数据库或Hibernate应封装在数据访问对象(DAO)。(2)使Web服务应该尽可能简单。(3)所有外部数据格式转换为应用程序的域对象 应该限制在这一层。(4)在这一层单元测试类应该简单和容易。XYZ框架支持使用Hibernate和直接JDBC调用来访问关系数据库。这是 推荐使用Spring框架的模板类:JdbcTemplate HibernateTemplate。当使用直接JDBC 访问关系数据库,建议应用程序的dao扩展Spring框架的JdbcDaoSupport。 JdbcTemplate类管理资源用于访问数据库(例如PreparedStatement)。发达 XYZ框架将数据源插入DAOs使用应用程序配置文件。当使用Hibernate来访问 关系数据库、Hibernate Sessi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025西藏日喀则市殡仪馆人员招聘17人笔试模拟试题及答案解析
- 2025浙江杭州市拱墅区拱宸桥街道社区卫生服务中心(拱墅区大运河中医院)招聘编外聘用人员9人考试模拟试题及答案解析
- 2025年甘肃省兰州市城关区盐场路街道盐场堡村社区卫生服务站招聘考试参考题库附答案解析
- 2025云南省宣威市双河乡中心学校招聘编制外学龄前教育有关辅助人员(7人)笔试模拟试题及答案解析
- 在线医疗健康咨询平台开发与运营规划书
- 2025四川泸州叙永县考核招聘事业单位工作人员26人笔试模拟试题及答案解析
- 2025云南大学云南马来亚学院编外工作人员招聘(2人)笔试参考题库附答案解析
- 护理专业没有毕业论文
- 风电专业毕业论文
- 中文系师范生毕业论文
- 人教版初中学业水平考试地理试题与答案(共五套)
- 砼回弹强度自动计算表
- 教师课堂管理方法和技巧课件
- 小学科学教师专题培训课件
- 伍德灯在寻找炎症性皮肤病变中的应用价值研究
- 新版药品管理法培训试题
- 合同的订立与有效性
- 市政工程交通导行方案
- 梁的弯曲振动-振动力学课件
- 说专业-物流管理专业
- 钢结构长廊施工方案
评论
0/150
提交评论