1.1 Java EE规范的发展历史
Java EE是Java PlatForm 2 Enterprise Edition的缩写。
从1999年12月17日发布J2EE1.2 版本,到今天已经走过了10多个年头,共发布了5个版本,最新版本是Java EE 6。各版本的发布时间如下:
J2EE1.2,发布时间为1999年12月17日。
J2EE1.3,发布时间为2001年8月22日。
J2EE1.4,发布时间为2003年11月24日。
Java EE 5,发布时间为2006年5月8日。
Java EE 6,发布时间为2009年12月10日。
1.1.1 J2EE 1.2
1999年12月17日发布了J2EE 1.2版本,这也是Java企业级规范的第一个版本。设计J2EE架构的两个初衷,一方面是为厂商考虑,另一方面也是为开发者考虑。
对于厂商来说,J2EE规范意味着一套开放标准,使用这个标准,各个厂商可以提供标准的运行环境、开发环境和工具,不同厂商的产品相依相互协作。
对于开发者来说,J2EE是一套现成的解决方案,采用这个方案,企业应用开发中的很多技术难题(包括跨平台移植、事务处理、安全性等等)就会迎刃而解,可以采用标准的饿模式开发。
图1.1 J2EE1.2框架图
J2EE1.2中提出了几个关键的思想:
z应用的逻辑分层,把应用分成客户端层、Web层、EJB层和数据库层;
z组件的概念,把应用中各种不同的程序分成不同的组件,包括Applet、Application、JSP、Servlet和EJB等组件;
z服务的标准化,对常见的服务进行标准化,做成标准规范,例如JMS、JNDI、JTA 等;
z容器的概念,容器为组件提供运行环境,并且为组件提供必要的服务。
这些核心的思想到今天都没有太大的变化,各个版本之间的变化时:服务不断增加,组件的功能更加完善,组件的编写更加简单。
1.1.2 J2EE 1.3
2001年8月22日发布了J2EE 1.3版本。J2EE1.3规范使用其它的企业集成机制扩展了J2EE平台。Connector API支持与外部企业信息系统的集成。需要一个JMS提供者。JAXP API 支持对XML的处理。JAAS API提供对Connector API的安全支持。EJB规范支持使用IIOP 协议的互操作。
EJB规范作了比较大的改动。EJB规范增加了一种新的容器管理持久性模型,支持消息驱动Bean,支持本地EJB。
原有的J2EE API也进行了更新。
图1.2 J2EE1.3 架构图
1.1.3 J2EE1.4
2003年11月24日,J2EE 1.4的主要目标是支持web service。JAX-RPC和SAAJ API提供了基本的web service互操作支持。J2EE规范的Web Service描述了提供和使用web service的J2EE 应用的打包和部署要求。对EJB规范进行了扩展,可以使用无状态会话Bean实现Web Service。JAXP API支持对注册表(registry)和知识库(repository)的访问。
J2EE 1.4还增加了几个API。J2EE管理和部署API能够增强对J2EE产品的工具支持。JMX API支持J2EE管理API。J2EE容器授权协议为安全提供者提供了一个SPI。
增强了许多现有的J2EE API。为了简化web应用的开发对JSP规范进行了增强。Connector
API支持与异步消息系统的集成,包括能够嵌入JMS提供者。
J2EE平台规范中的改变包括支持部署独立于任何应用的类库,以及部署描述符从DTD 到XML Schema的转换。
其它的J2EE API也同样得到了增强。
图1.3 J2EE1.4 架构图
1.1.4 Java EE 5
图1.4 Java EE 5架构图
相对于之前的版本,Java EE 5中作了很多改动,并且增加了很多内容。这些变动如下:首先就是Java
平台企业版的名字,以前的名字是J2EE,在这个版本中使用了Java Platform,Enterprise Java EE,去掉了容易混淆的2,并且使用Java代替“J”,这样更能说明这个平台是Java平台。
Java EE 5的目标是简化开发。为了简化直接学习使用Java EE开发的程序员的开发过
程,或者简化开发小到中型的应用的开发过程,在Java EE 5中可以使用J2SE 5.0引入的Java 语言元注释。元注释降低或者消除了在很多情况下处理Java EE部署描述符的必要。即使大型的应用也可以从元注释带来的简化中得到好处。
元注释的一个主要用途就是把资源和其它的依赖注入到Java EE组件中。注入对已有的JNDI查能力是一种补充,能够为应用从操作环境中获取需要的资源提供一种新的模型。注入同样与部署描述符一起起作用,允许开发者定制或者覆盖应用的源文件中设定的资源设置。
通过提供更好的默认值元注释的使用可以更为有效。好的默认行为和好的默认配制允许很多应用在大多数情况下,不用部署描述符也不用元注释,就可以得到大多数时候想要的行为。当默认值不是应用想要的,可以使用简单的注释来指定需要的行为或者配制。
元注释和好的默认值的组合已经大大的简化了使用企业JavaBean技术和应用定义或者使用Web Service的应用的开发。企业bean现在已经非常容易开发。使用Web Service元数据规范定义的元注释来开发Web Service已经变得非常简单。
Web Service领域继续快速发展。为了提供最新的Web Service支持,JAX-RPC技术已经进化成JAX-WS技术,JAX-WS技术主要使用JAXB技术来绑定Java对象和XML数据。对于平台的这个版本,JAX-WS和JAXB都是新的技术。
Java EE 5中大的改动就是JSTL和JSF技术,这些技术简化了Web应用的开发。另外EJB3.0专家组开发的Java持久性API大大的简化了Java对象到数据库的映射。
小的改动包括用于XML解析的StAX API。多数以前版本的API都有一些更新。
1.1.5 Java EE 6
图1.5 Java EE 6架构图
Java EE 6的目标仍然是简化开发人员的工作,引入了3项新技术:
z JAX-RS(RESTful Web Services Java API (JAX-RS), JAX-RS为在Java中构建
RESTful Web服务提供了标准化API,API提供了一组注解,以及相关的类和接口。
对POJO应用注解允许你暴露Web资源,这个方法使得在Java中创建RESTful Web
服务变得简单。
z面向Java EE平台的上下文和依赖性注入(CDI),是一种为Java EE组件提供强大服务的技术,它统一和简化了EJB和JSF编程模型,允许企业Bean替换JSF应用程
序中JSF托管的Bean。
z Bean验证框架,Bean验证使验证变得更简单,减少重复、错误和凌乱,Bean验证提供了一个标准的验证框架,在框架中相同的验证集可以在应
用程序的所有层之间共享。
java技术专家另外对主要的API进行了更新,包括:
z JPA 2.0,JPA 2.0带来了许多新特性和增强,包括对象/关系映射增强、Java持久化查询语言增强、一种新的基于标准的查询API和对悲观锁定的支持。
z Servlet 3.0,提供了异步处理方式。
z EJB3.1,EJB3.1让开发变的更简单,并且功能更强大,这些变化包括:业务接口可以省略、引入了Singleton Beans、可以直接用WAR文件打包EJB组件、异步会
话Bean、轻量级的EJB、在Java SE环境中嵌入API执行EJB。
z JSF2.0,使用Facelets、模板和混合组件技术简化页面的开发,对AJAX技术进行了更好的支持。
摘自《JavaEE实用教程——基于WebLogic和Eclipse》,电子工业出版社,李绪成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论