第一章 Jave EE应用和开发环境
时至今日,轻量级Java EE平台在企业开发中占有绝对的优势,Java EE应用以其稳定的性能、良好的开放性及严格的安全性,深受企业应用开发者的青睐。
对于一个企业而言,选择Jave EE构建信息化平台,更体现了一种长远的规划:企业的信息化是不断整合的过程,在未来的日子里,经常会有不同平台,不同系统的异构系统需要整合。Java EE应用提供的跨平台性、开放性以及各种远程访问技术,为异构系统的良好整合提供了保证。
2006年,sun提出了Jave EE的概念,以之同步出现了两个概念:JSF1.2和EJB3.0,但应用依然不如SSH(struts+spring+hibernate)组合的应用广泛。SSH组合是一种轻量级的Java EE平台,具有高度的实用性和可扩展性。基于轻量级Java EE平台的应用可以运行在普通的Web容器中,无须EJB容器的支持,且一样具有稳定的性能和极高的可扩展性和可维护性。
1.1Java EE应用的分层模型
Domain Object(领域对象)层:此层由系列的POJO(Plain Old Java Object,普通的,传统的Java对象)组成,往往包含了各自所需要的逻辑方法。
DAO(Data Access Object,数据访问对象)层:此层由系列的DAO组件组成,这些DAO实现了对数据库的查询、更新、删除、创建(CRUD)等原子操作。
业务逻辑层:此层由系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。
控制层:此层由系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果转发到不同的表现层组件。
表现层:此层由系列的JSP页面,Velocity页面,PDF文档视图组件组成,负责收集用户请求,并将显示处理结果。
各层的Java EE组件以松耦合的方式耦合在一起,这种方式是为了应用以后的扩展性。从上而下,上面的组件依赖于下面组件的功能;从下而上,下面的组件支持上面组件的实现。(这句话需要好好理解一下)
(图片不是很清晰,各位朋友请见谅。)
1.2Java EE应用的组件
大致包括如下几类组件:
表现层组件:主要收集用户输入数据,或向客户显示系统状态。最常用的技术是JSP技术,但JSP并不是唯一的表现层技术。表现层还可以由Velocity,FreeMarke,Tapestry等技术完成,或者使用普通的应用程序充当表现层组件,甚至可以是小型只能设备。
控制器组件:对于Java EE的MVC框架而言,框架提供一个前端的核心控制器,而核心控制器负责拦截用户请求,并将请求转发给用户实现的控制器组件。而这些用户实现的控制器则负责处理调用业务逻辑方法,处理用户请求。
业务逻辑组件:系统的核心组件,实现系统的业务逻辑。通常,一个业务逻辑方法,对应用户一次操作。一个业务逻辑方法应该是一个整体的,因此我们要对业务逻辑方法增加事务性。业务逻辑方法仅仅负责实现业务逻辑,不应该进行数据库访问。因此业务逻辑组件中不应该出现原始的Hibernate,JDBC等API。
为什么不应该出现原始的Hibernate,JDBC等API呢?
有一个重要的原因:保证业务逻辑方法的实现,与具体的持久层访问技术分离。当系统需要在不同持久层访问技术之间切换时,系统的业务逻辑组件不用任何改变。
DAO组件:数据访问对象。为了业务逻辑组件的实现与DAO组件的实现分离,我们为每个DAO组件提供接口,业务逻辑组件面向DAO接口编程,从而提供更好的解耦。
领域对象组件:领域对象组件抽象的系统的对象模型。
1.3 Java EE应用的结构和优势
1.4 常用的Java EE服务器
Tomcat,Jetty,Resin,JBoss,WebLogic和WebSphere
1.5 Java EE应用相关技术
未完待续。。。