J2EE概念介绍

这篇文章主要介绍在J2EE范例中使用的缩写词和概念。J2EE(Java 2 Platform, Entreprise Edition)代表Java企业版平台。它使得模块化的Java程序可以在服务器上部署。Java SE是一组Java核心库,Java应用程序在其上得以执行,而J2EE是基于Java SE的。

概念综述

在我们深入J2EE之前,先看一下综述:

  • 多层式应用(Multitier Application)——多层式应用(或者多层式架构)分成多个逻辑部分,大多在多层服务器上实现。例如,三层应用模型:用户和浏览器,应用服务器,数据库服务器。其中应用服务器和数据库服务器就是分别在不同的服务器上来处理应用的请求。
  • 多层式服务(Multitier Service)——以三层架构模型的服务为例,应用服务器响应用户的请求。数据库服务器响应应用服务器的查询求情。
  • Java Bean——由一些包含私有属性的Java类组成,对外提供get和set方法。从技术上讲,这些类必须保证有一个不含参数的构造器并且实现Serializable接口。

J2EE 5的概念

J2EE介绍
  • Java EE应用程序模型——这个模型描述了一个实现服务的多层架构。“什么是服务”没有明确的界限。事实上,服务只是一个逻辑上的概念,它的对应实体取决于应用实现的概念。例如,客户端/服务器模型就是一种服务。
  • Java EE 服务——这是一个J2EE中三层架构的应用服务范例。它是由网页层(服务JSP页面)和事务层(管理企业的数据层)组成的。
  • Java EE 组件——“组件”是指独立的软件单元,可以和其他的组件组合来建立一个应用。
  • Web组件(Web Component)——web端生成的页面或者对用户请求的返回。代表性的有: Java Servlets, JavaServer Faces 和 Java Server Pages.
  • 小程序(Applet)——一个小型的Java应用程序可以作为响应的一部分返回给用户,用户可以在他们的浏览器上运行此程序。这种小型的程序是Javascript的竞争对手。
  • 客户端程序(Application Client)——例如,一个用Java写的桌面应用程序。
  • EJB(Enterprise Java Beans)——见下文。
  • Java EE 客户端——这个概念中包含三个其他的概念:
  • 网页客户端(Web Client)(或小型客户端,thin client)——以前(也不是非常久以前),客户端的请求返回的网页会包含脚本代码,这些代码会在应用服务器上执行了再将运行结果返回给客户端。这就是 EE客户端。比如,用户可以查询员工的信息,并且对不同的结果按照他们喜欢的方式排列。现在,大多数开发者都不是在网页中使用脚本了,因为这不是个好习 惯。他们更喜欢使用MVC设计原则,即禁止在网页中使用脚本。
  • 小程序(Applet)
  • 应用客户端(Application Client)
  • Java EE 服务器通信(Java EE Server Communication)——这是指发生在小型客户端和应用客户端之间在服务器上的通信。具有代表性的是,小型客户端和小程序在Web层通信,但是应用客户端在EJB通信。 你觉得这不够清晰是吗?你觉得这很麻烦是吗?这就对了!这就是REST以及MVC设计原理现在在开发中流行的缘故。
  • EJB (企业级Java Beans,Enterprise Java Beans)——这是一个逻辑概念,与传统的Java Beans无关。它主要试图从多重应用的后端(也就是服务器端)来压缩事务逻辑。其中一个它试图解决的问题是确保数据库中事务处理的完整性。警告:EJB有多个版本,并且3.0版本已经从早期的版本分离出来。
  • JavaBean Component——Java Bean 的同义词,主要用在JSP范例中。
  • Java EE容器(Java EE Container)——这是部署组装Java EE组件的地方(也就是应用程序服务器)。它定义了Web容器(包含servlets和JSP),还定义了EJB容器(包含的企业级Java Bean)以及应用客户端容器(运行独立的应用程序)和在浏览器上运行的小程序容器。
  • 部署描述符(Deployment Descriptor )——这是一个为打包好的应用提供部署信息的XML文件,点击查看更多信息
  • SOAP(简单对象访问协议,Simple Object Access Protocol)——这是一个通过网络提供的服务传输信息的协议。信息是通过XML构建的,能够通过多个传输交换层,多数情况下是HTTP。SOAP是JSON和REST-like服务的竞争对手。
  • WSDL(网络服务描述语言,Web Service Description Language)——它用XML文件来描述了网络服务(名字,地点,通信模式)。
  • UDDI(通用描述、发现与集成服务,Universal Description, Discovery and Integration)——一种ebXML规范,可以在线发布有关产品和服务的信息。
  • Java Servlet——是用Java写的一个服务器端小程序,可以处理用户的HTTP请求,返回结果。
  • JSP (JavaServer Page)——一种基于HTML文件(就是一个模板)处理之后能够生成静态内容。可以包含脚本代码的片段,以在最终生成的脚本静态文件中生成。
  • JSTL (JSP标准标签库,JavaServer Page Standard Tag Library)——一组可以模仿脚本代码功能的用在JSP的标准标签。例如,遍历客户端并显示他们对应的信息。现在,在JSP中,这样的标签已经已经取代了脚本代码。一般用于生成需要填充信息的页面。
  • JSF (Java Server Face)——包含JSF标签(类似于LSTL标签)的JSP页面。此外,JSF允许在页面中定义导航模块(类似于Spring web flow),包括Facelets。
  • Facelets——Facelets是JSF的MVC视图部分。它的主要功能是利用提供的数据(例如客户端列表)将模板转换成HTML文件。它也可以将生成的文件(例如HTML主体)提取出来一部分并到另一个模板中,相当于Sitemesh。
  • The Java API for XML-based Web Services (Java中用来创建基于XML的Web的API,JAX-WS)——对于使用XML通信的Web服务来说至关重要。
  • The Java API for XML Binding (序列化为XML的API,JAXB)——一种可以在JavaBeans和XML文件之间相互转化的方式点击查看更多信息
  • JTA (Java事务处理API,Java Transaction API) ——划清数据库中上行和下行的通信界限。
  • JMS(Java信息服务,Java Message Service)——这个API保证服务器和应用在网络上的通信可靠、异步。ActiveMQ实现了JMS。
  • JavaMail API——提供通过应用程序发送邮件方式。
  • JAXP(加工XML文件的API,Java API for XML Processing)——提供了处理XML文件的方式。
  • JAXR(提供XML注册的API,Java API for XML Registries)——一个可以注册包含了元数据的XML的API。
  • JDBC(Java数据库连接,Java Database Connectivity)——这个API可以使应用程序直接通过SQL通信来访问数据库。
  • JCA(J2EE连接器架构,Java EE Connector Architecture)——使应用程序能和信息系统(通常是数据库)通信。点击查看更多
  • JPA(Java持久化API,Java Persistence API)——这是一个在数据库中存储对象的ORM(对象关系表,Object/relational mapping)定义。点击查看范例
  • JNDI(Java命名和目录接口)——一种能存储和检索资源或者通过名字查找信息的方式,点击查看更多
  • JAAS(Java鉴别与授权服务,Java Authentication and Authorization Service)——识别并控制服务权限的一张方式。

J2EE 6的概念

在J2EE6中,大量的配置可以在源代码中执行。

  • JAX-RS——定义REST(含状态传输)之类的服务的API。
  • Managed Beans——一个可以执行嵌入代码的Java对象。在Sping框架中,这是一些添加了@Autowired注释的对象。
  • CDI(上下文和依赖注入,Contexts and Dependency Injection for Java EE)——CDI是Java EE整个下一代类型安全的依赖注入的事实上的API。在Sping框架中,应用程序可以设计应用的上下文,控制反转(IoC)和依赖注入功能(DI)。
  • Bean确认——通过设定好的规则判断Java Beans的状态是有效的。
  • JACC(Java Authorization Contract for Containers)——在J2EE应用服务器和特定的授权认证服务器之间定义的一个连接的协约。
  • JASPIC(Java认证服务提供者接口,Java Authentication Service Provider Interface)——这是与JACC互补认证的SPI(也就是服务API,Service API)。它定义了应用程序如何通过传统的认证服务。

总体上说,J2EE和Spring框架慢慢的朝着一个相同的方向发展。

英文原文由Jerome Versrynge发表在 javacodegeeks赖信涛翻译,  感谢Importnew校对。



J2EE概念介绍”已经有2条评论

  1. 如果楼主在发布文章的时候,稍微做一些校对就更好了,例如上面的WSLD,实际上应该是WSDL。

Leave a comment

您的电子邮箱地址不会被公开。 必填项已用*标注