资源描述
Web服务实用技术,主讲:李伟刚 西北工业大学软件与微电子学院,介绍,本课程讲授Web服务实用技术,涵盖Web服务的商业需求、技术原理、技术架构、技术开发以及应用模式,主要包括如下内容: Web服务概述 XML与XML Schema SOAP WSDL UDDI Web服务组合 Web服务应用开发 语义Web服务,先修课程或准备知识,编程基础(C、Java等) Web编程,考核办法,课程成绩由三方面构成 课堂和实验课出勤及表现:20% 作业及实验报告:30% 期末考试或期末project:50%,教材及资源,教材 顾宁、刘家茂等. Web Services原理与研发实践. 机械工业出版社, 2007.9 参考书 喻坚,韩燕波. 面向服务的计算原理和应用. 清华大学出版社, 2006.12 Kent Ka Iok Tong. Developing Web Services with Apache CXF and Axis2 (3rd edition). TipTec Development, 2010.3 课件资源 学院FTP: ftp:/10.128.48.100/,第一章 Web Services概述,主要内容,背景分析 Web Services的定义及功能 Web Services发展史 Web Services工作原理 Web Services开发方法,第一节 背景分析,1 Web Services(WS)概述,WS定义了应用程序如何在Internet上实现互操作,它极大地拓展了应用程序的功能,实现了软件的动态提供。 Gartner Group 2002年:WS是人们思考如何获取和提供商业服务的一种新方式,它将会带来巨大的利益,包括降低生产、销售成本,缩短各种系统的安装调试时间,提高企业对市场反应的敏捷性和灵活性等。,2 商业需求与IT技术的不足,2.1 商业需求 业务敏捷性 要求:IT实现的自动业务流程能够快速构造和快速调整 保护企业对信息技术的投资 要求:能够低成本地对原有IT系统更新、升级和维护;充分利用原有遗留系统构建新系统 支持企业组织变革(虚拟企业) 要求:IT能够支持动态联盟,软件互操作性强,2 商业需求与IT技术的不足,2.2 IT技术的不足 编程级别上的发展史 对计算机程序细节进行抽象功能分解 原始的组件的出现 面向对象的编程 面向组件的重生,2 商业需求与IT技术的不足,2.2 IT技术的不足 分布式计算 大型机集中式计算 小型化、小型计算机 UNIX操作系统 C/S大行其道 分布式计算平台与面向对象技术结合 分布式计算中间件 XML技术的出现 Webservices ,2 商业需求与IT技术的不足,2.2 IT技术的不足 业务计算 20世纪70年代:数据库系统 1972年:SAP 1984年:IBM PCERP,SCM,PDM,BI 90年代初:信息孤岛 下一步?,2 商业需求与IT技术的不足,2.2 IT技术的不足 总结 客户端与服务端紧耦合 平台之间互操作困难,3 Web Services的优势,3.1 缩短业务流程周期,提高企业反应速度 为更多的应用和用户实时地提供关键数据,从而使企业更具敏捷性和灵活性 3.2 简化了客户的自助服务体系 帮助构建企业对外的窗口 3.3 提高企业效率 消除信息孤岛,第二节 WS的定义及功能,1 Web Services的定义,W3C definition A software application identified by a URI, whose interfaces and binding are capable of being defined, described, and discovered by XML artifacts and supports direct interactions with other software applications using XML-based messages via Internet-based protocols XML Interactions Messages Defined and described,1 Web Services的定义,Web Services: 部署在Web上的对象 从外部使用者的角度来看, Web Services是部署在Web上的对象,具备以下特征: 完好的封装性 (数据和处理) 松散耦合 使用协约的规范性 标准化 高度可集成能力,1 Web Services的定义,Web Services: 部署在Web上的对象 Web Services的要件 对象界面描述: WSDL 对象访问: SOAP 对象界面发现: UDDI 对象实现: EJB, COM+, CORBA以及任何可用于对象实现的技术,UDDI,WSDL,SOAP,EJB/COM+/CORBA,1 Web Services的定义,Web Services: 部署在Web上的对象 对象技术演变,1 Web Services的定义,2 Web Services的功能,2.1 Web Services的功能 与任何平台上用任何语言编写的应用交互 将应用程序的功能概念化成任务,从而形成面向任务的开发和工作流 允许松耦合,当某个或多个服务在设计或实现中发生变更时,应用程序之间的交互作用不会因此而中断 使现有的应用能适应不断变化的业务和客户需求 向原有软件提供服务接口,而无需改变原来的应用程序,从而使这些应用程序完全可以运行在原本的软硬件环境,2 Web Services的功能,2.2 Web Services的分类 Business-Oriented Web Services ERP,CRM, Application system integration Consumer-Oriented Web Services B2C website, across multi B2C systems Device-Oriented Web Services Support the services across different kinds of services. E.g weather report, email service System-Oriented Web Services Authentication Monitoring QoS,3 Web Services的应用场合与局限,3.1 Web Services的应用场合 跨防火墙通信 应用程序集成 B2B集成 软件和数据重用,Web Services在需要通过Web进行互操作或远程调用的情况下最适用!,3 Web Services的应用场合与局限,3.2 Web Services不适用的场合 单机应用程序 使用本地API更高效 不便于对本地系统资源进行操作 局域网的同构应用程序 Web Services大多基于HTTP协议,在同构局域网环境下不如应用协议效率高(如DCOM,RMI,.NET Remoting等),第三节 Web Services发展史,1 Web Services技术的发展历程,“Web Services”一词首先出现在1999年微软旧金山中心的一次记者招待会上 W3C于1999年开始探索基于XML的服务调用协议 2000年5月,Ariba、CommerceOne、IBM、Microsoft等公司向W3C提交SOAP1.1规范,被接受 2000年9月,W3C创建XML Protocol工作组 2000年9月,IBM、微软、Ariba联合发布WSDL1.0 2001年3月,WSDL1.1提交给W3C,2 Web Services应用的几个阶段,早期应用2002年中期以前 强调在企业内部集成 驱动因素:成本效益、挖潜 领域:金融服务、高技术制造、通信、汽车和保险等 系统地部署2002年中至2004年初 企业系统地、策略地开发和应用WS,理顺已有的业务流程 新业务模式2004年至今,第四节 WS工作原理,1 Web Services模型,1.1 面向服务的体系结构 作为分布式计算架构,Web Services是SOA最重要的实现技术 Web Services模型符合面向服务架构,1 Web Services模型,1.2 Web Services架构的元素 Role Services Provider Services Requestor Services Registry Operation Publish Find Bind Key Component Services Services Description,1 Web Services模型,1.3 对服务必要的描述 要声明服务提供者提供的Web Services的特征。服务注册中心根据某些特征将服务提供者进行分类,以帮助查找具体服务。服务请求者根据特征来匹配那些满足要求的服务提供者 服务描述应该声明接口特征,以访问特定服务 服务还应声明各种非功能性特征,如安全、事务要求、使用服务的费用等。接口特征和非功能性特征也可以用来帮助服务请求者查找服务,2 Web Services协议栈,2.1 Web服务核心协议 Simple Object Access Protocol (SOAP) Web Services Description Language (WSDL) Universal Description, Discovery and Integration (UDDI) Web Service Business Process Execution Language (WSBPEL) ,2 Web Services协议栈,2.2 Web服务协议栈,Data,Type,Interface,Behavior,Message,BPEL, DAML-S, WSCI,Web Service Standards,Implementation Platforms,WSDL,SOAP,XML Schema,XML,Oracle Java EE,Microsoft .Net,Other SOA Solutions,2 Web Services协议栈,2.3 Web服务技术体系架构,Transport layer: HTTP, SMTP, FTP, etc.,XML messaging layer: SOAP , WS-Addressing, WS-Notification, WS-Eventing, WS-Enumeration, WS-MessageDelivery, WS-Reliability,WS Reliable Messaging, WS-Resources WS-Transfer,Services Description Layer: WSDL, WSCL, WSCI,WS-MetadataExchange, WS-Policy,Web Services composition: WSFL,BPEL4WS WS-CDL WS-CAF,Publishing and discovery: UDDI, WSIL , WS-Discovery,Web Services Transaction: WS-Coordination WS-Transaction WS-AtomicTransaction WS-BusinessActivity Web Services Management: WSDM, WS-Manageability SPML, WS-Provisioning,Web Services Security: XML-Encryption XML-Signature WS-Security WS-SecureConversation WS-SecurityPolicy WS-Trust,第五节 开发方法,1 Web Services开发,1.1 开发寿命周期 构建 开发和测试服务实现、定义服务接口描述和定义Web Services实现描述 部署 向注册中心发布服务接口和服务实现的定义,把Web Services部署到执行环境中 运行 调用Web Services 管理 持续地管理和经营Web Services应用程序,设计与实现,发现与调用,部署与发布,1 Web Services开发,1.2 Web Services涉及的处理 Discovery What properties should be described? How to efficiently query against them? Composition Specifying goals of a composition Specifying constraints on a composition Building a composition Analysis of compositions Invocation Keeping enactments separated Providing transactional guarantees Monitoring How to track enactments Recovering from failed enactments,1 Web Services开发,1.3 WS开发模型,Business Component Analysis,Services Identification,Services Specification,Component Identification,Component Specification,Services Realization Decision,Services Implementation,过程模型,1 Web Services开发,1.3 WS开发模型,Existing Application Resources,Components,Services,Business Process,Services Provider,Services Consumer,Qos Security Management,Integration Architecture,层次模型,过程模型 VS. 层次模型,1 Web Services开发,1.4 WS开发方案 零起点 自底向上 自顶向下 中间相遇,2 Web Services开发平台,Microsoft.NET IBM Websphere Oracle sun one,思考与讨论题,Web Services的优势有哪些? 为什么说Web Services是部署在Web上的对象? 哪些场合不适用Web Services? 简述Web Services模型 Web Services开发过程,
展开阅读全文