Java EE 5

简介

Java EE 技术是 Java 语言平台的扩展,支持开发人员创建可伸缩的强大的可移植企业应用程序。它为应用程序组件定义了四种容器:Web、Enterprise JavaBean(EJB)、应用程序客户机和 applet。一个应用服务器规范详细描述了这些容器和它们必须支持的 Java API,这促使 Java EE 产品相互竞争,同时保证符合这个规范的应用程序可以在服务器之间移植。

这个平台的最新版本 Java EE 5 已经于 2006 年 5 月发布。Java EE 5 主要关注提高开发人员的生产率,它提供了更简单的编程模型,而没有牺牲平台的任何功能。更简单的开发模型主要由两个机制提供 —— Java 注解和更好的默认行为。主要的功能性改进包括改进了 Web 服务支持以及在平台中集成了 JavaServer Faces(JSF)和 Java Standard Tag Library(JSTL)。

本文介绍 Java EE 5 中的特性,重点介绍自上一个 J2EE 版本以来的变化。(超出本文范围的改进包括 StAX API — 一个用来解析 XML 的 API — 和跨许多 API 的中小程度的改进。)我将全面讨论四个特性类别:Web 服务、Web 应用程序、企业应用程序以及管理和安全性。然后,为了避免读者觉得厌烦,我们讨论一个使用 Java EE 5 特性的小应用程序,以此说明新的开发模型如何简化面向服务架构(SOA) Web 应用程序的开发。

本文假设读者熟悉企业级软件系统,并希望全面了解 Java EE 5 的概况。了解 Java 编程和 J2EE 对于理解特性的意义会有帮助,但不是必需的。对示例应用程序的讨论涉及一些技术细节,有 J2EE(至少是 Java 编程)背景可能比较容易理解。

Web 服务技术

在 Java EE 5 中引入了注解(annotation)特性,这简化了复杂 Web 服务端点和客户机的开发,与以前的 Java EE 版本相比,代码更少,学习过程更短了。注解(最早在 Java SE 5 中引入)是可以作为元数据添加到代码中的修饰性代码。它们并不直接影响程序的语义,但是编译器、开发工具和运行时库可以通过处理它们生成额外的 Java 语言源文件、XML 文档或其他工件和行为,这些对包含注解的程序起辅助作用。在本文后面,会看到如何通过添加简单的注解,将常规的 Java 类转换为 Web 服务。

Web 服务支持方面的飞跃

Java EE 5 中 Web 服务支持的基础是 JAX-WS 2.0,它是一种替代 JAX-RPC 1.1 的技术。这两种技术都支持创建 REST 风格和基于 SOAP 的 Web 服务,而不必直接处理 Web 服务固有的 XML 处理和数据绑定细节。开发人员可以继续使用 JAX-RPC(这仍然需要 Java EE 5 容器),但是强烈建议迁移到 JAX-WS。刚开始学习 Java Web 服务的开发人员可以跳过 JAX-RPC,直接使用 JAX-WS。它们都支持 SOAP 1.1 over HTTP 1.1,所以完全兼容:JAX-WS Web 服务客户机可以访问 JAX-RPC Web 服务端点,反之亦然。

与 JAX-RPC 相比,JAX-WS 有许多优点。JAX-WS:

支持 SOAP 1.2 标准(以及 SOAP 1.1)。

支持 XML over HTTP。如果愿意,可以不使用 SOAP。

使用 Java Architecture for XML Binding(JAXB)作为数据映射模型。JAXB 完全支持 XML 模式,而且性能更好(更多信息见下文)。

为客户机和服务器引入了一个动态编程模型。客户机模型支持面向消息方式和异步方式。

支持 Message Transmission Optimization Mechanism(MTOM),这是一个用于优化 SOAP 消息传输和格式的 W3C 建议规范。

升级了 Web services interoperability(WS-I)支持。(它支持 Basic Profile 1.1;JAX-WS 只支持 Basic Profile 1.0。)

升级了 SOAP 附件支持。(它支持 Attachments API for Java [SAAJ] 1.3:JAX-WS 只支持 SAAJ 1.2。)

JAX-WS 中的 wsimport 工具自动地处理 Web 服务开发的许多细节,并以跨平台方式集成到构建过程中,这让开发人员可以将注意力集中于实现或使用服务的应用程序逻辑。它生成各种工件,包括服务、服务端点接口(SEI)、异步响应代码、基于 WSDL 错误的异常以及通过 JAXB 绑定到模式类型的 Java 类。

JAX-WS 还能够提高 Web 服务的性能。在文章 “Implementing High Performance Web Services Using JAX-WS 2.0”中,对基于 JAX-WS 的 Web 服务实现(使用了 Java EE 5 中的另外两个 Web 服务特性 — JAXB 和 StAX)和基于 J2EE 1.4 中的 JAX-RPC 的服务实现做了性能对比。这项研究发现在不同负载下 JAX-WS 在各个功能领域产生了 40% 到 1000% 的性能改进。

时间: 2024-08-31 21:13:22

Java EE 5的相关文章

方便 Ajax 与 Java EE 的集成

随着 Ajax 的兴起,对于消解这个热门技术的谜团并有针对性地处理在它的使用中出现的问题的需求出现了.高级 IT 专家 Patrick Gan 利用这个机会,研究了在 Java EE Web 应用程序中引入 Ajax 对整个开发生命周期可能产生的影响.对采纳 Ajax 基于异步通信的模式会存在的问题保持清醒,有助于踏上有效集成 Ajax 的正确道路. Asynchronous JavaScript + XML (Ajax)是个相当新的术语(有些人说它是旧酒装新瓶),在不同的 Web 开发社区中,

图片-java ee中的EJB出现错误:

问题描述 java ee中的EJB出现错误: 解决方案 看异常貌似是jdbc/MysqlDB_pm 这个数据源配置的问题

在Java EE环境下使用Kodo EJB

Kodo EJB是一个支持对象/关系映射的框架,根据EJB3规范的要求,Kodo EJB除了支持在普通Java应用中提供轻量级的持久层框架之外,也支持在JAVA EE容器中使用满足重量级企业应用的需求,充分利用JAVA EE容器中提供的优越特性如容器管理事务.远程(Remote)访问. 基于Kodo EJB开发的应用支持使用EJB或者JCA标准接入到JAVA EE环境中: JCA Kodo EJB支持JCA1.0标准,因此基于Kodo EJB开发的应用可以和其他JCA资源一样轻松的发布到JAVA

避免Java EE项目评估中的常见错误

错误|项目 摘要: 软件开发项目评估是软件开发周期中关键又具备挑战性的一步,它是计划,进度,人员以及其他相关步骤的基础.项目低估会带来紧张的进度,高度压力的工作环境,未可预料的资源紧缺,低质量,项目实施延误等风险, 可以最大限度的破坏客户的生意以及公司的信誉:而另一方面,带有过多不合理泡沫的评估也会导致无效率的资源浪费以及引起客户和公司之间的不信任.评估企业Java项目因为技术的更新成了一个难题,本文通过几个方面透视提供了评估企业Java项目时应该考虑的问题 假如你是一个重要软件项目的项目经理,

将Flex集成到Java EE应用程序的最佳实践

简介:传统的 Java EE 应用程序通常使用某种 MVC 框架(例如,Struts)作为前端用户界面,随着 Flex 的兴起,基于 RIA 的客户端能够给用户带来更酷的界面,更短的响应时间,以及更接近于桌面应 用程序的体验.本文将讲述如何将 Flex 集成至一个现有的 Java EE 应用程序中,以及如何应用最佳实 践高效率地并行开发 Java EE 和 Flex. 开发环境 本文的开发环境为 Windows 7 Ultimate,Eclipse 3.4,Flex Builder 3.Java

JPA --Java EE 5.0 ORM 规范

JPA概述 JPA(Java Persistence API)作为Java EE 5.0平台标准的ORM规范,将得到所有Java EE服务器的支持.Sun这次吸取了之前EJB规范惨痛失败的经历,在充分吸收现有ORM框架的基础上,得到了一个易于使用.伸缩性强的ORM规范.从目前的开发社区的反应上看,JPA受到了极大的支持和赞扬,JPA作为ORM领域标准化整合者的目标应该不难实现. JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中,图 1很好地描述

最重要的Java EE最佳实践

引言 在过去的几乎整整十年中,人们编写了很多有关 Java Platform, Enterprise Edition (Java EE) 最佳实践的内容.现在有十多本书籍 和数以百计(可能更多)的文章,提供了关于应该如何编写 Java EE 应用程序的 见解.事实上,这方面的参考资料如此之多,并且这些参考资料之间往往还存在 着一些矛盾的建议,以至于在这些混杂的内容中进行学习本身也成为了采用 Java EE 的障碍.因此,为了给刚进入这个领域的客户提供一些简单的指导,我们汇编 了这个最重要的最佳实

安全注释和授权在GlassFish和Java EE 5 SDK中的应用

安全性对于企业环境非常重要.在 Java EE 5 / GlassFish 环境中,您可以通过以下几种方式实现安全性: 传输层安全性 (TLS) / 安全套接字层 (SSL) 技术 身份验证 (Authentication) 和授权 (Authorization) 消息层安全性(仅适用于 GlassFish 中的 Web 服务) 本文讨论身份验证和授权.参考资料 [1].[2] 和 [3] 讨论了如何在客户端和服务器端为 Enterprise JavaBeans 和 Web 服务建立 SSL 环

Java EE 5技术简介

NetBeans IDE 6.0 的开发是在 Java EE 和 Glassfish 工作组的密切合作下完成的,它实现了与新的 Java EE 5 规范的完美集成,从而可以在此 IDE 中轻松地使用新规范.NetBeans IDE 6.0 是您快速学习 Java EE 5 编程并使用它高效工作的最佳途径. 本文档介绍了 Java EE 5 规范的一些重要概念,以及它们如何与您目前的编程项目相关联的.本文将 介绍以下主题: 标注取代部署描述符 简化的 EJB 软件开发 使用依赖关系注入来访问资源

使用SIP Servlet为Java EE添加语音功能

会话发起协议(Session Initiation Protocol,SIP)是一种信号传输协议,用于建立.修改和终止两个端点之间的会话.SIP 可用于建立 两方呼叫.多方呼叫,或者甚至 Internet 呼叫.多媒体呼叫和多媒体分发的多播会话.JSR 116:SIP Servlet API 是一个服务器端接口,描 述了针对 SIP 组件及服务的容器.SIP servlet 是在 SIP 容器中运行的 servlet,与 HTTP Servlet 类似,但提供了对 SIP 协议的支持. SIP