J2EE 是一个不依赖于平台的环境,设计这个环境是为了开发和配置在企业范围内使用 的基于网络的应用程序。这个平台曾被喻为元语言或语言超集。但在本质上,J2EE 仅仅是 Java 编程语言和一些特定的 Java 类的最小集合。(参见 参考资料 中 J2EE 类文档的链 接。)
J2EE 由用于开发多层且基于网络的应用程序的应用编程接口(API)、服务 以及协议组成。它是一个复杂的标准,要想写一篇使之简化的文章,其难度不亚于撰写一 篇简化联邦税务代码的文章,这可不是一件容易的事。但是,让我们从它的一些基本原则 开始讲起,直至少量的实现细节,整个旅程还是会让您有所启发的。现在扣紧安全带,让 我们开始吧!
基本原则
J2EE 多层设计中的客户机层是由纯 HTML 协议表示 的,这些 HTML 由 JavaServer Pages(JSP)和 Java servlet 生成,并用传输协议(当 然是 TCP/IP)潜在地部署多个 Java 小程序。任何符合标准的 Web 浏览器都能够作为 J2EE 系统的客户机正常运行。
服务器层包含 Enterprise JavaBean(EJB)技术, 用这些技术定义了企业应用程序的平台逻辑。EJB 服务器提供线程管理、并发管理、内存 管理以及安全方面的功能,并自动完成这些任务,以便于应用程序程序员摆脱这些细节方 面的负担。这就是 J2EE 设计的威力所在。
处在最底层的是企业珍贵数据的核心, 在这里,可以通过 Java 数据库连接(Java Database Connectivity,JDBC)接口访问标 准的数据库工具,如 IBM DB2、Oracle、MySQL 或任何数量的基于结构化查询 语言(Structured Query Language,SQL)的其他数据库引擎。
J2EE 的全部都是 关于定义 Web 服务的 —— 对于定义动态页面的方式而言这是一个很不错的名 字,在这种方式下程序动态地生成网页,而不是仅向进行调用的客户机浏览器返回一般的 HTML 文本文件。J2EE 是一个真正的各种技术缩写词的大杂烩,每种技术用一个容易记住 的缩写词来描述。作为程序员,您不需要苛求自己掌握所有这些技术以在 J2EE 环境中成 就辉煌的事业,但是您只要学到更多这方面的知识,就能够使您的事业获益。
快速参考:J2EE 技术
接下来要介绍的是对众多 J2EE 技术中某些技术的一个快速参考。掌握了所有这些技术 的程序员在如今的职场上需求极旺。这些技术如此受欢迎,我认为这是由于它们的重要性 以及部署的简单性,当然,这纯粹是我主观的观点。
我提供这份清单既是为了解释 J2EE 的复杂性,也是为了提供一份帮助您继续学习这些 技术的粗略的地图。重要的技术包括:
JSP: HTML 模板的文件,该文件含有在执行前编译成 servlet 的内嵌的 Java 代码。
EJB: 代表了企业 Web 应用程序的平台逻辑。EJB 技术的两种类型是实体 bean 和会 话 bean。
JDBC: 一个用于从 Java 环境连接到数据库的 API。它是 Java 程序员针对开放数据 库连接(Open Database Connectivity,ODBC)的替代品。
XML 处理的 Java API(Java API for XML Processing,JAXP): 用于协助应用程序 分析及转换 XML 文档。
Java 命名及目录接口(Java Naming and Directory Interface,JNDI): 用于定义 执行目录操作的方法,如使用其属性来搜索对象并将属性和对象关联起来。
基于 XML 的远程过程调用的 Java API(Java API for XML-based Remote Procedure Call,JAX-RPC): 允许开发人员创建由 Web 服务描述语言(Web Service Description Language,WSDL)所描述的客户机及服务。WSDL 将服务描述为一个端点集,这些端点在消 息上进行操作并用 XML 进行定义。
基于 XML 的 Web 服务的 Java API(Java API for XML-based Web Services,JAX-WS ): 它允许开发人员实现由 WSDL 描述的客户机和服务,在这一点上同 JAX-RPC 类似, 但是 JAX-WS 不需要部署描述符,这是由于它使用 @WebService 这样的标注来声明 Web 服务端点。使用 JAX-WS 时,无需使用部署描述符就能部署 Web 服务!
XML 绑定的 Java 架构(Java Architecture for XML Binding,JAXB): 提供一个绑 定的编译器和一个运行时框架将 Java 对象映射到 XML 文档。此功能确保系统只接受和处 理有效的消息。编译器自动将万维网联盟(World Wide Web Consortium,W3C)的 XML 模 式转换成 Java 类,使您不必自己编写任何复杂的解析代码。
XML 消息的 Java API(Java API for XML Messaging,JAXM): 允许应用程序在互联 网上交换 XML 形式的业务文档。这样的例子包括存货清单、发票和数不清的其他业务文档 ,这些文档的存在使得现代商业得以有效运行。
>XML 注册库的 Java API(Java API for XML Registries,JAXR): 为访问不同 种类的 XML 注册库提供了一个标准的 API,这在构建、部署以及发现 Web 服务时非常有 用。
Java 消息服务(Java Message Service,JMS): 允许使用一个统一的 API 来编写基 于消息的应用程序,该 API 能对许多消息系统产品的共同特征进行访问。
Java 管理扩展(Java Management Extensions,JMX): 这是一个专为监控及管理 J2EE 应用程序服务而创建的 Java 标准。