Web服务体系结构.ppt_第1页
Web服务体系结构.ppt_第2页
Web服务体系结构.ppt_第3页
Web服务体系结构.ppt_第4页
Web服务体系结构.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

Web服务体系结构 web概述 由NordriDesign 提供 本节主讲人 朱梦园小组成员 刘宝珠 组长 朱梦园屈宗艳刘平平袁珂张梦茹 web服务简介 纵观计算机和软件领域 我们不难了解为什么会产生Web服务 在因特网上有许多系统和平台 在这些系统和平台上又有更多的应用程序 说得更明白些就是 存在着许多技术 把客户端连接到服务器 近年来 电子商务迅速崛起 大多数电子商务的应用在处理客户 供应商 市场个服装提供商之间的连接方式上各不相同 不同应用的开发语言不同 部署平台不同 通信协议也可能不同 对外交换的数据格式更可能有很大差异 如何去面对这些差异 是摆在开发人员面前的一道难题 web服务简介 为了可以在整个因特网中实现对服务的自由访问 有必要提供一种崭新的模式或信息交换手段来达到这个目的 于是 微软提出了Web服务 Web服务的主要特点之一是 客户端访问Web服务只需要通过因特网标准协议 如HTTP或XML 以及SOAP 不需要专门的协议 如RPC或IIOP 因为HTTP协议和XML都是与平台无关的标准协议 因此 可以被任何主流操作系统正确理解和解释 美国微软公司通过 一切都是服务 来概括Web服务将给IT业带来的冲击 6 1 1什么是Web服务 Web服务是一种可以用来解决跨网络应用集成问题的开发模式 这种模式为实现 软件作为服务 提供了技术保障 而 软件作为服务 实质上是一种提供软件服务的机制 这种机制可以在网络上暴露可编程接口 并通过这些接口来共享站点开放出来的功能 Web服务就像Web上的构件编程 开发人员通过调用Web应用编程接口 将Web服务集成进他们的应用程序 就像调用本地服务一样 6 1 1什么是Web服务 例如 你想创建一个Webservice 它的作用是返回当前的天气情况 那么你可已建立一个ASP页面 它接受邮政编码作为查询字符串 然后返回一个由逗号隔开的字符串 包含了当前的气温和天气 要调用这个ASP页面 客户端需要发送下面的这个HTTPGET请求 返回的数据就应该是这样 21 晴 以逗号隔开的 气温 天气 这个ASP页面就应该可以算作是Webservice了 因为它基于HTTPGET请求 暴露出了一个可以通过Web调用的API 6 1 1什么是Web服务 为开发人员带来的好处 web服务使开发人员能够在任何平台上使用任何编程语言 创建可实现全球任何客户 供应商和业务伙伴互联的电子商务应用程序 实现无缝 高效的连接 web服务还可以实现Internet上不同服务器借口之间应用程序的互相调用 省去了开发人员为编写每个应用程序的繁琐工作 从而可以集中精力挖掘软件独特的商业价值 6 1 1什么是Web服务 web服务的核心技术 1 可扩展编辑语言XML 是WebService平台中表示数据的基本格式 除了易于建立和易于分析外 XML主要的优点在于它既与平台无关 又与厂商无关 2 简单对象访问协议SOAP 是一种轻量的 简单的 基于XML的协议 它被设计成在WEB上交换结构化的和固化的信息 可以和现存的许多因特网协议和格式结合使用 3 Webservice描述语言WSDL 用于描述Webservice及其函数 参数和返回值 既是机器可阅读的 又是人可阅读的 4 统一描述 发现和集成协议UDDI 是一种目录服务 企业可以使用它对Webservices进行注册和搜索 Web服务是在HTTP XML和SOAP这样的开放标准上形成的 它具有更新和更简单的连接类型 6 1 1什么是Web服务 web服务的五个逻辑层 6 1 1什么是Web服务 6 1 1什么是Web服务 6 1 2web服务的不同描述 三大特征 应用到应用的交互 应用的分布式 平台无关性 next 6 1 2web服务的不同描述 1 应用分布式 6 1 2web服务的不同描述 分布式的优势 1 可以将分布在各处的资源综合利用 而这种利用对用户而言是透明的 2 可以将负载由单个节点转移到多个 从而提高效率 3 分布式技术可以避免由于单个节点失效而使整个系统崩溃的危险4 用户无需关心服务提供者的数据源格式是什么 某一服务请求需要调用那些服务 服务请求在web上怎么被执行等 Back 6 1 2web服务的不同描述 2 应用到应用的交互在分布式的环境中 若采用集中的控制方式 服务器有较大的负荷 并且系统不具有健壮性 随着客户机功能的日趋复杂 客户端的日渐庞大 企业在管理和维护上开销巨大 越来越表现出可伸缩性 可移植行 可管理型方面的不足 成为了web应用发展中的瓶颈 因此应用到应用的交互 使得web服务更具可伸缩性 通用性 易于开发 灵活多变 Back 6 1 2web服务的不同描述 3 平台无关性所谓WebService的平台无关性 即部署在不同的平台 如Unix平台 Windows平台等 上的WebService之间 不同平台上的应用程序和部署在不同平台上的WebService之间可以实现无困难的通信 由于WebService采取了开放标准XML协议作为服务界面和协议描述规范 完全遮蔽不同软件系统平台的差异 所以无论什么样的程序都可以通过这种标准的协议进行互操作 达到最高的可集成性能 Back 6 1 3web服务的特点 使用标准协议规范 使用协约规范性 松散耦合 高度集成能力 完好的封装性 6 1 3web服务的特点 1 使用标准协议规范任何的WebService之间都可以进行交互 由于有了SOAP这个所有主要供应商都支持的新标准协议 所以避免了在CORBA DCOM和其他协议之间需要相互转换的麻烦并且可以使用任何程序语言来编写webservice 节约了编程者的开发成本 2 使用协议的规范性这一特征从对象而来 但相比一般对象其界面规范更加规范化和易于机器理解 首先 作为Web服务 对象界面所提供的功能应当使用标准的描述语言来描述 比如WSDL 其次 由标准描述语言描述的服务界面应当是能够被发现的 因此这一描述文档需要被存储在私有的或公共的注册库里面 同时 使用标准描述语言描述的使用协约将不仅仅是服务界面 它将被延伸到Web服务的聚合 跨Web服务的事务 工作流等 而这些又都需要服务质量 QoS 的保障 其次 我们知道安全机制对于松散耦合的对象环境的重要性 因此我们需要对诸如授权认证 数据完整性 比如签名机制 消息源认证以及事务的不可否认性等运用规范的方法来描述 传输和交换 最后 在所有层次的处理都应当是可管理的 因此需要对管理协约运用同样的机制 6 1 3web服务的特点 3 高度集成能力企业级的应用程序开发者都知道 企业里经常都要把用不同语言写成的 在不同平台上运行的各种程序集成起来 而这种集成将花费很大的开发力量 应用程序经常需要从运行的一台主机上的程序中获取数据 或者把数据发送到主机或其它平台应用程序中去 即使在同一个平台上 不同软件厂商生产的各种软件也常常需要集成起来 通过WebService 应用程序可以用标准的方法把功能和数据 暴露 出来 供其它应用程序使用 4 完好的封装性Web服务既然是一种部署在Web上的对象 自然具备对象的良好封装性 对于使用者而言 他能且仅能看到该对象提供的功能列表 6 1 3web服务的特点 5 松散耦合与紧耦合服务概念相对 由于Web服务具备通信协议标准性和服务自描述性 所以 使用Web服务可以开发出松耦合的分布式应用程序来 这也是Web服务要实现的最根本的设计目标这一特征也是源于对象 组件技术 当一个Web服务的实现发生变更的时候 调用者是不会感到这一点的 对于调用者来说 只要Web服务的调用界面不变 Web服务的实现任何变更对他们来说都是透明的 甚至是当Web服务的实现平台从J2EE迁移到了 NET或者是相反的迁移流程 用户都可以对此一无所知 对于松散耦合而言 尤其是在Internet环境下的Web服务而言 需要有一种适合Internet环境的消息交换协议 而XML SOAP正是目前最为适合的消息交换协议 6 2Web服务体系结构模型1 Web服务模型 与Web服务相关的操作 1 发布2 发现3 绑定 2 Web服务开发生命周期 1 构建2 部署3 运行4 管理 3 Web服务栈 Web服务要以一种可互操作的方式执行发布 发现和绑定着三个操作 必须有一个包含每一层标准的Web服务栈 因此 整个Web服务的技术系列称为 Web服务Stack 实现一个完整的Web服务体系需要有一系列的协议规范来支撑 WebService stack 其中 绿色部分是先前已经定义好的并且广泛使用的传输层和网络层的标准 IP HTTP SMTP等 而蓝色部分是目前开发的Web服务的相关标准协议 包括服务调用协议SOAP 服务描述协议WSDL和服务发现 集成协议UDDI 以及服务工作流描述语言WSFL 而橙色部分描述的是更高层的待开发的关于路由 可靠性以及事务等方面的协议 黄色部分是各个协议层的公用机制 这些机制一般由外部的正交机制来完成 从以上这个技术层次图我们看以看到 Web服务追求的第一目标是简单性 可能大家会觉得很奇怪 有那么多协议 怎么能说他简单 首先 这些协议本身都是简单的 无论是HTTP FTP等传统的TCP IP系统的网络协议 还是SOAP WSDL UDDI WSFL等基于XML的协议 他们设计原则中的一个最重要点就是力求简单性 相信大家如果对XML SOAP等有深入了解的话 一定会深深体会这一点 其次 一个可以使用的Web服务应当按照需要选用若干层次的功能 而无需所有的特性 比如在目前状况下 一个简单应用可能只要使用WSDL SOAP就可以架构一个符合规范的Web服务了 最后 所有的机制完全是基于现有的技术 并没有创造一个完全的新体系 无论是IPv4 HTTP FTP这些现有的网络协议 还是SOAP WSDL等这些基于XML而定义的协议都是遵循着一个原则 继承原有的被广泛接受的技术 这样才能使得Web服务被广泛接受 4 Web服务体系结构的优势 1 高度的通用性和易用性跨防火墙的通信如果应用程序有成千上万的用户 而且分布在世界各地 那么客户端和服务器之间的通信将是一个棘手的问题 因为客户端和服务器之间通常会有防火墙或者代理服务器 在这种情况下 使用DCOM就不是那么简单 通常也不便于把客户端程序发布到数量如此庞大的每一个用户手中 传统的做法是 选择用浏览器作为客户端 写下一大堆ASP页面 把应用程序的中间层暴露给最终用户 这样做的结果是开发难度大 程序很难维护 2 完全的平台 语言独立性 3 高度的集成性企业级的应用程序开发者都知道 企业里经常都要把用不同语言写成的 在不同平台上运行的各种程序集成起来 而这种集成将花费很大的开发力量 应用程序经常需要从运行在IBM主机上的程序中获取数据 或者把数据发送到主机或UNIX应用程序中去 即使在同一个平台上 不同软件厂商生产的各种软件也常常需要集成起来 通过WebService 应用程序可以用标准的方法把功能和数据 暴露 出来 供其它应用程序使用 例如 有一个订单登录程序 用于登录从客户来的新订单 包括客户信息 发货地址 数量 价格和付款方式等内容 还有一个订单执行程序 用于实际货物发送的管理 这两个程序来自不同软件厂商 一份新订单进来之后 订单登录程序需要通知订单执行程序发送货物 通过在订单执行程序上面增加一层WebService 订单执行程序可以把 AddOrder 函数 暴露 出来 这样 每当有新订单到来时 订单登录程序就可以调用这个函数来发送货物了 B2B的集成用WebService集成应用程序 可以使公司内部的商务处理更加自动化 但当交易跨越供应商和客户 突破公司的界限时会怎么样呢 跨公司的商务交易集成通常叫做B2B集成 WebService是B2B集成成功的关键 通过WebService 公司可以把关键的商务应用 暴露 给指定的供应商和客户 例如 把电子下单系统和电子发票系统 暴露 出来 客户就可以以电子的方式发送订单 供应商则可以以电子的方式发送原料采购发票 当然 这并不是一个新的概念 EDI 电子文档交换 早就是这样了 但是 WebService的实现要比EDI简单得多 而且WebService运行在Internet上 在世界任何地方都可轻易实现 其运行成本就相对较低 不过 WebService并不像EDI那样 是文档交换或B2B集成的完整解决方案 WebService只是B2B集成的一个关键部分 还需要许多其它的部分才能实现集成 用WebService来实现B2B集成的最大好处在于可以轻易实现互操作性 只要把商务逻辑 暴露 出来 成为WebService 就可以让任何指定的合作伙伴调用这些商务逻辑 而不管他们的系统在什么平台上运行 使用什么开发语言 这样就大大减少了花在B2B集成上的时间和成本 让许多原本无法承受EDI的中小企业也能实现B2B集成 4 容易部署和发布Web服务体系结构方案通过UDDI WSDL和SOAP等技术协议 很容易实现系统的部署 Web服务的当前发展情况y轴表明技术的受关注程度 而X轴则表示技术的应用的成熟度 Y每一项技术在从出现到成熟的整个过程都将沿着图中的曲线

温馨提示

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

评论

0/150

提交评论