Java EE Architecture-The Big Picture

翻译自:Java EE 7: The Big Picture

Java EE Architecture-The Big Picture

Java EE的大框代表Java EE平台,这是指Java EE应用程序服务器提供的运行时环境。作为开发人员编写的所Java EE代码都在此环境中运行。此环境的常用术语是Java EE容器,该容器一词源自该环境包围您的应用程序代码的思想。用技术术语来说,容器的概念很强大:在封装应用程序代码时,容器可以中介或拦截与应用程序代码之间的调用,并可以插入其他种类的逻辑来限定和修改对应用程序的调用码。我们将在整本书中看到的一个很好的例子是安全性。Java EE容器提供的服务:Java EE容器可以在正在运行的应用程序上实施安全规则,例如“仅允许从Mary和Ian访问我的应用程序”之类的规则。 Java EE服务器容器本身由另外两个容器组成:Web容器Enterprise JavaBeans(EJB)容器

  1. Web容器是Java EE环境的一部分,专用于在Java EE应用程序中运行Web组件:the web pagesJava Servlet和其他Java EE Web组件,可以与通过标准Web连接到Java EE应用程序的客户端进行交互协议。
  2. EJB容器是Java EE环境的一部分,专用于运行Java EE应用程序的应用程序逻辑部分。EJB是包含和操纵Java EE应用程序的核心数据结构的Java类。

最后,Java EE平台的数据库层保存Java EE应用程序需要存在的所有应用程序数据的时间,比应用程序的单个会话的范围长,或者仅存在时间上分开的应用程序的不同步骤之间。

Java EE平台支持各种协议,客户端可以使用这些协议与正在运行的Java EE应用程序进行交互,主要的客户端类型是浏览器客户端,该浏览器客户端使用HTTP或者WebSockets等标准Web协议连接到Java EE应用程序。许多Java EE应用程序具有非Java客户端,可能是Java桌面应用程序,或者是在不同应用程序服务器上运行的另一个Java EE应用程序。 除了基于TCP的协议(例如Remote Method Invocation(远程方法调用)(RMI))之外,此其他客户端类型还可以使用标准Web协议连接到Java EE应用程序服务器上运行的Java EE应用程序。

Java EE部分的其他框代表Java EE应用程序可以选择使用的各种服务:

  1. Security(安全服务)使Java EE应用程序可以将对其功能的访问限制为仅对某些已知用户集;
  2. Dependency Injecion(依赖注入)使Java EE应用程序可以委托生命周期管理和发现其某些核心组件;
  3. Transactions(事务)使Java EE应用程序可以定义修改应用程序数据的方法集合,以使所有方法都必须成功完成,或者回滚整个方法执行集,就好像什么都没有发生一样
  4. Java Message Service(JMS)(Java消息服务)使Java EE应用程序能够可靠地将消息发送到Java EE应用程序服务器部署环境中的其他服务器;
  5. Persistence(持久)允许将Java对象形式的应用程序数据与其在关系数据库表中的等效形式进行同步;
  6. JavaMail(Java邮件)服务使Java EE应用程序能够发送电子邮件,这在以下类型的应用程序中特别有用:该应用程序采取由用户或代表用户发起的某些操作,并且需要在以后的某个时间将操作结果通知用户;
  7. Java EE平台的主要扩展点来自Java EE Connector Architecture (JCA)(Java连接体系结构),该体系结构提供了一个框架,可以在其中添加不是Java EE平台的标准组成部分的新服务,然后可以由平台中运行的Java应用程序使用;
  8. 最后,Java数据库连接(JDBC)API支持使用SQL查询语言在关系数据库中传统存储和检索Java EE应用程序数据。