计算机工程
COMPUTER ENGINEERING
1999年 第25卷 第10期 Vol.25 No.10 1999



Jadmine多媒体信息的Web发布
邓劲生　张银福　赵振宇
摘要：简要分析使用面向对象方法，在Intermet上基于Web发布Jasmine数据库多媒体信息的可行性和特点，并给出一个网站的构造步骤。
关键词：Jasmine；面向对象；Web；多媒体
Web-based Publication of Jasmine Multimedia Information
Deng Jinsheng Zhang Yinfu Zhao Zhenyu
(National University of Defense Technology,Cangsha 410073)
【Abstract】This paper analysis Web-based publication of Jasmine database multimedia information using object-oriented method,then gives out an example implication of a Web site.
【Key words】Jasmine;Object-oriented;Web;Multimedia
1　多媒体数据库与面向对象技术的结合
　　90年代以来多媒体数据库技术得到长足发展，声音、图象、音频视频的采样与数/模转换及存储问题基本解决，各种独立媒体的数据库管理系统的出现和研究为媒体之间共存与互连提供了技术基础，大量超媒体系统、多媒体文档系统等多媒体应用发展起来。
　　但是，当今多媒体数据库系统原型多是以某种特定应用为背景设计系统和功能。由于不同媒体物理性质各异，多媒体的应用类型也千差万别。当前研究的主要问题有：
　　· 多媒体信息建模，为多媒体数据提供统一的数据模型。在WWW中，数据结构难以套用固定的格式，从而有必要建立无模式(自定义模式)数据库管理措施。
　　· 多媒体数据的索引、检索、存取和组织技术。当前数据库管理系统日渐庞大，比较好的解决方案是采取数据库组件的方式，用户可根据不同需求选用不同组件实现DBMS的模块构造，提供良好的可扩展性。
　　· 多媒体数据查询，特别是按内容查询。在获得数据源的同时，捕获和处理与质量有关的元数据，实现非精确查询。
　　传统的关系数据库(RDB)曾占据统治地位，但由于缺乏多媒体数据的存储和操作能力，如存储、缓冲、并发、恢复、操纵等，在应用中越来越显示出不足。由于数据库语言是描述性的非过程化语言，而宿主语言是命令式的过程化语言，数据库语言和嵌入的宿主语言之间存在不匹配的问题。RDB采用面向数值、面向记录的数据模型，缺乏灵活的建模/模式演化能力，而这些对于多媒体应用是必须的。
　　关系模型擅长数据本身的组织，而对象模型擅长数据结构的组织。面向对象数据库(OODB)将更多的语义嵌入到数据模型中。在关系模型中，真实世界被强制地映射成表的集合(一组平面关系)，因此复杂对象的许多语义如聚合、特化等都被丢失。一方面，面向对象模型允许定义任意复杂的数据类型，通过它来模型化真实世界的静态特性；另一方面，模型提供与对象类型相关联的操作，利用它来记录对象的动态特性。对于多媒体数据库来说，库中的一条数据只有放在上下文中才有意义或更好地被理解，只能采用面向对象数据库来表达。同时，面向对象技术提出了对多媒体数据库上述问题的解决方案。
　　多媒体数据库和面向对象技术的结合，是当前着力研究的课题。目前国内对于面向对象数据库的研究还处于起步阶段，有关的开发大多基于单机或多机简单C/S结构。随着Internet的流行、多媒体数据量的剧增、面向Intranet/Web的应用需求变得更为紧迫。为此，使用CA公司刚推出的纯面向对象数据库系统Jasmine，对面向对象技术和多媒体数据库的底层结合进行研究，并在网上构造起一个内部人员档案查询管理系统。
2　Jasmine数据库的纯面向对象特性
　　当前主流关系数据库管理系统的厂商几乎都在其成熟的关系型数据库RDBMS上建立对象编程功能层，加入对象功能，把RDBMS转换成对象关系DBMS(O－RDBMS)，以对象关系数据库面向市场。但包含非兼容的数据库模式，最终将导致性能、功能和使用等各方面过多的折衷。
　　与大多数数据库厂商不同，CA直接推出纯粹的面向对象的Jasmine数据库系统。面向对象数据库管理系统(OODBMS)是为了提供高性能多媒体和其它复杂数据而设计的。它保持了有关多媒体和其它复杂对象的元信息，对于Internet环境下的电子商务、在线交易等应用，对象数据库可提供比传统数据库系统高得多的性能。
　　Jasmine是一种综合工具，提供用户在Internet上简单方便地访问多媒体数据库的途径，支持多操作系统平台和对称多处理机，主要用于多媒体和基于Web的数据库设计。它集中了CA系统管理技术和FUTITSU核心对象引擎技术，并用面向对象的方式结合了SQL类库以解决对传统数据的存取问题。它为数据库服务器和Web服务器提供中间件WebLink，使用对象数据库查询语言ODQL(Object Database Query Language)，支持通过HTTP服务器访问Jasmine。
　　纯面向对象型数据库系统，Jasmine的底层引擎是基于对象处理的，而非底层对象引擎方法的处理一般在代码和速度性能上劣于底层对象引擎。面向对象数据库在引擎中使用了对象高速缓存、对象标识符切换等技术，并具有定义与性能相关某些特征的能力，例如聚簇。数据库直接储存对象，在检索时以OID(Object ID)进行全局定位，把整个对象直接、完整地读入内存进行处理，以提高处理数据时的性能。
　　一些在关系模型数据库中没有很好解决的问题，Jasmine处理得较好。如：关系数据库缺少处理不确定型和模糊型数据的即席查询能力，结构化SQL语句对于模糊类型的查询无能为力。Jasmine的ODQL语句可十分方便地进行这种查询，特别在底层有知识工程支持的情况下。长事务是多数据库环境的自然产物，用传统事务处理方法管理长事务会产生许多严重问题，诸如死锁可能性高等，使用ODQL则能够得到较好的效果。面向对象方法还可以很好地处理在分布环境中的修改同步问题。
　　与面向关系数据库的概念如表(Table)、记录(Record)、列(Column)等不同，Jasmine以类族(Class Family)、类(Class)、实例(Instance)、属性(Method)等取代。下例定义了媒体类族mediaCF中文件名为JPG的图象文件类型UsrJpgFile：
　　defaultCF mediaCF;/* 默认类族为media Class Family*/
　　defineClass UsrJpgFile
　　　super:mediaCF::MMImageFile　　/*　从高层图像类MMImageFile中继承*/
　　description:"Jpg Class"
　　{
　　instance:
　　　　String formattype default:"jpg";
　　};
　　buildClass UsrJpgFile;
　　如下定义了媒体类族article中Author类，属性为作者姓名、年龄、性别和相片，其中相片属性使用了刚才添加类UsrJpgFile的媒体类族mediaCF，可以支持JPG图片。
　　defaultCF article;　/*默认类族为article*/
　　defineClass Author
　　{
　　instance:
　　　String name;
　　　Integer age;
　　　String sex;
　　 mediaCF::MMFile image;/*定义指向相片的媒体文件实例*/
　　　　　　　　　　　　　/*本处使用的相片可为JPG图像*/
　　};
　　buildClass Author;
3　使用WebLink连接Jasmine数据库
　　为了开发Internet上的多媒体数据库资源，对于数据库方面来说，需要把带有图象、声音等多媒体信息的商业数据库技术和类似于传统的数据库引擎的健壮性要求结合起来，并适合WWW浏览器的使用要求。为此Jasmine使用WebLink作为Web与数据库间的中间件，以适合网上发布多媒体信息。
　　在通常的WWW交互中，没有"用户会晤"(user session)概念。为了对不同类型用户提供特定的对话，服务器需要保留用户以前动作的轨迹，以保证数据的安全和完整。有鉴于此，WebLink实现了用户会晤过程。会晤键作为组成部分自动包含在URL中，登录后从同一地址发出的请求被认为属于同一会晤。
　　这一途径在执行WebLink命令时开始激活，同时建立一条Jasmine数据库会晤通道。在用户对数据库请求查询或其他操作时，WebLink会晤负责用户和目的数据库之间的交互。直到WWW客户端要求关闭会晤或者特定时间超过(time-out)，数据库会晤即和WebLink会晤同时关闭。
　　WebLink有两种实现途径：CGI和NSAPI。CGI可以使用在所有支持CGI的Web服务器上，而NSAPI仅可使用于Netscape服务器。WebLink提供了和传统C/S解决方案相同的安全性级别，使组织能建立起一个面向顾客的信息服务系统。充分利用企业数据库中存储的文本、数字和多媒体数据如图象、声音和动画，企业为顾客提供最具说服力的信息。WebLink使得信息为许多地点共有，如分布在全国各地的公司销售人员通过Intranet可以共享存货信息等数据，每个销售人员能实时地查询库存，以更好地作出决策及加快向顾客发布信息的速度。
　　从逻辑上来讲，使用WebLink访问Jasmine数据库大致过程为：(1)用户访问信息服务Web Server的登录页面(login page)，该页面包含进入服务的超连接，通过点击连接开始本次WebLink会晤；(2)首先向用户展示的是该会晤的主页面(home page)，它包括指向若干项服务的连接，每个连接向WebLink Server传递所使用的模板(template)标识符作为参数；(3)Database Server通过调用WebLink的CGI程序对Jasmine数据库进行操作，完成数据事务并返回结果数据给WebLink；(4)WebLink调用用户选中的服务所需要的模板，解释其中特殊的专用标记，把从底层接收到的数据按照模板进行格式化，动态生成一个普通的HTML页面传给Web Server；(5)Web Server将该页面返回用户，从而完成一次WebLink会晤；在会晤过程中，信息服务提供用户随时退出登录的功能。
4　建立多媒体信息服务站点的步骤
　　WebLink信息服务由应用程序环境总控会晤的各项行为参数，整个站点由登录页面、主页面和一系列在Jasmine数据库WebLink对象族中注册的模板组成。运用WebLink连接Jasmine数据库发布多媒体信息，大致需要经过4个步骤：
4.1 建立应用程序环境(Environment)
　　应用程序环境由控制WebLink软件实时行为的一系列参数组成。包括WebLink服务器访问的指令目的数据库名和所使用的访问日志及错误日志文件名。
　　将Windows NT中环境参数置于注册表中，用WebLink环境编辑器来创建和修改。用唯一的标识符为不同的应用创建不同的应用环境。该标识符在登录页面(login page)中作为CGI程序odb-login.exe的参数用来指定应用环境。
4.2 创建登录页面(Login page)
　　登录页面是一个HTML页面，其URL即为信息服务的入口。用户可以从浏览器中选择这一地址进入信息服务。在登录页面中应该包含WebLink登录命令obd-login，让用户能够开始一组WebLink会话和Jasmine会话。
　　登录页面中服务器可以询问用户帐号和密码。如果希望该项服务对一般公众开放，可以使用应用程序环境中的内置帐号和密码，一般浏览器用户即可直接通过点击超链接进入服务。
4.3 创建主页面(Home page)
　　一旦用户登录并选择开始服务，将显示主页面。主页面是WebLink编辑器指定应用环境中homepage键定义的HTML文件，使用户能提出对数据的请求。它可以包括对数据进行查询和交易的菜单。例如：选择哪种查询方式，如人名列表或地名列表；选择要执行的指令，如显示指定哪个人的相片。
　　在主页面中必须包括下列WebLink命令：
　　·  ODB-GET用于指明将执行的模板，参数WIT_template指明WebLink调用的模板标识符。
　　·  ODB-LOGOUT用于结束本次WebLink服务会晤，参数WIT_html指明结束后显示给用户的页面。
　　如果构造的是简单查询服务，不需要客户进行任何选择也可以不用主页面，而在登录页面中包含ODB-GET命令使结果能立即显示；在构造结果页面的模板中将ODB-LOGOUT命令作为可选项。
4.4 创建模板(Template)
　　每个模板创建时是一个带有WebLink扩展标记的HTML文档，在WebLink对象库注册后成为WebLink库中的一个实现，通常使用Template Manage来管理和编辑。
　　WebLink模板作为Jasmine数据库的一类特殊类族，起着对数据进行视图管理的作用。用于定义使用什么数据库，以及怎样将从Jasmine数据库底层传回的数据进行格式化，即如何动态构造返回页面，向用户显示数据操作的结果。对于用户而言，浏览器看到的只是当模板被解释执行后生成的普通HTML页面，屏蔽了数据库查询的实现细节，按照用户帐户级别构造不同的返回页面，使用用户视图来保证数据的安全性。
　　模板使用ODQL语句从对象库中查询符合用户所提条件的信息，并按照某种格式展示给用户。它使用WebLink标记<!FOREACH>来循环读取数据库中的每个实例，生成输出表格中的一行。实例中的每个属性作为表格中的一列，其中以其他对象(Class)作为属性的使用标记<!URL>写成超连接形式，指向另一模板执行。
　　图象、声音等多媒体信息作为对象存储在数据库中，同时作为其他对象的属性。WebLink标记<!MEDIA>指明该媒体归属的类族，以调用正确的媒体播放器组件。如使用<IMG SRC=<!MEDIA>self.image image/jpg>ALIGN=TOP>即可调用数据库中JPG图像文件送往客户浏览器。
5　小结
　　面向对象方法的发展成熟，正向数据库技术渗透结合。Jasmine采用纯面向对象方法管理数据，适合于网上多媒体信息的使用和发布，是一种较好的解决方案。运用Jasmine数据库，已初步构造起一个内部人员档案管理查询系统，数据库中既有文本、数字等普通数据类型，又有图象、声音、HTML文档和WORD文件等多种媒体信息，基于Web进行管理和更新，运行情况良好。
作者简介：邓劲生（1975～），男，研究生，主研方向为网络数据通信
作者单位：国防科技大学，长沙410073
参考文献
1 CA & FUJITSU.JADE 1.2 Help on Iine.1998
2 CA & FUJITSU.WebLink User Manual.1998
3 Ken North,陈乃江译.面向对象的数据库程序设计.北京：电子工业出版社,1997
收稿日期：1999-02-08
