Web服务及项目开发环境毕业论文.doc_第1页
Web服务及项目开发环境毕业论文.doc_第2页
Web服务及项目开发环境毕业论文.doc_第3页
Web服务及项目开发环境毕业论文.doc_第4页
Web服务及项目开发环境毕业论文.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

Web 服务及项目开发环境毕业论文服务及项目开发环境毕业论文 目录目录 1绪论绪论 6 1 1 1课题背景和意义 6 1 2国内外研究状况 8 1 3论文的主要内容和结构 11 2WEB 服务及项目开发环境介绍服务及项目开发环境介绍 12 2 1WEB服务体系架构 12 2 1 1Web 服务角色 13 2 1 2Web 服务行为 13 2 1 3Web 服务示例 13 2 1 4Web 服务协议栈 14 2 1 5Web 服务规范 15 2 1 6Web 服务技术的基石 16 2 1 7调用 Web 服务 17 2 2描述 WEB服务 21 2 3注册发布 WEB服务 24 2 4WEB服务的安全 25 2 5WEB服务的开发生命周期 26 2 6WEB服务开发工具和平台 27 2 7小结 27 3在线房屋交易平台的设计在线房屋交易平台的设计 29 3 1目前的解决方案及缺陷 29 3 2WEB服务的优势 30 3 3在线房屋交易平台需求分析 31 3 3 1在线房屋交易平台技术需求分析 31 3 3 2在线房屋交易平台页面需求分析 33 3 4在线房屋交易平台 WEB建模 35 3 4 1用例建模 35 3 4 2建立结构模型 37 3 4 3建立行为模型 37 1 3 5在线房屋交易平台总体设计 40 3 6小结 41 4在线房屋交易平台的实现在线房屋交易平台的实现 42 4 1物业信息 WEB服务实现 42 4 2在线房屋交易平台实现 44 提高代码重用性 45 提高可扩充性 45 总结与展望总结与展望 57 4 3全文总结 57 4 4工作展望 57 致致 谢谢 58 参考文献参考文献 58 1绪论绪论 1 1 1课题背景和意义课题背景和意义 近年来 全国各地如雨后春笋般地出现了很多二手房中介商 他们主 要为买卖租赁二手房的人们服务 通过提取一定酬金来进行盈利 由于房 产交易属于大宗买卖 所以这些中介商获利颇丰 从而吸引越来越多的人 进入这个行业 房产中介从一开始就采取了店铺式的门面形式 采用纸和笔的数据保 存方法 这种方法的弊端显而易见 首先是信息的非标准性 不同的业务 员记录的格式都不一样 容易产生错误和纰漏 引起损失和纠纷 然后就 是信息的易失性 对于纸质的纪录 非常容易发生不可还原的损坏 造成 企业的损失 再者就是信息的不可复制性 对于大量的业务数据 如果制 作备份或副本将会是一件浩大而繁琐的工程 处理不当就会影响企业的稳 步发展 借助计算机和 Internet 房产中介公司找到了暂时解决的办法 他们利 用运行在桌面的计算机来作为公司日常业务所产生文档的保存地方和处理 中心 利用建立自己公司的网站来进行宣传和业务处理 但是 简单的一个桌面管理系统或是一个信息发布网站已经无法满足 房产交易的需求 因为房产交易市场的日益透明化 规范化 整个行业进 入了激烈的竞争 随着房产中介的业务越来越大 信息越来越多 各种复 杂的应用程序和历史遗留数据给房产中介带来了很高的维护费用和更新代 价 如图 1 1 所示 3 公司数据 保存在桌面应 用程序 公司数据保 存在纸质文件 公司数据 保存在 Web 页 面 公司数据保 存为其他的形式 中介公 司数据 图 4 1 中介公司数据访问示意图 比起实时变化的房产信息 一些物业小区的信息相对固定且具有持久 性 对于同一区域的不同房产中介公司来说 重复录入物业小区的资料浪 费了很多人力 物力和财力 而且不同的房产交易平台在信息的准确性和 实时性上也参差不齐 有时甚至会误导客户 房产中介公司和购房者对统 一规范的物业信息的需求愈来愈大 通过 Web 服务解决这个问题也就自然 而然成了本文的研究目标 Web 服务就是通过 Web 提供的服务 按照 W3C 的定义 Web 服务是 一种通过统一资源指示符 URI 标识的软件应用 其接口及绑定形式可 通过 XML 标准定义 描述和检索 Web 服务能够通过 XML 消息及 Internet 协议 如 HTTP 完成与其他软件应用的直接交互 Web 服务的主 要目标就是在现有的各种异构平台的基础上构筑一个通用的与平台无关 与语言无关的技术层 各种不同平台之上的应用依靠这个技术层实施彼此 的连接和集成 简单来说 Web 服务就是一个向外界暴露出的能够通过 Internet 进行 调用的 API 或者应用程序 对于外部的 Web 服务使用者而言 Web 服务 实际上是一种部署在 Web 上的对象或者组件 它具有以下特征 良好的封 装性 松散耦合 使用标准协议规范 高度可集成能力 1 Web 服务这些特征决定了它是适合解决目前获取统一规范的物业信息 的最佳途径 不论房产中介自身的应用平台是桌面应用程序还是网站 都 可以使用标准的方法从 Web 服务获取最新最准确的物业信息 并应用到自 己的系统中 1 2国内外研究状况 自从 2000 年 6 月 Web 服务被 Ariba IBM 和 Microsoft 正式提出以 来 它一直是学术界 工业界讨论的焦点和研究的重点 特别是随着面向 服务的体系结构 SOA 技术和 Grid 技术的发展和应用的普及 作为其基 础的 Web 服务也得到普遍重视 其重要标志是目前国际上已经形成了每年 召开的 IEEE International Conference on Web Services ICWS 和 IEEE International Conference on Services Computing SCC 两个主要国际会议 以及各种有关的 Web 与 Grid 应用 分布式计算等会议上 都有涉及 Web 服务的专题 同时 国际上也已经发行了 International Journal of Web services Research IJWSR International Journal on Web Services Practices IJWSP SOA WEB SERVICES JOURNAL 等针对 Web 服 务的期刊 国外许多大的国际组织和企业 公司 如 IBM Microsoft VeriSign W3C RSA EBA IETF OASIS SUN H P 等 都在致力于研究和开发有关 Web 服务的各种标准 协议和应用产品 这些都极大地推动了 Web 服务技术的应用和发展 2 Web 服务作为一种分布式计算模型 是 Web 上数据和信息集成的有效 机制 在电子商务应用领域 复杂的应用连接和历史遗留的程序代码造成 了电子商务应用过高的维护代价和更新代价 而 Web 服务正好能够解决这 一问题 成为目前应用环境中最为合理的解决方案 随着 Web 应用从集中式向分布式的迅速发展 以提高电子商务系统的 健壮性 高性能计算能力为出发点 为了解决现实 Web 用中 应用到应用 及 点对点 的核心问题 使当前 Web 应用适应全球化和复杂商务处理的 需求 研究并应用 Web 服务技术具有重要的意义 Web 务的基本构架包括 Web 服务提供者 服务请求者和服务代理以及它们之间的通信 XML 格 式的消息传递机制等 正是基于该架构 对 Web 服务核心支撑技术的研究 和应用才得以迅速开展 3 4 同时 学术界对 Web 服务有不同侧面的研究工作和相应的技术成果 例如 语义 Web 在 Web 服务中的应用 5 7 针对 Web 服务应用中的安全及 隐私问题 2 8 Web 服务的服务质量 9 10 Web 服务的组合 11 12 以及以上 几种方面的交叉研究 如基于本体的安全隐私研究 13 14 Web 服务组合的 服务质量研究 15 基于语义 Web 服务自动组合的研究 16 等 在应用领域 有 P2P 环境中的 Web 服务应用 17 网格环境中 Web 服务的研究 18 Web 基础结构的开发和部署 19 分布式并行数据库中 Web 服务的应用 20 等 在实际开发领域 在商业 21 22 23 医药 24 环境 25 政务 26 等领域都有 Web 服务应用的身影 此外 还有一些关于 Web 服务管理系统 27 和 Web 服务模型驱动开发 28 等方面的研究 5 随着软件厂商不断完善 Web 服务相关技术规范 并推出新的产品 越来越 多的企业正受益于 Web 服务 同时 各大技术提供商陆续推出 Web 服务 的构建工具 包括 Microsoft 公司的 Visual Studio NET IBM 公司的 Web Service Toolkit SUN 公司的 SUN ONE 等 基于 Web 服务的公共技术标 准 SOAP WSDL UDDI WSFL 等或是已经成为事实行业标准 或是正 处于制定的过程中 各大技术提供商和传统商业企业都投入到标准的制定 和应用中去 而作为 Web 服务体系架构的领导者的 IBM 公司和 Microsoft 公司也开始在全球推广 Web 服务技术 Web 服务将成为将来动态商务 Web 的主流技术 29 根据经济观察网的报道 2008 年地产中介行业分化将加剧 2002 年北京每成交 4 59 套商品住宅 才成交 1 套二手房 2003 年每成交 4 21 套商品住宅 成交 1 套二手房 2004 年每成交 3 40 套商品住宅 成交 1 套 二手房 2005 年每成交 3 06 套商品住宅 成交 1 套二手房 2006 年每成 交 2 39 套商品住宅 成交 1 套二手房 2007 二手房和商品房的成交数量距 离更是缩小 2007 年每成交 1 6 套商品住宅 就成交 1 套二手房 如图 1 2 所示 从图 1 2 的数据我们可以看到 二手房越来越成为北京人购房的一个 主要选择 这也从一个侧面反映了国内住房需求的变化 与之相呼应的是 全国各地如雨后春笋般地出现了很多二手房中介商 他们主要为买卖租赁 二手房的人们服务 通过提取一定酬金来进行盈利 由于房产交易属于大 宗买卖 所以这些中介商获利颇丰 从而吸引越来越多的人进入这个行业 图 4 2 北京 2002 2007 商品房与二手房成交数量比值趋势图 为了消除这些弊端 很多房产中介开始利用计算机管理信息 他们借助运 行在个人电脑上的桌面应用程序来进行业务信息的保存和更新 并可以定 期备份 这样 既克服了传统纸笔的弊端 也大大提高了业务的效率 帮 助企业获取更大的利润 随着一些房产中介的发展 他们的业务从原来的一家店面发展到几家甚至 几十家 此时孤立的信息管理系统便不能适应发展的要求 这时计算机再 一次发挥了强大的作用 借助互联网 实现信息的随时同步 让多家店面 仿佛在同一个办公室工作一样 任何信息一经发布就立刻到达每一个业务 员的眼前 便捷高效且步调一致 大大推动了房产中介的发展 目前利用 网络进行信息交换的桌面应用程序有很多 其中不乏应用范围很广的房屋 中介平台 如房友 房博士等 后来互联网蓬勃发展 各种形式内容的网站吸引了越来越多的目光 由于 高度集中了公众的注意力 所以潜在的商机就被发掘出来 电子商务应运 而生 互联网具有天然的优势 它具有长时间在线 动态交互 多种形式 展示 受众面广泛等特点 逐渐成为众多房产中介公司青睐的宣传方法和 交易手段 这种类型的房屋交易平台在互联网上很多见 比如各大媒体的 房产频道 房产中介自己运行的房屋交易平台等 其中做的出色的有广州 的满堂红网站 他们凭借网站这种形式 把自己的公司规模扩大到很多城 北京2002 2007商品房与二手房成交数量比值趋势图 0 0 5 1 1 5 2 2 5 3 3 5 4 4 5 5 200220032004200520062007 年份 商品房 二手房 7 市中 并取得不错的业绩 此外 还有人研究基于手机短信的房屋交易平 台 30 这也是很好的思路 但是由于表现形式和资费的限制 业务有可能 会受到 wap 网站的冲击 1 3论文的主要内容和结构 本文首先叙述了相关技术背景 课题的研究意义及课题的国内外研究现状 接着对 Web 服务技术进行了研究 分析了 Web 服务的体系结构 系统地 研究了 Web 服务的关键技术 包括 XML SOAP WSDL UDDI 以及 Web 服务的安全 并讨论了基于 Web 服务实现本系统的优势所在 然后介 绍了论文的主要研究内容和全文的内容结构 在系统的分析与设计阶段 首先对房产交易平台进行总体目标和具体功能 进行分析 根据功能和意义划分模块 提出了基于 Web 服务和数据 行为 表现三层模型的系统架构 在系统的开发与实现阶段 根据实际需求 创 建房产 用户等相关数据库以及提供物业信息的 Web 服务 按照 Web 服 务安全性能要求 实现 Web 服务消费以及按照符合 W3C 所制订的各项标 准建立在线房产交易平台 最后 对本文的研究内容和技术创新进行了总 结 并提出了下一步工作的展望 论文的结构如下 第一章 绪论 主要叙述了课题背景和意义 以及国内外研究状况 第二章 Web 服务及项目开发环境介绍 给出了 Web 服务体系架构 协议 栈 规范 安全以及开发生命周期 对比了 Web 服务开发的工具和平台 为第三章的研究做好了理论和工具的准备 第三章 在线房屋交易平台的设计 通过研究目前的解决方案的缺陷以及 采用 Web 服务解决的优势 对在线房屋交易平台进行需求分析和 Web 建 模以及平台的总体设计 第四章 在线房屋交易平台的实现 主要包括 Web 服务和在线房屋交易平 台的实现 项目的测试 项目运行结果 并对其做出了总结 第五章 总结与展望 对全文的工作进行总结以及对未来工作的展望 最后为致谢和参考文献 2Web 服务及项目开发环境介绍 Web 服务技术是为解决在 Internet 环境下 松散耦合的 Web 服务之间 相互调用 相互集成而设计的技术框架 以 XML SOAP WSDL UDDI 为主 干的 Web 服务技术赋予了 Web 服务一个与传统对象调用技术相似但又有 本质区别的体系结构 1 30 本章主要介绍 Web 服务的体系架构 规范和安全 讨论了 Web 服务 的主流开发工具和平台以及 Web 服务的开发生命周期 2 1Web 服务体系架构服务体系架构 Web 服务体系结构基于三种角色 服务提供者 服务注册中心和服务请求 者 之间的交互 交互具体涉及到发布 查找和绑定操作 这些角色和操 作仪器作用于 Web 服务构件 Web 服务软件模块及其描述 在典型情况下 服务提供者提供可通过网络访问的软件模块 Web 服务的一个实现 服 务提供者定义 Web 服务的服务描述 并把它发布到服务请求者和服务注册 中心 服务请求者使用查找操作从本地或服务注册中心搜索的服务描述 然后使用服务描述与服务提供者进行绑定 并调用相应的 Web 服务实现或 进行交互 服务提供者和服务请求者角色是逻辑结构 32 图 2 3 展示了这 些操作 提供这些操作的组件以及它们之间的交互 服务注册 中心 服务提供 者 服务使用 者 查找 UDDI WSDL 发布 UDDI WSDL 绑定 SOAP WSDL 图 4 3 展示 Web 服务体系架构模型示意图 9 2 1 1Web 服务角色服务角色 Web 服务体系结构中的角色包括如下 服务提供者 Service Provider 从企业的角度看 这是服务的所有者 从体系结构的角度看 这是托管访问服务的平台 服务请求者 Service Requestor 从企业的角度看 这是满足特定功 能的企业 从体系结构的角度看 这是寻找并调用服务 或启动与服务交 互的应用程序 服务请求者角色可以有浏览器来担当 由人或无用户界面 的程序 例如 另一个 Web 服务 来控制它 服务注册中心 Services Registry 这是可搜索的服务描述注册中心 服务提供者在此发布它们的服务描述 在静态绑定开发或动态绑定执行期 间 服务请求者查找服务并获得服务的绑定信息 在服务描述中 对于静 态绑定的服务请求者 服务注册中心是体系结构中的可选角色 因为服务 提供者可以把描述直接发送给服务请求者 同样 服务请求者可以从服务 注册中心以外的其他来源得到服务描述 例如 本地文件 FTP 站点 Web 站点等 2 1 2Web 服务行为服务行为 对于利用 Web Services 的应用程序 必须发生以下三个行为 发布服 务描述 查询或查找服务描述以及根据服务描述绑定或调用服务 这些行 为可以单次或反复出现 1 Web 服务体系架构中包含的这些具体操作如下 发布 Publish 为了使服务可访问 需要发布服务描述以使服务请 求者可以查找它 发布服务描述的位置可以根据应用程序的要求而变化 查找 Find 在查找操作中 服务请求者直接检索服务描述或在服 务中册中心中查询所要求的服务类型 对于服务请求者 可能会在两个不 同的生命周期阶段中牵涉到查找操作 在设计时 为了程序开发而检索服 务的接口描述 而在运行时 为了调用而检索服务的绑定和位置描述 绑定 Bind 最后需要调用服务 在绑定操作中 服务请求者使用 服务描述中的绑定细节来定位 联系和调用服务 从而在运行时调用或启 动与服务的交互 2 1 3Web 服务示例服务示例 为了更加清楚地展示 Web 服务的体系架构 现在给出一个虚构的例子 来说明 如图 2 4 所示 Web Service Client UDDI Web Service Query a Web service Get the Web service URL Request the service description Get the service description Request the Web service Get the service response 图 4 4 一个 Web 服务示例 首先 Web 服务客户端 Web service client 向 UDDI 中心发出一个定位 Web 服务的请求 UDDI 中心返回一个链接到 Web 服务的 URL Web 服务客户端向上一步返回的提供 Web 服务的服务器请求描述 Web 服 务的 WSDL 服务器返回 WSDL 最终 Web 服务客户端按照需求发出 Web 服务请求 并得到服务器返回的 Web 服务的响应 这就是一个典型的 Web 服务示例 2 1 4Web 服务协议栈服务协议栈 Web 服务协议栈的基础是网络传输层 Web 服务要被服务请求者调用 就 必须是可以通过网络可以访问的 HTTP FTP SMTP 等 Internet 环境下 的协议均可用于 Web 服务的传输协议 对于 Intranet Web 服务还可以使 用中间件作为传输交互的基础架构 如 IBM 的 CORBA 数据表现层的 XML 为整个 Web 服务上层协议提供了数据 信息描述手段 XML 是目前全球范围内用于描述数据和交换数据的一种标准方式 对于 Web 服务而言 无论是 Web 服务的调用 SOAP Web 服务界面的描述 WSDL 还是 Web 服务的发现 UDDI 都是使用 XML 作为信息描述 11 和交换的标准手段 数据模型层是描述数据结构的数据模型 也称为元数据 它同样也是一种 数据 因此 描述数据结构的方式也是使用基础的数据表现方式 XML XML Schema 已经成为 XML 世界中的标准数据建模语言 SOAP WSDL UDDI 的 XML 语法都是采用 XML Schema 进行定义和描 述的 XML Schema 已经成为 XML 世界中的标准交流工具 这与 UML 在 软件设计中的地位是相类似的 Web 服务协议栈如表 2 1 所示 表 4 1 Web 服务协议栈示意表 协议服务层次相关问题 WSFLService Flow UDDI staticService Discovery UDDI directService Publication WSDLService Description Service Implementation Service Interface SOAPXML based Messaging XML SchemaData Modeling XMLData Presentation HTTP FTP SMTPTransport Security Management Quality of Services 基于 XML 的消息层使用的是基于 XML 的消息协议 SOAP 消息层是构筑 在更低的传输层之上的 这意味着 SOAP 可以单独使用 也可以与任何传 输协议联合使用 服务描述层为调用 Web 服务提供了具体的方法 WSDL 是一个基于 XML 格式的定义服务的实现和接口的基础标准 这意味着 WSDL 将服务的描述 分为两部分 服务接口和服务实现 在服务发布层 服务提供者能够直接向服务客户端发送 WSDL 文档 也可 以选择将 WSDL 文档发布到本地 WSDL 注册库或是公共 私有的 UDDI 注 册中心 服务发现层是基于服务发布层的 如果 Web 服务没有或不能被发布 那么 它就不能被发现 WSFL 是协议栈顶层的服务工作流层的标准 与协议栈其他的标准不同 WSFL 针对的是商务流程建模和工作流 1 31 2 1 5Web 服务规范服务规范 Web 服务完全是基于标准的技术 只有基于标准 所有的开放厂商才有相 同的准则 才能够在各自的平台上开发出具有跨平台互操作能力的软件产 品和解决方案 标准是达成跨平台互操作能力的灵魂 在标准的开发方面 各大技术厂商在标准化组织和承诺下 积极开展工作 目前 介入 Web 服务标准开发的标准化组织有 W3C OASIS WS I 等 这些组织的工作集中在 Web 服务的整体架构 Web 服务的访问协议 Web 服务的界面描述 UDDI WSIA WSRP 以及跨平台 操作系统和编程语 言的 Web 服务架构的互操作 由标准化组织或技术厂商开发的 Web 服务 技术规范包括 XML XML Schema SOAP WSDL UDDI WS Security WSFL WSCL WSXL WSIA 和 WSRP 等 下面着重介绍一 下组成 Web 服务规范的几大技术规范 2 1 6Web 服务技术的基石服务技术的基石 XML 是整个 Web 服务技术架构的基石 XML 规范是一组由 W3C 定义的 规则 用于用普通文本描述结构化的数据 其开始设计时的主要目的是用 来弥补 HTML 作为在 Internet 上描述数据的标准语言的不足 无论是 HTML 还是 XML 都是从 SGML 演化而来的 这三种语言的相互关系可 以描述为 XML 是 SGML 的一个子集 而 HTML 是 SGML 的一个具体应 用实例 同样 HTML 也是 XML 的一个应用实例 具体的来说 HTML 是由 XML 或 SGML 定义出来的 由于 XML 和 HTML 有着本质上的不同 具体地说 就是 XML 比 HTML 提供了更多的对内容和结构的说明和限制的机制 使得存储 查询 管理 XML 文档相对而言更容易 总之 XML 使用一个简单而又灵活的标 准格式 为基于 Web 的应用提供了一个描述数据和交换数据的有效手段 HTML 描述了显示全球数据的通用方法 而 XML 提供了直接描述处理全 球数据的通用方法 其主要特点如下 自描述性 这个特性使差异性可以存在 使计算机可以在没有人为干涉的 情况下 理解数据的含义 可扩展性 文档通过 DTD 或 XML Schema 来定义文档结构 使其他信息 系统自动了解文档的内容 可校验性 用户可以通过 DTD 或 XML Schema 来校验 XML 文档的格式是 否满足 DTD 或 XML Schema 的约束 层次结构 能够保证信息的层次性描述 丰富的链接定义 对应于 HTML 单一的单项通道链接 XML 提供各种不 同的链接 如一对多 多对一和双向链接 多样的样式表支持 XML 把数据内容与它们的表现形式分开 这样既可以 只关心数据的逻辑结构 也可以通过样式表来格式化数据的表现 13 随着 XML 在 Internet 应用中的不断普及 XML 从 Web 网站的内容管理 内容描述起步 逐渐发散到其他基于 Internet 的应用中 这些所有 XML 相 关的应用如下 内容管理发布 人们依靠 XML 的可定义可扩展的能力来描述整个 Web 世 界上种类繁多 样式丰富多彩的数据内容 依靠一次描述 多次表现的 XML 标准应用模式 使得基于 XML 的内容能够以多种形式进行信息发布 这些发布方式包括 Web 网站内容发布 电子出版内容发布以及其他出版业 内容发布等 电子商务应用 在这个领域 XML 一般承担以往 EDI 所承担的角色 人 们依靠 XML 来描述交换商务事务信息 实现分布式的电子商务应用的交 互 由于 XML 是可定制的可扩展的 人们制定了很多用于特定领域的商 务事务信息描述规范 诸如 Ariba 的 cXML Commerce One 的 xCBL 以及 OASIS Open ORG 的 ebXML 等 数据层集成 对于当代电子商务而言 商务数据的交换是应用的关键环节 随着在电子商务应用中 比如 B2B B2C 应用 尤其 B2B 中 商务信息交 换的应用模式不断为主流应用开发所接受 面向通用领域的数据集成数据 交换应用也成为了一个重要的 XML 应用领域 在这方面 不少电子商务 应用领域 尤其 B2B 应用 的解决方案在陆续进入这一更广泛化的领域 应用层集成 当 XML 在经历了电子商务应用的经验之后 人们逐渐地不 仅在数据层上完成应用系统 尤其是商务系统 的连接 同时希望能在业 务层或者函数层上完成系统的互联 这也就是人们常说的 Internet 环境的 应用的广泛互联 这方面的技术主要是以 XML 为技术基础的 Web 服务系 列技术 系统配置信息描述 随着 XML 在各种各样应用开放中的延伸 原先系统 软件 应用软件中使用文本 Profile 文件或者是 INI 文件形式进行系统 应用配置信息管理的方式逐渐被使用 XML 文档的管理方式所替代 正是由于 XML 的特点和广泛应用场合 对于 Web 服务而言 无论是 Web 服务的调用 SOAP Web 服务界面的描述 WSDL 还是 Web 服务的 发现 UDDI 都是使用 XML 作为信息描述和交换的标准手段 2 1 7调用调用 Web 服务服务 Web 服务的发展离不开电子商务的发展 电子商务其实远远不仅是指像 A 这样的网络零售业的 B2C 模式的电子商务 其更核心的更重 要的是常事潜力比零售业大几个数量级的企业级电子商务应用 即 B2B 传统上 B2B 电子商务是基于 EDI 技术的 而 EDI 信息标准的最大缺点是 在 EDI 世界内部 没有一个全球通用的标准 自 XML 技术被引入到 B2B 电子商务应用中去 人们发现在 B2B 电子商务应用环境中 XML 的确是一 个非常优秀而且极为合适的技术 使用 XML 来描述商务信息使得各种 B2B 应用在数据层上获得了开放集成的能力 然而从技术的角度来看 这仅仅完成了应用领域中最低层次的集成 数据 层集成 但要使 B2B 电子商务应用真正被方便地连接在一起 我们需要在 数据之外 在模块层 应用层等方面也需要达成一致 正是为了解决模块层能够以一种开放的 自说明的 统一的方式进行集成 和交互 IBM Microsoft DevelopMentor 等公司协作制定了 Simple Object Access Protocol SOAP1 1 规范 SOAP 是在 XML 基础上定义的 完全 继承 XML 的开放性和描述可扩展性 SOAP 使用现有基于 TCP IP 的应用 层协议 HTTP SMTP POP3 等 可以获得与现有的网络通信协议最大程 度的兼容 SOAP 的消息路径机制和可扩充的 Header 和 Body 机制又为分 布式计算提供了很好的支持 在 2001 年 4 月 在美国 San Jose 召开的 Web 服务研讨会上正式确立了 SOAP 作为 Web 服务的核心规范的地位 被设计成跨平台 跨语言 跨协议地完成对象互联的 SOAP 逐渐显露出了 它的优越性 SOAP 可以看成是分布式对象访问技术的一个新的特性 比 起 CORBA COM EJB 这些传统主流的分布式对象技术 SOAP 合理地 解决了异构系统 异构组件对 B2B 电子商务全球化的束缚 加上 XML 已 经得到广泛的应用 各种平台都可以有效地使用 XML 那么使用 XML 重 新描述和包装各种远程组建访问协议 以使各种组建平台的远程访问协议 都能通过同一个标准的消息进行传输的 SOAP 就成了大势所趋 如图 2 5 所示 CORBA CORBA 组件 COM COM DCOM J2EE EJB IIOP ORPCRMI SOAP Message 15 图 4 5 展示 SOAP 抹平组件平台差异示意图 SOAP 为在一个松散的 分布的环境中使用 XML 对等地交换结构化的和类 型化的信息提供了一个简单且轻量级的机制 SOAP 本身并不定义任何应 用语义 它只是定义了一种简单的机制 通过一个模块化的包装模型和对 模块中特定格式编码的数据的重编码机制来表示应用语义 SOAP 的这项 能力使得它可被很多类型的系统用语从消息系统到 RPC 的延伸 SOAP 由以下四部分组成 SOAP 信封 SOAP envelope 它构造定义了一个整体的表示框架 可用 于表示在消息 message 中的是什么 谁应当处理它 以及这是可选的还 是强制的 SOAP 消息的封装模型如图 2 6 所示 SOAP Envelope SOAP Header SOAP 条目 SOAP 条目 SOAP Body SOAP 条目 SOAP 条目 图 4 6 关于 SOAP 消息的封装模型示意图 SOAP 编码规则 SOAP encoding rules 它定义了一个数据的编序机制 通过这样一个编序机制来定义应用程序中需要使用的数据类型 并可用于 交换由这些应用程序定义的数据类型所衍生的实例 在 SOAP 中 数据的 编码风格是基于一个简单类型系统的 这个简单类型系统可以看成是程序 语言 数据库和半结构数据中不同类型系统的公共特性的泛化 SOAP 远程过程调用表示 SOAP RPC representation 它定义了一个用于 表示远端过程调用和响应的约定 可以想象 为实施一个基于 SOAP 的远 程方法 或过程 调用 应当需要以下信息 目标 SOAP 结点的 URI 从 一般意义上来看 可以认为是 SOAP 结点的入口地址 方法或过程调用 可选的方法或过程的特征 方法或过程的参数 可选的头数据 使用 SOAP Header 的 RPC 如图 2 7 所示 SOAP 绑定 SOAP binding 它定义了一个使用低层传输协议来完成在 结点间交换 SOAP 信封的约定 对于一个 SOAP 结点来说 接受和发送 SOAP 消息最终是要通过与某个低层通信协议进行绑定来完成 SOAP 底 层协议绑定沿着 SOAP 消息路径在相邻的 SOAP 结点间工作着 SOAP 协 议绑定并不会单独提供一个处理模型 也不会通过协议绑定来重新指定 SOAP 结点 SOAP 协议绑定是 SOAP 结点实现的一个组成部分 从外部 看 是 SOAP 结点的行为特征之一 SOAP 发送者 应用 A SOAP 处理器 消息标识 处理器 RPC 请求 SOAP 接收者 应用 B SOAP 处理器 消息关联 性处理器 RPC 响应 底层协议底层协议 服务器 A服务器 B 图 4 7 使用 SOAP Header 的 RPC 2 2描述 Web 服务 自最初开始使用 SOAP 之后 在业界曾出现过多种基于 XML 的接口说明 17 语言 IDL 其中包括 IBM 的 NASSL Microsoft 的 SDL 和 SCL 等 所 有的这些 IDL 识别不同的描述方式 并且包含一些特定于它们所依附的 SOAP 实现方案的项目 比如 Apache SOAP 或 Microsoft SOAP 等 业界 很快意识到必须进行标准化 以赋予 Web 服务统一的界面描述能力 并获 得最好的互操作能力 由 IBM Microsoft 以及 Ariba 为首的多个技术提供商向 W3C 提交了 WSDL 规范 1 1 版 2001 年 3 月 W3C 接受了这一提案 WSDL 是一种 XML Application 它将 Web 服务描述定义为一组服务访问 点 客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用 的服务进行访问 类似远程过程调用 WSDL 首先对访问的操作和访问 时使用的请求 响应消息进行抽象描述 然后将其绑定到具体的传输协议和 消息格式上 以最终定义具体部署的服务访问点 WSDL 文档将 Web 服务定义为服务访问点或端口的集合 在 WSDL 中 由于服务访问点和消息定义已从具体的服务部署或数据格式绑定中分离出 来 因此可以对抽象定义进行再次利用 消息 指对交换数据的抽象描述 而端口类型 指操作的抽象集合 将 Web 访问地址于可再次使用的绑定向 关联 可以定义一个端口 而端口的集合则定义为服务 WSDL 文档在 Web 服务的定义中使用下列元素 WSDL Definition isContainer Types isContainer Message isContainer Part name element Operation message PortType isContainer Binding portType Port binding Service isContainer Data Type SimpleType ComplexType 图 4 8 关于 WSDL 文档的元素结构图 Types 数据类型定义的容器 它使用某种类型系统 一般地使用 XML Schema 中的类型系统 Message 通信消息的数据结构的抽象类型定义 使用 Types 所定义的类型 来定义整个消息的数据结构 Operation 对服务中所支持的操作的抽象描述 一般单个 Operation 描述了 19 一个访问入口的请求 响应消息对 PortType 某个访问点类型所支持的操作的抽象集合 这些操作可以由一 个或多个服务访问点来支持 Binding 特定端口类型的具体协议和数据格式规范的绑定 Port 定义为协议 数据格式绑定与具体 Web 访问地址组合的单个服务访问 点 Service 相关服务访问点的集合 以上这七种元素的关系如图 4 8 所示 Types 是一个数据类型定义的容器 包含了所有在消息中需要的 XML 元素 的类型定义 Message 具体定义了在通信中使用的消息的数据结构 Message 元素包含了 一组 Part 元素 每个 Part 元素都是最终消息的一个组成部分 每个 Part 都 会引用一个 DataType 来表示它的结构 Part 元素不支持嵌套 可以使用 DataType 来实现 都是并列出现 PortType 具体定义了一种服务访问入口的类型 就是传入 传出消息的模式 及其格式 一个 PortType 可以包含若干个 Operation 而一个 Operation 则 是指访问入口支持的一种类型的调用 在 WSDL 里支持四种访问入口调用 的模式 单请求 单响应 请求 响应 响应 请求 PortType 的定义中会引 用消息定义部分的一个到两个消息 作为请求或响应消息的格式 以上三种结构描述了调用 Web 服务的抽象定义 这三部分与具体 Web 服 务部署细节无关 是可复用的描述 如果与一般的对象语言作比较的话 这部分可以说是 IDL 描述的对象 描述了对象的接口标准 Service 描述的是一个具体的被部署的 Web 服务所提供的所有访问入口的 部署细节 一个 Service 往往会包含多个服务访问入口 而每个访问入口都 会使用一个 Port 元素来描述 Port 描述的是一个服务访问入口的部署细节 包括通过哪个 Web 地址 URL 来访问 应当使用怎样的消息结构调用模式来访问等 其中 消 息调用模式使用 Binding 结构来表示 Binding 结构定义了某个 PortType 与某一种具体的网络传输协议或消息传 输协议相绑定 从这一层开始 描述的内容就与具体服务的部署相关了 WSDL 的设计理念完全继承了以 XML 为基础的当代 Web 技术标准的一贯 设计理念 开放 WSDL 允许通过扩展使用其他的类型定义语言 不止是 XML Schema 允许使用多种网络传输协议和消息格式 同时 WSDL 也 应用了当代软件工程中的复用理念 分离了抽象定义层和具体部署层 使 得抽象定义层的复用性大大增加 而不同的运营公司可以采用不同的具体 部署层的描述 结合抽象定义完成其自身的 Web 服务的描述 2 3注册发布 Web 服务 目前 大多数电子商务的应用和基于 Web 的商业服务在处理购买者 供应 商 交易市场和服务提供者之间的联系方式上各不相同 这就决定了它们 只能在和他们使用相同的应用和基于 Web 的商业服务的商业实体中进行贸 易 面对这个挑战 技术领域和商业领域的领导者组成的开发小组开发了 统一描述 发现与集成协议标准 这是一个非常重要的创新 它是第一个 由平台提供者 软件开发者 交易市场运营者 电子商务企业和全球商务 领头羊为解决 B2B 电子商务的发展的局限性而一起提出的跨行业的解决方 案 UDDI 注册使用的核心信息模型由 XML Schema 定义 使用 XML 是因为 它提供了平台无关的数据描述 并能很自然地描述了数据的层次关系 而 选择 XML Schema 是因为它支持丰富的数据类型 便捷的描述方式及其按 信息模型对数据进行检验的能力 UDDI XML Schema 定义了六种主要信息类型 它们是技术人员在需要使 用合作伙伴所提供的 Web 服务时必须了解的技术信息 UDDI 信息模型结 构图如图 2 9 所示 businessEntity 元素 商业实体信息 是支持对 UDDI 商业注册的商业信息 发布和发现的核心 XML 元素 businessService 元素和 bindingTemplate 元素 服务信息 businessService 结构是一个描述性的容器 它将一系列有关的商业流程或分类目录的 Web 服务的描述组合到一起 bindingTemplate 则是关于服务的入口点和构造规 范的技术信息 tModel 元素 规范描述的指针和技术标志 是关于调用规范的元数据 它 包括服务名称 发布的服务的组织以及指向这些规范本身的 URL 指针等 publisherAssertion 元素 描述商业实体之间关联关系的关联信息 这个机 制能令多于一个的已注册的 businessEntity 元素以某种方式互相连接 用以 表示一种特定类型的关联关系 subscription 元素 实现实体信息订阅的订阅信息 为了帮助 UDDI 使用者 跟踪感兴趣的数据实体以及及时获得数据更新的消息 UDDI 加入了订阅 的功能 21 businessEntity 发布服务 信息的商业实体的详细信息 businessService 一组特定 的技术服务的描述信息 subscription 各种数据实 体的订阅信息 反映数据变化 bindingTemplate 关于服务 的入口点和构造规范的技术信息 publisherAssertion 两个 商业实体间的关联信息 tModel 服务成分或分类 的规范描述 是技术指纹的基 础 图 4 9 关于 UDDI 信息模型结构图 除了定义一系列的数据结构 UDDI 还定义了如何与这些数据结构交互 即如何通过 SOAP 使用它们 在 UDDI 内有两组主要的 API Inquiry Operations 查询操作 用于搜索信息 Publisher Operations 发布者操作 用于保存 编辑和删除信息 2 4Web 服务的安全 作为 Internet 这个开放网络上的一种分布式应用 Web 服务也面临着大多 数分布式应用所面临的安全威胁 具体地 包括以下几种 1 对数据的 攻击 如窃听 篡改 假冒 重放 业务否认等 2 对系统的攻击 如 授权违例 非法使用 拒绝服务 陷门 特洛伊木马等 3 对业务流的 攻击 如业务流分析 为了应对这些安全威胁 我们需要采取的措施为 Web 服务的通信安全问题是要解决的基本问题 即基于 XML 的 SOAP 消 息的安全性问题 Web 服务的通信安全首先要保证通信中传输数据的安全 抵抗窃听 篡改 假冒 重放 业务否认等安全攻击 确保数据的机密性 完整性 可用性 消息源认证性和不可否认性 机密性是指保持机密数据 的机密性 防止被未授权的人查看 完整性是指验证数据的完整性 确认 未被更改 可用性是指消息接收者能够正确获取所需的消息内容 消息源 认证性是指消息接收者能够确认消息的确来源于消息的发送者 且入侵者 不可能伪装成消息发送者发送同样的消息 不可否认性是指消息发送者无 法否认他已经发送过的消息 消息接收者也无法否认他已经接收到的消息 为防止系统受到安全攻击 一方面要采取防火墙 入侵检测 病毒防护等 物理手段 保证系统在物理上的安全 另一方面 要采用身份认证 访问 控制 日志审计等安全机制 保证只有经过鉴别的合法用户才能对系统进 行合法使用 其中 身份认证和访问控制是重要的研究问题 Web 服务整合 构建 Web 服务业务流程是 Web 服务应用的发展方向 在保证传输数据及相关系统安全的基础上 还要保证业务流程以合法的次 序运行 由合法的用户发起和参与 2 5Web 服务的开发生命周期 Web 服务开发生命周期包括了设计和部署以及在运行时对服务注册中心 服务提供者和服务请求者每一个角色的要求 每个角色对开发生命周期的 每一元素都有特定要求 开发生命周期有以下四个阶段 构建 生命周期的构建阶段包括开发和测试 Web 服务实现 定义服务接口 描述和定义服务实现描述 可以通过创建新的 Web 服务 把现有的应用程 序变成 Web 服务 由其他 Web 服务和应用程序组成新的 Web 服务 从而 提供 Web 服务的实现 部署 部署阶段包括项服务请求者或服务注册中心发布服务接口和服务实 现的定义 以及把 Web 服务的可执行文件部署到执行环境中 运行 在运行阶段 可以调用 Web 服务 现在服务请求者可以进行查找和 绑定操作 管理 管理阶段包括持续的管理和经营 Web 服务应用程序 安全性 可用 性 性能 服务质量和业务流程问题都必须被解决 23 2 6Web 服务开发工具和平台 Microsoft NET 与 SUN J2EE 是目前的企业 Web 服务平台市场的两个最重 要的应用框架 它们都是针对 N 层分布式应用的设计 集成 性能 安全 性和可靠性等诸多方面 为用户提供了总体的指南和规范 基于这些指南 和规范 技术提供商提供了相应的平台 工具和编程环境 在具体的应用 框架中 包括了针对应

温馨提示

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

评论

0/150

提交评论