《Web服務(wù)實用技術(shù)(Web服務(wù)概述.ppt》由會員分享,可在線閱讀,更多相關(guān)《Web服務(wù)實用技術(shù)(Web服務(wù)概述.ppt(45頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Web服務(wù)實用技術(shù),主講:李偉剛 西北工業(yè)大學(xué)軟件與微電子學(xué)院,介紹,本課程講授Web服務(wù)實用技術(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ù),先修課程或準備知識,編程基礎(chǔ)(C、Java等) Web編程,考核辦法,課程成績由三方面構(gòu)成 課堂和實驗課出勤及表現(xiàn):20% 作業(yè)及實驗報告:30% 期末考試或期末project:50%,教材及資源,教材 顧寧、劉家茂等. Web Services原理與研發(fā)實踐. 機械工業(yè)出版社, 2
2、007.9 參考書 喻堅,韓燕波. 面向服務(wù)的計算原理和應(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上實現(xiàn)互操作,它極大地拓展了應(yīng)用程序的功能,實現(xiàn)了軟件的動態(tài)提供。 Gartner Group 2002年:WS是人們思考如何獲取和提供商業(yè)服務(wù)的一種新方式,它將會帶來巨大的利益,包括降低生產(chǎn)、銷售成本,縮短各種系統(tǒng)的安裝調(diào)試時間,提高企業(yè)對市場反應(yīng)的敏捷性和靈活性等。,2 商業(yè)需求與IT技術(shù)的不足,2.1 商業(yè)需求 業(yè)務(wù)敏捷性 要求:IT實現(xiàn)的自動業(yè)務(wù)流程能夠快速構(gòu)造和快速調(diào)整 保護企業(yè)對信息技術(shù)的投資 要求:能夠低成本地對原有IT系統(tǒng)更新、升級和維護;充分利用原有遺留系統(tǒng)構(gòu)建新系統(tǒng) 支持企業(yè)組織變革(虛擬企
4、業(yè)) 要求:IT能夠支持動態(tài)聯(lián)盟,軟件互操作性強,2 商業(yè)需求與IT技術(shù)的不足,2.2 IT技術(shù)的不足 編程級別上的發(fā)展史 對計算機程序細節(jié)進行抽象功能分解 原始的組件的出現(xiàn) 面向?qū)ο蟮木幊?面向組件的重生,2 商業(yè)需求與IT技術(shù)的不足,2.2 IT技術(shù)的不足 分布式計算 大型機集中式計算 小型化、小型計算機 UNIX操作系統(tǒng) C/S大行其道 分布式計算平臺與面向?qū)ο蠹夹g(shù)結(jié)合 分布式計算中間件 XML技術(shù)的出現(xiàn) Webservices ,2 商業(yè)需求與IT技術(shù)的不足,2.2 IT技術(shù)的不足 業(yè)務(wù)計算 20世紀70年代:數(shù)據(jù)庫系統(tǒng) 1972年:SAP 1984年:IBM PCERP,SCM,PD
5、M,BI 90年代初:信息孤島 下一步???,2 商業(yè)需求與IT技術(shù)的不足,2.2 IT技術(shù)的不足 總結(jié) 客戶端與服務(wù)端緊耦合 平臺之間互操作困難,3 Web Services的優(yōu)勢,3.1 縮短業(yè)務(wù)流程周期,提高企業(yè)反應(yīng)速度 為更多的應(yīng)用和用戶實時地提供關(guān)鍵數(shù)據(jù),從而使企業(yè)更具敏捷性和靈活性 3.2 簡化了客戶的自助服務(wù)體系 幫助構(gòu)建企業(yè)對外的窗口 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上的對象 從
7、外部使用者的角度來看, Web Services是部署在Web上的對象,具備以下特征: 完好的封裝性 (數(shù)據(jù)和處理) 松散耦合 使用協(xié)約的規(guī)范性 標準化 高度可集成能力,1 Web Services的定義,Web Services: 部署在Web上的對象 Web Services的要件 對象界面描述: WSDL 對象訪問: SOAP 對象界面發(fā)現(xiàn): UDDI 對象實現(xiàn): EJB, COM+, CORBA以及任何可用于對象實現(xiàn)的技術(shù),,UDDI,WSDL,SOAP,EJB/COM+/CORBA,1 Web Services的定義,Web Services: 部署在Web上的對象 對象技術(shù)演變,1
8、 Web Services的定義,2 Web Services的功能,2.1 Web Services的功能 與任何平臺上用任何語言編寫的應(yīng)用交互 將應(yīng)用程序的功能概念化成任務(wù),從而形成面向任務(wù)的開發(fā)和工作流 允許松耦合,當某個或多個服務(wù)在設(shè)計或?qū)崿F(xiàn)中發(fā)生變更時,應(yīng)用程序之間的交互作用不會因此而中斷 使現(xiàn)有的應(yīng)用能適應(yīng)不斷變化的業(yè)務(wù)和客戶需求 向原有軟件提供服務(wù)接口,而無需改變原來的應(yīng)用程序,從而使這些應(yīng)用程序完全可以運行在原本的軟硬件環(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)用場合與
10、局限,3.1 Web Services的應(yīng)用場合 跨防火墻通信 應(yīng)用程序集成 B2B集成 軟件和數(shù)據(jù)重用,Web Services在需要通過Web進行互操作或遠程調(diào)用的情況下最適用!,3 Web Services的應(yīng)用場合與局限,3.2 Web Services不適用的場合 單機應(yīng)用程序 使用本地API更高效 不便于對本地系統(tǒng)資源進行操作 局域網(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年微軟舊金山中心的一次記者招待會上 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)用的幾個階段,早期應(yīng)用2002年中期以前 強調(diào)在企業(yè)內(nèi)部集成 驅(qū)動因素:成本效益、挖潛 領(lǐng)域:金融服務(wù)、高技術(shù)制造、通信、汽車和保險等 系統(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) 作為分布式計算架構(gòu),Web Services是SOA最重要的實現(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 對服務(wù)必要的描述 要聲明服務(wù)提供者提供的Web Services的特征。服務(wù)注冊中心根據(jù)某些特征將服務(wù)提供者進行分類,以幫助查找具體服務(wù)。服務(wù)請求者根據(jù)特征來匹配那些滿足要求的服務(wù)提供者 服務(wù)描述應(yīng)該聲明接口特征,以訪問特定服務(wù) 服務(wù)還應(yīng)聲明各種非功能性特征,如安全、事務(wù)要求、使用服務(wù)的費用等。接口特征和非功能性特征也可以用來幫助服務(wù)請求者查找服務(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ā)和測試服務(wù)實現(xiàn)、定義服務(wù)接口描述和定義Web Services實現(xiàn)描述 部署 向注冊中心發(fā)布服務(wù)接口和服務(wù)實現(xiàn)的定義,把Web Services部署到執(zhí)行環(huán)境中 運行 調(diào)用Web Services
18、管理 持續(xù)地管理和經(jīng)營Web Services應(yīng)用程序,設(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ā)方案 零起點 自底向上 自頂向下 中間相遇,2 Web Services開發(fā)平臺,Microsoft.NET IBM Websphere Oracle sun one,思考與討論題,Web Services的優(yōu)勢有哪些? 為什么說Web Services是部署在Web上的對象? 哪些場合不適用Web Services? 簡述Web Services模型 Web Services開發(fā)過程,