已阅读5页,还剩58页未读, 继续免费阅读
(计算机应用技术专业论文)满足政务业务流重组需求的组装器研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 课题依托于北京市教育委员会科技发展计划面上项目i s o 质量标准下的电子政 务基础结构研究。 随着政务系统竞争的不断加剧和客户需求的多样化及其易变性,要开发设计的 政务系统必须能具有适应需求变更的能力,如果设计的政务系统没有良好的伸缩 性,不能方便地满足用户需求变更和二次开发升级,那么这样的政务系统反而会成 为政府部门发展的制约条件。如何快速高效地开发出满足政府需求变化的政府系统 软件,已成为当今政府系统开发的重要课题。 本文针对现有政府系统开发方法的不足,当前政务系统中存在着由于政府部门 需求变动所带来的业务流重组问题。为了有效解决这些问题,在对x m l 技术和构件 复用技术深入研究的基础上,结合x m l 与构件技术这两种软件开发热门技术,提出 了基于x m l 技术和构件复用的组装器,来解决政务系统需求变动带来的业务流重组 问题,从而构建柔性政务系统开发设计方法。 本文对这个开发设计思想进行了详细的分析研究,使该开发思想克服了传统设 计的一些不足,是一种快速高效开发柔性政务系统的方法模型。本文还以国土资源 部审批子系统为例,并且对这种开发设计思想进行了实践。在该模型中通过组装器 对用户需求的x m l 描述文件进行解析,提取了功能模块的相应构件,有效解决了审 批子系统中业务流重组问题,同时也说明本文提出的设计思想的理论可行性。在设 计思想中也提出了组装框架概念,组装过程离不开组装框架。该组装框架实现了基 于构件的政务系统的插座式组装。通过x m l 对政务系统及其构件进行形式化描述, 使该组装框架具有很好的可扩展机制,方便的实现软构件的复用,管理和组装。在 该组装框架平台下构建的政务系统,将具有很强的灵活性和伸缩性,并能根据政府 需求多变的情况方便地进行快速重构。正是在这个框架下,充分利用组装器对用户 需求的有效分析,提取满足需求变更的构件进行组装,从而有效的解决政务系统中 存在业务流重组问题。 关键词构件;组装器;】( 1 i l ;框架;业务流重组 a b s t r a c t a b s t r a c t 日嵋p r o b l e md i s c u s s e di n t h i sp a p e rc o m e sf r o mt h ep r o j e c to fb e i j i n ge d u c a t i o n c o m m i t t e es c i e n c ea n dt e c h n o l o g yd e v e l o p m e n tp l a n :u n d e ri s oq u a l i t ys p e c i f i c a t i o n e l e c t r o n i cg o v e r n m e n ta f f a i r sf o u n d a t i o ns t r u c t u r er e s e a r c h d u et ot h eg o v e r n m e n ts y s t e md r a s t i cc o m p e t i t i o na n dt h ec u s t o m e rd e m a n d d i v e r s i f i c a t i o na n di t st h ev a r i a b i l i t y , i ti sn e c e s s a r yt od e v e l o pa n dd e s i g nt h eg o v e r n m e n t a f f a i r ss y s t e mt h a tp o s s e s st h ea b i l i t ya d a p td e m a n dc h a n g e ,i ft h eg o v e r n m e n ta f f a i r s s y s t e md e s i g n e dh a sn o tg o o df l e x i b i l i t y , c a n n o tc o n v e n i e n t l ys a t i s f yd e m a n dc h a n g eo f t h eu s e ra n dt h es e c o n dd e v e l o p m e n ta n dp r o m o t i o n , s u c hg o v e r n m e n ta f f a i r ss y s t e mw i l l b e c o m et h er e s t r i c t i o nc o n d i t i o no ft h eg o v e r n m e n td e p a r t m e n td e v e l o p m e n to nt h e c o n t r a r y h o wt od e v e l o pf a s tt h eh i g he f f i c i e n c yg o v e r n m e n ts y s t e ms o f t w a r ew h i c h s a t i s f i e st h eg o v e r n m e n td e m a n dc h a n g eh a sb e c o m ei m p o r t a n tt o p i co ft h eg o v e r n m e n t s y s t e md e v e l o p m e n tn o w t l l i sp a p e rw i l ls o l v ei n s u f f i c i e n c yo ft h ee x i s t i n gg o v e r n m e n ts y s t e me x p l o i t a t i o n m e t h o d ,a n dt h eb u s i n e s sf l o wr e o r g a n i z a t i o nq u e s t i o n sc o m ef r o mt h eg o v e r n m e n l d e p a r t m e n td e m a n dc h a n g ei nt h ec u r r e n tg o v e r n m e n ta f f a i r ss y s t e m i no r d e rt os o l v e e f f e c t i v e l yt h e s eq u e s t i o n s ,a f t e rr e s e a r c h i n gi n - d e p t hx m lt e c h n o l o g ya n dc o m p o n e n t m u l t i p l y i n gt e c h n o l o g y , c o m b i n ex m la n dt h ec o m p o n e n tt e c h n o l o g y , t w ol ( i n do f p o p u l a rs o f t w a r ed e v e l o p m e n tt e c h n o l o g y , p r o p o s i n gt h ea s s e m b l e rb a s e do nt h ex m l t e c h n o l o g ya n dt h ec o m p o n e n tm u l t i p l y i n gt os o l v et h eq u e s t i o nw h i c ht h eg o v e r n m e n t a f f a i r ss y s t e md e m a n dc h a n g eb r i n g st ob 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 , s oc o n s t r u c t s d e v e l o p m e n ta n dd e s i g nm e t h o do f t h e f l e x i b l eg o v e r n m e n ta f f a i r ss y s t e m n e p a p e ra n a l y z ea n dr e s e a r c hi nd e t a i lt h ed e v e l o p m e n ta n dd e s i g nt h o u g h t , m a k e t h et h o u g h tt oo v e r c o m es o m ei n s u f f i c i e n c i e so f t r a d i t i o n a ld e s i g n i n gm o d e l i ti so n ek i n d o fa d v a n c e dm e t h o dm o d e lt h a t 锄f a s ta n dh i g he f f e c t i v ed e v e l o pf l e x i b l eg o v e r n m e n t a f f a i r ss y s t e m 1 1 1 ep a p e rt a k e st h en a t i o n a lt e r r i t o r yr e s o u r c e sd e p a r t m e n te x a m i n a t i o n a n da p p r o v a ls u b s y s t e ma sa ne x a m p l e , h a sc a r r i e do u tt h ek i n do fd e v e l o p m e n ta n d d e s i g nt h o u g h t t h em o d e lp a r s ex m ld e s c r i p t i o nd o c u m e n ta b o u tu s e rd e m a n db yt h e a s s e m b l e r , a n de x t r a c tc o r r e s p o n d i n gc o m p o n e n to f t h ef t m e t i o nm o d u l e , e f f e c t i v e l ys o l v e 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 gq u e s t i o ni nt h ee x a m i n a t i o na n da p p r o v a ls u b s y s t e m , s i m u l t a n e o u s l ya l s oe x p l a i nt h ef e a s i b i l i t yo f d e s i g n i n gt h o u g h tp r o p o s e di nt h ep a p e r a n d p r o p o s i n gt h ea s s e m b l yf r a m ec o n c e p t i nt h ed e s i g nt h o u g h t ,t h ea s s e m b l yp r o c e s sc a n n o t l e a v et h ea s s e m b l yf r a m e t i l i sa s s e m b l yf l a m eh a sr e a l i z e dp l u gt y p ea s s e m b l yo f g o v e m m e o ta f f a i r ss y s t e mb a s e do nt h ec o m p o n e n t c a r r i e do u tt h ef o r m a l i z e dd e s c r i p t i o n t ot h eg o v e r n m e n ta f f a i r ss y s t e ma n di t st h ec o m p o n e n tb yx m l ,e n a b l et h ea s s e m b l y f r a m et oh a v ew e l le x p a n s i b i l i t y , a n dr e a l i z ee x p e d i e n t l ys o f tc o m p o n e n td u p l i c a t eu s e s , m a n a g e m e n ta n da s s e m b l y g o v e r n m e n ta f f a i r ss y s t e mc o n s t r u c t o dw i t ht h ea s s e m b l y 1 1 1 北京t 业大学下学硕十学位论文 f r a m cp l a t f o r m , w i l lh a v et h ev e r ys t r o n gf l e x i b i l i t ya n dt h ee l a s t i c i t y , a n dw i l lb ea b l e c o n v e n i e n t l yt oc a l t yo u tt h ef a s tr e s t r u c t u r i n ga c c o r d i n gt of r e q u e n tc h a n g eo ft h e g o v e r n m e n td e m a n d b yu s i n gt h ef l r u i c , f u l l yu t i l i z et h ea s s e m b l e rt oe f f e c t i v ea n a l y z e u s e rd e m a n d ,e x t r a c tt h ec o m p o n e n tw h i c hs a t i s f i e st h ed e m a n dc h a n g et oa s s e m b l e , 8 0 e f f e c t i v e l ys o l v e sb u s i n e s sp r o c e s s - e n g i n e e r i n gq u e s t i o no f g o v e r m n e n ta f f a i r ss y s t e m k e yw o r d sc o m p o n e n t ;a s s e m b l e r ;x m l ;f r a m e w o r k ;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 i v 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经 发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 签名:盈;互瞧日期:幽:! :! 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权保 留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内 容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:盘l 幺磐导师签名:叁兰5 一一日期:j 堑l 型 1 1 引言 第1 章绪论 随着计算机相关应用技术的飞速发展,在当前社会的各个领域,各个部门,各 类人员都在使用各种计算机系统,从而满足自身的需要,跟上时代步伐,但是就目 前的情况来看,软件系统的质量问题始终没有得到很好的解决,用户需求不能得到 有效的满足,进而带来的是用户的需求变动引起业务流变更没有得到解决。可以 说,计算机软件技术在给用户带来便利的同时,也成为计算机应用的瓶颈,软件危 机正在继续。 就政务系统“1 软件来说,我们首先应该明白的是政务系统软件不同一般企 业的系统软件,由于其自身的特殊性,使得所要开发的政务系统软件也要必须具有 多样性,多变性。由于政务系统竞争的加剧和用户的需求多样化,政府部门对政务 系统软件的更新速度提出了更高的要求。现在的政务系统必须具有很强的适应各种 变化需求的能力,具有高度的稳定性和时效性,如果政务系统不具有良好的伸缩 性,不能方便地进行维护和升级,或者政务系统的开发时间过长,稳定性不足,那 么,开发出来的这样的政务系统将反而会制约政府部门的快速高效地发展。当前政 府部门存在着极其严重的部门变动( 部门添加或缩减) ,也就是政府可能根据需要增 加一个相关的功能或者删掉一个相关的功能( 这个将会在第四章中作详细描述,并 使用组装器对其加以解决) ,这将会引起政务部门的业务流程的变更,需要对其进 行重新组合。如何解决这些非常棘手的需求变动所带来业务流重组问题,设计开发 一个行之有效的政务系统呢? 基于x m l 技术和构件复用技术的软件开发方法成为解 决这一问题的有效方法。通过使用x m l 描述技术,对用户的需求变动作有效的描 述,组装器对x 札描述文件进行解析,提取用户的所需要的功能,从构件库中提取 相应的构件,通过各部分的动态组装形成完整的系统。 本文在对传统软件开发方法和构件复用技术等软件开发新技术进行深入研究的 基础上,提出了使用基于x m l 技术和构件的组装器”。“。,来建立柔性政务系统开 发设计方法,并以国土资源部审批系统为例,对这种开发方法进行了模型实践,通 过组装器有效解决了审批过程中政府部门变更所引起的业务流变动问题。 北京下业大学t 学硕十学位论文 1 2 研究背景 业务流程重组”“。是2 0 世纪8 0 年代源于美国的一种企业变革模式,但真正形 成权威定义是在1 9 9 0 年。 流程重组开始用于制造业和服务业。流程重组不仅适用于制造业和服务业,还 可进一步应用于公共管理。2 0 世纪9 0 年代以来,以美国为代表的西方国家纷纷将 流程重组理论引入政府管理,实施“政府再造”,引发公共管理革命浪潮。围绕流 程和目标重新设计整个体系。而国内关于流程重组在政务系统中应用还很缺乏。 业务流程重组( 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 ,简称b p r ) 的核心思想是减 少非增值活动,减少等待时间、重复工作,协调工作量,提高企业增值活动的效率。 企业要实现敏捷制造,除了在组织上建立动态联盟,在工作流程上要分析现有流程存 在的问题,对现有岗位、组织、制度进行改革,结合i t 技术和e r p 的实施,进行流程 重组。从传统面向职能管理转变为面向流程管理,将业务的审核与决策点定位在业 务流程执行的地方,缩短信息沟通的渠道和时间,提高对市场的反映速度。业务流程 每一个环节上的活动应尽可能实现最大化增值,尽可能减少无效的或不增值的活动, 把整体流程全局最优作为优化目标,设计和优化流程中的各项活动。为了流程畅通, 提高内、外客户的满意度,业务流程之间应尽可能实现单点接触,先设计流程,再按 流程建立扁平化的新型组织,消除中层“领导”,管理权力下放,以降低管理费用和 成本,提高组织的运转效率和对市场的反映速度,同时也要求人员素质整体提高并富 有团队合作精神,构建具有自学习机制的有机组织。重视计算机信息技术的作用,协 调业务分散与管理集中之间的矛盾。 业务流程重组方法的基本出发点是从面向职能管理转变为面向流程管理,对不 同部门相同流程的业务只按照流程管理的思路进行描述,变复杂流程为简单流程。 运用计算机集成制造系统( c o m p u t e ri n t e g r a t em a n u f a c t u r es y s t e m ,简称c i m s ) 的 信息集成,将e r p 、产品数据管理( p r o d u c td a t am a n a g e m e n t ,简称p d m ) 、成组技术 ( g r o u pt e c h n o l o g y ,简称g t ) 等技术与i t 技术相结合,变信息孤岛为共享信息平 台。明晰企业有效运营的三大流程即:战略流程、客户流程以及保障流程。战略流 程就是企业业务流程的持续改进,使企业流程的改进,岗位与部门的调整,规章制度 的规范化等活动成为企业的日常业务,常抓不懈。客户流程主要是产品市场销售流 程,市场需求信息的准确把握,新品研发,市场开拓,提高对客户的反应速度和对客户 的服务质量是客户流程追求的目标。保障流程主要是企业的生产、库存、采购流程 以及财务管理、成本核算流程,提高业务处理的效率,有效控制成本是保障流程的主 要目标。 建立面向b p r 的可重构的企业生产管理系统,必须在分析企业业务流程和b p r 的基础上,对各组织单元的业务流程进行分析和抽象,应用成组技术的基本哲理,区 第1 章绪论 分相似的部分和经常变化的部分,相似的流程就是业务流程中业务活动顺序基本不 变或已形成一定规范的流程。正因为不少业务流程都是相似或相同的,为企业生产 管理信息系统的快速重构奠定了基础。 作为我国最大的政务软件供应商用友,用友g r p 电子政务整体解决方案,以电 子政务应用系统层为核心,针对电子政务不同阶段、不同部门和不同层次的需要, 分为三大类,面向部门基础管理的解决方案、面向部门业务( 财政业务、审计业务 等) 管理的解决方案和面向区域( 省、市、县、乡) 政府的电子政务解决方案。可以 根据各级部门具体的业务流程给出相应的政务系统软件,但对于部门内部的机构变 动所带来的业务流程变更还没有明确的解决方法。 国外发达国家的电子政务建设已经相当成熟,像美国、英国、新加坡、日本等 国基本实现了政府无纸化办公,加强了公民和政府部门沟通交流,加速了政府信息 化进程,提高了政府的办事效率。国内的电子政务建设由于起步较晚,还存在着一 些问题,具体列举如下: a 政务系统的适用性和可用性问题 很少有政务系统能够不断满足用户的需求,软件适应变化的能力还是很不够, 很多已实施的政务系统中,哪怕是出现很小的需求变化,也需要设计人员修改代 码,才能满足用户的需求。用户需求包括显性需求和隐性需求。显性需求是指用户 能够较为明确、完整地表达需求:而隐性需求是指用户对某种需求往往不十分明 晰,只能传达出较为含糊的信息。按照一般的开发模式,软件开发商为用户开发的 系统一般只能满足其显性需求,而对隐性需求无从考虑,当用户意识到隐性需求 后,需求不明确的问题才暴露出来。这时,软件需要不断的修改,常常因此需要全 面系统的修改,甚至会放弃原来的系统,重新根据需求开发系统:政府机构和业务 重组、规模扩大必然导致了用户需求的变化,由于软件业务模型已经固化于程序之 中,如果业务模型发生变化,就必须由开发人员修改软件,这种修改会向软件中增 加更多的刚性部件,使以后模型的动态修改或重构更加困难:目前软件还不能与现 代社会的这种发展相适应。有些时候,尽管已经做好了系统规划、可行性研究,签 订了较明确的技术合同,然而随着系统分析、系统设计和系统实施的进展,客户的 需求不断地被激发,导致程序、界面以及相关文档需要经常修改。而且在修改过程 中又可能产生新的问题,这些问题很可能经过相当长的时间后才会被发现。 b 政务系统的稳定性问题 系统开发完成后,必然存在不稳定性,而系统的不稳定性将对用户的使用造成 极大的障碍,而且,这种不稳定性经常在系统在不断使用和扩充的过程中逐步积 累,最终导致政务系统的彻底瘫痪。 c 政务系统的开发周期问题 按照一般的软件开发方式,软件开发商实施任一套软件系统的周期至少为半 。 北京t 业大学下学硕十学位论文 年,甚至数年,用户需求不断发生变化,开发周期将被无限制的延长,这必将导致 软件开发商及用户失去信心或需要用户不断的追加投入,使得开发永无休止。 d 开发商和用户的风险问题 由于用户需求具有极大的不完整性和可变性,软件开发商开发的系统总是无法 让用户完全满意。如用户不满意,项目尾款的支付也成了未知数,对开发商来说无 疑是一个很大的风险。 所以,如何省时、省力、快速、高效地开发出能够不断满足用户需求的高效 的、稳定的政务系统是当今政务系统信息化建设中的核心问题。 1 3 研究意义 鉴于以上原因,在政务信息化建设中已迫切需要新的系统软件开发设计方法。 在市场经济规模下,政府为了生存和发展,对软件的更新速度提出了更高的要 求,过去一年更新一次的软件,现在可能是半年、三个月、甚至一个月就必须更 新。另一方面,软件从过去主要用于提高生产效率,加强内部管理逐渐成为帮助政 府获得更大效益的工具,也成为人们工作和生活中不可或缺的元素。这种变化使软 件开发面临新的挑战:如何快速且高效地开发出满足不同需求的软件呢传统的软件 开发方法在这时已显得无能为力了,建立更好的软件开发环境和不断发展软件开发 方法,是解决这一问题的关键所在,对此,国内外都进行了大量的研究,到目前为 止,形成了一些比较成熟的方法和技术:面向对象技术( o b j e c t o r i e n t e d a n a l y s i s ,简称o o a ”1 、o b j e c t o r i e n t e dd e s i g n ,简称o o o “、o b j e c t o r i e n t e d p r o g r a m m i n g ,简称o o p ) ,中间件i n 技术,软件复用技术“2 。”,工作流技术n “ ”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 n 7 “8 “们) 等,这些 方法和技术在不同的层面上和一定程度上缓解了需求变化给软件带来的影响,但由 于软件,特别是政务系统软件固有的复杂性和多变性,如何快速且高质量地开发出 满足不同需求的软件的问题仍然没有根本解决,因此还需要新的思想来整合各种技 术和方法,而采用x m l 描述用户需求,开发和采用可复用的软件构件,通过组装器 解析用户的需求,进行软件框架下的基于构件的软件动态集成组装成为解决这一问 题的可行方法。 本论文的研究正是在这种背景和环境下进行的,主要从构件复用的角度探讨了 政务系统的开发方法:整合构件啪1 复用技术,x m l 技术乜“22 ”,框架技术,组装器 等多种软件开发先进技术,对政务系统的开发方法提出了一些新的见解和解决途 径,并对该开发方法进行了初步的模型实践。实践证明该开发方法对政务系统的开 发有着积极的理论参考价值。 第1 章绪论 1 4 主要研究内容 本论文对提出的满足政务业务流的问题,基于x l j l 技术和构件复用技术的组装 器的研究主要是以下几个方面: a 业务流的分析与重组方法的研究:主要包括对现有政务系统业务流程进行调 查分析,分析现有政务系统的业务流程,了解现有政务流程存在哪些的关键问题。 分析现有业务流程中使用了什么样的关键技术。同时对重组方法进行深入的研究, 分析现有的技术( 如m d a 和工作流) 在政务系统流程重组建设存在哪些优点以及存 在的不足之处。通过分析现有政务系统关键技术对于流程重组不太适应,寻找一种 适合业务流变更的业务重组实现方法。 b 基于x m l 的业务流描述及规范制定及基于构件构架的业务模块的生成提取: 主要包括如何使用形式化描述语言x m l 来切实有效的满足用户提出的业务需求。以 及在用x m l 描述用户需求时如何制定x m l 的规范。如何利用构件构架技术根据顶层 电子政务设计标准抽象出电子政务系统中所需业务功能模块,形成业务构件( 如电 子签名构件) 与服务构件( 如数据库连接构件、邮件构件) 等。同时在对业务模块 的构件的提取时,应该首先想到的是怎么规定在提取业务构件的生成粒度。这是因 为生成粒度大小的规定将直接会影响到对业务模块的构件提取程度以及构件生成速 度。 c 满足业务流重组系统程序组装器的实现:主要是研究能够依据x m l 对用户业 务需求的有效描述,提取对应的业务构件,同时把提取的业务构件组装起来的组装 器的实现。在程序组装器的实现中,应该考虑到各个构件连接时之间接口的易用 性。同时应该注意各个接口的兼容性和内容功能实现的通明性,使各个接口之问方 便扩充。因此在实现程序组装器应该充分结合设计模式的思想和思路。用设计模式 思想来指导程序组装器的实现。实现程序组装器在一定程度上尽可能通用,方便对 于提取业务构件的组装,同时要使程序组装器便于扩充功能,而不必对原有已有的 模块进行大幅度修改。从而实现程序组装器易用性,便于修改性,同时也在一定程 度上满足对用户业务需求的可靠性。 1 5 论文的结构说明 本论文共分六章。文章的结构安排如下: 第l 章绪论阐述了本课题提出的原因及主要解决的问题、研究背景、研究意义 以及本文主要研究的内容。 第2 章介绍了x m l 领域内常用的相关技术,归纳和总结了基于构件的软件复用 北京t 业大学t 学硕十学位论文 技术,它们都是本文所用的技术核心。 第3 章详细阐述了电子政务存在的业务流程问题,提出了基于组装器的框架设 计思想的解决思路。 第4 章阐述了如何使用基于x m l 技术和构件复用技术的组装,解决政务系统的 业务流变更问题,以及如何搭建柔性政务系统详细设计。 第5 章通过一个模型介绍如何利用组装器解决政府部门变更所带来的问题,并 对以上提出的方法进行了验证,总结了本系统的优点和不足。 第6 章对本课题研究的结论进行了总结,并谈了进一步工作的构想。 第2 章x m l 与构件复用相关技术 第2 章x m l 与构件复用相关技术 2 1x m l 相关技术 2 1 1x m 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 的缩写,即可扩展标记语言。它起源于 s g m l ,s g m l 是标准通用标记语言( s t a n d a r dg e n e r i cm a r k u pl a n g u a g e ) ,用于定 义怎样描述不同种类的电子文档数据的结构和内容的一种语言标准。) ( m l 提供了一 种标准来描述在一篇文档中数据是如何组织和存放的。相对于s g m l ,x m l 更加精 炼、简洁,更易于理解和使用,从而更适合在网络环境下使用。x m l 是一种标识语 言,在这点上,它类似于h t m l ,但x m l 关注的不是数据在浏览器中如何布局和显 示,而是关注于怎样描述数据内容的组织和结构。 2 1 2x m l 结构文档 一篇x m l 文档由标记( t a g ) 和内容( c o n t e n t ) 组成。内容记录x m l 数据,标 记表明x m l 数据所表示的意义和各数据间的结构。 x m l 的语法要求严格。一个格式正确的x m l 文档( w e l l f o r m e d ) 必须符合以下 几点: 1 ) 有而且只有一个根元素,所有元素( e l e m e n t ) 构成一个层次树; 2 ) 结束标记( t a g ) 匹配相应的起始标记;元素正确嵌套,标记不重叠: 3 ) 元素定义不重复,对于一个元素来说,没有多个相同名称的属性的实例 ( 元素大小写敏感) ; 4 ) 属性( a t t r i b u t e ) 有唯一的名称,并且被正确地包括在某一元素中; 5 ) 标记字符被正确地转义,没有对外部实体的引用( 除非提供了d t d ) ; 文档类型定义( d o c u m e n tt y p ed e f i n i t i o n ,d t d ) 和x m ls c h e m a 。1 ( x m l 模 式) 是用来验证x m l 文档有效性的( v a l i d ) 。x m l 有效性是指x m l 文档中的数据 符合特定的规则,如哪些元素是必需的,哪些是可选的;元素可能包含哪些属性; 除了元素本身信息外,在元素的结构方厦,一个元素可以嵌套哪些元素,子元素出 现的个数和次序如何;元素内容的数据类型有何规定等等。 在x m l 文档定义中主要有两种: 1 ) 文档类型定义d t d 北京t 业大学丁学硕士学位论文 x m ld t d 起源于s g m l 的d t d ,使用一个正式的文法来描述x m l 文档的结构和语 法,包括文档内容的允许值、基数等。一个支持有效性验证的x m l 解析器和d t d 结 合能确保所有必要的元素和属性在文档中出现,并且文档中没有未经授权的元素和 属性,确保了数据在被移交给应用程序之前就具有有效的结构。 d t d 通过一种非x m l 格式的形式来定义元素、属性、元素的排列方式、元素能 够包含的内容等,具体描述可以参考w 3 cx m l 推荐标准的第3 、4 节。 但由于d t d 是源于s g m l 的,有一些固有的局限性,主要有: 1 ) 非x m l 形式的语法。这使得d t d 需要专门的解析器,从而x m l 的有效性验 证解析器需要两个解析器,一个用于解析x m l ,另一个用于解析d t d 。 2 ) 只有内置数据类型。d t d 提供的数据类型只有c d a t a 、e n u m e r a t e d 、 n m t o k e n 等十种内置( b u i l t - i n ) 数据类型。这样少的数据类型通常无法 满足文档的可理解性和数据交换的需要。 3 ) 缺乏对名字空间的支持。 为了解决d t d 的诸多局限,w 3 c 提出了) ( m ls c h e m a 作为另一种x m l 文档验证方 案。 2 ) x m ls c h e m a x m ls c h e m a 是用一套预先规定的】( m l 元素和属性创建的,这些元素和属性定义 了文档的结构和内容模式。 与d t d 相比较x m ls c h e m a 最大的优势就在于对数据类型的支持。除了更为丰 富的内置数据类型( d o u b l e 、d e c i m a l 、d a t e t i m e 等) 外,s c h e m a 还允许用户通过 扩展或组合已有的简单类型或者负责类型来定义自己的数据类型。这种丰富的类型 有助于减小使用x m l 标记文档和数据间的差异,例如,它可以直接使用日期类型, 而不需要应用程序做进一步的检查。 在本论文中在对x m l 的两种文档定义做了充分的比较,并且根据本论文中所涉 及到需求,在本论文的第4 章和第5 章中采用了d t d 技术,充分的利用x m l 的d t d 的文档定义。 2 1 3x m l 解析技术 一个x m lp a r s e r ( 解析器) 是一段可以读入一个x m l 文档并分析其结构的代 码。d o m 和s a x 是两种典型的x m l 文档解析器,被用于读取和操作x m l 文档。 1 ) d o m d 0 l ,文档对象模型( d o c u m e n to b j e c tm e d e l ) 是公认的w 3 c 标准,它提 供了一套应用程序接口( a p i ) ,为创建、处理和操作x m l 文档内容、结构和样式 芏:耋翌竺主塑: 茎里塑茎茎查 提供了灵活而有效的方法。d o m 得到广泛的支持和普及,可以以不同的语言实现, 包括j a v a 、p e r l 、c 、c + + 、v b 和p y t h o n ,是一套跨平台的、与语言无关的接口 一规范。 d o m 采用对象模型和一系列的接口来描述x m l 文档的内容和结构,即利用对象 把文档模型化。这种对象模型实现的基本功能包括: 1 ) 描述文档表示和操作的接口; 2 ) 接口的行为和属性; 3 ) 接口之间的关系以及互操作。 d o m 是以层次结构组织起来的节点,或信息片段的集合。这种层次结构允许开 发者浏览树来查找特定信息。通常,分析结构需要在完成任何工作之前装入整个文 档并且装入层次结构。 由于d o m 是基于信息的层次结构,因此它被称为是基于树的。对于很大的文 档,装入整个文档并对该文档进行解析会很慢且占用大量资源,所以要用其它方式 来处理数据。一些基于事件的模型,如s i m p l ea p if o rx m l ( s a x ) ,是工作在数 据流之上,在数据流经过时对其进行处理。基于事件的a p i 消除了在内存中构建 数据树的需要,但它不允许开发者实际更改原始文档中的数据。 2 ) s a x s i m p l ea p if o rx m l ( s a x ) “是另一种处理x m l 文档内容的方法。s a x 不是 官方的标准,w 3 e 或其它官方组织并不维护s a x ,但这种技术提供了一种更自然的 方法来使用x m l ,因此也被广泛关注。 s a x 是基于事件的处理器( a p i ) ,解析器将事件( 例如,元素的开始或结束) 发送给处理信息的事件处理程序。然后,应用程序自己可以处理数据。因此,s a x 允许正在读取文档的同时开始处理该文档,避免了在采取操作之前需要等待存储文 档的所有内容。由于应用程序简单地检查流过的数据,所以不需要将数据存储在内 存里。当遇到大文档时,这是一个突出的优势。一般来讲,s a k 比d o m 快。但另一 方面,由于应用程序不以任何方式存储数据,所以,使用s i x 时,不可能对数据 进行更改,或者返回至数据流中前面的数据。 3 ) d o m 与s a x 比较 什么时候选择d o m ,什么时候选择s a x ,哪个更好一些? 其实两种技术各有利 弊,选择b o m 还是s a x ,这取决于几个因素: 1 ) 应用程序的目的:如果必须对数据进行更改,并且作为x m l 将它输出,则 在大多数情况下,使用d o m 。与使用x s l 转换来完成的简单结构更改不一 样,如果是对数据本身进行更改,则尤其应该使用d o m 。 2 ) 数据的数量:对于大文件,s a x 是更好的选择。 3 ) 将如何使用数据:如果实际上只使用一小部分数据,则使用s a x 将数据抽 北京r 【= 业大学工学硕+ 学位论文 取到应用程序中,这种方法更好些。另一方面,如果知道将需要向后引用 已经处理过的信息,则s a x 可能不是正确的选择。 4 ) 需要速度:通常s a x 实现比d o m 实现快。 记住s a x 和d o m 不是互斥的,这一点很重要。可以使用d o m 来创建事件的s a x 流,可以使用s a x 来创建d o m 树。事实上,大多数解析器实际常常使用s a x 来创建 d o m 树。在综合) ( m l 的以上两种解析技术以后,在本论文的第5 章采用d o m 技术对 x m l 文件进行了解析。 2 1 4x m l 样式单 样式单( s t y l e s h e e t ) 是一种专门描述结构文档表现方式的文档,它既可以描述 这些文档如何在屏幕上显示,也可以描述它们的打印效果,甚至声音效果。样式单 一般不包含在x m l 文档内部,而以独立的文档方式存在。 样式单可以实现非常复杂的显示效果,但由于样式描述与数据描述相分离,显 示细节的描述并不影响文档中数据的内在结构。 样式单的最大优点是:x m l 关于文档浏览的基本思想是将数据与数据的显示分 别定义。这样一来,x m l 格式文档不会重蹈某些h t m l 文档结构混杂、内容繁乱的覆 辙,x m l 的编写者也可以集中精力于数据本身,而不受显示方式的细枝末节的影 响。不仅如此,样式单还带来另一个好处,即定义不同的样式表可以使相同的数据 呈现出不同的显示外观,从而适合于不同应用,甚至能够在不同的显示设备上显 示。这样,x m l 数据就可以得到最大程度上的重用性,满足不同的应用需求。 1 ) x s l x s l ( 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 ) “是w 3 c 推荐的一种样式单标准。 x s l 本身就是一个x l i l 文档,它是通过x m l 进行定义的,遵守x m l 的语法规则,是 x 肌的一种具体应用。因此系统可以使用同一个x m l 解释器对x m l 文档及其相关的 x s l 文档进行解释处理。x s l 由两大部分组成:第一部分描述了如何将一个x m l 文 档进行转换,转换为可浏览或可输出的格式;第二部分则定义了格式对象f o ( f o r m a t t e do b j e c t ) 。由于到目前为止,w 3 c 还未能出台一个得到多方认可的 f o ,因此本章主要讲x m l 变换x s lt r a n s f o r m a t i o n s ( x s l t ) 。现在一般所说 的x s l 大都指的是x s l t 。 2 ) x s l t x s l t 。主要的功能就是格式转换,它将一个没有形式表现的x m l 内容文档作为 一个源树,将其转换为一个有样式信息的结果树。在x s l t 文档中定义了与x m l 文 档中各个逻辑成分相匹配的模板,以及匹配转换方式。它可以很好地描述x m l 文档 向任何一个其它格式的文档作转换的方法,例如转换为另一个逻辑结构的x i d l 文 第2 章x m l 与构件复用相关技术 档、h t m l 文档、x h t m l 文档、v r m l 文档、s v g 文档等等。 使用x s l 定义x m l 文档显示方式的基本思想是:通过定义转换模板,将x m l - 源 文档转换为带样式信息的可浏览文档。 限于目前浏览器的支持能力,大多数情况下是转换为一个h t 札文档进行显 示。 2 1 5x m l 查询技术 x p a t h 。1 的主要目的是用于对x m l 文档元素或者属性寻址,从x m l 文档中选择 或者过滤信息。在支持这个主要目的的同时,它也为字符串,数字和布尔的操作提 供了基本手段。x p a t h 使用简明的、非x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年青岛通信网络保障中心公开招聘工作人员(4名)备考题库及参考答案详解【达标题】
- 2026年陕甘边革命根据地照金纪念馆招聘(3人)考前冲刺试卷【学生专用】附答案详解
- 2026年古都遗迹·洛阳龙门石窟+白马寺联游
- 形考期末考核试题及答案
- 2025-2026学年四川省广元市元坝区四下数学期末学业水平测试模拟试题(含解析)
- 营养师考试试题与标准答案
- 2026中国太阳能电池板行业市场供需情况及投资前景评估规划研究报告
- 2026摄影器材租赁行业市场供需变化投资优化决策分析报告
- 2026中国移动支付技术应用行业市场前景与资本增值分析
- 2026中国医药流通行业市场节点分析投资效益评估
- 2027届高三语文一轮复习:高中文言文挖空训练
- 2025四川成都成华城市建设投资有限责任公司下属公司招聘3人笔试历年难易错考点试卷带答案解析
- 2026年安徽省池州市公安辅警招聘知识考试题(含答案)
- 气管切开术后并发症预防
- YS-T 3042-2021 氰化液化学分析方法 金量的测定
- JTG C10-2007 公路勘测规范
- ISO22301-2019业务连续性内审及管理评审全套资料
- 《中外管理思想史》课件
- 干部职工调动登记表
- 劳务施工施工方案
- 公路工程试验检测大纲
评论
0/150
提交评论