问题: 什么是 Java 2 Platform, Enterprise Edition (J2EE)?
Java 2 Platform, Enterprise Edition (J2EE)是一组协调规范与实践,它们组合起来,能够实现用于开发、部署和管理多层的以服务器为中心的应用程序的解决方案。建立在 Java 2 Platform, Standard Edition (J2SE) 的基础上,J2EE 平台添加了一些必要的能力,以便为企业级提供完整的、稳定的、安全的和快速的Java平台。由于它大大减少了开发和部署多层解决方案的成本和复杂程度,带来了可以快速进行部署并且容易增强的服务,因此它为企业创造了价值。
问题:J2EE平台有哪些主要优点?
J2EE 平台提供了以下特征:
- 完整的 Web 服务支持。J2EE 提供了一个框架,以便在 Java 平台上开发和部署 Web 服务。Java API for XML-based RPC (JAX-RPC) 使得 Java 技术开发人员能够开发基于 SOAP的、能够互操作并且可移植的 Web 服务。开发人员可以使用标准的 JAX-RPC 编程模型来开发基于 SOAP 的 Web 服务客户端和端点。Web服务端点是使用Web服务描述语言(WSDL)文档来描述的。JAX-RPC使得JAX-RPC客户端能够调用跨异构平台上开发的 Web 服务。同样,JAX-RPC Web 服务端点可以由异构客户端调用。有关进一步信息,请参阅 http://java.sun.com/webservices/。
- 更加快速的解决方案面市时间。 J2EE 平台使用“容器”来简化开发。J2EE 容器提供了业务逻辑与资源和生命周期管理的分离,这表明开发人员可以将重点放在编写业务逻辑(它们的增值)上,而不是放在企业基础结构上。例如,Enterprise JavaBeans (EJB)容器(由 J2EE 供应商实现)处理了分布式通信、线程处理、缩放、事务管理等。与此类似,Java Servlets 简化了 Web 开发,因为它在 Web 容器中提供了针对组件、通信和会话管理的基础结构,而该容器又与 Web 服务器集成。
- 自由的选择。J2EE 是一组许多供应商都可以实现的标准。供应商可以自由地完成实现,但在标准或 API 上却不能自由完成。Sun 为 J2EE 持证人提供了综合的 J2EE Compatibility Test Suite(CTS)。J2EE CTS有助于在应用程序供应商之间保证兼容性,从而保证了针对 J2EE 平台编写的应用程序和组件的可移植性。J2EE 平台为服务器带来了“Write Once, Run Anywhere”(编写一次,随处运行)的能力。
- 简化的连接。 J2EE 技术使得可以容易地连接已经拥有的应用程序和系统,并将这些能力带到了 Web、手机和设备。J2EE 提供了 Java Message Service,以便以采用松耦合、异步的方式来集成不同的应用程序。J2EE 也提供了 CORBA 支持,以便通过远程方法调用来紧密地链接系统。J2EE 平台还具有 J2EE Connectors,用于链接企业信息系统,比如 ERP 系统、打包的财务应用程序和 CRM 应用程序。
- 通过提供具有如下特征的平台:更加快速的解决方案面市时间、自由的选择和简化的连接,J2EE 平台可帮助 IT 缩减 TCO ,同时免去了针对企业软件要求的单一源码。
问题:J2EE 平台是否能够与其他 WS-I 实现进行互操作?
是的,前提是其他实现要符合 WS-I。
问题:J2EE 平台中包含了哪些技术?
J2EE 平台中的主要技术有:Java API for XML-Based RPC (JAX-RPC)、JavaServer Pages、Java Servlets、Enterprise JavaBeans 组件、J2EE Connector Architecture (JCA)、J2EE Management Model、J2EE Deployment API、Java Management Extensions (JMX)、J2EE Authorization Contract for Containers、Java API for XML Registries (JAXR)、Java Message Service (JMS)、Java Naming and Directory Interface(JNDI)、Java Transaction API(JTA)、CORBA 和 JDBC 数据访问 API。
问题:J2EE 1.4 平台新增了什么? J2EE 1.4 提供了完整的Web 服务支持功能,该支持是通过新的 JAX-RPC 1.1 API 来完成的,该 API 支持基于 servlets 和企业 beans 的服务端点。JAX-RPC 1.1 提供了与基于 WSDL 和 SOAP 协议的 Web 服务的互操作性。J2EE 1.4 平台也支持 J2EE 规范(JSR 921)的 Web 服务,它定义了 Web 服务的部署要求并利用了 JAX-RPC 编程模型。除了众多的 Web 服务 API 之外,J2EE 1.4 平台提供了对 WS-I Basic Profile 1.0 的支持。这表明除了平台无关性和完整的 Web 服务支持之外,J2EE 1.4 还提供了平台 Web 服务互操作性。J2EE 1.4 还引入 J2EE Management 1.0 API,该 API 定义了 J2EE Management 的信息模型,包括标准的 Management EJB(MEJB)。J2EE Management 1.0 API 使用Java Management Extensions API(JMX)。J2EE 1.4也引入了J2EE Deployment 1.1 API,它提供了一个标准的 API,用于部署 J2EE 应用程序。
现在,J2EE 平台使得可以容易地开发 Web 前端,并且该前端具有 Java Servlet 和 JavaServer Pages(JSP) 技术的增强功能。现在,servlets 也支持请求侦听器和增强的筛选器。JSP 技术已经简化了页面和扩展的部署模型,由于它引入了简单的表达语言、标签文件和更加简单的标签扩展 API 等特性。对于开发人员,特别是熟悉脚本语言的开发人员来说,这使得他们可以比以往更加容易地生成支持 JSP 的页面。
J2EE 平台的其他增强功能包括 J2EE Connector Architecture,它提供了传入资源适配器和 Java Message Service(JMS) 的可插入性。Enterprise JavaBeans(EJB) 技术的新特性包括 Web 服务端点、计时器服务以及 EJB QL 和消息驱动 beans 的增强功能。J2EE 1.4 平台也包括部署描述符的增强功能。现在,它们是使用 XML Schema 来定义的,开发人员也可使用 XML Schema 来验证 XML 结构。
问题:我现在应该使用哪一版本的平台——1.4或1.3?
J2EE 1.4 规范是***规范,因此现在可以使用 J2EE 1.4 SDK 来部署应用程序。不过,为了提高可靠性、可伸缩性和性能,推荐在 J2EE 1.4 商业实现上部署应用程序,该商业实现将在 2004 年初可用。如果想在2004 年以前部署应用程序,并且可靠性、可伸缩性和性能是至关重要的情况下,那就应该考虑使用支持 J2EE 1.3 的高性能应用程序服务器,比如 Sun Java System Application Server 7。许多应用程序服务器供应商期望在春季之前发布 J2EE 1.4 平台版本的产品。
问题:针对 J2EE 1.3 平台编写的应用程序是否可以在 J2EE 1.4 平台实现上运行?
针对 J2EE 1.3 规范编写的 J2EE 应用程序将可以在 J2EE 1.4 实现上运行。向后兼容是规范的要求。
问题:J2EE 体系结构是如何与 Sun Java Enterprise System 关联的?
J2EE 体系结构是 Sun Java System Application Server 的基础,它是 Sun Java Enterprise System 的组件。在当前Sun Java Enterprise System 中,Java System Application Server 是以 J2EE 1.3 平台为基础的,并为 Web 服务提供了附加的支持。熟悉 J2EE 技术的开发人员可以容易地应用他们的技术,来生成使用 Sun Java Enterprise System 的应用程序,包括 Web 服务应用程序。有关进一步信息,请参阅 Sun Java Enterprise System Web 站点。
问题:我该怎样学习 J2EE 平台?
有关 J2EE 平台以及如何获得规范的进一步信息,请参阅 http://java.sun.com/j2ee/。
了解 J2EE 平台及在 J2EE 1.4 平台中新增了什么的最有效办法是,利用 J2EE 1.4 SDK 来亲自体验这些API。J2EE 1.4 SDK 提供了兼容于 J2EE 1.4 的应用程序服务器,并将它作为开发和部署支持 Web 服务、多层的企业应用程序的基础。可以从如下站点免费下载 J2EE 1.4 SDK: http://java.sun.com/j2ee/downloads/index.html。
J2EE 文档页面 提供了一些链接,它们指向各种自我导向的学习材料,比如针对初学者的教程和 FAQ。需要更高级资料的开发人员可以访问 Java BluePrints for the enterprise。 企业的 Java BluePrints 是***实践指导原则,可用于设计和生成基于J2EE 的应用程序。设计指导文档提供了两样东西。首先,它提供了在 Java 2 平台上生成 N 层应用程序的指导原则。其次,它提供了一组设计模式,用于设计这些应用程序,以及提供了一组有关如何生成应用程序的例子或诀窍。
Sun 教育服务也提供了许多 培训课程,它们可以引导您获得下面三种证书的一种:Sun Certified Web Component Developer,Sun Certified Business Component Developer 和 Sun Certified Enterprise Architect。
问题:我能够使用哪些工具来构建 J2EE 应用程序?
对于开发 Java 和 J2EE 应用程序,有许多可用的工具可供选择。可以从如下站点免费下载开放源代码NetBeans IDE:http://netbeans.org。 许多兼容 J2EE 的供应商提供了一些工具来支持任何的兼容 J2EE 的应用程序服务器。
问题:谁需要 J2EE 平台?
ISV 需要 J2EE 平台,因为 J2EE 为他们给出了一个蓝本,用于在 Java 平台上提供完全的企业计算解决方案。企业开发人员需要 J2EE,因为编写分布式业务应用程序是困难的,而他们需要高效的解决方案,允许他们将重点放在编写业务逻辑上,并有大量要依赖的企业级服务,比如事务分布式对象、面向消息的中间件以及命名和目录服务。
问题:J2EE SDK 是否可以在社区资源程序下使用?
可以。J2EE SDK 可以在 Sun 的 Community Source Licensing 下使用。有关 Sun 社区资源程序的进一步信息,请参阅 http://www.sun.com/communitysource。
问题:J2EE 平台是否进行了兼容性测试?
是的。J2EE Compatibility Test Suite(CTS) 可用于 J2EE 平台。J2EE CTS 包含了超过 5000 个针对 J2EE 1.4 的测试,在以后的版本中,它还会包含更多的测试。测试组件通过执行特定应用程序功能并检查结果来测试兼容性。例如,为了测试 JDBC 调用而在数据库中插入了一行,EJB 组件就会产生一个调用,插入一行,然后再产生一个调用,检查该行是否已经插入。
问题:成为 J2EE 持证人与成为 J2EE 兼容产品有什么区别?
J2EE 持证人已经签署了 J2EE 的商业分发许可。这表明持证人已经做过兼容性测试,并已经承诺支持兼容性。但这不表明持证人产品一定是兼容的。要看是否有 J2EE 商标,它表明特定商标的产品已经通过Compatibility Test Suite (CTS),并且是兼容的。
问题:Apache Tomcat 开放源代码应用程序服务器与 J2EE SDK 有什么关系?
Tomcat 是以 JavaServer Pages(JSP) 和 Java Servlet 规范的原始实现为基础的,它是 Sun 在 1999 年的赠送给 Apache Software Foundation 的产品。Sun 继续参与 Apache Tomcat 的开发,并将重点放在保持 Tomct 处于当前状态,使其跟上 Java Community Source ProcessSM 的新版本规范。Sun 改写了当前的Tomcat 源代码,并将它集成到新版本的 J2EE SDK 中。然而,由于 Tomcat 在 Apache 得到了快速发展,因此,在 J2EE SDK 以及在不同版本的 J2EE SDK 之间的 Tomcat 中,JSP 和 Servlet 实现之间存在着一些附加差别。Tomcat 源代码及二进制代码是通过 ASF License 来管理的,它允许自由地部署和重分发。
【编辑推荐】