当前位置: 代码迷 >> J2EE >> Java EE6 课程 第一部分 简介 1 总览(1)
  详细解决方案

Java EE6 课程 第一部分 简介 1 总览(1)

热度:5917   发布时间:2013-02-25 21:38:44.0
Java EE6 教程 第一部分 简介 1 总览(1)

1. 总览

1.1 JAVA EE 6 平台的亮点

?

JAVA EE 6 平台最重要的目标就是要简化开发过程,通过对不同的组件提供一个公共的基础设施来实现这个目标。 开发人员将从更有产出的注解,更少的XML配置,更多的JAVA简单对象和更简单的打包过程来获益。

?

JAVA EE ?6平台包含了一下一些新的特性:
  • 配置:JAVA EE 平台的配置针对于特定的类。 针对下一代的WEB应用程序,JAVA EE 6平台引入了一个轻量级的WEB配置工具,而且是一个完全包含所有JAVA EE 技术的配置。
  • 新的技术,包含以下:
???? a. 针对RESTful Web Services的JAVA API
???? b. 可管理的Beans
???? c. 针对JAVA EE平台的上下文和依赖注入
???? d. Bean的验证
???? e. 针对容器的JAVA认证服务提供接口

  • 针对EJB的新特性
  • 针对Servlet的新特性
  • 针对JAVA Server Faces组件的新特性
1.2 JAVA EE 应用程序模型
JAVA EE应用程序模型是从Java编程语言和Java虚拟机开始的。 验证过的移植性,安全性和高效的开发方式提供了一个基本的应用程序模型。 JAVA EE 被设计为用来实现企业级的服务,为客户,雇员,供应商,合作伙伴和其它任何提供或使用企业应用程序的人。而这样的企业级应用程序是复杂的,分布式的,多客户的。
为了更好的控制和管理这样的应用程序,中间件应运而生。中间件呈现的环境可以更好的被企业的信息技术部门所控制。 同时,中间件是运行在专属的服务器硬件上可以接触到企业的所有服务。
JAVA EE 应用程序模型定义了一个体系来为不同层的应用程序实现服务,并且这些可伸缩的,可访问的,和可管理的服务是企业级应用程序所需要的。根据这个模型,多层次的服务实现可以被分为以下部分:
  • 业务层和呈现层逻辑被开发人员所实现
  • 标准的系统服务应该由JAVA EE 平台来提供。
开发人员能依赖于平台提供的服务来提供解决方案来开发解决多层服务中的系统级问题。
1.3 分布式的多层应用程序
针对企业级应用程序,Java EE 平台使用了分布式分层程序模型。应用程序逻辑可以分割成了功能性的组件,这些组件又由安装在不同的机器上Java EE程序组成,而这些Java EE的程序又依赖于所属层次上的Java EE环境。

上面这个图显示出两个Java EE 程序被分成以下几层(不同的应用程序由Java EE组件来展现):
  • 运行在客户机器上的客户层组件(Client-tier)
  • 运行在Java EE 服务器上的Web层组件(Web-tier)
  • 运行在Java EE 服务器上的业务层组件(Business-tier)
  • 运行在企业信息系统服务器上的企业信息系统软件(EIS-tier)
尽管Java EE 程序由图上所示的层次构成,但Java EE多层程序一般被认为是一个三层的程序,原因是它们被分布在三个地方:客户机器,Java EE 服务器和数据库或者后台的遗留信息系统。与传统的客户端服务器模型相比,三层程序通过在客户层和后端存储层增加了一层多线程的程序服务器来进行扩展。
1.3.1安全性
尽管其他的企业级应用模型要求每个应用都要有针对平台的安全性衡量,但Java EE安全环境可以在部署的时候定义安全限制。通过Java EE平台这种方式,应用开发人员可以从复杂的安全性实现上解放出来,使得应用的安全性实现更容易移植到其它的服务器上。
Java EE平台提供了标准的声明式的访问控制规则,这些规则可以在部署到服务器上时进行解释执行。同时,Java EE也提供了标准的登录机制,从而应用开发人员不必在他们的应用中实现这些机制。通过这种方式,当相同的应用工作在不同的安全服务器上的时候,不需要修改源代码。
1.3.2 Java EE组件
Java EE 应用由组件构成。一个Java EE的组件是一个自包的功能性单元程序,该程序单元(相关的类和文件)可以装配到Java EE 应用中,并且还可以和其它的组件进行通信。
Java EE规范定义了以下几种组件:
  • 运行在客户端的应用程序和Applet。
  • Java servlet, JavaServer Faces,JSP这些运行在服务器上的Web组件
  • 运行在服务器上的企业级JavaBeans组件(EJB)
Java EE组件是由Java编程语言编写和编译的。Java EE组件和普通的Java标准类的区别是Java EE组件是能被装配到Java EE应用中去的,遵守Java EE规范,同时它们是能部署到Java EE服务器和被服务器管理的。
1.3.3 Java EE 客户端
一个Java EE客户端通常是Web客户端或者应用程序客户端。
  • Web客户端
一个Web客户端由两部分组成:
  • 动态web页面,由各种各样的标记语言组成(HTML, XML等等),由运行在web层的web组件生成。
  • Web浏览器,对从服务器端接收到的页面进行渲染。
Web客户端有时又叫做瘦客户端。瘦客户端通常不需要查询数据库,执行复杂的业务逻辑,或者连接遗留的应用系统。当你使用一个瘦客户端时,你可以把重量级的操作放在企业级Bean上,同时可以利用Java EE服务器上提供的关于安全,速度,服务,可靠性的技术。
  • 应用程序客户端
一个应用程序客户端通常运行在客户机器上,为客户提供富用户操作界面,而不是通过一种标记性的语言。典型的应用程序客户端会有一个图形化用户界面,由Swing或者是AWT创建,当然,命令行的接口也是可能的。
应用程序客户端直接访问业务层的企业级Bean。尽管如此,一个应用程序也可以开启HTTP连接来和运行在Web层的Servlet通信。非Java语言实现的应用程序客户端也可以和Java EE服务器交互,使得Java EE服务器可以和遗留系统、客户端、或者是非JAVA语言实现的系统进行通信。
  • Applets
Web层的Web页面可以嵌入一个Applet。使用Java编程语言实现的Applet作为一个小巧的客户应用能运行在安装了Java虚拟机的浏览器上。但是,客户端系统需要Java插件和可能的安全策略文件来在浏览器中执行Applet。
当创建一个Web客户程序,使用Web组件API是更好的选择,因为对于客户端而言它们不需要插件或安全策略文件。同时,Web组件把编程从Web页面设计中分离了出来,使得Web应用更整洁和模块化。比如,Web设计人员可以不需要理解Java编程语言语法。
  • JavaBean组件体系结构
客户层和服务器层可能会通过JavaBean来管理数据流,如:
  • 应用程序客户端或者Applet和运行在Java EE服务器上的组件。
  • 服务器组件和数据库。
JavaBean组件并不是Java EE中的组件,JavaBean是通过get,set方法来读取和设置属性的Java对象,这种设计和实现方式非常的简单,是遵从JavaBean的规范的。
  • 与Java EE Server通信
?
上图显示了不同的元素组成的客户层。客户层和运行在Java EE服务器上的业务层进行直接通信,或者通过运行在浏览器中的客户端,经过Web层的页面或者Servlet来和业务层通信。
1.3.4 Web组件
Java EE的Web组件要么是Servlet,要么是使用JavaServer Faces技术创建的web页面或使用JSP技术创建的JSP页面。Servlet是动态处理请求和生成回应的Java编程语言实现的类。JSP页面是基于文本的可以当作Servlet执行,允许以更自然的方式来创建静态内容。JavaServer Faces技术是构建在Servlet和JSP技术上的,为web应用程序提供用户接口组件的框架。
静态HTML页面和Applet绑定在web组件中,但他们并不认为是Java EE规范中所谓的web组件。服务器侧的工具类能将web组件和HTML页面绑定在一起,但它们也不能认为是web组件。
如下图所示,web层也可能包含JavaBean组件来管理用户输入和发送用户输入到业务层的企业Bean上。
?
?
1.3.5 业务组件
业务逻辑代码由企业Bean来处理,运行在业务层或者是web层。下图显示了一个企业bean如何从客户程序中接受数据,处理数据,和发送数据到企业信息系统层来存储。企业bean也可以从存储中取数据,处理数据,然后将数据返回给客户程序。
?
?
?
1.3.6 企业信息系统层
企业信息系统层处理软件和包括企业基础设施的EIS系统,例如企业资源规划(ERP)、大型事务处理、数据库系统和其它遗留信息系统。如,Java EE应用程序组件可能需要访问企业信息系统的数据库连接。

?

  相关解决方案