论文部分内容阅读
本文主要研究在异构环境下如何实现XML文档与关系数据库之间跨平台安全高效的存储、访问和管理。
XML到关系数据库的映射模式有多种,其中基于对象-关系的映射模式充分体现了面向对象编程思想,是当前研究的热点。但该映射模式大都是基于DTD或XML Schema进行映射的,无法有效地处理格式正规的无模式文档;此映射还会把XML文档映射成若干个类(个数不定)保存在相对应的表中,不同的XML文档映射后生成的类各不相同,这不仅会大大增加数据库系统的冗余,而且使得文档很难有效地重构,系统难以跨数据库平台移植。
又由于各种应用处在一种分布式的环境中,异构性是一个十分明显的特点。在这个异构环境中,通信的双方所使用的操作系统、编程语言和通信协议都各不相同,很难实现跨平台高效的存储、访问和管理XML文档,同时也使得通信双方很难有效地验证对方进行安全通信。
本文旨在解决以上问题,通过对基于对象.关系映射模式进行改进,设计一种独立于DTD或XML Schema模式的映射方法,能够有效地处理所有格式正规的文档,研究并设计了一套规则将所用XML文档都映射为一个通用类,使所有文档只需存储在一张表中;为此设计两个算法以实现XML文档与这个通用类之间的双向映射,并保持映射过程中各个节点之间的关系(父子或兄弟)及层次结构,从而实现方便地映射和重构整篇XML文档。
利用持久层框架封装并建立一个通用类与数据库之间的映射持久层。整个映射过程分为两步:先把XML文档映射为一个通用类,然后再利用持久层映射到数据库中,实现XML文档与数据库之间映射的松耦合关系,增强系统的可移植性。
由于CORBA具有平台和语言无关的特性,因此利用CORBA技术设计公共的访问接口。为提高服务效率,接口的实现采用静态机制,使得用户可以在不同的平台上,以不同的编程语言采用静态或动态的方式对服务发起调用。
为确保双方通信的安全,首先基于JAAS来实现用户的身份验证和访问控制。然后利用CORBA值类型(即用值来传递对象)的特性,将加密或解密算法实例化后推给用户,对要传递的或接收到的信息进行加密或解密;算法的实现、密钥的生成和管理都由服务器来完成,对用户来说是完全透明的。最后利用CORBA拦截器机制将这些安全服务嵌入到ORB内核中,使得所有请求都要经过安全机制的验证才能被响应,从而避免了安全旁路的发生,确保通信的安全。
本文利用这些技术和方法设计并实现了一个异构环境下XML映射中间件。基于此中间件开发应用系统,可使用户更专注于业务层的开发,而不用关心底层的实现,大大减少了开发的工作量,而且开发出的应用系统具有良好的可扩展性和可移植性。