频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

利用EJB 3.0的JPA设计企业应用程序(1)

作者: Borys Burnayev 出处:IBM  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2006-09-21 10:30
关 键 词:EJB  JPA  Java
阅读提示:介绍 Java Platform, Enterprise Edition (Java EE 5) 的一种设计方法,它利用了Enterprise JavaBeans(EJB) 3.0 新的Java Persistence API (JPA)。

本文将介绍Java Platform,Enterprise Edition(Java EE 5)的一种设计方法,它利用了Enterprise JavaBeans(EJB) 3.0 新的Java Persistence API (JPA)。JPA 提供了一种标准的对象关系映射解决方案,该解决方案避免了依赖第三方框架(如 Hibernate)。您将看到示例应用程序的详细内容,其中验证了本方法并阐明关键设计决定。

期待已久的下一版本Java EE 5即将发布。Java EE 5许多新功能都包含经过修补的EJB架构,其突出特性之一是JPA。由于具有容器内和容器外持久性选项,JPA 为 J2EE 架构师带来一系列全新设计选择。本文将着重介绍容器内应用程序的设计,此类应用程序依赖EJB容器提供企业服务,如事务处理和安全性。

我将使用您熟悉的PetStore应用程序进行测试,以证明JPA的功能以及它如何向传统J2EE设计模式发起挑战。本应用程序比较琐碎,所以不提供详尽的实现细节。我将用代码摘录对设计注意事项进行说明。本文假设您熟悉EJB 3.0基本概念和对象关系(OR)映射基本概念。

设计概述

示例PetStore应用程序是基于Web的电子交易应用程序,它实现以下用例:
浏览产品
查找产品
维护账户
维护购物车
创建订单

本应用程序被设计为具有三个主要逻辑层的多层Java EE应用程序:
表示层(并非本文的重点)使用 Struts 框架。
服务层是一种简单的服务facade,将所有工作委托给其协作者。服务层的目的是分离服务供应与服务实现。
数据访问层是一系列作为无状态会话bean实现的粗粒度Data Access Objects (DAO)。出于持久性的需要,它们都依赖 Java 持久性实体管理器。
应用程序域模型由EJB 3.0实体bean表示并用于层间的通信。当域对象离开数据访问层时,它与实体管理器脱离。当重新进入数据访问层时,它需要重新连接到实体管理器。

注释似乎是Java 5的一个广泛采用的特性,JPA也不例外。注释可用于指定OR映射——在dW文档和教程中您经常可以看到——而PetStore应用程序出于相同目的使用它们。然而值得一提的是您还能通过映射文件的方式指定OR映射。本文稍后的OR映射 一节将探讨并比较这两种可选方式。

我在Jboss应用服务器中开发并部署PetStore应用程序(参见 参考资料)。我使用商用数据库完成大多数开发工作并将应用程序后端移植到 PostgreSQL数据库(OR映射 一节包含了关于使用JPA时您应该了解的数据库迁移的潜在影响的讨论)。

本案例分析的目的之一是符合设计标准,允许高度可测试的实现。如 测试 一节所见,您能够使用一系列测试技术来测试PetStore应用程序。

PetStore 应用程序充分利用了这一事实:它是规则的 Web 应用程序。主要优点是所有层能够运行在相同的 JVM中,免除了组件分发的需要。本文的 远程处理 一节简要介绍了为应用程序添加远程处理功能的方法。

服务层

服务层被设计为服务facade。它由PetStoreService这一无状态会话bean实现。Bean要完全依靠其协作者来提供Web服务。


共5页: 1 [2] [3] [4] [5] 下一页
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看52371次)
·UML类图详解 (查看46839次)
·Java编程开发手册 (查看25118次)
·UML统一建模语言 (查看24099次)
·C#技术开发指南 (查看22406次)
·Java编程开发手册 (1195个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (304个砖)
·PB开发教程 (220个砖)
·.NET开发手册 (217个砖)
·Java编程开发手册 (653个好)
·Java基础教程 (569个好)
·.NET开发手册 (251个好)
·PB开发教程 (209个好)
·Delphi开发技术手册 (174个好)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有