J2EE平台的特点

来源:互联网 发布:弹丸论破世界观 知乎 编辑:程序博客网 时间:2024/04/26 12:29

1.多层模型

J2EE平台提供了一个多层应用程序模型,这意味着应用程序的不同部分可以运行在不同的设备上。J2EE结构定义了一个客房机层,一个中间层(由一个或多个子层组成),以及一个EIS层。

客户机层:支持各种各样的客户机类型,可以在公司的防火墙之内或之外。

中间层:在web层中通过web容器支持客户机服务,在EJB层中通过Enterprise JavaBeans容器向商业组件提供各种服务。

企业信息系统(EIS)层:利用标准的API支持对企业信息系统的访问。

2.基于容器的组件管理

J2EE基于组件的开发模型的中枢容器(Container)的概念,容器提供了组件服务的运行时(Runtime)环境,组件可以期望它们的服务在任何J2EE平台上都有效,例如,所有的J2EE Web容器都提供运行时支持,以便结果返回给客机,执行请求时的处理(例如:调用JSP或Servlet),并将结果返回给客户机。所有的EJB容器提供对EJB组件的事务和生命周期管理的自动支持,并支持对EJB的查找或其他的服务。容器还提供对企业信息系统的标准化访问,例如,通过JDBC API提供对关系数据库管理系统的访问。

另外,容器提供了一个在装配或部署期间设定应用程序行为的机制,通过使用部署描述符(一个文本文件,利用XML标记指定组件的行为),在部署时(而不是在组件代码中),组件可以补配置到特定的容器环境,部署过程中可以配置的内容包括安全检查、事务控制,以及其他的管理职责。

3.对客户机组件的支持

J2EE的客户机层提供了多种客户类型的支持,可以是在企业防火墙之内和之外。客户机可以通过Web浏览器提供,浏览器可能是使用无格式的HTML页,或者是使用JSP(JavaServer Page)技术生成的动态的HTML页,或者是Java Applet。单机(stand-alone)的Java应用程序也可以作为客户机。J2EE客户可假定主要使用Web标准(即HTTP,HTML和XML)访问中间层。

为了支持更复杂的用户交互操作,可能需要在客户机层直接提供一些功能,这些功能通常以Java bean组件的方式实现,利用Servlet与中间层的服务交互操作。客户机层的Java bean组件通常被服务作为一个Applet提供,自动动下载到用户的浏览器。为了减少用户浏览器中老版本的或非标准的Java虚拟机引起的问题,J2EE应用程序模型对自动动下载和安装的Java插件提供了专门的支持。

客户机层的Bean还可能被包含在一个使用Java语言编写的单机应用程序客户机中,在这种情况下,企业通常会利用不同的操作系统安装程序,用户可以利用它们的浏览器下载,之后,用户执行安装程序,访问服务。由于Java程序可以移植到所有平台上,服务仅仅需要维护一个版本客户机程序。尽客机程序本身是可以移植的,Java客户机上的安装程序通常与操作系统有关,有几种商业工具可以自动生成这些与操作系统有关的安装程序。

非Java客户机(例如,Visual Basic程序)可以向用户呈现J2EE的服务。在中间层中,Servlet呈现给第一层客户机服务使用的是标准的HTTP协议,因此,运行在任何操作系统上的几乎所有的程序都可以很容易地访问它。

4.对商业逻辑组件的支持

在J2EE平台中,EJB组件实现中间层的商业逻辑,EJB让组件或应用程序的开发者将精力集中在商业逻辑的开发上,将复杂的服务(例如:安全、事务)交由EJB服务器处理。

J2EE平台和EJB结构互为补充,EJB组件模型是J2EE编程模型的中枢,J2EE平台在下面两个方法支持EJB规范:

(1)向EJB开发者提供可以用来实现EJB的API。

(2)定义更强大的、分布式的编程环境,在该环境中,EJB被当作商业逻辑组件使用。

5.对J2EE标准的支持

J2EE标准定义了一系列相关规范,其中主要的有J2EE平台规范,Enterprise JavaBeans规范,Java Servlet规范和Java Server Page规范,另外,还包括J2EE兼容性测试套件(J2EE Compatibility Test Suite,CTS)和J2EE SDK.

J2EE兼容性测试套件通过验证J2EE平台产品的性能来帮助应用程序的可移植性最大化,该测试套件从基本的JCK(Java Conformance Kit)停止的地方开始,CTS测试JCK没有涉及到对Java标准扩展API的遵守情况,并测试J2EE平台运行标准的、端对端应用程序的能力。

J2EE SDK希望实现几个目标:它提供了J2EE平台的一个可操作的定义;软件提供商可以将其作为一种标准,确定它们的产品必须处于何种特定的应用程序环境之下;它可以被开发者用来检验应用程序的可移植性;J2EE SDK还可以被用运行J2EE兼容测试套件的标准平台。

原创粉丝点击