(管理科学与工程专业论文)基于xml的软件模式及应用开发研究.pdf_第1页
(管理科学与工程专业论文)基于xml的软件模式及应用开发研究.pdf_第2页
(管理科学与工程专业论文)基于xml的软件模式及应用开发研究.pdf_第3页
(管理科学与工程专业论文)基于xml的软件模式及应用开发研究.pdf_第4页
(管理科学与工程专业论文)基于xml的软件模式及应用开发研究.pdf_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

武汉理工大学硕士学位论文 摘要 自从二十世纪九十年代后期可扩展标记语言( 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 相关的缩略语、标准和规则。i n t e m e t 社会中的一些人怀疑x m l 是否真的必要。毕竟,h t m l 已流行了多年并已培育 了一种全新的经济和文化,那么为什么要进行一些改变呢? 实际上,x m i ,并不 是要取代w e b 上已存在的东西,而是要建立一种更坚实和更灵活的基础。x m l 是由某些组织和公司组成的联盟为了创建一种h n 也无法胜任的二十一世纪信 息框架,而做的前所未有的努力。 x m l 并不是一种标记语言,而是一种创建、设计和使用标已语言的工具集。 标准化过程将在信息革命的发展过程中起着及其重要的作用。竞争性技术和专 有语言的未加控制的发展已经威胁到w e b 的完整性,x m l 本身就是为了控制这 种趋势的一种尝试。x m l 创建了一种平台,通过它,结构化信息可以与应用程 序很好地配合,它最大化了信息的可访问性,同时又不会牺牲表达的丰富性。 x m l 已经被i n t e m e t 广泛接受,这为本文开展基于x m l 软件模式设计的研究奠 定了基础。x m l 的一些新的相关技术包括针对显示的样式表、转换、链接资源 的强大方法,数据处理和查询工具、错误检查工具、强制结构工具和大量的开 发环境。这些新的应用,确保了x m l 成为一个优秀的结构化信息工具和软件开 发工具。 当然,x m l 仍然是一种新生事物,而且它的一些相关技术也不成熟。本文 的目的是展示基于x m l 的软件模式设计研究及其在一些程序及数据集成中的应 用。本文从x m l 的相关概念界定出发,研究了x m l 概念模型中的x a m l 结构 定义、内容定义和可读性,分析了x m l 内容与关系的分离、结构与表现形式的 分离,同时对文档类型定义( d t d ) 的缺陷作了简单分析,介绍了x i v i l 模式的 工作方式、x m l 模式设计应遵循的标准等等;在这些准备工作之后,本文重点 阐述了基于x m l 的软件模式设计,包括x m l 软件模式的基本组件、存储系统、 数据服务器、应用服务器、内容服务器以及x m l 开发工具、x m l 转换工具、 x m l 分布式应用组件、x m l 创作工具、x m l 布局工具、x m l 内容管理组件等 等,并在本文的最后介绍了基于x m l 软件模式的应用程序设计,包括应用程序 集成和数据集成。 关键词:x m l 组件,软件模式,集成 武汉理工大学硕士学位论文 a b s t r a c t l a t e rp e r i o dh a sb e e np o s s i b l et oe x p a n dt h em a r kl a n g u a g ex m ls i n c e t h e l 9 9 0 st ob ep u b l i s b e d ,h a di s s u e do n ea f t e ra n o t h e rm a s s i v e l ys h r i n k st h e a b b r e v i a t i o n t h es t a n d a r da n dt h er u l ew i t l lt h ex i v l lc o r r e l a t i o n s o m ep e o p l ei n i n t e r n e ts o c i e t ys u s p e c t e dw h e t h e rx m li sr e a l l ye s s e n t i a l a f t e ra l l ,t h eh t m lh a d a l r e a d yb e e np o p u l a rm a n yy e a r sa n dh a dc u l t i v a t e do n eb r a n d n e we c o n o m ya n d c u l t u r e ,w h yt h e nd oh a v et oc a r r yo ns o m ec h a n g e s ? i nf a c t ,x m lc e r t a i n l ym u s tn o t s u b s t i t u t ef o rt h et i l i l l gw h i c ha l r e a d ye x i s t e do nw e b ,b u th a v et oe s t a b l i s ho n ek i n d o fm o r es o l i da n dm o r en i m b l ef o u n d a t i o n x m li ss e tu pb yt h ea l l i a n c ew h i c hi s c o m p o s e db yc e r t a i no r g a n i z a t i o na n dt h ec o m p a n yi no r d e rt of o u n dt h e 2 1 s tc e n t u r y i n f o r m a t i o nf r a m ew h i c ho n ek i n do fh t m li su n a b l et ob ec o m p e t e n t ,b u td o e s u n p r e c e d e n t e de n d e a v o n x m l c e r t a i n l yi sn o to r ek i n do fm a r kl a n g u a g e , b u ti so d ek i n do ff o u n d a t i o n , t h ed e s i g na n dt h eu s em a r kl a n g u a g et o o lc o l l e c t i o n t h es t a n d a r d i z e dp r o c e s sw i l l b ep l a y i n gi nt h ei n f o r m a t i o nr e v o l u t i o nd e v e l o p i n gp r o c e s sa n di ti st h ev i m lr o l e t h ec o m p e t i t i v et e c h n o l o g ya n dt h ea p p r o p r i a t i o nl a n g u a g en o tu n d e rc o n t r o lo ft h e d e v e l o p m e n th a da l r e a d yt h r e a t e nt ow e bt h ei n t e g r i t y , x m li t s e l fw a sa i m e dt o c o n 仃0 1t h i sk i n do ft e n d e n c y ,i ti so n ek i n do fa t t e m p t x m lf o u n d e do n ek i n do f p l a t f o r m o nw h i c ht h es t r u c t u r ei n f o r m a t i o nm a yc o o r d i n a t ew e l lw i t ht h ea p p l i c a t i o n p r o c e d u r e ,i tm a x i m i z e dt h ei n f o r m a t i o nt o b ep o s s i b l ef o ra c c e s s ,s i m u l t a n e o u s l y c o u l dn o ts a c r i f i c et h er i c he x p r e s s i o n x m lh a v ea l r e a d yb e e nw i d e l ya c c e p t e db y i n t e m e t w h i c hh a s1 a i dt h ef o u n d a t i o nf o rt h i sa r t i c l eb a s e do nt h ex m ls o f t w a r e p a u e md e s i g nr e s e a r c h s o m en e w x m lr e l a t e dt e c h n o l o g i e se m e r g e si n c l u d i n gi n v i e wo ft h ed e m o n s t r a t i o ns t y l et a b l e ,t h et r a n s f o r m a t i o n ,t h ef o r m i d a b l el i n k r e s o u r c e sm e t h o d ,t h ed a t ap r o c e s s i n ga n dt h ei n q u i r yt o o l ,w r o n g l yi n s p e c tt h et o o l , f o r c et h es t r u c t u r et o o la n dt h em a s s i v ed e v e l o p m e n te n v i r o n m e n t t h e s en e w a p p l i c a t i o n s 。w h i c hg u a r a n t e e dx m lt o b ec a l l e da n o u t s t a n d i n g s t r u c t u r e i n f o r m a t i o nt o o la n dt h es o f t w a r ed e v e l o p m e n tk i t c e r t a i n l y , x m ls t i l lw a so n ek i n d o fn e w l ye m e r g i n gt h i n g ,s o m eo fi t s i l 武汉理工大学硕士学位论文 c o r r e l a t e dt e c h n o l o g i e sa r en o tm a t u r e t l l i sg o a lo ft h i sa r t i c l ei st h ed e m o n s t r a t i o n o f x m lb a s i n gs o f t w a r ep a t t e r nd e s i g nr e s e a r c ha n di ns o m ep r o c e d u r e sa n dt h ed a t a i n t e g r a t i o na p p l i c a t i o n t i l i sa r t i c l ee m b a r k e df r o mt h ex m lr e l a t e dc o n c e p tl i m i t s h a ss t u d i e di nx m lc o n c e p t u a lm o d e l t h ex m ls t r u c t u r ed e f i n i t i o n , t h ec o n t e n t d e f i n i t i o na n dt h er e a d a b i l i t y , h a sa n a l y z e dt h ex m lc o n t e n ta n dt h er e l a t i o n a l s e p a r a t i o n ,t h es t r u c t u r ea n dt h em a n i f e s t a t i o ns e p a r a t i o n ,s i m u l t a n e o u s l yt h ef l a wo f d o c u m e n t st y p ed e f i n i t i o n ( d t d ) h a sb e e ns i m p l ya n a l y z e d i n t r o d u c e dt h ex m l p a t t e r nw o r kw a y , t h ex m lp a t t e r nd e s i g ns h o u l df o l l o ws t a n d a r da n ds oo n ;a f t e r t h ep r e p a r a t i v ew o r k s ,t h i sa r t i c l ee l a b o r a t e dw i t he m p h a s i sb a s e do nt h ex m l s o f t w a r ep a t t e r nd e s i g n ,i n c l u d i n gt h ex m ls o f t w a r ep a t t e mb a s i cm o d u l e ,t h e m e m o r ys y s t e m ,t h ed a t as e r v e r , a p p l i e st h es e r v e r , t h ec o n t e n ts e r v e ra sw e l la st h e x m ld e v e l o p m e n tk i t ,t h ex m lt r a n s f o r m a t i o nt o o l ,t h ex m ld i s t r i b u t i o n a l a p p l i c a t i o nm o d u l e ,t l l e 帆c r e a t i o nt o o l ,t h e 儿l a y o u tt o o l ,x m lc o n t e n t m a n a g e m e n tm o d u l ea n ds oo n ,a n df i n a l l yi n t r o d u c e di nt h i sa r t i c l eb a s e do nt h e x m ls o f t w a r ep a t t e r na p p l i c a t i o np r o g r a m m i n gi n c l u d i n gt h ea p p l i c a t i o np r o c e d u r e i n t e g r a t i o na n dt h ed a t ai n t e g r a t i o n k e y w o r d s x m lc o m p o n e n t ,s o f t w a r ep a t t e r n ,i n t e g r a t i o n i l 武汉理工大学硕士学位论文 1 1 选题目的及意义 第1 章绪论 x m l 作为一种自描述的可扩展的标记语言,对描述结构化、半结构化的数 据有着很大的优势,可以根据需求领域的不同要求,定制有着自己特色的标记 语言,以完成异构系统之间的数据交换。目前国内对x m l 软件模式的设计及其 应用还比较少,与国外相关x m l 应用相比,存在着很大的差距,所以丌展x m l 的软件模式设计及其应用程序的研究,促进) m 亿在中国业界的应用与发展有着 十分重要的意义。本文的主要研究意义在于: ( 1 ) 利用x m l 的概念模型定义,构筑了基于m 。软件模式的工作方式及 其内涵; ( 2 ) 在x m l 语法的基础上,定制了基于x m l 的软件模式设计组成和结构, 实现与平台无关的操作: ( 3 ) 利用x m l 软件模式设计的选择策略,为企业应用程序和开发商应用 程序的研究提供了依据。 本课题通过阐述一种基于x m l 的软件模式构架设计,并指出其在些程序 开发研究中的应用,来说明x m l 软件模式设计的基本组成,存储系统、组件构 成和设计工具等等,并通过模式选择策略提出了如何建立x m l 的软件应用系统。 1 2 国g q 9 1 研究现状 1 9 9 6 年,由于h n 江l 的缺陷日益明显,w 3 c 开始设计一种可扩展的标记 语言,使其能够将s g m l 的灵活性和强大功能与已经被广泛采用的h 盯咀,结合 起来,这种后来变成x m l 的语言继承了s g m l 的规范,实际上札就是s g m l 的一个子集。x m l 是一种可扩展的元语言。 x m l 是由x m lw o r k i n gg r o u p 制定的,而该组织的前身是s g m le d i t o r i a l r e v i e wb o a r d ,是一群审核s g m l 的专家,另外并结合一群w e b 专家来共同制 定x m l 规范。 武汉理工大学硕士学位论文 x m l 的专长就是能对文件信息进行结构性的描述,其最大特点在于它的可 扩展性i i l 。2 0 0 1 年,微软提出x m l 将会成为业界新的标准,x m l 能够使各种 程序在互联网上协同运行,互相沟通,有了) m 几标准,两个从未见过面的人写 的程序也能够协同工作。) m 几不仅是n e t 得以成立的基础,同时也成为微软确 立网络新世纪标准的关键。x m 。能让软件在文件、系统、服务及设备问相互关 联及相互作用,使网络应用成为一个整体,失去咀,就没有n e t 。 s y b a s e 的a s e 也开始全面支持j 2 e e 。可以编写和运行j a v a 存储过程、函 数,对x m l 的支持也紧密地集成到了a s e l 2 中,包括允许开发人员创建、存 储、提取和查询标准的x m l 格式的文档。通过在数据库中支持x m l ,a d a p t i v e s e r v e re n t e r p r i s e 将所有数据库技术的功能带到了x m l 文档管理之中【2 j 。 m m 的“e b u s i n e s sa p p l i c a t i o nf r a m e w o r k ”架构在j a v a 、x m l 、c o r b a 上, i n f o r m i xi n t e m e tf o u n d a t i o n 2 0 0 0 集成了j a v a ,推出了j f o u n d a t i o n ,该产品内置 了j a v a v m ,支持j 2 e e 、x m l 和s q l j 标准。 网络服务软件供应商n o v e l l 以其核心产品网络操作系统n e t w a r e 以及n d s 为业界关注,目录服务是电子商务的真正灵魂,而推动e d i t 完成复杂环境下数 据共享的技术是x m l 和l d a p 。将e d i r 和d i r x m l 结合使用,可以实现跨越应 用服务器和多重企业内部系统实现“身份同步”,实现“次登录,随处访问”, 并使企业内容广播式发布和分优先级发布成为可能。 欧洲第一大系统软件商s o f t w a r ea g 认为x m l 标准不仅彻底改变了w e b , 也会带动信息技术应用等一场革命。s o f t w a r ea g d et d m i n oi n f o r m a t i o ns e r v e r 是 世界上第一个原生的x m li n f o r m a t i o ns e r v e r ,是一个支持w 曲的完整数据管理 系统。 尽管x m l 还处于开发阶段和初步应用阶段,但已经有许多公司表示支持 x m l ,并开发了不少x m l 工具,例如,a d o b e 的f r a m e m a k e r 可以用来书写 x m l 文档,微软推出的i e 5 0 已经可以显示、处理和编辑x m l 文件,而o 位c e 2 0 0 0 系列如w o r d 、e x c e l 中已支持x m l 。 x m l 技术在国外业界已经得到了很大的发展,各相关企业提出了许多的标 准草案,获得w 3 c 批准的应用标准也日益增多,近几年来,国内业界对x m l 的关注和研究也在不断加强,研究人员对x m l 的认识也在逐步加深。国内易方 公司丌发的基于i n t e m e t 的网上应用易方远程报表系统广泛地利用了x m l 技术, 对数掘的传输与作为本地数据库保存数据以及对多种格式的报表进行标记,目 2 武汉理工大学硕士学位论文 前在现实中得到了很好的效果。 但是目前,国内业界对x m l 软件的概念模型内涵还十分模糊,对基于x m l 的软件模式结构组成还研究的很少,特别是在应用程序开发研究上非常欠缺, 这也正是本文的目的所在。 1 3 主要研究内容及研究方法 本课题旨在通过构建基于x m l 的软件模式,提供一种应用程序开发的模式 选择策略,提高应用程序丌发的效率,解决基于x m l 软件构架标准基础上的 x m l 软件模式设计结构、构成及其选择策略, 本文拟采用比较、综合分析的研究方法,通过对x m l 的概念模型和模式的 概念分析的基础上,提出x m l 模式的工作方式,并指出x m l 模式设计应遵循 的标准;本文通过阐述x m l 本身支持的组件,核心模式需奠定的基础、基本的 x m l 操作、服务器构建等模式基本机构,指出设计工具驱动其他组件对x m l 进行解释的方法,综合论述了x m l 模式构成及其设计的路径。同时,本文在 x m l 模式设计的基础上,为程序人员或创作人员提供了设计x m l 格式的方式, 而不理会x m l 文档是数据还是内容,通过此过程结果决定了需要选择哪些组件 的技术路线。 本文的关键内容和创新之处在于,本文通过提出x m l 的模式的概念模型, 研究基于x m l 的软件开发的模式化及其应用,提出基于x m l 的软件模式设计 及其基本构成:提出设计x m l 应用程序的组件选择策略及其应用。 武汉理工大学硕士学位论文 第2 章x m l 相关概念界定 2 1x m l 的概念模型 x m l 设计者的本意是希望使用x m l 来支持更高级的文档。在定义标准和广 义的x m l 范例时,他们使用了一个隐含的概念模型,建立这个模型的基础不仅 是他们从h t m l 和s g m l 获得的经验,还因为他们对x m l 将在i n t e m e t 上获得 发展充满信心。这个模型已经巧妙地影响了x m l 的开发,重新构想该模型可以 对x m l 的能力及其局限性有一个清醒的认识。该模型包含5 个部分:人类和机 器可读性、内容定义、结构定义、内容与关系相分离、结构与表现形式相分离。 2 1 1 人类和机器可读性 ( 1 ) 人类和机器可读性增加了对语法的制约 x m l 的设计者努力使x m l 既便于人类阅读,又便于用机器进行处理。这 个目杯使得对任何特定文档都产生两个不同的视图:人类视图和机器视图。这 两种不同的视图之间存在着轻微的差别,使) m l 同时适应这两种视图的努力可 以解释很多x m l 语法出现的原因。 ( 2 ) 使用层次结构的标记在两种视图之间寻求平衡点 与h t m l 类似,) m m 依赖基于标签的各种标记。从人类视图的角度看,基 于标签的标记是将元数据与内容进行集成的一种可读的方式。从机器视图的角 度看,基于标签的标记只是多种数据分析策略中的一种简单方式。基于标签的 标记是一种折衷,让人类阅读更方便而又不会力机器处理增加太多负担。另一 方面,x m l 要求以标签标记的数据有严格的层次结构。严格的数据层次结构也 是一种折衷,让机器处理更容易而又不会为人类阅读带来太大影响。从机器视 图的角度看,使用严格的层次结构可以简化根据文档内容建立编程数据结构的 工作。从人类视图的角度看,层次结构只是多种组织策略中的一种简单方式。 这两方面的折衷来源于人类阅读和机器处理的二元性。人类视图是一个只有标 记的文档;机器视图是一个具有树状结构的数据。 4 武汉理工大学硕士学位论文 ( 3 ) 层次结构是一种强大的组织策略 除了便于机器阅读,层次结构也是一种强大的组织策略。它可以同时表示 商业概念和编程数据结构。商业过程模型、决策树、地理模型那是适合采用层 次结构进行表示的商业概念的实际例子,而树、链表和表都是适合采用层次结 构进行表示的可编程数据结构的实际例子。 2 1 2x m l 内容定义 ( 1 ) 机器处理要求明确定义文档的意义 为了了解机器处理对丁x m l 语法的制约,可以考虑一个机器为了了解一个 简单的产品订单中需要知道哪些信息。人类可以根据订单中的文字表示解释隐 含的意义。然而,机器要想从这个订单获得明确的意义将会有很大的困难。人 类和机器可读性的目标要求采用一种标准的方式明确说明文字之间的关系。元 数据使一个文档作者可以指定文档中的这些关系。没有元数据,文档的内容看 起来没有什么不同,但却只是一堆文字杂乱地堆砌在一起。因为内容是相同的, 所以这样的文档就毫无意义。 ( 2 ) x m l 使用元素作为内容的单元 在x m l 中,作者将内容定义为一些元素的集合。元素是一个自包含的内容 单位,并描述该内容的意义。这样人类可以清楚解释文档的意义,机器也可以 方便地处理。 2 1 3x m l 结构定义 ( 1 ) x m l 使用层次结构建立元素之间的关系 对于很多简单的文档,将内容分解为多个元素就足以方便地解释该文档的 意义。然而,如果没有一些附加的结构,即使一个中等复杂程度的文档也可能 造成理解上的混淆。这些问题的解决方案就是建立内容结构明确表示元素之间 的关系。 ( 2 ) d t d 限制元素的层次结构 x m ld t d 提供另一种方式来说明一个特定文档中层次结构必须遵循的规 则。这些规则包括在层次结构中每个级别可以出现的元素类型。 武汉理工大学硕士学位论文 2 1 4 内容与关系的分离 ( 1 ) 文档之间的关系非常重要 尽管一个文档中各元素之间的层次结构关系对于很多应用程序都非常重 要,不同文档中元素之间的关联也同样重要。h t m l 超链接是这种关联的一个 很好示例。w e b 的成功表明,除了文档内容外,这些文档之间的相关关系也具 有信息的价值。例如,对于一个包含5 个产品、5 个订单和5 个客户的文档,如 果可以知道哪个订单与哪个产品和哪个客户相关将会有更大的价值。遗憾的是, h t m l 将这些重要的关系嵌入在文档结构内部,从而使得对这些关系的维护非 常困难。结果是出现断开的超链接及令人沮丧的“o b j e c tn o tf o u n d ”错误。 ( 2 ) 内容与关系进行分离 x m l 中文档内容和文档关系可以分离。事实上,v i i 。规范忽略文档关系。 一个不同的标准用于指定合适的语法。该语法允许文档关系保存众它们连接的 文档外部,从而可以维护关系的完整性甚至可以引入新的关系而不影响它们引 用的文档。这种独立性理论允许作者通过高级的方式建立文档关系而不改变相 关文档的内容就可以创造出有价值的信息。 2 1 5 结构与表现形式的分离 ( 1 ) h t m l 强调文档的表现形式 h t m l 的另一个缺点是以表现形式为主,而不强调结构。例如,为了区分 文档的各个部分,很多人舍弃了标题说明符号如( ) 来直接控制字体属性 ( 如 ) 。这种方式导致两个问题。首先,所有内容看起来都大 体相同。其次,读者受限于作者所强调的表现形式。 ( 2 ) x m 强调文档的机构 在x m l 中,文档结构和文档表现形式可以分离。与文档关系一样,x m l 规范忽略表现形式,而依赖于另一个标准。对于一个指定的x m l 文档,开发者 可以使用这另外的标准来建议一种表现形式,但阅读者可以自由使用他们自己 选择的任何一种表现形式。这种方法的优点是,理论上可以将创建结构化信息 和设计表现形式布局的责任清楚分开。 武汉理工大学硕士学位论文 2 2 儿的模式概述 2 2 1 文档类型定义( d t d ) 的缺陷 文档类型定义( d ) ) 是关于x m l 规则的说明。对于一个特定的d t d , 一组x m l 文档必须遵循这些规则才被认为是有效韵文档。这些规则包括可以出 现的元素类型、它们的内容模型、属性和这些属性允许出现的值。 ( 1 ) d t d 不是格式良好的x m l 文档j 关于d t d 的词汇表是x m l 平台中惟一没有遵循x m l 文档语法的个特 例。因此,应用程序和工具必须能够同时处理x m l 文档和) m l d t d 的语法。 而且,开发者都必须学习如何使用这两种语法。尽管这不是一个功能上的缺点, 但存在这种差别是很令人苦恼的。 ( 2 ) d t d 缺乏精确的数据类型描述 d t d 的功能缺陷是它们对数掘类型说明的精度远远低于编程语言和数据库 管理系统对于数据类型精度的要求。在面向数据的应用程序中,x m l 的目标是 在不同软件代码之间实现数据的交换,x m l 处理器甚至不能处理最基本的数据 类型校验,如无法确定数据是一个字符串,还是一个数字或日期。 ( 3 ) 类型检查的缺乏影响了数据的互操作性 程序员必须编写专门的代码在低精度的d t d 类型和高精度的编程语言类型 之间进行数据类型的转换。这种转换代码是一个很大的丌发负担,而且也可能 带来这种现象:不同的转换代码以不同的方式处理相同的x m l 文档数据。因此 尽管使用的是相同的d t d ,这样的软件仍有可能因为不同的转换方式而互不兼 容。 ( 4 ) d t d 很难重用和扩展 另一个值得关注的d t d 问题是缺乏必要的灵活性,尤其是在不同格式之间 重用结构和支持将柬可能出现的新格式等方面。对于单一组织控制软件中所有 用到的定义以及使用某个定义的所有软件这种情形,d t d 工作的很好。但x m l 文档在i n t e m e t 上的使用已经得到发展,因此很多组织希望可以结合来自多种格 式的定义来完成他们的商业需求,然后希望扩展这些定义而不会破坏已经部署 的应用软件。 武汉理1 = 大学硕十学位论文 2 2 2x m l 模式的工作方式 ( 1 ) x m l 模式的工作方式与编程语言更相似 与d t d 一样,x m l 模式文件用于描述有效x m l 文档必须遵循的规则“2 1 。 然而,使用x m l 模式设计格式的过程更类似于设计编程数据结构或数据库构架 的过程。 ( 2 ) 使用类型创建更好的可见性和灵活性 一 x s d :e l e m c n tn a l i = b i l l t y p e = a d d r e s s t y p e 6 我们可以从上面程序中看到这个特点。首先,从定义“a d d r e s s e s t y p e ”开 始,而不是从“a d d r e s s e s ”元素开始。通过定义一个更为通用的类型,开发者 会发现更容易在多个格式中重用这个规则,如可以在订单、发票和结算通知中 重用这个通用类型。其次,它采用一个更明确的方式来区分账单地址和交货地 址。它指定“a d d r e s s e s t y p e ”这个元素可以选择一个单独的“b i l l s h i p ”元素, 或则选择一个“b i l l ”元素接着一个“s h i p ”元素的序列。然而,所有这些元素 都是相同的“a d d r e s s e s t y p e ”类型。通过用更简单的方式定义“a d r e s s e s t y p e ” 并在多个元素之间重用这个结构,x m l 设计在元素名中提出了账单地址和交货 地址的区别,而不是将这种区别隐藏在属性中。下面的程序显示一个关于 “a d d r e s s e s t y p e ”的定义。 x s d :c o m p l e x t y p en a m e = a d d r e s s e s t y p e x s d :e l e m e n tn a m e = ”f i r s t n a m e ”t y p e 2 x s d :s t r i n g 6 。 x s d :e l e m e n tn a m e = ”m i d d l e n a m e ”t y p e = x s d :s t r 协g 艟 武汉理工大学硕士学位论文 x s d :a t t r i b u t en a m e = ”l i n e o r d e r t y p e = x s d :i n t e g e r u s e = i m p l i e d x s d :e i e m e n tn a m e = i t y ”t y p e = x s d :s t r i n g 伽 ( 3 ) x m l 模式设计有更精确的制约条件 上面程序在三个方面有所改进。首先,对于“s t r e e t ”元素的基数制约更精 确,而不只是1 个或多个。其次,明确指定“l i n e o r d e r ”属性必须是一个整数, 而且对于每个“a d d r e s s ”元素必须有一个惟一的值。最后,定义“p o s t a ”元素 具有“p o s t a l t y p e ”类型,而不是一个普通的“s t r i n g ”类型。 ( 4 ) x m l 模式使得扩展已有的定义更为简单 这个“p o s t a l t y p e ”的定义解释了x m l 模式是如何适应随时间而增加定义 的情况。下面的例子显示如何将这种类型定义为一个最大长度为1 0 的字符串。 这个定义的精度对于该模式的初始版本已经足够了。 r e s t r i c t i o nb a s e = s t r i n g l e n g t hv a l u e = 1 0 f i x e d = t r u e 修 接下来的程序现实怎样扩展上面的程序实现无缝适应这种变化。 e l e m n tn a m e = u k p o s t a l ”t y p e = u k p o s t a l t y p e s u b s t i t u t i o n g r o u p = p o s t a l 序 9 武汉理工大学硕士学位论文 p a r e r nv a l u e = 5 阳 5 ) 坷 4 伦 r e s t r i c t i o nb a s e = ”p o s t a l t y p e p a t t e r nv a l u e _ a - z 2 d k s d a - z ( 2 ) 修 ( 5 ) 替换组和类型派生是两个增强扩展性的特性 在上面的程序中,首先定义“u s p o s t a l ”和“u i o o s t a l ”元素作为“p o s t a l ” 元素可替换组中的成员。这种定义允许在相应的文档中用“u s p o s m l ”或 “u k p o s t a l ”元素替代任何“p o s t a l ”元素。接着扩展“p o s t a l t y p e ”以便它现在 包含“u s p o s t a l ”和“u k p o s t a l t y p e ”两个子类型。然后可以使用这些更具体的 类型来代替不太具体的“p o s t a i t y p e s ”。这种结合替换组和类型派生的手段提供 了与面向对象编程语言中多态机制非常类似的方式。 ( 6 ) 可以随着时间增加更多具体的制约 一 每个这样的子类型对于有效的模式指定不问的制约规贝i j 。任何创建“o r d e r ” 文档的新软件都可以根据订单的发源国家指定一个“u s p o s t a l ”或“u k p o s t a l ” 元素,而且保证这个重要的类型信息随着文档在整个供应链工作时都能执行。 注意任何符合原始方案的只有“p o s t a l ”元素的文档仍然是有效的,因此这种扩 展保持了向后兼容性。 ( 7 ) 可以将校验工作委派给不同的模式 除了随着时间不断对模式进行改进外,x m l 模式也有一些特性可以使重用 其他组织的工作结果更方便。假定目前的程序中正在为订单文档创建模式的开 发者希望利用另一个开发者在付款编码中已经完成的工作,下面的程序显示怎 样将对一个具体元素的格式校验工作延迟到在其他地方定义的模式中。 e l e m e mn a l n e = p a y m e n t a n yn a m e s p a c e = ”p r d c e s s c 0 n t e n t s = ”s t r i a 协 1 0 武汉理工大学硕士学位论文 ( 8 ) ) m 也模式使合作定义文档格式的工作更容易 上面的程序片断定义了一个“p a y m e n t ”元素作为格式的一部分。然而,与 子集定义子元素并迫使开发人员独立维护这些规则相反,这个程序片断允许使 用任何来自其他命名空间的元素,这个命名空间可以是由另一个假想的开发团 队束维护的。通过为“s t r i c t ”设置“p r o c e s s c o n t e n t s ”属性,这个程序片断告诉 x m l 处理器从其他地方获取模式来对元素进行校验。这种方式对于通过i n t e m e t 合作进行数据格式的定义非常合适。 2 2 3x m l 模式设计应遵循的标准 使用x m l 的总体原因是为了在通过i n t e m e t 交换信息的过程中保证相互兼 容性”l 。在某些特定的情况下,为了用x m l 达到这个目标,现有的技术是不够 的,或是与x m l 不兼容。在这种情况下,w 3 c 或其他标准组织已经开始着手 准备提供一个通用的方式。尽管这样的标准数目看起来非常庞大,与人们使用 x m l 的方式相比,这种标准的增长实际上是相对较少。以下是一些与电子商务 关系最紧密的x m l 应遵循的模式设计标准。 ( 1 ) s o a p 。使用x m l 作为分布式通信的基础是个常见的应用程序。遗 憾的是,如果不同的组织为了这个目的而自行开发各自的协议,则产生的系统 将无法交换消息。s o a p 提供一种统一的方式,因为它形成了大多数x m l 消息 系统的基础。w 3 c 是负责s a o p 的标准组织,一个更早的版本已经广泛地用于 商业领域。 ( 2 ) x h t m l 。h t m l 与x m l 很接近,但h t m l 文档不是完全的x m l 文 档。这种轻微的差别带来一个问题,因为所有正在兴起的用来处理x m l 文档的 模式都不会支持对h t m l 文档的处理。x h t m l 是对h t m l 的修订,考虑了这 些小的不兼容性。这种方式的益处在于x h t m l 是模块化的,这使它更适合于 不同的访问设备,而且对于自定义的应用程序只有更好的扩展性。x h t m l 是一 个w 3 c 推荐标准。 ( 3 ) x f o r m s 。大多数交互式的w e b 应用程序使用h t m l 表单来收集用户 输入的数据。将这些数据集成到x m l 中要求将h t m l 表单布局翻译成为x m l 布局。x f o r m s 引入一个基于x m l 的表单布局来解决这个问题。它确保显示的 表单包含一个表单数据的数据模型,以便应用程序可以正确处理每个提交的信 武汉理工大学硕士学位论文 息。这种更抽象的方法也便于使用相同的表单处理代码来处理从不同设备提交 过来的数据。 ( 4 ) x m ls i g n a t u r e s 。信息交换的参与者需要能够以加密的方式对信息进 行签名。尽管对于在x m l 文档上使用基本的加密签名形式已经存在相应的技术 和标准,但它们有可能造成不兼容,而且不能利用咀。文档的属性。x m l s i g n a t u r e s 既提供处理这种问题的标准,同时也为进行更流畅的基于x m l 的电 子商务提供必要的附加功能。 ( 5 ) x m le n c r y p t i o n 。某些x m l 文档可能包含一些敏感的信息,发送者 和接收者不希望将这些信息暴露给第三方。与x m ls i g n a t u r e s 一样,对x m l 文 档进行加密的技术和标准已经存在。但x m le n c r y p t i o n 规范提供了更高级的加 密标准,而且针对x m l 文档的结构提供了一些有用的功能。 ( 6 ) 安全声明标记语言( s a m l ) 。w e b 方便了服务器将用户请求转发到 其他资源。当用户必须对每个资源证明他的身份和获得访问权限时,这很不方 便。s a m l 通过提供一个标准的协议允许单一登录的特性,任何资源可以通过 查询引用的服务器来检查用户的身份和访问权限。 ( 7 ) 商业事务协议( b t p ) 。很多应用程序和数据库系统依赖事务的语义, 即要求一组动作要么同时发生,要么一个都不发生。为了在i n t e r n e t 上有效地工 作,这些系统需要一种标准的方式来加强这些事务语义。b t p 提供必要的事务 模型和协议。 1 2 武汉理工大学硕士学位论文 3 1 概述 第3 章基于x m l 的软件模式设计 ( 1 ) x l 咀。本身支持健壮的组件 与任何其他软件技术一样,支持现有的模式的能力可以显著提高系统部署 成功的可能性。幸运的是,x m l 的高度标准化和开放性已经为面向对象和面向 内容的应用程序产生了各种层次的软件模式。 ( 2 ) 必须为核心模式奠定坚实基础 这是支持应用程序开发的核一1 5 , 功能。当

温馨提示

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

评论

0/150

提交评论