Application Server 实现了 Java 2 Enterprise Edition (J2EE) 1.4 技术。J2EE 平台是一组标准规范,它们描述了应用服务器的应用程序组件、API 以及运行时容器和服务。
J2EE 应用程序由一些组件组成,例如 JavaServer Pages (JSP)、Java Servlet 和 Enterprise JavaBeans (EJB) 模块。软件开发者可以通过这些组件来构建大型分布式应用程序。开发者将 J2EE 应用程序打包在 Java 归档 (Java Archive, JAR) 文件(类似于 zip 文件)中,这些文件可以分发到生产站点。管理员通过将 J2EE JAR 文件部署到一个或多个 Application Server 实例(或实例群集)中,在该服务器上安装 J2EE 应用程序。
下图展示了在以下各节中介绍的 J2EE 平台组件。
抱歉:图形当前不可用。
每个服务器实例包含两个容器:Web 和 EJB。容器是一种运行时环境,它为 J2EE 组件提供服务(如安全性和事务管理)。Web 组件(如 Java Server Pages 和 Servlet)在 Web 容器内运行。Enterprise JavaBeans 在 EJB 容器内运行。
命名 - 命名和目录服务将对象绑定到名称。J2EE 应用程序可通过查找 Java Naming and Directory Interface (JNDI) 名称来找到对象。
安全性 - Java 容器授权约定 (Java Authorization Contract for Containers, JACC) 是为 J2EE 容器定义的一组安全约定。根据客户机的标识,容器可以限制对容器资源和服务的访问。
消息服务 - 通过使用 Java™ 消息服务 (Java™ Message Service, JMS) 交换消息,位于不同系统上的应用程序可以彼此之间进行通信。JMS 是 J2EE 平台不可或缺的组成部分,它可以简化集成异构企业应用程序的任务。
除了通过 HTTP、RMI/IIOP 和 JMS 访问 J2EE 1.4 应用程序外,客户机还可以将其作为远程 Web 服务进行访问。Web 服务是使用 Java API for XML-based RPC (JAX-RPC) 实现的。J2EE 应用程序还可以作为 Web 服务的客户机,这在网络应用程序中是很常见的。
Web 服务描述语言 (Web Services Description Language, WSDL) 是一种描述 Web 服务接口的 XML 格式。Web 服务使用者可以动态地解析 WSDL 文档以确定 Web 服务提供的操作以及如何执行这些操作。Application Server 使用注册表分发 Web 服务接口描述,其他应用程序可通过 Java API for XML Registries (JAXR) 访问该注册表。
客户机可使用多种方法来访问 J2EE 应用程序。浏览器客户机使用超文本传输协议 (Hypertext Transfer Protocol, HTTP) 访问 Web 应用程序。对于安全通信,浏览器使用的是采用安全套接字层 (Secure Sockets Layer, SSL) 的 HTTP 安全 (HTTPS) 协议。
应用程序客户机容器中运行的丰富客户机应用程序可以使用对象请求代理 (Object Request Broker, ORB)、远程方法调用 (Remote Method Invocation, RMI) 和 Internet 对象请求代理间协议 (Internet Inter-ORB Protocol, IIOP) 或 IIOP/SSL(安全 IIOP)直接查找和访问 Enterprise JavaBeans;使用 HTTP/HTTPS、JMS 和 JAX-RPC 访问应用程序和 Web 服务;以及使用 JMS 向应用程序和消息驱动 Bean 发送消息并从中接收消息。
符合 Web 服务互操作性 (Web Services-Interoperability, WS-I) 基本配置文件的客户机可以访问 J2EE Web 服务。WS-I 是 J2EE 标准不可或缺的组成部分,它定义了可互操作的 Web 服务。用任何支持语言编写的客户机都可通过它访问 Application Server 上部署的 Web 服务。
最佳的访问机制取决于特定应用程序和预期通信量。Application Server 支持可为 HTTP、HTTPS、JMS、IIOP 和 IIOP/SSL 单独配置的侦听器。您可以为每种协议设置多个侦听器,以便提高可伸缩性和可靠性。
J2EE 应用程序还可以用作 J2EE 组件(如其他服务器上部署的 Enterprise JavaBeans 模块)的客户机,并且可以使用其中的任何访问机制。
在 J2EE 平台上,外部系统称为资源。例如,数据库管理系统就是一种 JDBC 资源。每种资源是按其 Java Naming and Directory Interface (JNDI) 名称进行唯一标识的。应用程序通过以下 API 和组件来访问外部系统:
Java Database Connectivity (JDBC) - 数据库管理系统 (Database Management System, DBMS) 提供了一些用于存储、组织和检索数据的工具。大多数商业应用程序将数据存储在关系数据库中,这些应用程序通过 JDBC 访问关系数据库。Application Server 包含 PointBase DBMS,用于提供样例应用程序、进行应用程序开发和建立原型,但并不适于进行部署。Application Server 提供认证的 JDBC 驱动程序以连接到主要关系数据库。这些驱动程序适于进行部署。
Java 消息服务 - 消息传送是一种在软件组件或应用程序之间进行通信的方法。通过使用实现 Java 消息传送服务 (Java Messaging Service, JMS) API 的消息传送提供者,消息传送客户机可以向任何其他客户机发送消息并从中接收消息。Application Server 包含一个高性能的 JMS 代理,即 Sun Java System Message Queue。Application Server Platform Edition 包含免费的 Message Queue Platform Edition。Application Server Enterprise Edition 包含支持群集和故障转移的 Message Queue Enterprise Edition。
J2EE 连接器 - J2EE 连接器体系结构允许将 J2EE 应用程序与现有的企业信息系统 (Enterprise Information System, EIS) 集成在一起。应用程序通过称为连接器或资源适配器的可移植 J2EE 组件访问 EIS,这类似于使用 JDBC 驱动程序访问 RDBMS。资源适配器作为独立的资源适配器归档 (Resource Adapter Archive, RAR) 模块进行分发,或者包含在 J2EE 应用程序归档中。与其他 J2EE 组件一样,它们是作为 RAR 进行部署的。Application Server 包含与常见 EIS 集成在一起的测试版资源适配器。
JavaMail - 通过 JavaMail API,应用程序可以连接到简单邮件传输协议 (Simple Mail Transport Protocol, SMTP) 服务器以发送和接收电子邮件。