论文摘要
随着企业信息化的深入发展,大量的数据源源不断的从企业的日常业务中产生出来。根据统计这些数据中只有15%的数据是结构化的,如数据库中的客户信息、帐务数据以及各种报表等,另外85%的数据是非结构化的,如文件、声音、影像和传真等。如此大量的数据分散在企业内部,为了实现对这些数据进行有效的管理及利用,目前,一个比较有效的方法是通过使用内容管理系统来管理这些非结构化数据。但是内容管理系统还是一个新生事物,本身并非完善。企业用户会不断对内容管理系统提出新的需求,基于内容管理系统的应用将会越来越复杂。与之对应在内容管理系统实施时,要求能快速、灵活地满足客户的需求,客户化工作的开发要简单、周期短、效率高,系统要易于维护。这就给内容管理系统的发展提出了一个很大挑战。本文分析了内容管理系统的发展状况,指出了内容管理系统的发展趋势以及内容管理系统所使用的关键技术。随后以内容管理系统中的关键技术为基础,提出了对象/内容映射(object/content mapping)框架,该框架包含了基于面向对象的内容管理系统数据模型、对象持久化方案以及API。在此框架基础上,提出了本文的研究重点——内容查询语言。该语言能直接操作内容管理系统中的各类对象。本文给出了该语言的语法,然后设计了该语言的编译方案,该方案说明了如何将内容查询语言编译成SQL。内容查询语言的设计与实现以编译原理为指导,结合O/R Mapping,JSR-170,ANTLR等最新的理论及工具。本文所做的研究工作主要有以下几个方面:1.提出了对象/内容映射框架,在此框架内研究了面向对象技术及O/R Mapping的相关理论,基于面向对象技术构建了内容管理系统的数据模型并提出了对象持久化的方案。并以XML的形式给出了该数据模型的描述,结合JSR-170给出了标准化内容管理API的实现。2.给出了内容查询语言的语法定义。研究了编译原理的相关理论,结合内容管理系统数据模型,以ANTLR为编译工具,给出了内容查询语言编译方案的设计。该方案包括了词法分析、内容查询语言语法树建立、中间SQL语法树建立以及最终SQL代码生成及操作文件系统的java代码。3.在标准的J2EE平台上,实现了内容查询语言的编译器。通过使用内容管理系统建立一个信息发布网站原型来说明内容查询语言在实际项目中的应用,并分析了内容查询语言在系统维护及应用开发中的作用。本文的研究成果有助于增强内容管理系统应用的灵活性及可扩展性;降低了内容管理系统的维护难度;对提高基于内容管理系统二次开发工作的效率有一定意义。