(控制理论与控制工程专业论文)基于web+service的电力调度实时通信监控系统的设计与实现.pdf_第1页
(控制理论与控制工程专业论文)基于web+service的电力调度实时通信监控系统的设计与实现.pdf_第2页
(控制理论与控制工程专业论文)基于web+service的电力调度实时通信监控系统的设计与实现.pdf_第3页
(控制理论与控制工程专业论文)基于web+service的电力调度实时通信监控系统的设计与实现.pdf_第4页
(控制理论与控制工程专业论文)基于web+service的电力调度实时通信监控系统的设计与实现.pdf_第5页
已阅读5页,还剩79页未读 继续免费阅读

(控制理论与控制工程专业论文)基于web+service的电力调度实时通信监控系统的设计与实现.pdf.pdf 免费下载

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

文档简介

上海交通大学硕士学位论文 1 基于 w e b s e r v i c e 的电力调度实时通信监控系统的 设计与实现 摘 要 电力调度实时通信网络中承载着多个不兼容应用系统的现实使 得降低各系统间的接口难度在各系统之间实现互操作和有效的信 息交换成为亟需解决的问题web service 致力于实现基于 internet 的互操作具有平台无关网络无关语言无关的特性被誉为下 一代互联网的核心技术本文在电力调度实时通信通用模型的基础 上探讨 web service技术在电力调度实时通信网络中的应用 本文首先介绍了通用信息交换格式xml论述了 xml 的概 念和特性xml 相关的技术和 xml 与数据库的交互方法通用的 通信模型要求有通用的规范的信息交换手段xml web service 完全基于 xml能规范高效的实现基于 internet 的信息交换本 文接下来系统地分析了 xml web service 的概念协议体系技术 构架及其应用集成 通用的电力调度通信模型还要求电力调度实时通信中的各种数据 源能向外界提供统一的数据访问接口本文接下来分析了 ole db 技术体系探讨了 ole db 的编程模型然后针对文件数据源和主 存数据源两种不同的数据格式采用 ole db 技术设计了面向电力 调度实时通信的通用的数据访问接口dbnet provider 上海交通大学硕士学位论文 2 在面向电力调度实时通信的通用数据访问接口的基础上本文接 下来设计了基于 web service的电力调度实时通信监控系统的包括 系统的总体框架数据交互的方案异步实时报警的机制和安全通 信的策略等方面的设计该系统以 xml 作为统一的信息交换格式 以 web service作为信息交换和实现互操作的手段具有平台无关 可扩展性实时性好实现效率高等优点 最后针对电力调度实时通信的实际本文在.net 平台上实现了 该系统该系统经过初步的系统集成测试和互操作试验证实可以 作为电力调度实时通信传输系统的一部分在实际中应用 关键词电力调度实时通信web服务ole db, activex控件 上海交通大学硕士学位论文 3 d e s i g n a n d r e a l i z a t i o n o f p o w e r d i s p a t c h i n g r e a l - t i m e c o m m u n i c a t i o n m o n i t o r i n g s y s t e m b a s e d o n w e b s e r v i c e a b s t r a c t there are many kinds of systems which are not compatible with each other in power dispatching real-time communication, which make it be indispensable to design new methods to realize the exchange of information between them. as a core technology for the next generation network, web service applies itself to realize mutual-operations based on internet, and it has nothing to do with the differences of platforms, networks and programming languages. this paper mainly discusses the possibilities of web services application in the field of power dispatching real-time communication monitoring. firstly, the paper introduces xml, the uniform data exchange format, and web service, the uniform data exchange tool. as far as xml is concerned, its conceptions, characteristics, correlative technologies and integration methods with database are depicted. as to web service, this paper mainly analyses and researches its conceptions, protocols and integrated applications. the common communication models of power dispatching real-time communication demands that different data sources can provide uniform interface to customers. then, the method of design uniform data interfaces by ole db models is discussed in the next part of the paper. as a result a uniform data interface which is oriented to power dispatching real-time communication is designed. in the next part, using above results, power dispatching real-time communication monitoring system based on web service is designed, which includes architectures, solution of data exchange and security strategy. this system has nothing to do with 上海交通大学硕士学位论文 4 platform, and can be realized effectively and expanded conveniently. in the last, considering the factual requirements, the system is realized on .net platform. after integrated system test and mutual-operation test, its proved that the system can be used in power dispatching as a part of real-time communication systems. key words: power dispatching real-time communication, web service, ole db, activex control 1 上海交通大学 学位论文原创性声明 本人郑重声明所呈交的学位论文是本人在导师的指导下 独立进行研究工作所取得的成果除文中已经注明引用的内容外 本论文不包含任何其他个人或集体已经发表或撰写过的作品成果 对本文的研究做出重要贡献的个人和集体均已在文中以明确方式 标明本人完全意识到本声明的法律结果由本人承担 学位论文作者签名唐剑锋 日期2005 年 1 月 13 日 2 上海交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留使用学位论文的规 定同意学校保留并向国家有关部门或机构送交论文的复印件和电 子版允许论文被查阅和借阅本人授权上海交通大学可以将本学 位论文的全部或部分内容编入有关数据库进行检索可以采用影 印缩印或扫描等复制手段保存和汇编本学位论文 保密在 年解密后适用本授权书 本学位论文属于 不保密 请在以上方框内打 学位论文作者签名唐剑锋 指导教师签名张卫东 日期2005 年 1 月 13 日 日期2005 年 1 月 13 日 上海交通大学硕士学位论文 1 第一章 绪论 1 . 1 引言 电力调度实时通信网络是电力生产实时信息传输的网络网络传输的主要 信息是电力调度实时数据生产管理数据通信监测数据等是电力行业信息 化的重要支撑平台是电力指挥安全生产和调度自动化的重要基础在协调电 力系统发送变配用电等组成部分的联合运转及保证电网安全经济 稳定可靠的运行方面发挥关键的作用1 目前业务系统的不断发展对电力调度实时通信网络提出更高要求随着 电网调度技术不断发展通信网络承载的业务也在不断发展为保证电网安全 优质和经济地运行以及电力市场的有序运行电力调度通信中心可能同时运行 有多个应用系统例如能量管理系统ems电能量计费系统调度生产管理 系统配电管理系统dms和电力市场技术支持系统等每个系统中可能同 时包括了多个应用例如 ems包括 scada,agc网络分析和 dts 等应用2 这些系统应用存在如下需求 1) 需要交换共享信息包括实时信息和非实时信息 2) 来源于不同的提供商系统之间需要异构和互操作 3) 由于需要不断扩展新的应用和系统应该尽量降低接口的难度和成本 多个关键系统在同一数据网络承载使得保证不同业务系统间的有效隔离, 保证业务系统的安全可靠以及保证数据交换的实时性和主动性成为调度数据 网建设的重要要求 传统的 web远程信息监控技术中基于 tcp/ip 专有通信协议的监控系统在 通用性开放性 可扩展性等方面有所不足且实现复杂 难度大 而采用 http 协议构建的传统的基于 browse/server 模式的 web 远程监控系统则有实时性差 功能不够强大以及数据交换的安全性较差等方面的缺陷3在此背景下构建新 的电力调度实时通信监控系统应能综合考虑以上问题 web service 能够在不同系统之间用软件软件对话的方式相互调用 打破了软件应用网络应用和各种设备之间的格格不入的状态实现了基于 上海交通大学硕士学位论文 2 web的无缝集成与基于组件的分布式计算相比其标准化构建具有平台无关 网络无关语言无关等优点其所提供的松散耦合构架具有良好的接口特性 互操作性可靠的安全性及极高的实现效率4因此使用 web service 技术开 发电力调度实时通信监控系统有着技术的优势和良好的应用前景 1 . 2 通用电力调度实时通信模型 目前电力调度实时通信系统软硬件差别很大不同平台不同语言之间的 差异造成不同软件系统之间信息交换无法透明地进行因此在建立通用的电 力调度实时通信模型大力发展构件式系统设计中必须首先解决信息交换的 格式和信息交换的方式的问题5 1 . 2 . 1 x m l 与信息交换 xml 可以为信息交换提供统一的格式在电力调度实时通信中各种系统 软硬件差别很大不同平台不同语言之间的差异造成不同软件系统之间信息交 换无法透明地进行给信息的有效使用带来了障碍xml 具有到目前为止其他 方法所不具备的数据描述特点控制信息不是采用应用软件的独有形式而是 采用谁都可以看得懂的标记形式来表现所以 xml 最适合作为数据交换的标 准成为信息交换的主流格式和有效工具使用 xml 可以描述所有电力调度 实时通信系统中的对象xml 可以生成一个文件来交换所需数据的一部分或全 部这样就比较方便地解决了不同应用间不同系统间的数据交换的问题6 各个电力调度通信数据系统应用内部可以有各自的信息描述但只要在应用程 序或构件的接口在语义级别上基于公共的格式不同厂商开发的应用程序 或不同系统的应用软件间就可以以同样的方式访问公共数据实现正确有效 的信息交换 1 . 2 . 2 面向电力调度实时通信的通用数据访问接口 通用的数据访问接口是通用电力调度实时通信模型的基本要求通用的通 信模型允许个系统内部有自己的不同表达和定义但是要求各系统在与外界通 信时能够符合统一模型电力调度数据通信中数据源是多样化的除各种商用 上海交通大学硕士学位论文 3 数据库如 ms sql serveroracleaccess外还有实时数据库内 存源数据库以及通信中转发的文本量数据是一些静态参数采用的是文件传 送方式一方面客户仍然需要经常访问这些文件源数据但是又不希望为此更 改已有的数据访问应用程序而是希望多样的数据源能够提供通用的数据接口 以降低数据访问者与数据提供者之间的耦合程度使系统更具有通用性可扩 展性以及异构能力 降低数据访问者与数据源之间耦合程度的最好方法就是要使客户程序在网 络上以统一格式的接口访问数据源odbcopen database connectivity开放 数据库连接)是这方面的第一次尝试它基于 sql使得很多数据库开发者都很 熟悉它的调用层接口支持的功能很丰富它的插件模型简化了数据库驱动的 实现由于这些优点它获得了广泛的应用成为数据访问事实上的工业标准 但是odbc 标准的对象是基于 sql 的数据源而 ole db的对象则是范围更 为广泛的任何数据存储 从这个意义上说 符合 odbc 标准的数据源是符合 ole db标准的数据存储的子集7符合 odbc 标准的数据源要符合 ole db标准 还必须提供相应的 ole db 服务程序service provider如为使 sql server符 合 odbc 标准必须提供 sql server odbc 驱动程序鉴于此微软已经为所 有的 odbc 数据源提供了一个统一的 ole db服务程序叫做 odbc ole db provider 不管是文件源数据还是内存源数据都是电力调度实时通信系统中的格 式客户程序希望以与通用数据库如 sql server相似的方式来访问数据 因此需要为他们提供通用的数据接口基于电力调度实时通信系统中数据源的 多样性考虑采用 ole db 技术更有优势本文将探讨面向电力调度实时通信 的通用数据访问接口的设计方法 1 . 3 基于 w e b s e r v i c e 的电力调度实时通信监控平台 在通用的电力调度实时通信模型中 xml提供了统一的数据交换格式 ole db提供了统一的数据访问接口接下来的问题就是寻求规范统一的信息交换 手段 web serviceweb 服务是近几年出现的一种新技术它被定义为独立于 上海交通大学硕士学位论文 4 平台的方式通过标准的 web 协议可以由程序访问的软件组件8与基于组 件的分布式计算相比具有平台无关网络无关语言无关等优点其所提供 的松散耦合构架具有良好的互操作性可靠的安全性及极高的实现效率 web service 的基础是 xml其核心技术包括 soapwsdluddi 等 web service 是在 internet 上进行分布式计算的基本构造块开放的标准以及对 用户和应用程序之间的通信和协作的关注产生了这样一种环境在这种环境下 web service 成为应用程序集成的平台应用程序是通过使用多个不同来源的 web service 构造而成的这些服务相互协同工作而不管它们位于何处或者如 何实现 web service 体系结构的主要优点之一是允许在不同平台上以不同语言 编写的各种程序以基于标准的方式相互通信另一大优点是使用标准的 web 协 议如 xmlhttp 和 soap 等这些协议具有很高的通用性目前许多公司 都已经建立了 web 基础结构同时它们的员工在维护方面也都具备相应的知 识和经验因此采用 web service 技术构建电力调度实时信息监控系统除具 有平台无关网络无关语言无关等优点以外与引入以前的技术相比还具 有其成本要低得多 web service 不失为一个信息交换的有效手段在电力调度实时通信中使用 web service 是个明智的选择基于 web service 的电力调度实时通信监控系统 以 xml为统一的信息交换格式以 web service 作为信息交换的手段通过设 计好的通用的面向电力调度实时通信的数据访问接口进行实时数据的交换以 此构建与以往系统接口良好的可扩展的基于 web 的实时通信监控平台本文 的主要任务将是设计并实现基于 web service的电力调度实时通信监控系统 1 . 4 本文的主要内容及组织结构 本文的研究对象是电力调度实时通信监控系统探讨 web service技术构架 及其在电力调度实时通信系统中的应用主要的进行了两个方面的工作 1 为多样化的数据源设计面向电力调度实时通信的通用的数据访问接口 dbnet provider 2 探讨 web service 在电力调度实时通信中的互操作和集成应用设计并 上海交通大学硕士学位论文 5 实现基于 web service 的电力调度实时通信监控系统 全文组织结构如下 1 第二章概要的介绍了统一的信息交换格式xml 和信息交换手段 web service 首先论述了 xml的概念和特性 xml相关的技术和xml 与数据库的交互然后以探讨了 xml web service 的概念协议体系及 其技术构架 2 第三章分析了 ole db 的技术体系探讨了 ole db的编程模型然后 针对文件数据源和主存数据源两种不同的数据格式设计了面向电力调 度实时通信的通用数据访问接口dbnet provider 3 第四章主要论述了基于 web service 的实时通信监控系统的设计原理 包括系统的总体框架设计数据交互方案设计和安全通信策略设计 4 第五章针对电力调度实时通信的实际需求首先实现了面向电力调度实 时通信的通用数据访问接口dbnet provider然后在.net 平台上 实现了基于 web service的电力调度实时信息监控系统应用 5 第六章是全文工作的总结和未来工作的展望 上海交通大学硕士学位论文 6 第二章 x m l 与 w e b s e r v i c e 概述 随着互联网的迅猛发展和普及人们可以通过计算机与互联网联接从世 界各地实时的接收和发送大量最新的信息但在信息交换的过程中存在着一 个突出的问题就是数据格式多种多样同样在电力调度实时通信系统中电 力调度信息系统软硬件差别很大不同平台不同语言之间的差异造成不同软件 系统之间信息交换无法透明地进行给信息的有效使用带来了障碍因此在 大力发展构件式系统设计中必须首先解决信息交换的格式和信息交换的手段 问题 xml 正以其自身的特性和优势结构化扩展性自描述性自相容性 等点成为信息交换的主流格式和有效工具web service 是近几年才出现的一 种新技术作为一种创建可互操作的分布式应用程序的新平台web service 可 以实现不同异构系统间的互操作 2 . 1 x m l 概述 xml 是至今为止最聪明的一种符号化语言它能有效的在网络上电子数据 交换给数据交换带来了一场革命成为下一代网络发展的基石 2 . 1 . 1 x m l 的概念与特性 一 xml的产生背景 xml 可扩展标识语言 有两个先驱sgml(标准通用标记语言)和 html 超文本标识语言都是非常成功的标记语言其中 sgml 是一种通用的文 档结构描述符号化语言主要用来定义文献模型的逻辑和物理类结构一个 sgml 语言由语法定义dtddefinition type document文件类型定义文 件实例三部分组成sgml 为语法标识提供了异常强大的工具同时具有极好 的扩展性但是 sgml 非常复杂其复杂程度对于网络上的日常应用简直不可 思议此外sgml还非常昂贵 随后出现的 html 是一个非常简单的 sgml 语言实例以其简单性获得了 广泛的支持但是它丧失了 sgml 的强大的功能和良好的可扩展性从 1996 上海交通大学硕士学位论文 7 年人们开始致力于描述一个置标语言它既具有 sgml 的强大功能和良好的可 扩展性同时又具有 html的简单性w3c于 1998 年 2 月批准了 xml的 1.0 版本9一个崭新而大有前途的语言诞生了 二 xml的概念 1 xml的定义 xml 是 sgml 的子集,也是一种元语言它包含一组基本规则语义标 记的规则标记将文档分成许多部件并对这些部件加以标识任何人可以利用 这种规则创建针对特定领域的标记语言xml 与 html 的主要差别是标记 不是描述信息的显示方式,而是描述信息本身即 html 是一种表示语言而 xml是一种描述语言 xml 并非像 html 那样提供了一组事先已经定义好了的标签xml 是 一种源置标语言提供了一个标准利用这个标准你可以根据实际需要定义 自己的新的标识语言并为你的这个标识语言规定它特有的一套标签这也是 xml 目前在各个领域获得广泛支持和应用的原因如电力调度实时通信中的 generator类可以用图 2-1中的一套 xml标志描述 2 xml文档的有效性 完整的 xml描述包括数据文件和模式文件dtd或 xsd数据文件记 录了具体的元数据信息而模式文件则规定了 xml数据应遵守的格式符合 ? xml version=“1.0” encoding=“gb2312”? generatorlist generator generatorid发电机的 idgeneratorid generatormodel发电机型号generatormodel manufactory制造商manufactory generatortype发电机类型generatortype ratingpower额定功率ratingpower ratinggasconsumption额定耗汽量ratinggasconsumption ratingrotatespeed额定转速ratingrotatespeed generator generatorlist 图 2 - 1 g e n e r a t o r 类的 x m l 描述文档 f i g u r e 2 - 1 t h e x m l d e s c r i p t i o n o f g e n e r a t o r c l a s s 上海交通大学硕士学位论文 8 基本标记规则的 xml 文档被称为格式正确文档但是 xml文档只有符合模 式如 dtd中的定义的规则时才能被称为有效文档10 3 xml文档的类型 在数据处理环境中通常要区分面向文档的 xml 和面向数据的 xml面 向文档心的 xml 表示的数据更多地针对可读性结构更灵活混合内容很多 大多数 web页信件以及在 xml 中编写地其它文档都属于这种情况在面向 文档的 xml中我们可能对 xml 实例本身感兴趣包括构造文档的方式它 的注释实体的用途等11 面向数据的 xml 具有非常严格的结构通常包含由属性组成的相似对象集 合的 xml 表示在这种类型的文档中通常只有在叶子元素中看到 pcdata 节很少看到混合内容在面向数据的 xml 中我们主要关心文档内部的数 据需要数据库的大多数应用程序都严重依赖于面向数据的 xml其中的关键 因素是有效处理大量非常精确的数据因此本文主要讨论面向数据的 xml 与 数据库之间传输数据所需要的工具和技术 三 xml的特性 xml 被誉为下一代网络上的数据语言它在采用简单柔性的标准化格式 表达和应用程序间交换数据方面迈出了一大步xml 的一大优点在于将用户 界面(xsl 指定显示格式) 和结构化数据(xml 文档内容) 相分离,允许不同来源 的数据无缝集成以及对同一数据的多种处理,如对同一数据内容可以有多种视图 12 既满足不同用户的需求又保证了数据的安全性从数据描述语言的角度 看,xml 是灵活的可扩展的有良好的结构和约束比传统数据库模型有更 加强大的描述能力从数据处理的角度看,它足够简单且易于阅读,同时又易于被 应用程序处理概括而言xml 有三大特性分别是结构化自描述可扩 展 1 可扩展 xml 的一个中心特性就体现在它的名字中 可扩展性extensible也 被称为可扩展或可定制的能力可扩展性一直是 html的弱点由于 html被 定义成一套固定的标签集人们不可能增加新的标签而又不破坏 html 标准 上海交通大学硕士学位论文 9 但现在 web页面需要表达的内容越来越丰富而复杂标准 html规定的标签远 远不能满足页面设计的需要为了解决标准 html 目前的限制并且考虑到未来 web 页面发展的需要就要求新的页面标签具有可扩展性能够创建新的标签 在 xml 中标签是由模式dtd 或者 xml schema定义的正是它定义了 在一个文件的结构中允许有什么样的应用例如浏览器检索数据库打印 引擎等 2 结构化 xml是一种极端标准化的语言规范首先xml文件可以利用模式来定义 格式模式是一个用来定义 xml 文件的语法句法和数据结构的标准它可 以定义每一个你所声明的元素时是必需的可选的还是有条件的以及可允许 的属性值的范围是否有所限制是否有一个缺省值或者是否允许有空标记等 其次xml带有一个 xml语法分析器xml语法分析器使用模式文件来验证 一个 xml 文档是否正确有效这种验证不允许有任何形式的变通即使是 一个小错误也会导致整个文件通不过 xml语法分析器的检查 这些格式严格的数据结构的很有好处其一用户可以很容易将文件的属 性映射到数据结构或对象分级结构中这就使不同系统之间来回传输文件变得 很可靠也使用户可以使用结构化的 xml 文件作为一种中介体让数据在两种 数据库之间灵活地进行转移也就是说人们得到了一种从文件中检索信息的 可靠方法这也就是人们所熟悉的语法分析其二各种格式的 xml 文件都 可以被机器识别允许机器能够识别各种格式的 xml 页面就可以让不同的站 点之间自动共享不同格式的数据使用模式用户甚至可以通过一个共同的描 述连接不同格式的数据 3 自描述 并没有任何要求规定 xml 文件必须是可以自描述的只要求是结构化的就 可以但带有自描述可以增强 web 的检索功能和可读性这些描述被称作“元 数据metadata”13它们可以包括有关一个文件的信息如安全谁可以阅读 它阅读范围文件内容文件是用什么语言写的作者是谁以及关于这个文 件的其它任何信息虽然 html 也有一个类似的增加元数据的功能但是它未 能很好地对交换不同元数据属性的格式进行定义 上海交通大学硕士学位论文 10 元数据的存在可以大大增强 web 的检索和导航功能通常普通的 html 完 成这样一个查询过程是非常复杂的但有了 xml 后 web 页面就可以自动完成 这一系列的查询过程元数据的出现使得使用软件代理变得更加简单代理这 个词在计算机方面应用得非常广人们对它的理解也不尽统一这里所描述的 代理是指一个能够从网络上的多台机器中根据用户的需要搜集信息的一个有线 程对象工具通常代理都被认为是智能的可移动的或者是个人化的 xml 元数据允许一个代理变得更加个人化由于它能够访问数据的描述这些 描述将有助于代理找到它所需要的信息 2 . 1 . 2 x m l 主要相关技术 尽管 xml具备了作为通用数据描述语言的优秀特征但是 xml 不是编程 语言说到底它是一种数据描述的技术因此 xml 文件的显示文件结构的 变更 应用程序的操作等xml相关技术也是非常重要的 在使用 xml数据时, 不 管是电子商务还是知识管理都是定义 xml数据结构的技术显示打印 xml 数据的技术xml 数据结构变更技术xml 数据联接整合技术用程序操作 xml树的 api和其它应用技术的组合 一 定义 xml数据结构的技术 在 xml 中用户可以自由的定义标记名以及与标记相关的元素及元素层次 这是 xml 的主要特征但是如果定义的都是只有自己才能理解的标记就 无法与其他人进行交换数据为了在企业团体之间进行 xml 格式的数据的交 换xml 数据的结构元素的名称元素的数据类型以及元素的亲子关系都需 要仔细考虑一定要设计成人和系统能够理解的语言这样设计的 xml 数据 结构在 xml领域称为 schema模式描述 schema 的语言称为 schema 语言 目前有两种 xml的模式语言分别是 dtd和 xml schema 1 dtd 最普通 xml的 schema 语言是 dtddocument type definition文档类型 定义dtd是远在 sgml时期就一直使用的 schema 语言1998 年制订 xml 语法时沿用了描述 schema 的 dtddtd 是一套关于标记符的语法规则规 上海交通大学硕士学位论文 11 定了语法分析器解释所有细节9它可以是 xml 文档的一部分但通常是一份 单独的或一系列的文档想使用 xml 进行数据交换的行业或组织可定义自己 的 dtd图 2-2为定义图 2-1xml结构的 dtd文档 2 xml schema 在 xml中所谓的“dtd”就是 schema 文件dtd 描述的 schema 应用非 常广泛但是随着 xml的应用的发展从 sgml 继承下来的 dtd 显然有许 多不足的地方 为了解决这些问题 w3c制订了 schema语言 xml schema xml schema 实际上也是 xml的一种应用就是将 dtd重新按照 xml语言规范来 定义这充分体现了 xml自描述性的特点xml schema 中有下述 dtd 中不 具备的特征多个 schema 复合使用 xml 名字空间用 xml 语法描述可以 详细定义元素的内容及属性值的数据类型但是由于在 xml schema 中的数据 结构也都是用 xml数据来表现的与 dtd相比数据量增大很多xml schema 于 2001年 5月成为 w3c的推荐规范14对 xml的应用产生了重要的影响 ? xml version=“1.0” encoding=“gb2312”? !element generatorlist (generator)* !element generator (generatorid,generatormodel, manufactory, generatortype, ratingpower, ratinggasconsumption, ratingrotatespeed) !element generatorid (#pcdata) !element generatormodel (#pcdata) !element manufactory (#pcdata) !element generatortype (#pcdata) !element ratingpower (#pcdata) !element ratinggasconsumption (#pcdata) !element ratinggasconsumption (#pcdata) !element ratingrotatespeed (#pcdata) 图 2 - 2 g e n e r a t o r 类 x m l 描述的 d t d 定义 f i g u r e 2 - 2 t h e d t d d e f i n i t i o n f o r x m l d e s c r i p t i o n o f g e n e r a t o r c l a s s 上海交通大学硕士学位论文 12 二 显示和打印 xml数据的技术 xml数据定义的表现打印显示排版主要有以下 3种方法 1 用 css定义打印和显示排版信息 css 指定文件排版信息的数据称为样式表 描述 html样式表的语言是css cascading style sheet这里介绍的是使用 css来浏览打印 xml数据的方 法具体来讲 css是给 html的每个标记元素指定排版信息同样也可以用来 给 xml的标记元素定义显示排版方法css 不能改变 xml的结构只能在简 单的定义排版信息的时候使用 2 用 xslt转换到 html进行显示和打印 xsltextensible stylesheet language transformations是一种改变 xml数 据结构的语言的方法使用 xslt可以改变 xml 元素名属性名元素层次 结构等根据 xslt 的指定可以将 xml 的元素转换为 html 元素则可以 是用浏览器浏览在这种用浏览器显示 xml数据的方法是最常用的方法 3 用 xslt转换成 xsl的 fo(formatter object) 进行显示和打印12 xslextensible stylesheet language是用 xml 描述的文件它是一种可 以详细描述商用印刷排版水平的规范xsl排版信息的定义用 xsl指定排版 信息的方法由 2 步组成将要打印显示的原 xml 树进行结构变换追加排 版信息生成新的树结构xsl-fo 树将这个新树传递给 xsl-fo 对应的打印 和显示引擎进行相应的操作 三 xml数据结构的转换技术 在 xml的应用中有的 xml 数据需要转换到其他结构的 xml 数据为 此 w3c制订了描述标准化的 xml数据结构转换规则的语言 xsltxslt 是为 显示和打印 xml而从 xsl 规范独立出来的规范原本是描述排版信息的语 言因此用 xslt 制作的程序称为样式表但是xslt 也可以用于排版以外 的各种用途 例如使用了不同 schema标记集合的企业团体之间交换 xml 数据时 需要将使用了各公司独自数据格式的 xml 数据向双方系统共同采用的业界标 准格式结构转换以后才可能进行数据交换在 xslt 中不仅描述了转换规则 上海交通大学硕士学位论文 13 结构转换还可以交给 xslt 样式表的执行引擎xslt processor 16 为了跨过 业界之间的障碍实现数据交换其它文件格式的数据交换也会经常发生尽管 如此结构转换时如果利用 xslt可以不更改程序而只改变样式表就可以了 2 . 1 . 3 x m l 文档的处理方法 xml parser(解析器)是处理 xml文档的工具一个 xml parser是一段可以 读入一个文档并分析其结构的代码通常而言使用一个解析器处理 xml 需 要如下步骤 1) 创建一个解析器对象 2) 将您的 xml 文档传递给解析器 3) 处理结果 有两种处理 xml文档的方法dom和 sax 1domdocument object model文档对象模型是 w3c 正式推荐的17 它定义了一个接口使得程序可以存取和更新 xml 文档的风格结构和内容 支持dom的xml解析器实现该接口 当您用一个dom解析器来解析一个xml 文档时您将获得一个包含文档中所有元素的树结构dom 提供了不同的功 能来检查文档的内容和结构 2sax apisimple api for xml是另一种处理 xml文档内容的方法18 它是一个既成事实的标准它由 david megginson和 xml-dev邮件列表其它成 员所开发当您使用 sax解析器来解析 xml文档时解析器在文档的不同处 将产生事件由您来决定对每个事件如何处理sax 解析器会在以下情况下产 生事件在文档开始和结束时在一个元素开始和结束时或者它在一个元素 中找到字符时以及其它若干点您可编写代码来处理每个事件以及处理从 解析器获得的信息 2 . 1 . 4 x m l 与数据库结合 在许多方面看起来它和其他文件没什么区别每个文件都含有某种类型的 数据如果仅按数据库这个术语的本质来看xml 文件就是数据库它是数据 的集合 上海交通大学硕士学位论文 14 一 xml与数据库比较 作为一种数据库格式xml 有一些优势例如它是自描述的所用 的标记描述了数据的结构和类型尽管缺乏语义可交换的 (portable) unicode能够以树型或图形结构描述数据19同样它也有缺点例如它 显得有些繁琐由于要对它进行解析和文本转换所以数据访问速度较慢 xml 与传统数据库技术比较如下表 因此一方面在数据互操作和语义学方面xml 特别有用它提供了一 种在分层文档中表示数据和元数据的简单而可移植的方面另一方面在存储 和有效检索大量数据时数据库特别有用在创建处理大量数据的任何应用程 序时 继续将纯 xml文档作为持久机制的想法越来越不可行 而两种技术 xml 和数据库的结合是非常有必要的这种结合可以采取许多不同的形式取决 于 xml文档的类型xml文档与数据库的耦合程度等20 二 xml数据的加载 可以直接使用 dom 或者 sax 方案通过编程的方法加载 xml 数据也可 以利用一些通用的数据库编程接口如 ado/ado.net来实现该操作把 xml 数据库xml 数据有结构半结构 模型网状关系面向对象半结构化图或树状结构 模式数据目录系统数据字典dtdxml schema 显示样式简单丰富由 xsl指定 查询语言sqlxml sql 类 sql 查询规范完备完备 数据更新完全支持代理软件支持 事务支持尚不支持 使用面向应用面向应用面向人 表 2 - 3 x m l 与传统数据库技术比较 t a b l e 2 - 3 c o m p a r e s x m l w i t h d a t a b a s e t e c h n o l o g i e s 上海交通大学硕士学位论文 15 数据加载到一个关系型或面向对象的数据库数据库中需考虑两个方面问 题语义上的问题和技术上的问题 语义上的问题是怎样把xml的语义映射为合适的关系语义21例如 把xml 中的个人元素类型映射为数据库中的个人表当 xml 设计与现有的关系型数 据库一起考虑时那么映射就该是直接的在 xml 文档中还可能存在一些标 记不需要把它们映射为关系型数据库中的任何概念这些数据可以忽略或 者可能把关系型数据库修改为合适的数据库当 xml 与关系型语义发生部分 重叠时把 xml 映射到一个关系型模式的过程中会有些困难一般来说语 义问题类似与多个数据库的集成问题 技术上的问题是怎样把层次结构的 xml 数据映射为平面关系在理解特定 的语义映射后仍然需要平面化 xml数据以便把他们存储在关系中 三 xml数据的生成 有多种方法可以从关系型数据中生成 xml文档下面列出四种方法 1 使用普通的 odbc 或者 ole db 使用普通的 odbc 或者 ole db 等方法选择出所需的数据库记录再转换 为可处理的 xml文档这是从数据库存取 xml 文档最基本的方法与传统的 数据库存取区别仅在于应用要将 select得到的记录再转化为 xml格式的数据 这种方式的通用性好几乎适用于任何数据库的 xml 存取不过由于多了一 个步骤因此在效率上会有一定影响 2 使用支持 xml的通用数据库编程接口如 ado.net访问常规数据库 由于 xml与数据库数据都具有规范化结构因此可以使用 xml 作为数据 库信息传递的载体并在通用数据库编程接口添加支持 xml 的特性此时可 以直接将 select出的记录集导出为一 xml文档也可以将 xml文档视为一个 数据源访问不过由于该 xml 文档是自动导出的所以会丢失一些相关的约 束信息如 dtd/schema兄弟元素的排列顺序等而且由于保存的 xml文件 中自动包含许多关于数据库字段的描述信息因此文档通常会较冗长 3 通过 jdbc 等数据库接口扩展 saxdom接口以直接访问数据库22 我们知道 saxdom 等接口是面向 xml 文档处理的sax 是基于事件 上海交通大学硕士学位论文 16 的而 dom 基于节点树二者都需要数据源以 sax 为例由于 xml 与数据 库的相似性因此我们可以将数据库视为虚拟的 xml 文档并对其进行操作 而通过扩展 sax编程接口的方法还可以间接使用 dom接口访问数据库数据 此时在内存中新建一个 document 对象并通过 org.xml.sax.paser 接口遍历数据 库表将返回的 xml节点添加到 dom 树中应用可以直接对此 dom 对象树 进行操作或保存为 xml文件 与前两种方法相比此方法在效率通用性灵活性上都可以满足应用需 求尤其在仅使用 sax 处理大的 xml 文档时可以大大减少数据的传输转换 时间不过由于需要重载添加 sax 等编程接口中的部分方法因此会增加编 程的复杂度 23 4 使用特殊工具访问一个 xml-enabled 数据库 主流的大型数据库对 xml 支持的程度及技术各不相同各种技术之间大 多并不兼容 以 sql server 2000为例 通过在 iis的 xml支持工具 sql server 2000 自带需先安装 iis中为 sql server 数据库建立虚拟目录便可以使用 xml-http 协议访问数据库并返回 xml数据 2 . 2 w e b s e r v i c e 的概述 web service作为一种创建可互操作的分布式应用程序的新平台可以使用 标准的互联网协议像超文本传输协议 http 和 xml/soap将功能体现在互 联网和企业内部网上从表面上看web service 就是一个应用程序它向外界 暴露出一个能够通过 web进行调用的 api你能够用编程的方法通过 web调 用来实现某个功能的应用程序从深层次上看web service 是一种新的 web 应用程序分支它们是自包含自描述模块化的应用可以在网络中被描述 发布查找以及通过 web来调用24 上海交通大学硕士学位论文 17 2 . 2 . 1 w e b s e r v i c e 的概念 一 web service的定义 作为一种新兴的技术定义web service有多种定义列举如下 1 定义 1web service是自包含的模块化的应用程序它可以在网络通 常为 web中被描述发布查找以及调用 2 定义 2web service 是基于网络的分布式的模块化组件它执行特定 的任务遵守具体的技术规范这些规范使得 web service 能与其他兼 容的组件进行互操作 3 定义 3所谓 web service它是指由企业发布的完成其特别商务需求的 在线应用服务其他公司或应用软件能够通过 internet 来访问并使用这 项应用服务 二 web service的特征 web service 的主要目标是跨平台的互操作 为了达到这一目标 web service 完全基于 xml xsd等独立于平台 并且独立于软件供应商的标准 web service 适用于应用程序集成b2b 集成代码和数据重用以及通过 web 进行客户端 和服务器的通信的场合24相比于其

温馨提示

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

评论

0/150

提交评论