- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在 SCA Module 中使用 Hibernate 框架实现数据持久层
简介:?本文将探讨在完成 SCA Module 建模后用 Java 对象进行实现时,如何采用 Hibernate 实现 SCA Module 的数据持久层为 SDO 提供数据访问服务,达到充分利用 Hibernate 的优势来加快 SCA 模块实现的方法。
一、背景
SCA(Service Component Architecture)作为服务组件体系结构,将所有的集成构件都描述为具有定义明确的接口的服务组件。SCA 还引入了模块的概念,它将服务组件集中到一起,并提供服务的进一步说明和封装。这意味着只要模块的接口保持不变,就可以在不影响整个解决方案中的任何其他模块的情况下更改模块内的服务组件。服务组件的实现可以是Java 对象(例如POJO或者SLSB), BPEL,Human task,业务状态机以及业务规则集合等。
服务数据对象(Service Data Objects,SDO)是SOA体系结构中的一个用来简化和统一数据应用的开发框架,也是SCA Module的基本组成部分。SDO支持与XML的集成并且适用于J2EE模式和最佳实践。与其他的数据集成模型不同,SDO不仅仅是数据的抽象,SDO框架也是一个断开连接的编程模型,即可以在不连接任何数据源的情况下进行编程。
Hibernate是一种Java语言下的对象关系映射解决方案,Hibernate不仅负责从Java类到数据库表的映射,还包括从Java数据类型到SQL数据类型的映射,并且还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理SQL和JDBC上的开发时间。
本文主要由两部分内容组成:1. 讨论如何以Model Driven的方式,构建SCA模块以及生成实现。2. 讨论如何引入Hibernate实现SCA Module的持久层,并结合示例讨论如何针对类与类之间的各种映射关系定义 Hibernate映射文件,以及如何调用Hibernate API操作JavaBean来实现对数据库对象的访问。
文中涉及到的建模和代码实现都是在WebSphere Integration Developer v6.0开发并基于 WebSphere Process Server v6.0上测试完成的,使用的数据库是DB2 v8.2。
二、先决条件
开始之前,希望读者对如下知识有一定了解:
SOA:Service Oriented Architecture 面向服务的体系结构
SCA:Service Component Architecture 服务组件体系结构
SDO:Service Data Object 服务数据对象
Hibernate:一种Java语言下的对象关系映射解决方案
三、创建示例项目
1. 示例项目背景介绍
我们引入一个证券业的简单实例来说明整个过程。
如果您想从事证券投资,就需要去证券公司开立一个交易账户。开户时,证券公司需要把您的个人信息注册到股东表中,并且对您购买的股票进行记录以进行后续的证券买卖结算。基于这个场景, 我们将基于SCA把建立个人证券账户相关的业务功能构建为服务组件,在实现服务组件时采用Hibernate来快速完成数据对象与SDO之间的映射工作。
我们用以下的用例图来描述这个场景:
图-1:用例图
根据这个场景,我们需要为股东,证券,证券类别,股东证券账户等实体创建相应的Java对象,用下面的类图来描述这些 Java对象以及它们之间的关系:
图-2:类图
在创建图-2所示的类图时,我们同时也创建了对应的Java类。这种Model-Drive的开发方式,省却了再次手动创建Java类的繁琐,并且可以实现类图和代码上对Java类进行同步更改。
根据上面的背景介绍,为了构建一个服务组件来提供与建立个人证券账户相关的业务功能的服务,我们将构建一个名为 StockService的组件,该组件实现以下业务功能:
清单-1:业务功能列表
名称 功能 addStock 新增一个证券 addStockType 新增一个证券类别 addStockAccount 新增一条证券账户信息 addStockHolder 新增一个股东 getStockList 获得某个股东的所有证券信息列表 getStockAccountListByStockId 根据证券代码获得具有该证券的股东账户列表 getStockTypeList 获得所有的证券类别列表
将新建的Module命名为:StockModule,如下图所示:
图-4:新建Module窗口
3. 创建SDO
作为构建StockService的基础,我们须根据类图定义模块所需的SDOs:
清单-2:需要创建的SDO属性列
您可能关注的文档
- Unit 1新时代交互英语1级.doc
- VC++打地鼠游戏.doc
- VC虚级联、GFP和LCAS简介.doc
- VLSM地址冲突问题分.ppt
- wind 内 核.doc
- 安徽新华电脑专修学院动漫游戏高级设计师专业.doc
- 安卓系统中3G热点使用方法.doc
- 办公设备及耗材管理流程及绩效办法(公用).doc
- 变送器及综述.ppt
- 测量用电压互感器.doc
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)