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