应用中,比如可以用在网上购物系统,销售系统或技术支持应用中,只要应用系统中需要表示一个顾客,几乎都可用这个组件。
这样使代码重用上升到一个新的高度。
根据EJB规范,一个实体Bean是①提供在数据库的对象视图;②允许被多个用户共享存储访问:⑨只要它存在于数据库中,就可以长期存在:④实体Bean,它的主键对象,以及它的远程引用将能跨EJB容器的宕机而存在;但是实体Bean的性能不太尽人意,为了提高性能,需要熟练的服务器配置人员。
(3)JDO(Java Data Object) 与Entity Bean不同的是,JDO等技术都是轻量级的,JDO是存储Java对象的规范,它包括四层应用结构:SUN公司制定的JDO API,由第三方提供的JDO实现和JDBCAPI。
由于它支持把对象持久化到任何一种存储
系统中,包括关系数据库,对象数据库,XML和其他专有存储系统,因此它并不是针对持久层关系数据库的解决
方案。
但他仍弥补了EJB在面向对象开发方面的不足,是对面向对象完全支持的,他最大的优点是简单易用。
这些都是对关系数据库而设计的,当持久化介质不是关系数据库时,就没有用武之地了。
不幸的是这些优秀的先进技术几乎全部在国外开发并大规模使用,国内虽有很多人在研究持久化技术,但很少有自己独立研发的持久化工具,现在在绝大部分企业应用中,很多直接使用JDBC API,或者使用EJB实体Bean,或者购买第3方的持久化技术,或者使用Hibernate,JDO这样的开源持久化工具。
研究内容 本文从对象/关系映射以及持久化技术的基础知识入手,首先概述了与对象/关系映射相关的基本内容。
由理论指导实践,逐步介绍了基于对象/关系映射的持久化框架的分析、设计,详细介绍了框架的功能实现,包括软件内部体系结构,在整个系统中的位置,总体功能模块,模块详细设计。
归纳起来有: (1)描述了关系模型,对象模型的基本概念及各自的优缺点。
大连交通大学:I:学硕十学付论文 (2)阐述了对象/关系映射的基本理论以及面向对象的概念和基本方法。
(3)设计对象持久化框架ORMPlatform的内部体系结构,总体功能模块,系统物理结构,运行体系等等。
(4)详细阐述了持久化框架的分析和设计,其中针对O/R Mapping的优缺点,着重提出了通用对象/关系映射DataSet的。
(5)描述了持久化框架的主要功能。
注:前面提到的基于O/R Mapping的对象/关系持久化框架在后面统一成为ORMPlatform。
4 第一章对象/关系映射基础 第一章对象/关系映射基础1.1概述 如今,应用程序大部分采用面向对象编程法,同时广泛使用关系数据库,这使对象和关系数据间存在对象/关系的不匹配。
这就需要一个从对象模型到关系模型的映射过程,即对象/关系映射。
本章详细介绍了数据分层,关系模型和数据模型的基本概念,并介绍了对象/关系映射的基本理论。
1.2应用程序的分层与持久化层 纵观40多年的计算机应用软件的不断发展过程,应用
程序的分层有了很大变化,一直在适用于软件发展的不同需要。
应用程序逐渐由单层体系结构发展为多层体系结构。
最初的应用
软件是应用在大型机上的单层应用程序,许多程序采用文件系统来存储数据。
到后来发展成双层应用,如图1.1所示。
在双层应用中,数据层存放持久性业务数据,应用层作为单独的一层,在这个层中负责生成用户界面的代码和负责业务逻辑的代码混合在一起。
这样就造成程序不够清晰,而且维护很困难。
对于大型复杂的应用软件,这一问题尤为突出。
在这种环境下,产生了三层结构。
即表述层,业务逻辑层,数据库层15 J。
如图1。
2所示: l 应用程序 1 r I 甲 l业务逻辑层 ll I业务逻辑层 表述层 上 J 上 降库刁 昏据库t I I 持久化层 上 降《 图1.1两层结构 图1.2三层结构 图1.3四层结构 Fig.1.1 two-tier structure Fig.1.2 three-tier structure Fig.1.3 four-tier strtlcture 三层结构是目前典型的应用软件的结构。
人连交通大学jT=学硕十学位论文 (1)表述层:与用户交互的界面。
它实现用户与业务逻辑层的数据交换。
GUI(图形用户界面)和Web页面是表述层的两个典型例子。
(2)业务逻辑层:处理各种业务逻辑。
例如商场商品管理系统中,业务逻辑层负责计算商品数量,出货量是否大于库存量,统计哪种商品销售最好,哪天销售最好等。
(3)数据库层:负责存放和管理应用的持久性业务数据。
例如在商场商品
管理系统的商品种类,销售额,库存量等等。
可以看出这样分三层,层次清楚,具有以下的优点:使软件具有伸缩性,即应用程序能支持更多的用户;可维护性增强,当需求发生变化时,只需