利用Hibernate优势加快 SCA 模块实现
本文将探讨在完成 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之间的映射工作。
- 本文关键词:

