[工学]Web服务原理和技术第3章.ppt_第1页
[工学]Web服务原理和技术第3章.ppt_第2页
[工学]Web服务原理和技术第3章.ppt_第3页
[工学]Web服务原理和技术第3章.ppt_第4页
[工学]Web服务原理和技术第3章.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

XML Web Service 开发 Java与J2EE架构 第三章 XML Web Service Java与J2EE架构 回顾上一章 n 电子商务与XML n 无线应用协议与XML n XHTML Java与J2EE架构 序言 n Web服务就是一套编程标准。它用来让不同类型的 软件可以通过网络彼此联系。Web服务共同使用3种 编程语言:XML、SOAP(标准对象访问协议)和 WSDL (Web服务描述语言)。 n 要明确XML Web 服务的重要性,必须了解XMLWeb Service所要解决的问题及其范围,特别是,必须熟 悉分布式应用程序的演进历程,以及现有分布式应 用程序体系结构的局限性。 Java与J2EE架构 我们探讨的话题: n 掌握分布式应用程序的演进历程(了解) n 掌握传统分布式应用程序所存在的问题(了解) n Web 服务介绍 n Web 技术栈和 .NET n .NET 与 Web 服务的比较 n Web 服务通用场景 Java与J2EE架构 分布式应用程序的变革 n 分布式应用程序的定义 n 使用分布式应用程序的原因 n 分布式应用程序类似于服务的提供商 n 分布式应用程序未来会和 Web 应用紧密结合 Java与J2EE架构 分布式应用程序的变革 中央 主机 终端 Java与J2EE架构 分布式应用程序的定义 n 在个人计算机出现之前,分布式应用程序这个概念尚未存 在。在那个时代,使用计算机就是指坐在终端前与主机进 行交互。尽管终端可能分布在同一建筑物的不同场所,设 置可能处在不同的街区、城市、国家,但整个系统仍然由 中央主机执行所有的处理并存储所有的数据。 n 分布式应用程序是指应用程序的调用过程可以在多台物理 上独立的计算机之间实现,同时数据也存储在不同的物理 位置,但是应用程序的逻辑结构还是整体的,与分布的物 理结构无关。 Java与J2EE架构 使用分布式应用程序的原因 n 大型机系统成本昂贵 n构建大型机系统本身的投入很高 n难以承受发生故障的损失 n 数据属于不同的所有者 n不同的数据所有者不愿意把数据集中存放 n 安全性考虑 n将普通数据和敏感数据存放在不同的服务器上有助于 提高安全性 Java与J2EE架构 n 设计分布式应用程序必须考虑的问题 n 基于远程过程调用的体系结构 n 基于消息的体系结构 n Web 标准 传统分布式应用程序体系结构存在的问题 Java与J2EE架构 设计分布式应用程序的要点 n 在不同的系统中,数据源不相互兼容 n不同的硬件平台、操作系统支持的数据类型不同 n 服务器故障或服务器无响应 n相比大型机系统,分布式应用发生单点失败的可能性更 大 n 客户端故障 n保证可以通知服务器并释放服务器上的资源 n 有时不允许重新调用 n 除了考虑身份验证和授权外还必须考虑数据传输的安全性 n 在多台计算机之间同步时钟 Java与J2EE架构 基于 RPC 的体系结构 n RPC 的定义 nRPC 是指调用远程系统中的过程或方法 n位置透明 n熟知的编程模型 n 同步方法调用 n这种调用模式和本地调用方法类似 n在分布式应用程序中会产生问题 Java与J2EE架构 RPC 的工作原理 Java与J2EE架构 基于 RPC 的体系结构存在的问题 n 冗余和容错功能很难实现 n 多点集成后系统更加脆弱 n 负载平衡难以实现 n 访问的优先级难以实现 n 负载高峰难以处理 Java与J2EE架构 基于消息的体系结构 n 异步消息处理模式的优点 n消息可以根据负载和优先级处理 n异步处理允许客户端在等待服务器响应的同时完成其 他工作 n 基于消息的体系结构通常工作在消息队列产品上 nMicrosoft Message Queuing(MSMQ) Java与J2EE架构 基于消息的体系结构存在的问题 n 消息负荷处理 n应用程序需要将数据以消息的格式进行打包和拆包,额 外增加了处理和校验数据的工作量 n 互操作性 n要求消息队列处理软件的支持 n不同的消息处理环境需要桥接软件 n 工作流与消息队列 n由于消息以队列形式进行处理,网络传输可能会导致消 息次序错误,从而产生难以预料的结果 Java与J2EE架构 Web 标准 n 二进制协议存在的问题 n需要在防火墙上进行特殊配置,影响安全性 n不同对象模型的互操作性差 n数据格式不同使数据的传输处理困难 n Web 协议和数据格式 nHTML:广泛采用的超文本标记语言 nHTTP:广泛采用的超文本传输协议 nXML:数据传输的统一格式,可扩展标记语言 n Web 存在的问题 n安全:互联网的开放性需要增加安全方面的投入 n性能:网络的连接速度会严重影响分布式应用程序的性能 Java与J2EE架构 Web服务介绍 n 随着Web标准被快速、广泛地采用,基于Web标准 的解决方案自然成了合适的选择,这种情况促进了 Web 服务技术的演进。 n Web服务是URL可寻址的功能组,它在网络上被公 开,并且可以作为创建分布式应用程序的开发模块 。Web服务的早期例子是Microsoft Passport。 Java与J2EE架构 Java与J2EE架构 微软公司对Web服务的描述 n 微软认为Web服务是 .NET 的核心,并定义Web 服务是通过标准的Web协议可编程访问的Web组 件。 n Web 服务是整个.NET计划的核心,是一种远程访 问的标准。它的优点是跨平台(因为Web服务使用 的HTTP和SOAP协议是互联网上通用的协议); 其次可以解决防火墙的问题(基于SOAP协议的 Web服务可以穿透防火墙)。 Java与J2EE架构 Sun公司对Web服务的描绘 n Sun公司认为Web服务就是互联网 n Sun公司董事长说:智能化Web服务对信息时代 有着重大的意义,它的作用就像那些可置换的标 准部件在工业时代所起到的关键作用一样。Web 服务适用于任何类型的Web环境。 n Web服务消费者可以是个人,也可以是应用程序 ,甚至还可以是另一个Web服务。Web服务特点 如下: Java与J2EE架构 Sun公司对Web服务的描绘 n Web服务可以通过Web方式接入并进行访问 n Web服务提供一个XML接口 n Web服务使用XML、标准Web协议实现通信 n Web服务支持系统间的松散耦合连接 Java与J2EE架构 XML Web Service的定义 n 微软.NET中提供了基于XML的Web服务,并称为 XML Web Service。 n XML Web Service实现了在异构系统之间以 XML 消息的形式进行数据交换 n 远程访问数据和应用程序逻辑并不是新的技术,但 以松耦合的方式执行该操作却是一个全新的概念 Java与J2EE架构 XML Web Service的定义 n 在客户端和服务器之间要求接收方可以理解收到 的消息,客户端和服务器共同遵守一个协定(通 常在 Web 服务中使用 WSDL 和 XSD),然后通 过在指定的传输协议(例如 HTTP)之上生成遵 守该协定的消息来进行通信 n 使用文本格式(如 XML)的灵活性使消息交换随 时间的推移以一种松耦合的方式进化成为可能 Java与J2EE架构 Web 服务的功能和优点 n 黑匣功能使用户不需要了解服务具体是如何实现的 n 功能的粒度没有限制,大型和小型系统都可以使用 n 既可以访问静态资源也可以访问动态资源 n 便于和其他 Web 服务集成 n 平台无关,互操作性强 n 支持多种语言 n 把现有系统改造为 Web 服务比较容易 n 全部采用业界标准而不是厂商标准 Java与J2EE架构 TCP/IPSystem.Net.Sockets Sockets HTTP XML or Binary Formats SOAP System.Net.Sockets System.Net System.Runtime.Remoting System.Web.Services Web 技术栈与 .NET Java与J2EE架构 .NET 实现 Web 服务的多种选择 n 独立的端口监听器 n预先编写 ISAPI 筛选器,编写程序处理套接字通信和实 现协议 n使用 ISAPI 筛选器处理特殊扩展名的 HTTP 请求 n编写服务器应用程序监听特殊端口,这种方法可以不限 制使用 HTTP 协议 n 自定义协议处理类 n从类 WebRequest 和 WebResponse 继承 n .NET Remoting n.NET Remoting 与 Web 服务 Java与J2EE架构 .NET Remoting 与 Web 服务 n 两种方法功能相似 n Web 服务实质是由 .NET Remoting 技术支持 n 区别 n.NET Remoting 通常工作在企业的内部 nWeb 服务通常向外部伙伴提供服务 Java与J2EE架构 常见 Web 服务场景 n 应用服务提供商/提供的应用程序 n 应

温馨提示

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

评论

0/150

提交评论