《Web服務(wù)實(shí)用技術(shù)(Web服務(wù)概述.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《Web服務(wù)實(shí)用技術(shù)(Web服務(wù)概述.ppt(45頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、Web服務(wù)實(shí)用技術(shù),主講:李偉剛 西北工業(yè)大學(xué)軟件與微電子學(xué)院,介紹,本課程講授Web服務(wù)實(shí)用技術(shù),涵蓋Web服務(wù)的商業(yè)需求、技術(shù)原理、技術(shù)架構(gòu)、技術(shù)開發(fā)以及應(yīng)用模式,主要包括如下內(nèi)容: Web服務(wù)概述 XML與XML Schema SOAP WSDL UDDI Web服務(wù)組合 Web服務(wù)應(yīng)用開發(fā) 語義Web服務(wù),先修課程或準(zhǔn)備知識(shí),編程基礎(chǔ)(C、Java等) Web編程,考核辦法,課程成績(jī)由三方面構(gòu)成 課堂和實(shí)驗(yàn)課出勤及表現(xiàn):20% 作業(yè)及實(shí)驗(yàn)報(bào)告:30% 期末考試或期末project:50%,教材及資源,教材 顧寧、劉家茂等. Web Services原理與研發(fā)實(shí)踐. 機(jī)械工業(yè)出版社, 2
2、007.9 參考書 喻堅(jiān),韓燕波. 面向服務(wù)的計(jì)算原理和應(yīng)用. 清華大學(xué)出版社, 2006.12 Kent Ka Iok Tong. Developing Web Services with Apache CXF and Axis2 (3rd edition). TipTec Development, 2010.3 課件資源 學(xué)院FTP: ftp://10.128.48.100/,第一章 Web Services概述,,主要內(nèi)容,背景分析 Web Services的定義及功能 Web Services發(fā)展史 Web Services工作原理 Web Services開發(fā)方法,第一節(jié) 背景分析,
3、,1 Web Services(WS)概述,WS定義了應(yīng)用程序如何在Internet上實(shí)現(xiàn)互操作,它極大地拓展了應(yīng)用程序的功能,實(shí)現(xiàn)了軟件的動(dòng)態(tài)提供。 Gartner Group 2002年:WS是人們思考如何獲取和提供商業(yè)服務(wù)的一種新方式,它將會(huì)帶來巨大的利益,包括降低生產(chǎn)、銷售成本,縮短各種系統(tǒng)的安裝調(diào)試時(shí)間,提高企業(yè)對(duì)市場(chǎng)反應(yīng)的敏捷性和靈活性等。,2 商業(yè)需求與IT技術(shù)的不足,2.1 商業(yè)需求 業(yè)務(wù)敏捷性 要求:IT實(shí)現(xiàn)的自動(dòng)業(yè)務(wù)流程能夠快速構(gòu)造和快速調(diào)整 保護(hù)企業(yè)對(duì)信息技術(shù)的投資 要求:能夠低成本地對(duì)原有IT系統(tǒng)更新、升級(jí)和維護(hù);充分利用原有遺留系統(tǒng)構(gòu)建新系統(tǒng) 支持企業(yè)組織變革(虛擬企
4、業(yè)) 要求:IT能夠支持動(dòng)態(tài)聯(lián)盟,軟件互操作性強(qiáng),2 商業(yè)需求與IT技術(shù)的不足,2.2 IT技術(shù)的不足 編程級(jí)別上的發(fā)展史 對(duì)計(jì)算機(jī)程序細(xì)節(jié)進(jìn)行抽象功能分解 原始的組件的出現(xiàn) 面向?qū)ο蟮木幊?面向組件的重生,2 商業(yè)需求與IT技術(shù)的不足,2.2 IT技術(shù)的不足 分布式計(jì)算 大型機(jī)集中式計(jì)算 小型化、小型計(jì)算機(jī) UNIX操作系統(tǒng) C/S大行其道 分布式計(jì)算平臺(tái)與面向?qū)ο蠹夹g(shù)結(jié)合 分布式計(jì)算中間件 XML技術(shù)的出現(xiàn) Webservices ,2 商業(yè)需求與IT技術(shù)的不足,2.2 IT技術(shù)的不足 業(yè)務(wù)計(jì)算 20世紀(jì)70年代:數(shù)據(jù)庫(kù)系統(tǒng) 1972年:SAP 1984年:IBM PCERP,SCM,PD
5、M,BI 90年代初:信息孤島 下一步???,2 商業(yè)需求與IT技術(shù)的不足,2.2 IT技術(shù)的不足 總結(jié) 客戶端與服務(wù)端緊耦合 平臺(tái)之間互操作困難,3 Web Services的優(yōu)勢(shì),3.1 縮短業(yè)務(wù)流程周期,提高企業(yè)反應(yīng)速度 為更多的應(yīng)用和用戶實(shí)時(shí)地提供關(guān)鍵數(shù)據(jù),從而使企業(yè)更具敏捷性和靈活性 3.2 簡(jiǎn)化了客戶的自助服務(wù)體系 幫助構(gòu)建企業(yè)對(duì)外的窗口 3.3 提高企業(yè)效率 消除信息孤島,第二節(jié) WS的定義及功能,,1 Web Services的定義,W3C definition A software application identified by a URI, whose interfac
6、es 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上的對(duì)象 從
7、外部使用者的角度來看, Web Services是部署在Web上的對(duì)象,具備以下特征: 完好的封裝性 (數(shù)據(jù)和處理) 松散耦合 使用協(xié)約的規(guī)范性 標(biāo)準(zhǔn)化 高度可集成能力,1 Web Services的定義,Web Services: 部署在Web上的對(duì)象 Web Services的要件 對(duì)象界面描述: WSDL 對(duì)象訪問: SOAP 對(duì)象界面發(fā)現(xiàn): UDDI 對(duì)象實(shí)現(xiàn): EJB, COM+, CORBA以及任何可用于對(duì)象實(shí)現(xiàn)的技術(shù),,UDDI,WSDL,SOAP,EJB/COM+/CORBA,1 Web Services的定義,Web Services: 部署在Web上的對(duì)象 對(duì)象技術(shù)演變,1
8、 Web Services的定義,2 Web Services的功能,2.1 Web Services的功能 與任何平臺(tái)上用任何語言編寫的應(yīng)用交互 將應(yīng)用程序的功能概念化成任務(wù),從而形成面向任務(wù)的開發(fā)和工作流 允許松耦合,當(dāng)某個(gè)或多個(gè)服務(wù)在設(shè)計(jì)或?qū)崿F(xiàn)中發(fā)生變更時(shí),應(yīng)用程序之間的交互作用不會(huì)因此而中斷 使現(xiàn)有的應(yīng)用能適應(yīng)不斷變化的業(yè)務(wù)和客戶需求 向原有軟件提供服務(wù)接口,而無需改變?cè)瓉淼膽?yīng)用程序,從而使這些應(yīng)用程序完全可以運(yùn)行在原本的軟硬件環(huán)境,2 Web Services的功能,2.2 Web Services的分類 Business-Oriented Web Services ERP,CRM,
9、 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的應(yīng)用場(chǎng)合與
10、局限,3.1 Web Services的應(yīng)用場(chǎng)合 跨防火墻通信 應(yīng)用程序集成 B2B集成 軟件和數(shù)據(jù)重用,Web Services在需要通過Web進(jìn)行互操作或遠(yuǎn)程調(diào)用的情況下最適用!,3 Web Services的應(yīng)用場(chǎng)合與局限,3.2 Web Services不適用的場(chǎng)合 單機(jī)應(yīng)用程序 使用本地API更高效 不便于對(duì)本地系統(tǒng)資源進(jìn)行操作 局域網(wǎng)的同構(gòu)應(yīng)用程序 Web Services大多基于HTTP協(xié)議,在同構(gòu)局域網(wǎng)環(huán)境下不如應(yīng)用協(xié)議效率高(如DCOM,RMI,.NET Remoting等),第三節(jié) Web Services發(fā)展史,,1 Web Services技術(shù)的發(fā)展歷程,“Web Se
11、rvices”一詞首先出現(xiàn)在1999年微軟舊金山中心的一次記者招待會(huì)上 W3C于1999年開始探索基于XML的服務(wù)調(diào)用協(xié)議 2000年5月,Ariba、CommerceOne、IBM、Microsoft等公司向W3C提交SOAP1.1規(guī)范,被接受 2000年9月,W3C創(chuàng)建XML Protocol工作組 2000年9月,IBM、微軟、Ariba聯(lián)合發(fā)布WSDL1.0 2001年3月,WSDL1.1提交給W3C,2 Web Services應(yīng)用的幾個(gè)階段,早期應(yīng)用2002年中期以前 強(qiáng)調(diào)在企業(yè)內(nèi)部集成 驅(qū)動(dòng)因素:成本效益、挖潛 領(lǐng)域:金融服務(wù)、高技術(shù)制造、通信、汽車和保險(xiǎn)等 系統(tǒng)地部署2002年
12、中至2004年初 企業(yè)系統(tǒng)地、策略地開發(fā)和應(yīng)用WS,理順已有的業(yè)務(wù)流程 新業(yè)務(wù)模式2004年至今,第四節(jié) WS工作原理,,1 Web Services模型,1.1 面向服務(wù)的體系結(jié)構(gòu) 作為分布式計(jì)算架構(gòu),Web Services是SOA最重要的實(shí)現(xiàn)技術(shù) Web Services模型符合面向服務(wù)架構(gòu),1 Web Services模型,1.2 Web Services架構(gòu)的元素 Role Services Provider Services Requestor Services Registry Operation Publish Find Bind Key Component Services
13、Services Description,1 Web Services模型,1.3 對(duì)服務(wù)必要的描述 要聲明服務(wù)提供者提供的Web Services的特征。服務(wù)注冊(cè)中心根據(jù)某些特征將服務(wù)提供者進(jìn)行分類,以幫助查找具體服務(wù)。服務(wù)請(qǐng)求者根據(jù)特征來匹配那些滿足要求的服務(wù)提供者 服務(wù)描述應(yīng)該聲明接口特征,以訪問特定服務(wù) 服務(wù)還應(yīng)聲明各種非功能性特征,如安全、事務(wù)要求、使用服務(wù)的費(fèi)用等。接口特征和非功能性特征也可以用來幫助服務(wù)請(qǐng)求者查找服務(wù),2 Web Services協(xié)議棧,2.1 Web服務(wù)核心協(xié)議 Simple Object Access Protocol (SOAP) Web Services
14、Description Language (WSDL) Universal Description, Discovery and Integration (UDDI) Web Service Business Process Execution Language (WSBPEL) ,2 Web Services協(xié)議棧,2.2 Web服務(wù)協(xié)議棧,Data,Type,Interface,Behavior,Message,BPEL, DAML-S, WSCI,Web Service Standards,Implementation Platforms,WSDL,SOAP,XML Schema,XML
15、,Oracle Java EE,Microsoft .Net,Other SOA Solutions,2 Web Services協(xié)議棧,2.3 Web服務(wù)技術(shù)體系架構(gòu),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,Serv
16、ices 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:
17、WSDM, WS-Manageability SPML, WS-Provisioning,Web Services Security: XML-Encryption XML-Signature WS-Security WS-SecureConversation WS-SecurityPolicy WS-Trust,第五節(jié) 開發(fā)方法,,1 Web Services開發(fā),1.1 開發(fā)壽命周期 構(gòu)建 開發(fā)和測(cè)試服務(wù)實(shí)現(xiàn)、定義服務(wù)接口描述和定義Web Services實(shí)現(xiàn)描述 部署 向注冊(cè)中心發(fā)布服務(wù)接口和服務(wù)實(shí)現(xiàn)的定義,把Web Services部署到執(zhí)行環(huán)境中 運(yùn)行 調(diào)用Web Services
18、管理 持續(xù)地管理和經(jīng)營(yíng)Web Services應(yīng)用程序,設(shè)計(jì)與實(shí)現(xiàn),發(fā)現(xiàn)與調(diào)用,部署與發(fā)布,1 Web Services開發(fā),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 composi
19、tions Invocation Keeping enactments separated Providing transactional guarantees Monitoring How to track enactments Recovering from failed enactments,1 Web Services開發(fā),1.3 WS開發(fā)模型,Business Component Analysis,Services Identification,Services Specification,Component Identification,Component Specificatio
20、n,Services Realization Decision,Services Implementation,,,過程模型,1 Web Services開發(fā),1.3 WS開發(fā)模型,Existing Application Resources,Components,Services,Business Process,Services Provider,Services Consumer,,,Qos Security Management,Integration Architecture,層次模型,過程模型 VS. 層次模型,1 Web Services開發(fā),1.4 WS開發(fā)方案 零起點(diǎn) 自底向上 自頂向下 中間相遇,2 Web Services開發(fā)平臺(tái),Microsoft.NET IBM Websphere Oracle sun one,思考與討論題,Web Services的優(yōu)勢(shì)有哪些? 為什么說Web Services是部署在Web上的對(duì)象? 哪些場(chǎng)合不適用Web Services? 簡(jiǎn)述Web Services模型 Web Services開發(fā)過程,