定义方法为开发J2EEWeb为基础的信息系统阿斯卡尔S.Boranbayev,欧亚国立大学,5Munaitpassov街,阿斯塔纳,010008,哈萨克斯坦摘要本文介绍了基于Java的项目开发框架背后的概念,并说明它如何被用于IT项目。该开发框架的形成是因为许多共同的设计和开发任务被反复以不同的方式,而不是总是与最佳实践相一致。我们已经确定了常见的应用问题和交付的设计模式和工具,代表有效的解决方案。该开发框架提供:(1)应用程序开发堆栈从用户界面到数据整合开始,(2)的架构,基础设施和加强,并利用一些其他框架相关的技术。所提出的架构定义了开发方法,其目的是协助客户开发项目。关键词J2EE;框架;Web开发1。介绍软件工具和封装复杂的空间动态系统的非线性分析越来越多地使用基于Web的网络平台为他们的用户界面,科学分析,仿真结果的分布,以及科学家之间的信息交换的实现。实时的基于Web的访问非线性分析模拟软件成为许多应用系统的重要组成部分。在网络硬件和软件密集型的技术变化[1]提供的选择比过去更多的自由[2]。因此,Web平台的合理选择和开发越来越多的非线性分析和其众多的应用程序的整个区域的重要性。Web开发的当前阶段的特点是一个显著的开源框架的出现。框架的Web应用开发的重点转移到一个更高的水平,使之基本功能的再利用,从而增加开发的效率。在某些情况下,开源框架没有提供解决共性问题。出于这个原因,开发人员构建上的一个开源框架顶自己的开发框架。本文的目的是描述一个开发基于Java的框架,利用开源框架,并协助开发基于Web的应用程序。通过分析现有的一些开源框架,本文提出了一种新的体系结构,基础设施和相关技术的提高,并利用一些其他的框架。所提出的架构定义了自己的开发方法,其目的是协助客户开发项目和集成项目。有这往往是在项目间使用共同的应用程序设计问题。甚至跨越独特的功能要求,也有使用案例经常发生的模式,可以将其作为设计和开发的重用。本文介绍了一种“定制化”的框架,已被开发为试图找出这些常见的应用问题和找出设计模式,可用于由开发商。这个框架内,我们将称之为发达XYZ框架,提供了一组模式,并基于行业最佳实践,针对常见的应用担心的工具。它提供了一个应用程序开发堆栈,从演示到集成层。本文阐述这些应用问题和模式,工具和行业最佳实践。所开发的某某框架可以定制各种项目的需求。它的开发和基于各种框架和工具,如Struts,spring,hibernate的和JUnit配置。2。在开发框架的主要技术2.1。层和代码和配置分离Web应用程序有不同的设计问题,如演示文稿,业务逻辑,数据访问和安全性。的设计关注点分离成不同的代码层有几个优点,例如:易于维护,实施良好的设计模式的能力,并选择专门的工具和技术,具体问题的能力。分离一个项目成层可能会导致这些层之间的依赖关系。例如,一个单一的用例包括简单的数据录入和查询通常必须整合表示,业务逻辑和数据访问在一起以提供所需的功能[3]。因此,必须有一个明确的战略来管理依赖关系。所开发的某某框架相结合的设计模式,可重用的代码和配置文件,以使尽可能尽可能容易。这个框架使用控制Spring的反转来管理依赖关系。Spring框架[4]提供了一种方法,使一个应用程序中的对象联系在一起。它实现这一目标的Spring应用上下文,这是一种战略,管理对象之间的依赖关系。Spring使用依赖注入和拦截方法如下所述的技术。我们写的代码是依赖于它所使用的对象。它负责创建这些对象。这可能会导致紧密耦合,但我们宁愿我们的代码是松耦合。依赖注入是一个技术,它可以帮助我们做到这一点。依赖注入是控制反转(IoC)的形式[5]。当应用程序使用依赖注入,代码变得更清洁,更容易遵循。它也松散耦合,允许更容易的配置和测试。该XYZ框架使用几个Spring应用程序上下文文件来定义层与层之间的依赖关系。方法拦截是面向方面编程(AOP)的概念[6]。SpringAOP的实现通过JDK的动态代理方式拦截。该XYZ框架使用SpringAOP的管理问题,如事务管理和性能监控。所开发的某某框架由两个截然不同的部分:代码和配置。代码驻留在一个特定的应用层,并集中于某项应用程序的解决方案。这可能与数据库进行交互,或者呈现数据到屏幕上。配置胶水的应用程序的各个层在一起。分离代码配置允许我们独立管理配置,给我们施加不同的配置,以相同的代码库的灵活性。例如,一个数据访问对象(DAO)实现知道,它是使用JDBC通过数据源连接到数据库,但它不知道该数据源的实现任何东西。它可能来自一个Java命名和目录接口(JNDI)上下文或从驱动程序管理器导出。它可能指向远程数据库或本地数据库。无论在哪里,数据源来自中,DAO实现将数据源上以同样的方式运作。同样地,一个服务对象可能依赖于一个DAO,但它并不知道通过休眠,直JDBC或Web服务的DAO是否被执行。服务对象用相同的方式在DAO进行交互,而与DAO的执行情况。春天给了我们一种方法,通过Spring应用程序上下文,通过一组XML文件中定义的管理我们的应用程序的整个配置。我们可以在一个文件中定义的应用程序上下文。然而,通过定义它的较小的文件组,我们可以简化配置管理。这样的应用程序上下文文件的逻辑集合,形成一个完整的应用程序配置称为配置集。在基于Java的企业应用开发的标准配置是其中一个框架的配置集使用外部资源,如数据源和JNDI资源。(1)尚未加载的一个不完整的数据库:这种类型的配置有时可与产生问题。开发者可能希望测试特定类型的数据的显示,但是,如果底层数据库尚未完成时,它们将不能够做到这一点。(2)服务或DAO的可能没有被开发出来。未完成的服务或DAO的整合可能会停止发展。这些问题,降低工作效率。所开发的某某框架已经从代码中分离出来它的配置,我们可以使用专门对发展目标的备用配置集。这减轻我们不用担心外部系统,这是不相关的解决眼前发展需求的可用性。所开发的某某框架定义了两种配置集:默认的和独立的。我们还可以通过将基于我们的项目需要额外的配置集定制我们的应用程序。在默认配置集使用在JNDI中定义的数据源连接到开发数据库。它采用完全开发的应用服务和DAO。在单机配置集是发展的最灵活的环境。此配置设置:(1)连接到任何本地安装的数据库或使用DriverManagerDataSource不同的开发数据库;(2)使用Spring的的DataSourceTransactionManager对本地事务的管理;(3)使用完全开发的应用服务和DAO,以及(4)全接线Spring应用程序上下文可以完全在应用服务器之外运行和测试。所开发的XYZ框架是由它的应用程序上下文配置。应用上下文可以在一个或多个XML文件中定义。配置集是一组定义一个应用程序上下文XML文件。配置集由两部分组成:服务和Web。服务部分定义了服务和集成层的服务,DAO以及资源。Web部件定义了组件的表示层。配置集不能是不完整的这两个部分。所开发的某某框架配置集是由什么春天调用在文件中定义的bean的引用上下文组合在一起beanRefContext.xml的和applicationContextMapping.properties。该beanRefContext.xml的文件定义的所有配置设置服务的一部分。此文件位于在服务项目的src/config目录。配置集之间共享应用程序上下文文件也位于此目录中。此外,每个配置集都有自己的子目录,其中包含特定于它的文件。服务和DAO,例如,被配置集之间共享,同时支持服务(如数据源)所属的子目录。XML文件通过使用定义的Springbean在这个应用程序中的标记。一个Springbean的创建和初始化应用程序上下文中的Java对象。2.2。类和依赖使用XYZ开发框架,下面的代码和配置工件将通常需要开发一个用户界面屏幕:(一)行动的ActionForm类和validation.xml中的条目;(b)服务接口和实现类;(三)DAO接口和实现类;(d)所有上述的之间的依赖管理。当一个用例开始发展,我们必须意识到所有这些类和它们的依赖前期的需要。2.3。测试技术测试应该是发展进程的一个组成部分。对于使用XYZ开发框架构建的应用程序,单元测试是指在服务或集成层的单个类的测试方法。表示层构件(Action类)未获认购的单元测试。该测试的目的是为了确保行为封装由类作品作为与其它组分的集成测试时预期。单元测试中的应用,利用开发的某某框架开发的,是基于JUnit框架[7]。不像单元测试,集成测试确实需要代码的依赖关系是可用的。这个测试的目的是确保不同类别(由不同的开发商开发的)之间的整合如预期般运作。在功能测试过程中,重点是应用程序的测试功能,通过数据来描述不同的方案。功能测试通常涉及测试类中的服务层使用不同的数据。它也可以通过测试在用户界面层,并通过使用真实的依赖关系进行的。为了执行不同类型的测试,正在开发的应用程序必须是可测试的。让我们列出了一些可测试应用程序的基本特性。(1)易于显影单元和集成测试。我们应该能够进行单元测试,而不必使用数据源,或队列。此外,我们应该能够在测试嘲笑的代码依赖关系。(2)易于模拟各种测试场景进行功能测试。(3)便于重新运行所有测试多次在应用程序的生命周期。测试代码(4)从应用程序代码中分离干净。分开的设计问题,如演示文稿,服务和数据访问一个结构良好的应用是用于设计可测试的应用非常重要。申请编码开始的getter,setter方法,变量等,然后再整合,以提供所需的解决方案。单元测试的基本构建块的任何测试方法。所开发的某某框架的设计方便了可测试的应用程序的开发方式:提供测试模板类来帮助创建单元测试,也通过使应用程序易于配置,以适应测试需求。单元测试可以像任何JUnit测试运行。专门开发的默认“生成脚本”提供了一个任务来运行单元测试。这个任务可以生成用于部署的EAR文件时,或者被称为可以单独运行。2.4。Web演示文稿设计所开发的某某框架使用Struts框架的概念和JavaScript来实现演示的关注,并提供可在项目延长使用附加功能。当使用Struts框架进行开发,首先我们成立了行动的Servlet在web.xml中,然后我们设置了配置,action映射,表单bean并在struts-config.xml中的本地转发,最后我们设置了验证规则在validation.xml中。这种方法已在过去使用的开发框架XYZ构建的应用程序被更改,这样,开发人员不能直接编辑在struts-config.xml或validation.xml中。相反,我们指定此信息XDoclet的注解中直接在Action和ActionForm类。此信息然后通过运行Ant脚本转移到在struts-config.xml和validation.xml中。有两种类型的验证所必需的:数据格式验证和业务逻辑验证。数据格式验证是在表示层最好的做法,而业务逻辑验证是在服务层最好的做法。业务逻辑验证错误,发生在服务层,应通过抛出自定义异常处理。以下是设计目标的表示层:(1)只有一个Action类升每JSP用一个ActionForm。一个单一的网页都必须在一个Action类处理。(2)相关性和验证规则使用XDoclet的注解指定。(3)开发人员应该避免或尽量减少使用会话对象,因为它阻碍了可扩展性。XYZ表框架提供了包含一种解决上面提到的设计目标为当前层的缺省模板操作类。以下是需要开发一个Web页面代码的典型器物:(1)创建一个新的JSP使用一个默认的隐藏字段名为“actionType”用于处理预期将出现在页面上的用户操作。(2)创建一个扩展这个模板的Action类的一个新的Action类。我们必须指定在该处理在隐藏字段“actionType”值表示用户操作的ActionForm具体方法依赖关系。之后,我们可以宣布所需要才能访问这个Action类的权限。这是在Spring配置文件来完成。(3)创建一个新的ActionForm类,并使用XDoclet的注解根据需要指定验证规则。一旦JSP,Action