(计算机应用技术专业论文)满足政务流重组需求的自适应组装器研究.pdf_第1页
(计算机应用技术专业论文)满足政务流重组需求的自适应组装器研究.pdf_第2页
(计算机应用技术专业论文)满足政务流重组需求的自适应组装器研究.pdf_第3页
(计算机应用技术专业论文)满足政务流重组需求的自适应组装器研究.pdf_第4页
(计算机应用技术专业论文)满足政务流重组需求的自适应组装器研究.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(计算机应用技术专业论文)满足政务流重组需求的自适应组装器研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

j 廿 声 乍 l 、 f l i i ii i ii i iii ii i ii iii ii y 17 8 9 018 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名枣l 荆 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有 权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:壶i 壁l 导师签名: 、 摘要 摘要 本课题依托于北京市教育委员会科技计划面上项目满足政务业务流重组需 求的相关技术研究。 随着信息技术的飞速发展,电子政府电子政务在全球范围内受到越来越多 的重视。在政务系统的开发中,如何设计一个具有良好收缩性,能满足用户需 求变更和扩展开发升级的系统,成为当今政务系统开发中的重点和难点。现有 的政务系统开发方案,并没有能很好的解决上述问题。 本文针对现有政务系统开发方案无法有效解决由于用户需求变化所带来的 业务流重组的问题,在对x m l 技术和构件技术深入研究的基础上,提出了一 个基于x m l 和构件技术的开发模型。 文章首先对政务系统开发的特点和难点进行了阐述,并剖析了现有技术方 案在开发方面的不足与缺陷,归纳出了已有政务系统开发方案不能有效应对需 求变更所带来的一系列问题的原因。然后,运用软件复用的开发思想,针对性 提出了一种基于x m l 技术和构件组装技术的开发模型。在模型中采用x m l 语 言对数据格式进行统一和规范,通过动态解析相关的需求文档和流程描述文档, 最终实现组装器根据描述文档的变化而动态组装的功能。最后,通过对模型进 行模拟实验,验证了模型设计思想的可行性和合理性。从而在政务系统的开发 中,为解决满足需求动态变化带来的调整问题时提供了一种较新颖的解决思路。 关键词:政务系统;构件;x m l ;业务流程重组;组装器 北京工业大学工学硕士学位论文 a b s t r a c t 1 1 1 ea r t i c l ei sb a s e do nt h er e s e a r c ha b o u tt h er e o r g a n i z a t i o no fg o v e r n m e n t w o r k f l o w , w h i c hi sap a r to fs c i e n c ep l a nf r o mb c i j i n ge d u c a t i o nc o m m i t t e e w i t ht h er a p i dd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , e - g o v e r n m e n tb r i n g si n m o r ea n dm o r ea t t e n t i o nf r o mt h ee 丑o b a lv i e w s 。印西髓d e s i g n i n ga ne - g o v e r n m e n t s y s t e m ,t h em o s ti m p o r t a n tp a r ti sh o w t om a k es u r et h i ss y s t e mc o u l db er e o r g a n i z e d a n dm o d i f i e db yf l e x i b l er e q u i r e m e n t s ,a n do n l yi nt h i sw a y , t h ew h o l ed e s i g nc o u l d b ee a s i l yc h a n g e da n de x p a n d e db yu s e r s b u ta tp r e s e n t , t h e r ea r en os u i t a b l e s o l u t i o n st of i xt h em e n t i o n e dp r o b l e m i no r d e rt os o l v et h ep r o b l e mt h a tb u s i n e s sw o r k f l o wc a nn o tb ee f f e c t i v e l y r e o r g a n i z e dd u et ou s e r s n e wr e q u i r e m e n t si nc u r r e n tm o d e l s ,t h i sa r t i c l eb r i n g su pa n e w d e v e l o p m e n tm o d e lb a s e do nt h er e s e a c ho f 删l a n dc o m p o n e n tt e c h n o l o g y f i r s t l y , t h i sa r t i c l ea n a l y z e s t h ec h a r a c t e r i s t i e sa n dd i 伍c u l t i e si nt h e 争 g o v e r n m e n ts y s t e m ,a n dd e f i n e s t h ed i s a d v a n t a g e sf r o mt h ed e s i g nv i e w t h e n , c o n c l u d e sas e r i e so fr e a s o n sw h yt h ec u r r e n ts y s t e mc a nn o tm e e tt h en e w r e q u i r e m e n t s w i 廿lt h eg u i d a n c eo fs o f t w a r er e u s e , an e wd e s i g nm o d e lb a s e do n x m la n dc o m p o n e n tt e c h n o l o g yi sp r o m o t e dt of i xu pt h ec u r r e n td i 伍c u l t i e s t h e m o d e lu n i f i e st h el a n g u a g ef o r m a tb yx m l ,a n dd e f i n e st h er e q u i r e m e n td o c u m e n t s a n dp r o c e s sd o c u m e n t sb yd y n a m i e l l ya n a l y s i s ,a f l e r w a r d s ,i m p l e m e n t st h ef u n c t i o n t h a t c o m p o n e n t sa s s e m b l yd y n a m i c a l r e s t r u e t u r e s t h es y s t e mb yt h ec h a n g eo f d e f i n i t i o nd o c u m e n t i nt h ee n d , e x p e r i m e n tp r o v e st h ea v a i l a b i l i t ya n dr a t i o n a l i t yo f t h i sm o d e ld e s i g n , w h i c hi san e ws o l u t i o nt of i xu pt h er e l a t e dp r o b l e m sf r o m d y n a m i cc h a n g e si n t h ee - g o v e r n m e n ts y s t e m k e y w o r d s :g o v e r n m e n ts y s t e m ;c o m p o n e n t ;x m l ;b u s i n e s sp r o c e s s r e - e n g i n e e r i n g ;a s s e m b l e r 目录 目录 摘要i a b s t r a c t 1i 第1 章绪论1 1 1 研究背景1 1 2 研究意义2 1 3 国内外研究现状3 1 4 研究内容。3 1 5 论文的结构说明4 第2 章x m l 与基于构件的软件开发5 2 1 构件组装描述语言5 2 2 选择x m l 的理由6 2 2 17 j v i ld t d 和) g v i ls c h e m a 特色分析7 2 2 2x s l 的格式转换功能9 2 2 3x q l 的查询功能9 2 3 软件复用1 0 2 3 1 软件复用对政府信息化建设的意义。1 0 2 3 2 实现软件复用应考虑的主要问题1 1 2 4 基于构件的软件开发l l 2 3 1 构件的属性和特点1 l 2 3 2 基于构件的软件开发方法1 3 2 3 3 构件组装方法1 4 2 4 本章小结1 5 第3 章现有问题及解决方法的研究17 3 1 政务业务流分析17 3 1 1 现有政务系统存在的问题1 7 3 1 2 政务系统开发难点1 9 3 2 软构件自适应思想2 0 3 3 基于x m l 的自适应组装器模型一2 2 3 3 1 设计思想。2 2 3 3 2 组装器框架设计一2 3 3 3 2 组装器自适应性的实现2 5 3 4 本章小结2 5 第4 章基于x m l 的自适应组装器的设计2 7 4 1 组装器详细设计2 7 4 1 1 政务系统中用户的需求分析2 8 4 1 2 构件查询与获取2 8 4 1 3 构件匹配选择3 0 北京工业大学工学硕士学位论文 4 1 4 构件组装31 4 1 5 构件库的功能设计3 1 4 1 6 组装器测试及使用一31 4 2 软件结构的x m l 定义3 2 4 2 1 构件描述3 2 4 2 2 连接子描述3 3 4 2 2 参数描述。3 4 4 3 本章小结3 5 第5 章实验模型设计及测试结果分析3 7 5 1 模型概述3 7 5 2 实验模型设计3 8 5 2 1 模型框架3 8 5 2 1 实验模型开发运行环境。3 8 5 3 实验模型的实现3 9 5 4 模型的实验测试4 3 5 4 1 组装方案的基本构成4 3 5 4 2 实验内容4 5 5 5 本章小结5 1 结论5 3 参考文献5 5 攻读硕士期间取得的研究成果5 9 致谢6 1 i i , 第1 章绪论 1 1 研究背景 第1 章绪论 业务流程重组b p r e l 】( b u s i n e s sp r o c e s sr e e n g i n e e r i n g ) 是最早由美国的 m i c h a e lh a m m e r 和j a m ec h a m p y 提出,在2 0 世纪9 0 年代达到了全盛的一种 管理思想。 业务流程是该思想的改造对象和中心,它是以满足用户的需求为目标,通 过重新思考和彻底重新设计现有的业务流程,来提高用户满意度。业务流程重 组从全局角度考虑资源的优化配置,以提高相关的绩效指标。业务流程中的每 项活动都要能为顾客增值,从而实现对用户需求变化的快速响应,保持客户的 忠诚度。 业务流程重组必须是在企业的带领和组织下实施的。具体来说应该包括从 上至下推行公司制的内部改造,界定产权,明确责任与权利。企业应该根据供 应链运作的要求以及本企业在供应链中的角色,重新设计和构造企业的业务流 程。通过业务流程重组,企业的管理机制更加灵活,工作流程更具柔性,从而 提升了企业竞争力。 信息技术的飞速发展引发了一场深刻的生产和生活方式变革,极大地推动 着经济和社会的发展。随着信息技术的发展,业务流程重组与企业e r p 2 1 以及 政务g r p 3 】建设更多的结合起来。 电子政务【4 】是指政府机构利用信息化手段,实现各类政府职能。其核心是: 应用信息技术,提高政府事务处理信息流的效率,改善政府组织和公共管理。 由于政府是信息资源的最大拥有者和应用者,因此电子政务也就成为国民经济 和社会信息化的重要环节,发展电子政务可有力地推进国民经济和社会信息化 的进程。同时电子政务相比较传统的政府管理,可通过虚拟办公、电子邮件交 换和远程会议连线等方式,克服文山会海和公文旅行等现象,节约人力、财力。 上世纪8 0 年代末期国内的电子政务开始起步,各级政务机关都启动了办公 自动化工程,从纵向及横向建立了内部信息办公网络。经过数十年的发展,我 国电子政务取得了长足的进步,但由于各方面原因,仍然存在着一些问题。 1 政务系统的需求变化问题 用户需求分为显性的和隐性的。显性需求是指用户比较明确,能完整地表 达的要求,这种需求一般较容易满足;而隐形需求则相反,是指用户当前不明 确甚至含糊的需求信息。政府结构的重组、业务规模的扩大必然导致了用户需 l 北京工业大学工学硕士学位论文 求的变化。这就要求政务系统必须具多变性,来适应政务流重组及用户需求变 化的多样性。如何便捷高效的使软件能够适应这种变化直接决定了政务软件的 成功与否。 2 现有技术和设计方案的不足 现有的政务系统所采用的技术( 如m d a ,工作流) 和设计方案往往不能有 效的解决业务流程重组问题。比如m d a t 5 1 ( m o d e ld r i v e na r c h i t e c t u r e ,模型驱 动架构技术) ,当前的m d a 在静态结构建模上比较完备,但是在动态行为上 则还有待提高。另外,m d a 的实施难度主要集中在建模上,因为还没有一个公 认的标准的m d a 建模语言,再加上对平台的可移植性的特殊要求,使得m d a 建模在某些专属领域的应用效率不是很高;又比如工作流【6 】,尽管采用工作流 引擎方式能将业务流程的流转逻辑同流程运行中的应用软件分开,但是从根本 上来说工作流事件模型还是一个被动的模型,是知其然而不知其所以然的模型, 工作流的再一个缺点就是它的连续性太强,这也是它不足以应变的重要原因。 因此,如何合理、有效解决政务系统中业务流程重组发生时带来的重开发 问题,使电子政务系统的开发变得快速、高效、避免重复工作,是当今政务系 统解决方案中的核心问题。 1 2 研究意义 综上所述,在政务系统的开发中迫切需要采用新的思路来解决流程变更引 起的重开发问题。 可以说,政府信息化就是社会信息化的基础。针对电子政务中业务流程的 变更带来的一系列问题,很明显传统的软件开发方法已经不能解决问题,需要 我们考虑更合适的软件开发环境和更先进的软件开发方法。由于电子政务系统 的复杂性和长期性,在技术实现方案的选择上,需要综合考虑系统的开放性、 先进性、扩展性和安全性等方面要求。当前,为了缓解软件开发中需求变化带 来的影响,国内外都进行了大量的研究,也形成了一些比较成熟和流行的技术 和方法。比如:o o a 【7 1 ( o b j e c t - o r i e n t e da n a l y s i s ,面向对象技术) 、中间件 技术【引、基于构件的开发技术【9 】、工作流技术、m d a 等等。但是由于政务系统 所特有的多变性和复杂性,使用以上技术仍不能达到快速、高效开发出满足不 同需求的政务软件的要求。本文提出一种新的开发设计思想,整合当前流行的 各种技术和方法,采用x m l 语言对数据格式进行统一和规范,基于构件的软 件自动化开发设计思想,通过动态解析用户的变化需求,利用组装器根据需求 文档的变化的动态组装的功能,进而提出了一个可以解决电子政务由于需求动 态变化而带来的一系列开发问题的可行方法。 2 第1 章绪论 本文的研究正是基于以上的背景和环境,主要从软件复用和软件自动化的 角度出发,采用基于构件的开发方法,整合了x m l 技术【1 0 j ,构件组装技术等 多种软件开发先进技术,提出了一种政务系统开发的新思路,并针对设计的理 论模型作了初步的实验论证。 1 3 国内外研究现状 国际上,一些发达国家的电子政务系统建设已经相当成熟。 美国联邦政府设立了一个专门负责政府信息化组织实施工作的组织机构一 政府技术推动小组,主要负责全国的信息化管理指导工作。加拿大在电子政务 建设中引入了地方政府系统共享资源系统,允许一般行政服务结构和人员共享 信息;欧盟制定了“信息社会行动纲领,对未来的政务信息化做了详细的规 划安排。 业务流程管理发展方面,现在越来越多的工作流依赖于流程模型驱动的信 息系统,如工作流管理系统s t a f f w a r c 、企业资源计划系统s a p 和b a n n ,还有 许多领域特殊的信息系统。 国内知名的中软国际有限公司,以政务决策支持为核心,提出了基于 r e s o u r c e o n e 产品,针对政务决策支持系统的完整解决方案。该方案针对用户 的不同需求、采集数据的多种方式和最终决策的需要,分为数据采集、数据仓 库和前端展现;国内i t 信息服务集成商赛迪从分析政务机构的业务形态入手, 将电子政务分为三个应用领域:政务信息查询、公共政务和政府办公自动化。 针对这三方面提出了政府信息门户解决方案、政府网上办公解决方案和信息安 全交换解决方案三个方案以及一个基础网络平台。方案将系统结构划分成数据 层、组件层、功能层和应用层。方案中,采用x m l 语言对数据格式进行统一 和规范,采用w e bs e r v i c e 技术进行数据交换,可以实现与其他系统方便快速地 整合。 当前的电子政务整体解决方案一般能根据给定的业务流程完成相应的政务 系统软件开发,但是对于业务流程变更时带来的系统重开发问题往往还没有一 个明确的解决方法。 1 4 研究内容 本文结合课题研究背景,分析了政务系统中的业务流程重组的问题,并在 研究了x m l 及基于构件的软件开发方法特点的基础上,提出了以x m l 技术和 3 北京工业大学工学硕士学位论文 构件组装技术来解决政务业务流重组的问题,设计并实现了一个自适应组装器 的模型。主要研究工作包括以下几个方面: 1 ) 针对将要采用的技术方案的归纳总结。该部分是整个论文的理论基础。 最终的解决方案和设计思想都是基于已有的成熟技术的整合。包括x m l 技术, 基于构件的开发方法等等,为下一步工作奠定理论基础。 2 ) 针对政务系统开发中的特点和难点进行了归纳总结。业务流程的变更引 起的软件重开发问题是本文要解决的重点。针对政务系统开发的特点和难点, 相应的引出针对性的解决技术和方法:x m l 技术,基于构件的开发方法和组装 器技术。 3 ) 形成了组装器模型的业务流程设想。这是本文的核心,组装器流程从需 求分析开始,到形成组装描述文档,解析组装描述文档,到进入组装阶段,直 到最终形成系统。并定义了相关必要的组装描述文档。 4 ) 组装器实验原型的实现。为了验证本文提出的设计思想,最后设计了一 个简单原型,针对相关设计好的业务流程进行组装器模拟实验,并对实验结果 做了相应分析。对本文提出设计的思想进行了有力的支持和验证 本文目标是将模型设计成为面向电子政务系统,并能够适应其需求调整变 化的系统。模型用x m l 语言来描述业务需求、构件、参数和组装方案等等, 采用构件组装技术来实现系统的自适应调整。本文的创新点在于整合了软件复 用和基于构件的开发方法等多种设计思想,并在具体实现中充分利用了x m l 技术在文档描述等方面的特性。 1 5 论文的结构说明 本文共分五章,文章结构及各章的主要内容组织如下: 第1 章绪论阐述了本课题提出的原因及所要解决的主要问题、研究背景、 研究意义以及主要研究内容。 第2 章介绍了x m l 及其常用的相关技术,并对基于构件的软件开发方法、 软件复用的相关技术做了相关介绍,它们都是本文所用的技术基础。 第3 章对于政务业务流中存在的业务流程问题进行了阐述,并针对性的提 出了基于x m l 和构件技术的解决思路。 第4 章阐述了如何使用基于x m l 技术和基于构件的开发方法,采用软件复 用思想,解决政务系统的业务流程变更问题,并提出了组装器系统的详细设计。 第5 章通过一个具有代表性的实验实例,按照设计好的组装器模型,对以 上设计出的方法进行了验证。 最后对本文研究的研究进行了总结,以及下一步的工作设想。 4 第2 章x m l 与基于构件的软件开发 第2 章x m l 与基于构件的软件开发 本章针对第一章中提出的需要解决的问题,分析研究内容中的重点、难点, 对于支持模型实现的相关技术进行了相关分析、探讨,确定了采用基于x m l 的构件描述机制来实现组装器。 2 1 构件组装描述语言 p 锄硒【l l 】于上世纪7 0 年代提出模块的概念,标志着构件描述与组装研究的 开始。在这方面的研究上,早期主要研究m i l ( m o d u l ei n t e r c o n n e c t i o l l l a n g u a g e ,模块互联语言) ,如h l t 蹦:o l 【1 2 1 、m i l 7 5 1 3 】等。2 0 世纪8 0 年代开始, 出现了以c o u g e n 的o b j 1 卅和l i l 【1 5 1 、 “b e r l i na p p r o a c h ”开发的a c tt w o 1 6 】 以及m e l d 1 1 7 】等为代表的构件描述语言( c o m p o n e n td e s c r i p t i o nl a n g u a g e , c d l ) 。m i l 是申述性的语言,而c d l 是命令式的语割1 8 】。随着构件描述语 言的发展,m i l 开始向c d l 融合,使c d l 同时具有描述构件和构件子系统的 能力。这一时期的主要成果包括c d l 1 9 1 、r e s o l v e 2 0 】以及o o m i l 2 1 】等。c d l 对于构件的功能、接口、结构等方面均提供了描述能力,但c d l 最重要作用的 还是对于构件组装的描述。还有近年来在分布式环境中异构构件的组装时广泛 用到的构件描述语言瞄j ( a r c h i t e c t u r ed e s c r i p t i o nl a n g u a g e ,a d l ) 。 为了在组装器中实现构件的组装,需要采用构件描述语言对于构件功能、 接口、结构等方面进行相关描述。已有的构件组装描述语言,无论是m i l , c d l 还是a d l ,均只能对与构件及其接口的语法定义、组装结构的整体架构进 行描述,对于组装的具体实现,则需要借用相关的装换技术。 近年来,由于x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言) 的逐 渐成熟与广泛应用,出现了利用x m l 来描述构件的研究瞄】。x m l 具有简洁并 强大的数据描述方式,提供了建议的形式化和标准化文件格式;x m l 具有非常 良好的开放性和扩展性。在x m l 中可以根据使用者的需要,对标记、属性名 和描述方法进行任意的定义,进而形成结构任意复杂程度的x m l 文件。x m l 各种技术的关联图如图2 1 所示。 5 北京工业大学工学硕士学位论文 图2 - 1x m l 各种技术的关联图 f i g u r e2 - 1t h ei n c i d e n c eg r a p ho f v a r i o u sx m it e c h n o l o g i e s 其中,d t dd t d ( d o c u m e n tt y p ed e f i n i t i o n ,文件类型描述) 或s c h e m a ( 模式) 规定x m l 文件的逻辑结构,用来定义文件中的元素,属性及元素间 的相互关系,并用来验证x m l 文档的有效性。x s l ( e x t e n s i b l es t y l e s h e e t l a n g u a g e ,可扩展样式语言) 之于x m l ,就像c s s 之于h t m i 。它是指可扩展 样式表语言( e x t e n s i b l es t y l e s h e e tl a n g u a g e ) 。这是一种用于以可读格式呈现 x m l 数据的语言;x l l ( e x t e n s i b l el i n kl a n g u a g e ,可扩展链接语言) 用来进 一步扩展当前w e b 上已有的简单链接。 2 2 选择x g l _ 的理由 本文中,所提出的组装器实现的理论基础是用x m l 语言来描述构件组装。 本文选用x m l 语言作为构件描述的语言,具体来说有以下几个理由: 1 ) x m l 文档的内容和结构完全分离。基于这样的特点,企业系统可以轻 松地实现内容管理和流程管理的彻底分离,例如系统架构师可以只关注流程运 转中各环节的接口定义,而各部门则可以专注在内容发布和维护之上。 举例来说,微软公司的产品b i z t a l k 2 4 正是利用了x m l 来实现内容和流程定 义的分离。另外一个广泛的应用是x s l 技术,由于x m l 文件的内容和结构分 离,x s l 才可以在不影响内容的情况下改变x m l 文件结构。 2 ) 简洁通用。由于x m l 技术的简洁和通用,使得“谁开发谁描述”变得 6 第2 章x m l 与基于构件的软件开发 切实可行,从而有利于构件描述的准确性和复用性。 3 ) 规范统一。x m l 具有统一的标准语法,任何系统和产品所支持的x m l 文档,都具有统一的格式和语法。这样就使得x m l 具有了跨平台跨系统的特 性。作为对比,同是文本语言的j a v a s e r i p t 的标准的统一性相比x m l 就差很多, 以至于经常出现同一静态页面在不同浏览器产生,而脚本程序员往往需要在程 序的入口处费力地判断客户端所支持的脚本版本。 4 ) 强大的查询功能。x m l 语言本身提供了查询语言x q l ,另外,由于 x m l 的流行,目前主流数据库对于x m l 技术的支持也都比较完善,可以利用 数据库强大的搜索查询功能,使得应用x m l 技术实现在构件库中搜索构件变 得切实可行。 5 ) 发展性较强。随着x m l 标准的发展以及微软、m m 等众多开发商对 x m l 的支持和推广,基于x m l 的构件库的功能将更为强大。这样有利于开发 人员在具体实现中,避免考虑繁琐的格式转换和解析,更加专注于政务系统逻 辑功能的实现与优化。 6 ) 由于对构件本体的描述可以展开为一棵描述树,而x m l 语言本身首先 就具有树结构特征。 在本文中利用x m ls c h e m a 对于描述文档进行格式化定义,利用x m l d o m 对于文档进行相关解析,利用x s l 对于x m l 进行格式转换以及利用 x q l 作为构件搜索时的语言,在此对相关技术做分析介绍。 2 2 1x m ld t d 和x m ls c h e m a 特色分析 d t d 2 s 1 ( d o c u m e n tt y p ed e f i n i t i o n ,文档类型定义) 是s g m l ( s t a n d a r d g e n c r a l i z e g lm a r k u pl a n g u a g e ,标准通用标记语言) 的一个子集。d t d 是非x m l 格式的文件,它对于文档中的元素、实体、属性和符号表示法,以及这些内容 之间的关系做了规定。d t d 指定了文档结构的一系列规则,确切定义了在文档 内允许哪些内容出现,不允许出现哪些内容。在树模型中选择d t d 作为描述方 法的好处在于:d t d 是源于s g m l 的,所以凡是支持s g m l 的工具都很容易 经修改后支持x m l 。但由于x m l 的使用范围是超过了s g m l 的,例如x m l 可以用于图片文件格式、执行远程过程调用、金融领域的股票交易等等看上去 不同于传统描述性文档的应用。在这些新的应用领域,d t d 存在先天的局限性。 主要表现在: 1 ) d t d 的格式、语法均与x m l 不同。 2 ) d t d 的扩展性较差。 3 ) d t d 文档的结构化较差,重用的开销较大。 7 北京工业大学工学硕士学位论文 4 ) d t d 缺乏对于数据类型的定义,当需要对文档中的实体,元素进行相关 类型定义时很不方便。 5 ) d t d 文档对于元素约束定义能力不足。无法从语义上对于x m l 文档做 出细致的限制。 为了解决d t d 的诸多局限,w 3 c 提出了x m ls c h e m a 作为另一种x m l 文 档验证方案。 x m ls c h e m a 【2 6 】或称作x s d ( 叫【ls c h e m ad e f i n i t i o n ) ,2 0 0 1 年5 月成为 w 3 c 的建议规格。x m l s c h e m a 规定了x m l 文件的逻辑机构,x m l 文件中的 元素,元素的属性以及属性之间的关系。x m ls c h e m a 与d t d 相比有如下优点: 1 ) 规范性:x m ls c e h m a 提供了一套完整的机制来约束x m l 文件的逻辑 结构。s c h e m a 通过规定元素和属性来定义x m i 文档的整体结构,规定了x m l 文档中可以出现的元素,这些元素所出现的次数、顺序、所具有的属性以及元 素之间的关系等等,具有很强的规范性。 2 ) 一致性:x m ls c h e m a 本身就是x m l 文件,可以直接被x m l 的编辑 工具编辑,被x m l 的解析器解析,而d t d 则采用自己定义的一套语法,较 s c h e m a 而言复杂生涩。 3 ) 易用性:由于s c h e m a 本身就是一种x m l 文件,可以直接用文档对象 类型【2 7 】( d o c u m e n to b j e c tm o d e l ,d o m ) 和s a x ( s i m p l ea p if o rx m l ) 访问,而 d t d 不能。 4 ) 互换性:由于s c h e m a 的规范性,用户既可以设计适合自己需要的模式, 可以用直接利用已有的s c h e m a ,来分析和校验x m l 文件标记的合法性和规范 性。另外,利用映射机制,不同的s c h e m a 之间还可以进行转换,用以实现更 深层次的数据交换。 5 ) 扩展性:s c h e m a 相比d t d 而言,引入了更多的内置和派生数据类型。 但并不是说有了x m ls c h e m a 就可以完全放弃d t d 了。虽然x m ls c h e m a 提供了更好的文档描述方法,但是s c h e m a 并没有d 盯r r y ( 实体) 的功能。在许 多x m l 文档和应用程序中,e n t i t y 声明具有极其重要的地位,但从这点来说 d t d 更胜一筹。 d t d 还有一个特别明显的优点,就是d t d 是x m l 推荐标准里唯一的定义 和验证方法。这使得d t d 可以直接嵌入到x m l 文档里。其他所有的语法都需 要一个单独文档。支持d t d 的解析器修改后可以使用嵌入的声明,而非验证型 解析器可以忽略这些声明。x m l 程序设计工具都具有专门功能处理d t d 类型, 如d o m 和x m l 简单应用编程接口( s i m p l ea p if o rx m l ,s a x ) 。另外,由于 d t d 从s g m l 继承了其大部分特性,因此它在传统的应用程序中仍然有广泛的 应用。 8 第2 章x m l 与基于构件的软件开发 2 2 2x s l 的格式转换功能 x s l t 2 8 】实际上包含两个部分:x s l t 是指x s l 转换( x s lt r a n s f o r m a t i o n ) , x p a t h 是用于在x m l 文档中导航的语言。 x s l t 是一种基于模式匹配的语言。它会查找匹配特定条件的节点,然后 应用相应的规则。因此,它不具备大多数编程语言的计算能力。例如,x s l 无 法在运行时更改变量的值。x s l 不是内容管理工具。它不应( 也不能) 用于更 改x m l 文档的内容或者编辑信息。但是,可以将x m l 和x s l 用于需要处理 几种不同格式文档的内容管理系统。 x s l t 可以将x m l 文档转换为其它x m l 文档、x h t m l 输出或简单的文 本,它是x s l 中最重要的部分。x s l t 是通过将x m l 文档中的元素转换为相 应的h t m l 元素来完成转换的。由于x m l 文档中的标签一般是由用户自己根 据需要设定的,h t m l 浏览器不会智能的解释或呈现用户定义的每个标签,这 就需要x s l 的转换功能。所以从某种意义上来爱说,x m l 标签的设计是为了 方便用户更好的理解文档的内容。 x s l t 可以对x m l 树执行增删查改等一系列操作。包括增加或删除一个元 素或元素的属性;根据需要隐藏或显示某些元素;可以对元素进行重新排列或 按特定算法进行排序;按给定条件查询或选定元素。简单来说,x s l t 的作用 就是,将一个给定的x m l 的源文档转换成另一个便于解析的x m l 结果文档。 而在这个转换的过程中,需要定义一个转换规则,即源文档中哪些部分是与与 转换模板中匹配的部分,这就是x p a t h 的功能。x p a t h 是- - f - 在x m l 文档中 查找信息的语言,是w 3 c 的一个标准,是x s l t 中的主要元素。x p a t h 包含一 个标准函数库,x p a t h 在x m l 文档中通过元素和属性进行导航。x p a t h 使用路 径表达式在x m l 文档中进行导航。在转换时,根据这个规则将源文档中的相 匹配部分替换成最终文档,源文档中未发生匹配的部分保持内容不变。 2 2 3x o l 的查询功能 x q l 【2 9 】( x m lq u e r yl a n g u a g e ) 被称为x m l 的查询语言,它最早是由 t e x c e l 、m i c r o s o f t 等公司提出的。主要的功能是根据相关条件,查找和滤掉 x m l 文档里面元素和文本的符号。x q l 扩展了x s l 模式语法,在执行查找和 定位特定的元素或节点时,x q l 的符号更简明,更易于理解。 由前文可知,x s l 通过x p a t h 提供了一种如何描述符合匹配条件的节点的 好方法。但x s l 作为一种说明性而非过程性的模式语言,也有许多不足之处。 例如x s l 无法在节点间进行等值连接,不能支持表达式和聚集操作;当有多个 9 北京工业大学工学硕士学位论文 独立的x s l 文档时,x s l 并没有一个有效的形式化查询方法。x q l 对于x s l 的不足做了很好的补充,可以看做是x s l 的超级。x q l 除了提供了对于节点 的删除、选择、布尔操作和索引,而且这些操作的语法形式也比较单一,容易 理解。 x q l 的查询的语法和u r j ( 丘e dr e s o u r c ei d e n t i f i e r ) 目录导航语法比较相 像,通过c o n t e x t 指定x q l 查询时从x m l 树结构的哪一层开始查询。在x q l 中,代表根环境( r o o tc o n t e x t ) ,表示当前环境( c t m e n tc o n t e x t ) 2 3 软件复用 2 3 1 软件复用对政府信息化建设的意义 软件复用【3 0 】是一种计算机软件工程方法和理论。经历了上世纪6 0 年代的 “软件危机”后,软件界人士认识到维护一个难以维护软件的成本是相当高的。 尤其是随着后续开发,软件规模的扩大,相应维护成本的增长更是难以控制的, 而且即使投入了大量的人力物力也难以得到可靠的产品。软件复用正是为了解 决这一难题而孕育而生的。 软件复用的主要思想是,以工程化的概念来看待软件,将软件按不同功能 部分拆分成不同的模块,这些具有相对独立功能的模块在设计编写时被设计为 完成特定独立功能的通用工具。这样,当各个模块均完成编写时,通过类似流 水线上组装产品的过程,将一系列模块有机连接成一个整体。软件复用的思想 对于软件的质量保证和后期的维护成本降低都有极大的影响。 软件复用的主要目的是,在应用系统开发中重复利用已有的开发成果,可 以有效减少在需求分析、设计、编码和测试等阶段的重复劳动,进而提高软件 开发的效率。同时,由于是基于已有的高质量的已开发成果,避免了重新开发 时可能引入的错误,从而提高了软件的质量。 在政务系统中软件复用技术的运用,可以规范电子政务的业务流程,发现 政务流程中不合理的环节,进而对政府的业务流程进行优化重组,而且构建起 来的可重用的软件系统可以成为政府系统中非常重要的知识库和规则库,可以 作为指导政府实施和扩展电子政务信息系统的模型。在深入分析政务系统业务 需求的基础上建立起来的政务业务模型可以在最大程度上提高政务实施电子政 务系统的成功率。所以软件复用技术对于促进政府业务管理规范和信息化有重 要的现实意义。 1 0 第2 章x m l 与基于构件的软件开发 2 3 2 实现软件复用应考虑的主要问题 在政务系统开发中,要实现软件复用需从软件设计结构和源代码的组织结 构两个方面考虑【3 1 】可能的遇到问题。 首先,从程序设计结构方面来说要考虑到: 1 ) 需求的符合性。在需求调研阶段要注意提炼共性的功能性需求和个性化 的非功能需求。一般来说,功能性需求决定业务构件,非功能需求决定技术构 架,变化案例决定构件的范围。我们需要根据政府业务上的需求来设计业务构 架,根据非功能需求定义相关的性能、效率上的约束和规则。变化案例是对未 来可能发生的变化的一个估计,综合考虑功能需求和非功能需求,通过确定需 求的范围,进而确定一个构架的范围。这样建立起来的系统架构,为软件复用 的可能提供了一个重要保证。 2 ) 流程重组的适应性。考虑到政务系统开发中业务流程可能出现的变化,在 进行总体构架设计时要尽量减少业务流程对软件开发的制约。具体来说就是切 割流程中各项业务节点工作,把它们抽象作为作为独立的对象,设计成独立的 功能模块或组件。并充分考虑好模块或组件之间接口的柔性变化,在政务流中 通过对模块或组件之间的相互调调用实现各种业务。这样,当业务流程发生重 组时,通过修改系统程序模块或组件间的调用关系而实现新的需求。 其次在源代码的组织结构方面考虑: 1 ) 可扩充性。要考虑到系统方案的升级和扩充。 2 ) 可移植性。要充分考虑系统在不同平台下系统的可移植性。 2 4 基于构件的软件开发 构件技术是软件复用的关键因素,也是软件复用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论