J2EE框架及开发实例

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

J2EE框架及开发实例作者:方燕日期:2010/6/10目录J2EE体系结构1SSH框架的实现2工作流系统架构与实例3网银系统架构与实例4开发流程与开发工具5J2EE体系结构1J2EESSH架构应用实例工作流系统实例:CallCenterBackOfficeSystem(CBO)网银系统实例:BEAUKCyberbanking(UCB)J2EE体系结构1J2EE介绍J2EE(Java2Platform,EnterpriseEdition)是一个开发分布式企业级应用的规范。它提供了一个多层次的分布式应用模型和一系列开发技术规范。首先应该明白J2EE是一个标准,而不是产品。多层次分布式应用模型是指根据功能把应用逻辑分成若干个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行(如Servlet组件在Servlet容器上运行,EJB组件在EJB容器上运行),容器间通过相关的协议进行通讯,实现组件间的相互调用。遵从这个规范的开发者将得到行业的广泛支持,使企业级应用的开发变得简单、快速。J2EE体系结构1企业级软件的演变单层(Singletier):将表示、业务逻辑、和数据都混合在一起,也就是说软件的表示和业务逻辑结合在一起,而业务逻辑部分又和数据结构密切相连。缺点就是对任何一方的改变都会引起连锁反应,从而必须对所有部分都进行验证。同时,业务逻辑或数据访问功能的重用性受到了限制。多层(N-tier):可以获得更好的整体平衡,它将表示逻辑与业务逻辑从底层数据中分离开来。术语“N-tier”表明软件不是只限定为3层,它可以分成更多的层,与3层相对,以满足更多的需求。N-tier体系的优缺点优点:加快开发过程,降低开发成本:通过重用现有的、预先测试过的业务组件和数据访问组件,可以更快地开发新的应用程序。隔离了由于改变带来的影响,只要接口保持不变,一个层上的改变不会影响其他层上的组件。降低了部署与维护的开销,提高了灵活性、可伸缩性。瘦客户端的引入使Internet接入方便,而计算被集中至服务器端,使性能提高成为可能。缺点:容易造成过度设计。J2EE体系结构1N-tier体系J2EE规范了服务器端应用系统的开发框架,其中最核心的思想就是分层和组件的思想。分层:共分为四层,数据层,业务层,表述层,客户层组件:三大类,即EJB组件、Web组件和客户端组件。J2EE体系结构1分层模型DomainObject(领域对象)层:此层由系列的POJO(PlainOldJavaOjbect)组成。DAO(DataAccessObject,数据访问对象)层:此层由系列的DAO组件组成,实现对数据库的创建、查询、更新和删除等操作。业务逻辑层:此层由业务逻辑对象组成,实现系统所需要的业务逻辑方法。这些方法可能仅暴露DomainObject对象所实现的业务逻辑方法,也可能是依赖DAO组件实现的业务逻辑方法。控制器层:此层由系列控制器组成,用于拦截用户请求,调用业务逻辑组件的业务逻辑方法,处理用户请求,根据处理结果转发到不同的表现层组件。表现层:此层由系列的JSP页面、PDF文档视图组件组成,负责收集用户请求,并显示处理结果。各层的J2EE组件之间以松耦合的方式耦合在一起,各组件并不以硬编码方式耦合,为系统提供良好的可扩展性。J2EE体系结构1J2EE体系结构1分层模型软件设计的原则是为了提高软件系统的可复用性和可扩展性,我们采用的手段是划分系统的层次,这是一种逻辑上的划分不是物理上的划分,也就是这些层可以是在一台电脑上也当然可以分布到在多台电脑上。这些层次之间是松耦合的,层次的内部是高内聚的。因此,降低耦合是软件设计的目标,能够设计出低耦合的系统,就意味着我们的系统具有可复用性和可扩展性了。软件设计的原则:可复用性可扩展性一个低耦合系统是我们设计的目标一个逻辑上分层的系统可以降低耦合分层模型J2EE体系结构1企业软件和基于组件的软件在软件开发过程中,出现面向对象开发软件的方法后,可以实现代码重用,但只能部分实现,原因之一是对象都细粒度化,造成对象间紧密耦合状态,从而使得大范围的重用变得很困难。解决问题的方法是设计软件组件。与对象不同,软件组件是在更高的抽象级别中设计的,可以提供一个完整的功能或服务。组件间的耦合更为松散。利用组件的接口,可以将组件迅速组合在一起构建更大的应用程序,这样所用的成本也比较合算。J2EE体系结构1企业级应用体系结构中的主要概念分解:是将系统划分成更小的更合理的程序块,模块、子系统、组件都是分解后的产物。在统一建模(UML)语言中,分解是由包、模块和子系统进行建模的。J2EE中可以通过Web组件和EJB组件来完成。组件:是指软件中的内在单元,可以提供相关的功能和服务。组件可以单独开发和发布,与其它组件没有什么关系,其本身就已经模块化了,但只能应用于组件模型环境中。组件模型为组件的合成、交互作用等等提供了基础结构。框架:框架最简单的形式是指已开发过并已测试过的软件的程序块,这些程序块可以在多个软件开发工程中重用。框架提供了一个概括的体系结构模版,可以用这个模板来构建特定领域中的应用程序。模型:软件模型是一种从经验中提取抽象出来的可重用的设计方法,这种设计方法已经被证明能够成功地解决一些特殊问题J2EE体系结构1企业级应用体系在企业级应用开发中所面临的而且必须解决的问题:分布式可移植面向Web体系可装配(螺丝刀)能满足企业计算要求一致性事务性安全性还要有好的特性可伸缩可扩展易维护J2EE体系结构1企业级应用体系简单来说,企业级应用就是大规模的应用:一般有许多的使用者,要有很长的生命期,所以应用系统必须要稳定可靠。组件往往分布在异构的计算环境中,所以应用系统必须可以跨平台。对系统的可维护性、可扩展性与可重用性有很高的要求。需要有事务管理、安全管理、线程管理等等。J2EE基础技术XML、RMI、JNDI、JMSJ2EE核心技术JDBC、EJB(会话Bean、实体Bean、消息Bean)、Servlet和JSP(JSTL、Struts)J2EE其它技术JTA、JTS、JavaMail等等J2EE体系结构1容器容器是一种运行在服务器上的软件实体,用于管理特定类型的组件。为开发的J2EE组件提供了执行环境。通过容器,J2EE体系结构就能在开发和部署间提供无关性,并在不同类型的中间层服务器间提供可移植性。容器还负责管理部署在其中的组件的生命周期,及诸如资源汇集和强制执行安全之类的工作。依赖于容器的类型,还可以访问一些或全部J2EEAPI。所有的J2EE组件都部署于容器中并在容器中执行。J2EE共有四种不同类型的容器:应用程序容器,管理独立的Java应用程序Applet容器(动态图表),为Applet提供一个执行环境、Web容器,管理Web组件、企业级容器,管理EJB组件。J2EE体系结构1组件、容器和服务器关系组件组件可以定义为一种自治的、提供外部公共接口的、动态可用的事物处理过程,组件可以用来构建其它组件或者应用程序。容器组件是不能独立运行的,必须要为它提供相应的运行环境,为组件提供运行环境的就是容器。服务器容器也是不能直接运行的,容器必须要运行在应用服务器之上,一个服务器可以同时运行多个不同的容器。J2EE体系结构1J2EE体系结构1组件、容器和服务器关系组件、容器和服务器关系J2EE体系结构1浏览器应用程序客户端应用程序客户端容器J2EE服务器Servlet组件JSP组件Web容器EJB组件EJB组件EJB容器数据库客户机器浏览器应用程序客户端应用程序客户端容器J2EE服务器Servlet组件JSP组件Web容器EJB组件EJB组件EJB容器数据库客户机器组件、容器和服务器关系简单来说,将组件“安装”到容器上,并使其处于运行状态的过程就是部署。向容器提供组件相关的一些信息,以使组件能够按照期望的方式运行,这些信息就是部署描述。部署信息是通过部署描述文件表述的,这些文件通常都是标准的XML文件,它们存储在组件所在目录的特定文件夹中。这些信息包括:组件是什么类型的组件,组件由哪些文件组成,以及组件需要容器提供哪些服务等等。J2EE体系结构1组件的层次Servlet表示逻辑JSP表示逻辑Java数据库连接(JDBC)数据库访问Java事务API(JTA)事务管理Java名字和目录接口(JNDI)对象名字的中央注册远程方法调用(RMI)RMI对象的分布式执行企业JavaBean(EJB)实现业务逻辑Java消息服务(JMS)协调分布式执XML实现数据互访问JavaMail邮件服务J2EE体系结构1J2EE服务器目前市场比较著名的J2EE服务器有:WebLogicWebSphereTomcatJboss目前有许多J2EE应用服务器,一些厂商着重于实现J2EE体系中的某些组件,例如Apache的Tomcat提供Web服务。BEA公司的WebLogicServer和IBMWebSphere作为J2EE应用服务器,实现了J2EE的全部特性。J2EE服务器可以处理一些常见的编程任务,包括提供事务服务、安全认证服务、命名和目录服务、数据库访问和连接池、线程池、负载均衡和容错等。J2EE体系结构1J2EE平台的可伸缩性企业必须选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64—256个处理器。J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。J2EE体系结构1EJB—J2EE的基石EJB(EnterpriseJavaBeans):不是一个具体的产品,而是一个Java服务器端组件开发的规范,其目的是为了定义一个用来开发面向对象分布式应用组件的标准方法,软件厂商根据它来实现EJB服务器。使用EJB,Java程序员可以将一些定义明确的程序块组合到一起,从而方便、快捷地建构起分布式应用程序。EJB规范在简化分布式应用程序开发复杂性方面也做了大量的工作,所以EJB程序员不必太担心事务处理、多线程、资源管理等方面的问题,可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。使用EJB可以使整个程序分块明确,并且EJB可以使用其它EJB或JDBC等服务,从而增强了分布式应用程序的可扩展性和性能;另外,EJB的使用增强了整个系统程序的可靠性、可管理性和可移植性。EJB容器是:一个管理一个或多个EJB类/实例的抽象。它通过规范中定义的接口使EJB类访问所需的服务。容器厂商也可以在容器或服务器中提供额外服务的接口。J2EE体系结构1EJB—J2EE的基石EJB服务器是:管理EJB容器的高端进程或应用程序,并提供对系统服务的访问。EJB服务器也可以提供厂商自己的特性,如优化的数据库访问接口,对其他服务(如CORBA服务)的访问。一个EJB服务器必须提供支持对JNDI的名字服务和TS事务服务的可访问。EJB分为两种:会话EJB和实体EJB,会话EJB向客户提供一定的服务,如:特定的商业逻辑、数据库查询等;而实体EJB则代表数据对象,通常代表的是数据表记录集的一行,一个实体EJB可以同时与多个客户进行交互。J2EE体系结构1J2EE体系结构1SSH框架2基于Spring的J2EE编程模型-SSH架构目前在J2EE的web应用程序开发过程中,比较流行是SSH架构。是Struts+Spring+Hibernate3个框架的组合使用,3个框架分别解决了应用程序中3个层次的问题。Struts实现控制层和表现层Spring实现业务逻辑层Hiberante实现数据访问层早期的SSH各个框架版本一般为Struts1.x、Spring1.x和Hibernate3.0,如今每个框架的技术都在发展。出现了SSH2的提法,它是指Struts2+Spring2+Hibernate3.2的组合使用,这些

1 / 70
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功