面向服務(wù)架構(gòu)概述_第1頁(yè)
面向服務(wù)架構(gòu)概述_第2頁(yè)
面向服務(wù)架構(gòu)概述_第3頁(yè)
面向服務(wù)架構(gòu)概述_第4頁(yè)
面向服務(wù)架構(gòu)概述_第5頁(yè)
已閱讀5頁(yè),還剩241頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

服務(wù)科學(xué)與工程概論

IntroductiontoServiceScience&Engineering第5章面向服務(wù)的架構(gòu)3/29/20241本章內(nèi)容3面向服務(wù)與SOA基礎(chǔ)SOA的體系結(jié)構(gòu)模式服務(wù)組合技術(shù)面向服務(wù)的建模與分析5.15.25.35.45.5Web服務(wù)與SOASOA治理5.63/29/20242西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA與面向服務(wù)軟件架構(gòu)面向服務(wù)的原則SOA的定義提出SOA的動(dòng)機(jī)SOA和分布式信息系統(tǒng)體系結(jié)構(gòu)SOA和軟件開發(fā)SOA中的基本構(gòu)件與連接件SOA的典型特征與優(yōu)勢(shì)3/29/20243西北工業(yè)大學(xué)軟件與微電子學(xué)院5.1.1軟件架構(gòu)3/29/20244西北工業(yè)大學(xué)軟件與微電子學(xué)院軟件架構(gòu)的定義Thesoftwarearchitectureofaprogramorcomputingsystemisthestructureorstructuresofthesystem,whichcomprisesoftwareelements,theexternallyvisiblepropertiesofthoseelements,andtherelationshipsamongthem.Thedesignofapplicationorsystemsoftwarethatincorporatesprotocolsandinterfacesforinteractingwithotherprogramsandforfutureflexibilityandexpandability.Aself-contained,stand-aloneprogramwouldhaveprogramlogic,butnotasoftwarearchitecture.3/29/20245西北工業(yè)大學(xué)軟件與微電子學(xué)院軟件架構(gòu)的定義架構(gòu)是系統(tǒng)的組織結(jié)構(gòu)。架構(gòu)還包括“符合”系統(tǒng)完整性、經(jīng)濟(jì)約束條件、審美需求和樣式。它并不僅注重對(duì)內(nèi)部的考慮,而且還在系統(tǒng)的用戶環(huán)境和開發(fā)環(huán)境中對(duì)系統(tǒng)進(jìn)行整體考慮,即同時(shí)注重對(duì)外部的考慮。架構(gòu)有兩個(gè)公共元素:一是一個(gè)軟件系統(tǒng)從整體到部分的最高層次的劃分,一個(gè)建造一個(gè)系統(tǒng)所作出的最高層次的、以后難以更改的、商業(yè)的和技術(shù)的決定。MartinFowler3/29/20246西北工業(yè)大學(xué)軟件與微電子學(xué)院軟件架構(gòu)的定義在計(jì)算的算法和數(shù)據(jù)結(jié)構(gòu)之外,設(shè)計(jì)并確定的系統(tǒng)整體結(jié)構(gòu)問題,包括總體組織結(jié)構(gòu)和全局控制結(jié)構(gòu);通信、同步和數(shù)據(jù)訪問的協(xié)議;設(shè)計(jì)元素的功能分配;物理分布;設(shè)計(jì)元素的組成;定標(biāo)與性能;備選設(shè)計(jì)的選擇。3/29/20247西北工業(yè)大學(xué)軟件與微電子學(xué)院3/29/20248西北工業(yè)大學(xué)軟件與微電子學(xué)院架構(gòu)的目標(biāo)可靠性(Reliable)安全性(Secure)可伸縮性(Scalable)可定制化(Customizable)可擴(kuò)展性(Extensible)可維護(hù)性(Maintainable)客戶體驗(yàn)(CustomerExperience)市場(chǎng)時(shí)機(jī)(TimetoMarket)3/29/20249西北工業(yè)大學(xué)軟件與微電子學(xué)院架構(gòu)的分類邏輯架構(gòu)3/29/202410西北工業(yè)大學(xué)軟件與微電子學(xué)院架構(gòu)的分類物理架構(gòu)3/29/202411西北工業(yè)大學(xué)軟件與微電子學(xué)院架構(gòu)的分類系統(tǒng)架構(gòu)系統(tǒng)的非功能性特征,如可擴(kuò)展性、可靠性、強(qiáng)壯性、靈活性、性能等。3/29/202412西北工業(yè)大學(xué)軟件與微電子學(xué)院架構(gòu)師的工作需要有廣泛的軟件理論知識(shí)和相應(yīng)的經(jīng)驗(yàn)來實(shí)施和管理軟件產(chǎn)品的高級(jí)設(shè)計(jì)。軟件架構(gòu)師定義和設(shè)計(jì)軟件的模塊化,模塊之間的交互,用戶界面風(fēng)格,對(duì)外接口方法,創(chuàng)新的設(shè)計(jì)特性,以及高層事物的對(duì)象操作、邏輯和流程。3/29/202413西北工業(yè)大學(xué)軟件與微電子學(xué)院5.1.2面向服務(wù)的原則3/29/202414西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)(Service)服務(wù)是整個(gè)SOA實(shí)現(xiàn)的核心。SOA的基本元素是服務(wù),SOA指定一組實(shí)體(服務(wù)提供者、服務(wù)消費(fèi)者、服務(wù)注冊(cè)表、服務(wù)條款、服務(wù)代理和服務(wù)契約),這些實(shí)體詳細(xì)說明了如何提供和消費(fèi)服務(wù)。這些服務(wù)是可互操作的、獨(dú)立的、模塊化的、位置明確的、松耦合的,并且可以通過網(wǎng)絡(luò)查找其地址。W3C將服務(wù)定義為:服務(wù)提供者完成一組工作,為服務(wù)消費(fèi)者交付所需的最終結(jié)果。最終結(jié)果通常會(huì)使使用者的狀態(tài)發(fā)生變化,但也可能使提供者的狀態(tài)改變,或者雙方都產(chǎn)生變化。3/29/202415西北工業(yè)大學(xué)軟件與微電子學(xué)院面向服務(wù)(ServiceOriented)從解決方案角度看,SO是一組模式和實(shí)踐慣例,用于開發(fā)單個(gè)服務(wù)和解決方案,它們利用了服務(wù)模型,因而能夠在不同系統(tǒng)之間集成。服務(wù)封裝其操作系統(tǒng)和專用協(xié)議的特性,允許使用標(biāo)準(zhǔn)協(xié)議和極傳統(tǒng)的接口訪問其業(yè)務(wù)邏輯和信息。在穩(wěn)定的接口背后,可以持續(xù)升級(jí)和改進(jìn)實(shí)現(xiàn),而不會(huì)對(duì)使用該服務(wù)的解決方案產(chǎn)生負(fù)面影響;從資產(chǎn)組合角度看,面向服務(wù)的企業(yè)是分解、集成和管理組織的技術(shù)資產(chǎn)組合的一條途徑,它將服務(wù)模型用作開發(fā)和操作分布式業(yè)務(wù)系統(tǒng)的基礎(chǔ)。3/29/202416西北工業(yè)大學(xué)軟件與微電子學(xué)院面向服務(wù)與企業(yè)計(jì)算業(yè)務(wù)流程層服務(wù)接口層應(yīng)用層業(yè)務(wù)邏輯應(yīng)用邏輯服務(wù)接口層3/29/202417西北工業(yè)大學(xué)軟件與微電子學(xué)院面向服務(wù)與企業(yè)計(jì)算服務(wù)建立了一個(gè)介于業(yè)務(wù)層與應(yīng)用層之間的高級(jí)抽象形態(tài),服務(wù)能夠封裝應(yīng)用邏輯和業(yè)務(wù)流程邏輯。3/29/202418西北工業(yè)大學(xué)軟件與微電子學(xué)院面向服務(wù)與企業(yè)計(jì)算業(yè)務(wù)流程層服務(wù)接口層應(yīng)用層服務(wù)接口層服務(wù)接口表示物理層封裝3/29/202419西北工業(yè)大學(xué)軟件與微電子學(xué)院面向服務(wù)與企業(yè)計(jì)算服務(wù)建立了一個(gè)介于業(yè)務(wù)層與應(yīng)用層之間的高級(jí)抽象形態(tài),服務(wù)能夠封裝應(yīng)用邏輯和業(yè)務(wù)流程邏輯。業(yè)務(wù)邏輯通過服務(wù)擴(kuò)展。3/29/202420西北工業(yè)大學(xué)軟件與微電子學(xué)院面向服務(wù)的原則服務(wù)可復(fù)用服務(wù)有一個(gè)正式契約服務(wù)是松散耦合的服務(wù)是底層邏輯抽象的服務(wù)是可組合的服務(wù)是自治的服務(wù)是無狀態(tài)的服務(wù)是可被發(fā)現(xiàn)的3/29/202421西北工業(yè)大學(xué)軟件與微電子學(xué)院5.1.3SOA的定義3/29/202422西北工業(yè)大學(xué)軟件與微電子學(xué)院什么是“SOA”從字面上看,SOA=Service(服務(wù))+體系結(jié)構(gòu)(Architecture)3/29/202423西北工業(yè)大學(xué)軟件與微電子學(xué)院面向服務(wù)架構(gòu)(SOA)一種體系結(jié)構(gòu)風(fēng)格,它將應(yīng)用程序的不同功能單元—服務(wù)(service),通過服務(wù)間定義良好的接口和契約(contract)聯(lián)系起來。接口采用中立的方式定義,獨(dú)立于具體實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言,使得構(gòu)建的系統(tǒng)中的服務(wù)可以使用統(tǒng)一和標(biāo)準(zhǔn)的方式進(jìn)行通信。這種具有中立的接口定義的特征稱為服務(wù)之間的松耦合。3/29/202424西北工業(yè)大學(xué)軟件與微電子學(xué)院通過超市的例子解釋什么是SOA

3/29/202425西北工業(yè)大學(xué)軟件與微電子學(xué)院面向服務(wù)架構(gòu)(SOA)W3C將服務(wù)定義為:服務(wù)提供者完成一組工作,為服務(wù)使用者交付所需的最終結(jié)果。3/29/202426西北工業(yè)大學(xué)軟件與微電子學(xué)院面向服務(wù)架構(gòu)(SOA)三種角色:服務(wù)提供者(ServiceProvider)服務(wù)請(qǐng)求者(ServiceRequestor)服務(wù)目錄(ServiceRegistry)三個(gè)操作發(fā)布(Publish)查找(Find)綁定(Bind)3/29/202427西北工業(yè)大學(xué)軟件與微電子學(xué)院面向服務(wù)的架構(gòu)一個(gè)組件模型;將應(yīng)用程序的不同功能單元(服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來;接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言;構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。3/29/202428西北工業(yè)大學(xué)軟件與微電子學(xué)院系統(tǒng)(程序)=算法+數(shù)據(jù)結(jié)構(gòu)(1960’s)系統(tǒng)=子程序+子程序(1970’s)系統(tǒng)=對(duì)象+對(duì)象關(guān)聯(lián)機(jī)制(1980’s)系統(tǒng)=軟構(gòu)件+連接件(1990’s)系統(tǒng)=服務(wù)+服務(wù)連接件(2000’s)簡(jiǎn)單復(fù)雜系統(tǒng)規(guī)模與復(fù)雜度封閉開放系統(tǒng)開放度細(xì)粗構(gòu)件粒度構(gòu)件連接件關(guān)注層面

IT技術(shù)商務(wù)過程封閉開放個(gè)人企業(yè)內(nèi)企業(yè)間全球軟件架構(gòu)的發(fā)展與演化3/29/202429西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA實(shí)現(xiàn)平臺(tái)的功能組件一般來說,SOA實(shí)現(xiàn)平臺(tái)包含的組件可以分為兩類:一類面向系統(tǒng)功能,另一類面向系統(tǒng)功能的質(zhì)量屬性,或稱為非功能屬性。包括:服務(wù)發(fā)布和發(fā)現(xiàn):服務(wù)提供者可以把服務(wù)描述以及其他服務(wù)元信息發(fā)布到服務(wù)注冊(cè)中心,服務(wù)消費(fèi)者通過服務(wù)注冊(cè)中心發(fā)現(xiàn)需要的服務(wù);服務(wù)協(xié)作:管理服務(wù)之間的協(xié)作通信;服務(wù)組合:提供編排基本服務(wù)組成復(fù)合服務(wù)的語(yǔ)言;并提供執(zhí)行這種語(yǔ)言的引擎;服務(wù)通信:實(shí)現(xiàn)服務(wù)之間基于消息的通信;服務(wù)描述:提供定義服務(wù)描述的語(yǔ)言;服務(wù)安全:保障SOA應(yīng)用的安全性,比如身份識(shí)別、數(shù)字簽名、消息的加密解密、訪問授權(quán)、信任聯(lián)盟管理等;服務(wù)事務(wù):保障SOA應(yīng)用的狀態(tài)一致性;服務(wù)管理:實(shí)現(xiàn)服務(wù)運(yùn)行時(shí)的監(jiān)控和管理。3/29/202430西北工業(yè)大學(xué)軟件與微電子學(xué)院5.1.4提出SOA的動(dòng)機(jī)3/29/202431西北工業(yè)大學(xué)軟件與微電子學(xué)院(1)Internet環(huán)境下的企業(yè)交互現(xiàn)代企業(yè)已經(jīng)不再是封閉的企業(yè),市場(chǎng)分工的日益專業(yè)化使得企業(yè)之間可能存在大量頻繁的交互行為,以發(fā)揮各自的競(jìng)爭(zhēng)優(yōu)勢(shì):供應(yīng)鏈:供應(yīng)商-制造商;客戶關(guān)系管理:制造商-物流商-客戶這種業(yè)務(wù)上的交互體現(xiàn)為企業(yè)業(yè)務(wù)流程的交互/互操作,同時(shí)一定需要企業(yè)信息系統(tǒng)的支持,因此體現(xiàn)為軟件系統(tǒng)之間的集成與互操作?;ゲ僮?Interoperability):能夠在異構(gòu)的、分布式的系統(tǒng)之間交換和使用信息的能力;不僅是不同企業(yè)之間,甚至一個(gè)企業(yè)內(nèi)部的各個(gè)部門之間都有可能存在大量的交互。3/29/202432西北工業(yè)大學(xué)軟件與微電子學(xué)院企業(yè)價(jià)值鏈:多方協(xié)調(diào)與集成3/29/202433西北工業(yè)大學(xué)軟件與微電子學(xué)院案例:供應(yīng)商-制造商的業(yè)務(wù)集成3/29/202434西北工業(yè)大學(xué)軟件與微電子學(xué)院(2)異構(gòu)系統(tǒng)的集成與互操作不同企業(yè)所應(yīng)用的軟件系統(tǒng)是不同的(異構(gòu)的):技術(shù)平臺(tái)不同:J2EE-based、.Net-based軟件體系結(jié)構(gòu)不同:message-based、、process-based數(shù)據(jù)格式不同:同樣的“訂單”對(duì)象,不同的屬性集合…集成這些分布式的軟件系統(tǒng),在它們之間傳遞數(shù)據(jù)和消息,是一件非常困難的事情。EJBCORBACOMCORBA3/29/202435西北工業(yè)大學(xué)軟件與微電子學(xué)院3/29/202436西北工業(yè)大學(xué)軟件與微電子學(xué)院(3)頻繁變化的互操作與集成需求企業(yè)的業(yè)務(wù)是頻繁變化的;企業(yè)間的協(xié)同關(guān)系也不是固定的,隨著業(yè)務(wù)流程的變化而隨之變化;企業(yè)的IT應(yīng)用系統(tǒng)要能夠快速支持這種變化的需求。3/29/202437西北工業(yè)大學(xué)軟件與微電子學(xué)院案例:靈活可變的企業(yè)流程Change:CustomerOrderEntryChange:SharedService–Marketing,Billing,Receivables3/29/202438西北工業(yè)大學(xué)軟件與微電子學(xué)院Change:SupplierManagementsInventory(VMI)Change:ShippingbyFedEx,DHLorUPS3/29/202439西北工業(yè)大學(xué)軟件與微電子學(xué)院歸納:SOA所要解決的問題分布式企業(yè)間業(yè)務(wù)的協(xié)同。通過Internet連接在一起的異構(gòu)企業(yè)應(yīng)用軟件系統(tǒng)的集成、交互與互操作。當(dāng)業(yè)務(wù)(Business)發(fā)生變化時(shí),IT系統(tǒng)能夠快速響應(yīng)。3/29/202440西北工業(yè)大學(xué)軟件與微電子學(xué)院5.1.5SOA和分布式信息系統(tǒng)體系結(jié)構(gòu)3/29/202441西北工業(yè)大學(xué)軟件與微電子學(xué)院信息系統(tǒng)的分層邏輯結(jié)構(gòu)構(gòu)造一個(gè)信息系統(tǒng)會(huì)遇到的三類問題:如何把信息系統(tǒng)的功能以圖形或字符人機(jī)界面的形式呈現(xiàn)給系統(tǒng)用戶并接收用戶的輸入?如何編寫實(shí)際的應(yīng)用邏輯以實(shí)現(xiàn)系統(tǒng)功能?如何利用已有資源,包括數(shù)據(jù)庫(kù)、文件系統(tǒng)等完成對(duì)資源的管理和操作?3/29/202442西北工業(yè)大學(xué)軟件與微電子學(xué)院信息系統(tǒng)的分層邏輯結(jié)構(gòu)信息系統(tǒng)的分層邏輯體系結(jié)構(gòu)負(fù)責(zé)界面展示和接收用戶輸入的部分稱為表示層;負(fù)責(zé)系統(tǒng)應(yīng)用邏輯的部分稱為應(yīng)用邏輯層;負(fù)責(zé)資源接入的部分稱為資源管理層;

三層之間存在著線性依賴關(guān)系。即底層提供功能和服務(wù)以支持高層的功能和服務(wù)。3/29/202443西北工業(yè)大學(xué)軟件與微電子學(xué)院信息系統(tǒng)的分列部署結(jié)構(gòu)單列(1-tier)體系結(jié)構(gòu)兩列(2-tier)分布體系結(jié)構(gòu)三列(3-tier)分布體系結(jié)構(gòu)面向服務(wù)的分布式體系結(jié)構(gòu)3/29/202444西北工業(yè)大學(xué)軟件與微電子學(xué)院信息系統(tǒng)的分列部署結(jié)構(gòu)單列(1-tier)體系結(jié)構(gòu)所有軟件功能集中由主機(jī)完成,而分布的是僅僅具有輸入輸出功能的啞終端。優(yōu)點(diǎn):所有功能都在一致的系統(tǒng)環(huán)境中實(shí)現(xiàn),可以方便地對(duì)系統(tǒng)進(jìn)行調(diào)優(yōu);由于客戶端沒有軟件,因此不需要對(duì)客戶端進(jìn)行開發(fā)、部署和維護(hù)。缺點(diǎn):系統(tǒng)組成部分耦合緊密,很難維護(hù)和擴(kuò)展;客戶端功能單一,沒有提供外部系統(tǒng)接口。3/29/202445西北工業(yè)大學(xué)軟件與微電子學(xué)院信息系統(tǒng)的分列部署結(jié)構(gòu)兩列(2-tier)分布體系結(jié)構(gòu)即客戶-服務(wù)器(C/S,Client/Server)體系結(jié)構(gòu);表示層從集中式的服務(wù)器中剝離出來轉(zhuǎn)移給客戶端;優(yōu)點(diǎn):可以利用客戶機(jī)的處理能力,降低了服務(wù)器的運(yùn)算負(fù)擔(dān);使得針對(duì)不同用戶呈現(xiàn)個(gè)性化的界面內(nèi)容成為可能。缺點(diǎn):客戶端和服務(wù)器之間耦合緊密;單一服務(wù)器所能支持的客戶機(jī)數(shù)量有限;維護(hù)代價(jià)高。3/29/202446西北工業(yè)大學(xué)軟件與微電子學(xué)院信息系統(tǒng)的分列部署結(jié)構(gòu)三列(3-tier)分布體系結(jié)構(gòu)將服務(wù)器端的應(yīng)用邏輯層和資源管理層分離,把應(yīng)用邏輯交給單獨(dú)的應(yīng)用服務(wù)器處理;表示層被一分為二,通用功能由標(biāo)準(zhǔn)應(yīng)用軟件(如web瀏覽器)承擔(dān),非通用功能由特定的分布式計(jì)算平臺(tái)實(shí)現(xiàn)(如J2EE的JSP和JavaServlet),瀏覽器和應(yīng)用服務(wù)器之間的表示層之間通過標(biāo)準(zhǔn)文檔形式的規(guī)范HTML對(duì)話;表示層和應(yīng)用邏輯層通常部署在一個(gè)服務(wù)器上,兩者直接的關(guān)系是緊耦合關(guān)系,分開部署并不會(huì)帶來靈活性。3/29/202447西北工業(yè)大學(xué)軟件與微電子學(xué)院信息系統(tǒng)的分列部署結(jié)構(gòu)三列(3-tier)分布體系結(jié)構(gòu)優(yōu)點(diǎn):瀏覽器和應(yīng)用服務(wù)器之間是松耦合關(guān)系,兩者通過標(biāo)準(zhǔn)HTML語(yǔ)言交互,這樣瀏覽器可以在任意平臺(tái)上用任意編程語(yǔ)言實(shí)現(xiàn);應(yīng)用服務(wù)器和資源服務(wù)器之間是松耦合關(guān)系,應(yīng)用服務(wù)器可以通過標(biāo)準(zhǔn)的數(shù)據(jù)訪問接口,如JDBC和ODBC,靈活訪問不同廠商、不同平臺(tái)的數(shù)據(jù)庫(kù);應(yīng)用邏輯層可以部署在多個(gè)服務(wù)器節(jié)點(diǎn)的集群上,集群可以提供復(fù)制、負(fù)載平衡、故障切換等功能,保障了應(yīng)用的可伸縮性、性能和可靠性。缺點(diǎn):表示層和應(yīng)用邏輯層之間是緊耦合的,兩者在技術(shù)平臺(tái)上耦合緊密。3/29/202448西北工業(yè)大學(xué)軟件與微電子學(xué)院信息系統(tǒng)的分列部署結(jié)構(gòu)面向服務(wù)的分布式體系結(jié)構(gòu)把應(yīng)用邏輯層封裝為Web服務(wù),這樣表示層就可以通過XML/SOAP協(xié)議與其實(shí)現(xiàn)松耦合交互。3/29/202449西北工業(yè)大學(xué)軟件與微電子學(xué)院5.1.6SOA和軟件開發(fā)3/29/202450西北工業(yè)大學(xué)軟件與微電子學(xué)院命令式編程范型ImperativeProgrammingParadigm,又稱過程式編程范型,指用程序狀態(tài)和改變程序狀態(tài)的語(yǔ)句描述計(jì)算的編程范型;包括一系列步驟,這些步驟即所謂的命令,每一步驟會(huì)執(zhí)行一次計(jì)算,該計(jì)算接收一些輸入并產(chǎn)生一些輸出;步驟的次序是命令式語(yǔ)言的關(guān)鍵,具有相同語(yǔ)句但不同次序的兩個(gè)程序的語(yǔ)義會(huì)完全不同;典型命令包括賦值、輸入輸出、過程調(diào)用等,計(jì)算步驟的執(zhí)行次序由控制結(jié)構(gòu)(比如順序、分支、循環(huán)等)決定;典型語(yǔ)言包括COBOL、Fortran、Pascal、C等;缺點(diǎn):過程是對(duì)功能的抽象,功能只能片面反映問題空間事物的性質(zhì),從而使得單純用命令式范型開發(fā)大型程序時(shí)產(chǎn)生的代碼往往不易理解和維護(hù)。3/29/202451西北工業(yè)大學(xué)軟件與微電子學(xué)院面向?qū)ο蟮木幊谭缎蚈bject-orientedProgrammingParadigm,指用封裝了數(shù)據(jù)和對(duì)數(shù)據(jù)操作的對(duì)象以及對(duì)象之間的消息傳遞描述計(jì)算的編程范型;基于面向?qū)ο蠓缎偷某绦虬ㄒ唤M對(duì)象的定義,對(duì)象是對(duì)數(shù)據(jù)以及施加在數(shù)據(jù)上的操作的封裝,對(duì)象之間通過互相傳遞消息進(jìn)行通信;具有相同屬性和操作的對(duì)象被組織成類,類代表概念,對(duì)象代表概念的具體實(shí)例;基本特征:封裝性、繼承性和多態(tài)性;典型語(yǔ)言包括:C++、Smalltalk、Eiffel、Java和C#等;3/29/202452西北工業(yè)大學(xué)軟件與微電子學(xué)院面向?qū)ο蟮木幊谭缎蛢?yōu)點(diǎn):對(duì)象直接對(duì)應(yīng)于現(xiàn)實(shí)世界的事物,可以采用與現(xiàn)實(shí)世界中相似的方式進(jìn)行操作;封裝提供的模塊化和對(duì)象之間的低耦合度可以顯著降低軟件的維護(hù)成本,對(duì)象僅有公共接口是外部可見的,其內(nèi)部工作是隱藏的,從而內(nèi)部修改不會(huì)波及其他對(duì)象;根據(jù)對(duì)象之間的“一般-特殊”關(guān)系和“整體-部分”關(guān)系可以從已有對(duì)象出發(fā)構(gòu)造出新的對(duì)象;多態(tài)性可以形成一種更正規(guī)、更一致的對(duì)象接口。如果是從零開始編碼,采用這種范型語(yǔ)言是一種不錯(cuò)的選擇。但是,如果想要進(jìn)一步構(gòu)建可復(fù)用的軟件模塊,并在這些可復(fù)用模塊的基礎(chǔ)上搭建應(yīng)用,基于構(gòu)件的編程范型可以提供更好的方法和指導(dǎo)。3/29/202453西北工業(yè)大學(xué)軟件與微電子學(xué)院基于構(gòu)件的編程范型構(gòu)件:模塊化的、可部署、可替換的軟件系統(tǒng)組成部分,它封裝了內(nèi)部的具體實(shí)現(xiàn)并對(duì)外提供一組接口;基于構(gòu)件的編程范型:Component-basedProgrammingParadigm,指以構(gòu)件的構(gòu)建,構(gòu)建的管理以及復(fù)用已有的構(gòu)件組裝形成應(yīng)用為基本活動(dòng)的編程范型;構(gòu)件與對(duì)象的區(qū)別:抽象視角不同;對(duì)象是對(duì)基本實(shí)體的抽象,強(qiáng)調(diào)實(shí)體的對(duì)應(yīng)及對(duì)實(shí)體的建模;構(gòu)件是對(duì)實(shí)體或?qū)嶓w聯(lián)合能提供的功能和服務(wù)的建模。對(duì)象涉及實(shí)體的靜態(tài)屬性特征,構(gòu)件僅關(guān)注實(shí)體的功能和服務(wù)??蓮?fù)用程度和復(fù)用機(jī)制;比較而言,構(gòu)件更強(qiáng)調(diào)可復(fù)用性。對(duì)象通過繼承實(shí)現(xiàn)復(fù)用,構(gòu)件通過組合實(shí)現(xiàn)復(fù)用。顆粒不同。一般構(gòu)件的粒度大于對(duì)象的粒度。3/29/202454西北工業(yè)大學(xué)軟件與微電子學(xué)院基于構(gòu)件的編程范型涉及三類基本活動(dòng):構(gòu)件的生產(chǎn)、構(gòu)件的管理和應(yīng)用的組裝(基于構(gòu)件的應(yīng)用開發(fā));(楊芙清,2005)基于構(gòu)件的編程范型下,軟件開發(fā)人員可分為三類:構(gòu)件生產(chǎn)者:采用領(lǐng)域工程方法通過對(duì)領(lǐng)域的分析和設(shè)計(jì)最后總結(jié)形成可復(fù)用的領(lǐng)域構(gòu)件;構(gòu)件庫(kù)管理者:根據(jù)一定的分類指標(biāo)和特征管理構(gòu)件,以方便構(gòu)件的發(fā)布和發(fā)現(xiàn);構(gòu)件復(fù)用者:負(fù)責(zé)進(jìn)行基于構(gòu)件的軟件開發(fā),包括構(gòu)件查詢、構(gòu)件理解、適應(yīng)性修改、構(gòu)件組裝以及系統(tǒng)演化等。3/29/202455西北工業(yè)大學(xué)軟件與微電子學(xué)院面向服務(wù)的編程范型服務(wù):自治、開放、自描述、與實(shí)現(xiàn)無關(guān)的網(wǎng)絡(luò)構(gòu)件;面向服務(wù)的編程范型:Service-orientedProgrammingParadigm,指以服務(wù)的創(chuàng)建,服務(wù)的管理以及復(fù)用已有的服務(wù)組裝形成應(yīng)用為基本活動(dòng)的編程范型;服務(wù)區(qū)別于構(gòu)件的新特點(diǎn):開放性:服務(wù)的價(jià)值體現(xiàn)于共享與復(fù)用,遵循開放標(biāo)準(zhǔn)是其基本特性;自治性;自治性體現(xiàn)在服務(wù)顧客發(fā)出服務(wù)請(qǐng)求后,服務(wù)何時(shí)開始、在何地執(zhí)行、如何執(zhí)行不受請(qǐng)求方控制;自描述性:服務(wù)可以公布多樣化服務(wù)描述,包括自己的能力、訪問方式和協(xié)作方式;實(shí)現(xiàn)無關(guān)性:服務(wù)本身提供的能力以及服務(wù)消費(fèi)者獲得服務(wù)的方式是和服務(wù)的實(shí)現(xiàn)無關(guān)的。3/29/202456西北工業(yè)大學(xué)軟件與微電子學(xué)院面向服務(wù)的編程范型涉及三類基本活動(dòng):服務(wù)的生產(chǎn)、服務(wù)的管理和服務(wù)的組裝(基于服務(wù)的應(yīng)用組裝);服務(wù)生產(chǎn):除了強(qiáng)調(diào)領(lǐng)域分析和分解、從零開始識(shí)別和制造服務(wù)外,還注重對(duì)領(lǐng)域內(nèi)已有已有軟件系統(tǒng)的分析;服務(wù)管理:即對(duì)服務(wù)描述的管理,服務(wù)庫(kù)就是服務(wù)的描述庫(kù),真正的服務(wù)實(shí)體分布在網(wǎng)絡(luò)的自治節(jié)點(diǎn)上;基于服務(wù)的應(yīng)用組裝:由于服務(wù)可以提供標(biāo)準(zhǔn)的訪問、描述以及發(fā)布和發(fā)現(xiàn)規(guī)范,因此對(duì)服務(wù)的組裝可以基于規(guī)范來描述,比如BPEL4WS(BusinessProcessExecutionLanguageforWebServices)已經(jīng)成為業(yè)界組合Web服務(wù)的事實(shí)標(biāo)準(zhǔn)。3/29/202457西北工業(yè)大學(xué)軟件與微電子學(xué)院5.1.7SOA中的基本構(gòu)件與連接件3/29/202458西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA基本構(gòu)件類型:服務(wù)SOA中可用的基本構(gòu)件是“服務(wù)”;從外特性上看,一個(gè)服務(wù)被定義為顯式的、獨(dú)立于服務(wù)具體實(shí)現(xiàn)技術(shù)細(xì)節(jié)的接口。從內(nèi)特性上看,服務(wù)封裝了可復(fù)用的業(yè)務(wù)功能,這些功能通常是大粒度業(yè)務(wù),如業(yè)務(wù)過程、業(yè)務(wù)活動(dòng)等。服務(wù)的實(shí)現(xiàn)可采用任何技術(shù)平臺(tái),如J2EE、.Net等。3/29/202459西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA基本構(gòu)件類型:服務(wù)ServiceConsumerInterfaceProxyServiceInterfaceServiceImplementationNewServiceWrappedLegacyCompositeService3/29/202460西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)服務(wù)之間的“連接件”通過接口,采用位置透明的、可互操作的協(xié)議進(jìn)行調(diào)用,與客戶端以“松散耦合”(looselycoupling)的方式綁定在一起。SOA中所有協(xié)議均是基于XML的文本文件。Service

ConsumersService

Producers3/29/202461西北工業(yè)大學(xué)軟件與微電子學(xué)院5.1.8SOA的典型特征與優(yōu)勢(shì)3/29/202462西北工業(yè)大學(xué)軟件與微電子學(xué)院(1)分布式異構(gòu)系統(tǒng)的集成與互操作*.java*.java*.java*.java函數(shù)調(diào)用(局域網(wǎng))?(本機(jī))3/29/202463西北工業(yè)大學(xué)軟件與微電子學(xué)院(1)分布式異構(gòu)系統(tǒng)的集成與互操作*.java*.java遠(yuǎn)程方法調(diào)用RMI/RPC.NetRemotingEJBCORBA*.java*.c?(局域網(wǎng))3/29/202464西北工業(yè)大學(xué)軟件與微電子學(xué)院(1)分布式異構(gòu)系統(tǒng)的集成與互操作*.java*.cCORBA*.java*.cor*.java?(局域網(wǎng))Internet3/29/202465西北工業(yè)大學(xué)軟件與微電子學(xué)院(1)分布式異構(gòu)系統(tǒng)的集成與互操作*.java*.cor*.javaSOAInternet雖然目前已經(jīng)存在成熟的遠(yuǎn)程方法調(diào)用機(jī)制以實(shí)現(xiàn)異構(gòu)系統(tǒng)的集成與互操作,但在Internet這樣的分布式環(huán)境下,SOA才能實(shí)現(xiàn)這一目標(biāo)。3/29/202466西北工業(yè)大學(xué)軟件與微電子學(xué)院(2)緊密耦合與松散耦合傳統(tǒng)的軟件體系結(jié)構(gòu)中的各構(gòu)件,通常都是緊密耦合在一起的。通過函數(shù)調(diào)用的方式實(shí)現(xiàn)互操作;客戶端需要了解被調(diào)用構(gòu)件的位置和技術(shù)細(xì)節(jié);缺陷:構(gòu)件的維護(hù)和重復(fù)使用變得非常困難,因?yàn)橐粋€(gè)構(gòu)件中的修改就自動(dòng)意味著其他構(gòu)件中的修改。SOA則實(shí)現(xiàn)了完全的松散耦合:位置透明與具體的實(shí)現(xiàn)細(xì)節(jié)無關(guān)(通過接口調(diào)用)標(biāo)準(zhǔn)化的通訊協(xié)議(XML-based)具體實(shí)現(xiàn)機(jī)制:服務(wù)接口作為與服務(wù)實(shí)現(xiàn)分離的實(shí)體而存在,從而服務(wù)實(shí)現(xiàn)能夠在完全不影響服務(wù)使用者的情況下進(jìn)行修改。3/29/202467西北工業(yè)大學(xué)軟件與微電子學(xué)院(3)大數(shù)據(jù)量低頻率訪問對(duì)于.NET、EJB或者RPC這些傳統(tǒng)的分布式計(jì)算模型而言,它們的服務(wù)提供都是通過函數(shù)調(diào)用的方式進(jìn)行的,一個(gè)功能的完成往往需要通過客戶端和服務(wù)器來回很多次函數(shù)調(diào)用才能完成。在局域網(wǎng)的環(huán)境下,這些調(diào)用給系統(tǒng)的響應(yīng)速度和穩(wěn)定性帶來的影響都可以忽略不計(jì),但是在Internet環(huán)境下這些因素往往是決定整個(gè)系統(tǒng)是否能正常工作的一個(gè)關(guān)鍵決定因素。SOA采用大數(shù)據(jù)量的方式一次性進(jìn)行數(shù)據(jù)交換。3/29/202468西北工業(yè)大學(xué)軟件與微電子學(xué)院(4)基于文本的消息傳遞在COM、CORBA這些傳統(tǒng)的組件模型中,從服務(wù)器端傳往客戶端的是一個(gè)二進(jìn)制編碼的對(duì)象,在客戶端通過調(diào)用這個(gè)對(duì)象的方法來完成某些功能。在Internet環(huán)境下,不同語(yǔ)言,不同平臺(tái)對(duì)數(shù)據(jù)、甚至是一些基本數(shù)據(jù)類型定義不同,給不同的服務(wù)之間傳遞對(duì)象帶來的很大困難。由于基于文本的消息本身不包含任何處理邏輯和數(shù)據(jù)類型,因此服務(wù)間只傳遞文本,雙方不存在兼容性問題。3/29/202469西北工業(yè)大學(xué)軟件與微電子學(xué)院(5)上下文相關(guān)與上下文無關(guān)傳統(tǒng)的軟件體系結(jié)構(gòu),在設(shè)計(jì)階段就要考慮各構(gòu)件之間如何進(jìn)行交互,也就是說,一個(gè)構(gòu)件的設(shè)計(jì)模型可能依賴于其他構(gòu)件的設(shè)計(jì)模型,即“上下文相關(guān)”。在SOA中,在設(shè)計(jì)階段,服務(wù)不需要了解它們將來可能被復(fù)用的環(huán)境,即獨(dú)立于服務(wù)使用者的上下文。3/29/202470西北工業(yè)大學(xué)軟件與微電子學(xué)院(6)小粒度復(fù)用與大粒度復(fù)用傳統(tǒng)的軟件體系結(jié)構(gòu)中,被復(fù)用的軟件體通常都是小粒度的,如函數(shù)、對(duì)象、構(gòu)件等。在企業(yè)級(jí)應(yīng)用環(huán)境下,這種小粒度軟件體的復(fù)用效率過低。SOA中的服務(wù)是大粒度復(fù)用體,它更多的關(guān)注諸如業(yè)務(wù)過程/業(yè)務(wù)活動(dòng)級(jí)別的復(fù)用,復(fù)用效率更高。另外,采用粗粒度服務(wù)接口的優(yōu)點(diǎn)在于使用者和服務(wù)層之間不必再進(jìn)行多次的信息交換。3/29/202471西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA的本質(zhì)特征將“服務(wù)”(自治的、平臺(tái)獨(dú)立的計(jì)算實(shí)體,可被描述、發(fā)布、發(fā)現(xiàn)、動(dòng)態(tài)組裝)作為基本的構(gòu)造單元;任何應(yīng)用均可看作是一組協(xié)同運(yùn)作的服務(wù);從而,以快速的、低成本的、容易組合的方式去創(chuàng)建高度分布式的、協(xié)同的、動(dòng)態(tài)變化的、跨越組織與計(jì)算平臺(tái)邊界的服務(wù)系統(tǒng)。3/29/202472西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA的革命性創(chuàng)造不再是構(gòu)造新的應(yīng)用或調(diào)用已有的應(yīng)用來完成特定的業(yè)務(wù),而是通過在網(wǎng)絡(luò)上發(fā)現(xiàn)并調(diào)用可用的服務(wù)來組合成一個(gè)系統(tǒng),且服務(wù)的提供者與服務(wù)的使用者是“松散耦合”的。這種觀點(diǎn)體現(xiàn)了軟件開發(fā)方式的一種根本性的變化,可使業(yè)務(wù)環(huán)境變得更加靈活和強(qiáng)大:以服務(wù)的形式提供獨(dú)立的、可復(fù)用的、自動(dòng)化的業(yè)務(wù)過程和功能;通過快速組合與松散耦合來改善效率與生產(chǎn)率;借助于開放的、強(qiáng)壯的、安全的基礎(chǔ)平臺(tái),使企業(yè)能夠快速向市場(chǎng)提供新的服務(wù)、快速的適應(yīng)環(huán)境的變化。3/29/202473西北工業(yè)大學(xué)軟件與微電子學(xué)院協(xié)同—交互—異構(gòu)—

分布式環(huán)境—可能頻繁變化只要滿足了這些條件之一,就可以應(yīng)用SOA3/29/202474西北工業(yè)大學(xué)軟件與微電子學(xué)院本章內(nèi)容3面向服務(wù)與SOA基礎(chǔ)SOA的體系結(jié)構(gòu)模式服務(wù)組合技術(shù)面向服務(wù)的建模與分析5.15.25.35.45.5Web服務(wù)與SOASOA治理5.63/29/202475西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA的體系結(jié)構(gòu)模式應(yīng)用SOA來構(gòu)造業(yè)務(wù)系統(tǒng),既可以通過簡(jiǎn)單的WebService調(diào)用,也可以通過復(fù)雜的企業(yè)服務(wù)總線(ESB)將異構(gòu)系統(tǒng)集成為業(yè)務(wù)過程。按照SOA應(yīng)用場(chǎng)景的復(fù)雜度,將其體系結(jié)構(gòu)模式分為10種:硬連線(Hard-wired)點(diǎn)對(duì)點(diǎn)的服務(wù)發(fā)布與調(diào)用(P2P)服務(wù)適配器(Serviceadaptor)服務(wù)代理(Serviceproxy)遠(yuǎn)程服務(wù)策略(Remoteservicestrategy)單點(diǎn)訪問(Singlepointofaccess)虛擬服務(wù)提供者(Virtualprovider)服務(wù)集成器(Serviceintegrator)企業(yè)服務(wù)總線(Enterpriseservicebus)集成化的服務(wù)生態(tài)系統(tǒng)(Integratedserviceecosystem)3/29/202476西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA的體系結(jié)構(gòu)模式“發(fā)布-查詢-綁定”模式服務(wù)適配器模式遠(yuǎn)程服務(wù)策略服務(wù)集成器企業(yè)服務(wù)總線3/29/202477西北工業(yè)大學(xué)軟件與微電子學(xué)院5.2.1“發(fā)布-查詢-綁定”模式點(diǎn)對(duì)點(diǎn)的服務(wù)發(fā)布與調(diào)用(P2P)3/29/202478西北工業(yè)大學(xué)軟件與微電子學(xué)院基本模式:發(fā)布-訪問服務(wù)提供者服務(wù)注冊(cè)中心服務(wù)客戶端(1)注冊(cè)(2)發(fā)現(xiàn)(3)綁定3/29/202479西北工業(yè)大學(xué)軟件與微電子學(xué)院該模式中的操作發(fā)布(Publish):為了使服務(wù)可訪問,需要發(fā)布服務(wù)描述以使服務(wù)使用者可以發(fā)現(xiàn)它。發(fā)現(xiàn)(Find):服務(wù)請(qǐng)求者定位服務(wù),方法是查詢服務(wù)注冊(cè)中心來找到滿足其標(biāo)準(zhǔn)的服務(wù)。綁定(Bind)和調(diào)用(invoke):在檢索到服務(wù)描述之后,服務(wù)使用者繼續(xù)根據(jù)服務(wù)描述中的信息來調(diào)用服務(wù)。3/29/202480西北工業(yè)大學(xué)軟件與微電子學(xué)院該模式實(shí)現(xiàn)機(jī)制:WebServiceWebService提供者WebService注冊(cè)中心WebService客戶端(1)WSDL(2)UDDI(3)SOAP3/29/202481西北工業(yè)大學(xué)軟件與微電子學(xué)院Web服務(wù)中的相關(guān)協(xié)議WSDL:Web服務(wù)描述語(yǔ)言用于服務(wù)接口的描述——Whatcantheservicedo?UDDI:統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議服務(wù)使用者通過UDDI發(fā)現(xiàn)相應(yīng)的服務(wù)并據(jù)此將服務(wù)集成在自身的系統(tǒng)中——Whatkindofservicesareneeded?SOAP:簡(jiǎn)單對(duì)象訪問協(xié)議用戶在服務(wù)客戶端與服務(wù)提供者之間傳遞信息通過HTTP或JMS等各類基于文本的消息傳遞協(xié)議來運(yùn)輸數(shù)據(jù)3/29/202482西北工業(yè)大學(xué)軟件與微電子學(xué)院基本模式:發(fā)布-訪問WSDLWebService(J2EE,PL/SQL,

.NET,C/C++,

Legacy…)WebServiceClient(J2EE,.NET,

PL/SQL…)PointstodescriptionDescribesServiceFindsServiceInvokeswithXMLMessagesSOAPUDDI

RegistryPointstoservice3/29/202483西北工業(yè)大學(xué)軟件與微電子學(xué)院5.2.2服務(wù)適配器模式Serviceadaptor或ServiceWrapper3/29/202484西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)適配器企業(yè)中存在若干遺留系統(tǒng)(legacysystem);這些系統(tǒng)采用較傳統(tǒng)的技術(shù)開發(fā),無法提供清晰的接口(interface);但其他系統(tǒng)仍然需要訪問這些遺留系統(tǒng)的功能;——怎么辦?通過構(gòu)造適配器(adaptor),將遺留系統(tǒng)中的功能進(jìn)行二次包裝,從而開放出接口供其他系統(tǒng)使用。典型技術(shù):Java2ConnectorWebSphereBusinessIntegrationAdaptor3/29/202485西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)適配器3/29/202486西北工業(yè)大學(xué)軟件與微電子學(xué)院5.2.3遠(yuǎn)程服務(wù)策略

(Remoteservicestrategy)3/29/202487西北工業(yè)大學(xué)軟件與微電子學(xué)院以上幾種SOA模式的缺陷客戶端為了使用服務(wù),必須在自己的程序中寫入調(diào)用服務(wù)的代碼,即通過服務(wù)的URI地址來訪問服務(wù)。這導(dǎo)致客戶端與服務(wù)之間的耦合度過大,系統(tǒng)的靈活性受到限制。例如,客戶端需要在多個(gè)候選服務(wù)之間進(jìn)行靈活替換,以獲得更好的QoS。——怎么辦?將這種綁定關(guān)系從代碼中抽取出來。3/29/202488西北工業(yè)大學(xué)軟件與微電子學(xué)院遠(yuǎn)程服務(wù)策略①客戶端直接綁定服務(wù)接口(WSDL/URI);②客戶端通過“serviceregistry”來訪問服務(wù),當(dāng)希望訪問其他服務(wù)時(shí),只要手工修改該registry即可——相當(dāng)于一個(gè)配置文件;③客戶端通過“servicebroker”來動(dòng)態(tài)決定需訪問那個(gè)服務(wù);——完全動(dòng)態(tài)的服務(wù)選擇,很困難,需要用到服務(wù)語(yǔ)義的相關(guān)技術(shù)。3/29/202489西北工業(yè)大學(xué)軟件與微電子學(xué)院5.2.4服務(wù)集成器

(ServiceIntegrator)3/29/202490西北工業(yè)大學(xué)軟件與微電子學(xué)院以上模式存在的問題如果客戶端需要同時(shí)或連續(xù)調(diào)用多個(gè)服務(wù)的功能,它必須在自己的系統(tǒng)中分別寫出多個(gè)調(diào)用;——非常麻煩;而且,對(duì)多個(gè)服務(wù)的調(diào)用次序也是容易發(fā)生變化的,需要頻繁的修改;——難以做到;——怎么辦?降低耦合度將remoteservicestrategy的思想進(jìn)一步發(fā)揮,客戶端不去逐一調(diào)用服務(wù),而是首先將這些被調(diào)用的服務(wù)按邏輯關(guān)系集成起來,形成一個(gè)集成的、大粒度的服務(wù);客戶端只需調(diào)用這一個(gè)服務(wù)即可;當(dāng)該服務(wù)執(zhí)行時(shí),集成器(integrator)依靠配置信息來分別調(diào)用一個(gè)個(gè)小粒度的服務(wù);對(duì)這些配置信息進(jìn)行修改,即可方便的做到變更。3/29/202491西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)集成器(ServiceIntegrator)3/29/202492西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)集成器(ServiceIntegrator)OperationalSystemsService-OrientedBusinessProcessComponent-basedPresentationQoS,Security,Management&Monitoring(InfrastructureService)IntegrationArchitecture(EnterpriseServiceBus)Object-orientedCICS/COBOLCRM,ERPBusinessIntelligenceProcessChoreographyCompositeServicesPortlets5432167EnterpriseComponents3/29/202493西北工業(yè)大學(xué)軟件與微電子學(xué)院5.2.5企業(yè)服務(wù)總線

(EnterpriseServiceBus,ESB)3/29/202494西北工業(yè)大學(xué)軟件與微電子學(xué)院?jiǎn)栴}SOA的重要目標(biāo)就是要在分布式環(huán)境下實(shí)現(xiàn)多組織之間業(yè)務(wù)的交互與協(xié)同;因此獨(dú)立存在的服務(wù)是沒有意義的;即使采用上面的serviceintegrator,一個(gè)組織中存在的和使用的服務(wù)數(shù)量仍然是巨大的,它們之間的關(guān)系也很復(fù)雜。必須提供一種手段,能夠?qū)⒍喾教峁┑姆?wù)集成在一起,并試圖構(gòu)造一種通用的服務(wù)基礎(chǔ)設(shè)施來來管理它們。3/29/202495西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)編排模式:總線服務(wù)客戶端1服務(wù)客戶端2服務(wù)客戶端n服務(wù)提供者1服務(wù)提供者2服務(wù)提供者n總線3/29/202496西北工業(yè)大學(xué)軟件與微電子學(xué)院企業(yè)服務(wù)總線(ESB)企業(yè)服務(wù)總線(EnterpriseServiceBus)是一個(gè)整合應(yīng)用和服務(wù)的靈活的連接基礎(chǔ)組織,支持實(shí)現(xiàn)多個(gè)服務(wù)的編排。3/29/202497西北工業(yè)大學(xué)軟件與微電子學(xué)院企業(yè)服務(wù)總線(ESB)轉(zhuǎn)化請(qǐng)求者和服務(wù)之間的傳輸協(xié)議轉(zhuǎn)換請(qǐng)求者和服務(wù)之間的消息格式路由服務(wù)間的消息處理分離資源間的業(yè)務(wù)事件ESB在請(qǐng)求者和服務(wù)之間實(shí)現(xiàn)了:3/29/202498西北工業(yè)大學(xué)軟件與微電子學(xué)院ESB體系結(jié)構(gòu)ESB網(wǎng)關(guān)Internet外部服務(wù)請(qǐng)求者外部服務(wù)提供者CAD服務(wù)PDMERP服務(wù)服務(wù)路由、中介、轉(zhuǎn)換、日志等企業(yè)服務(wù)總線ESBHub適配器適配器適配器ESB命名空間ESB管理類服務(wù)適配器服務(wù)目錄服務(wù)編排3/29/202499西北工業(yè)大學(xué)軟件與微電子學(xué)院ESB在SOA參考體系結(jié)構(gòu)中的位置3/29/2024100西北工業(yè)大學(xué)軟件與微電子學(xué)院ESB對(duì)異構(gòu)服務(wù)的集成3/29/2024101西北工業(yè)大學(xué)軟件與微電子學(xué)院(對(duì)比)傳統(tǒng)的EAI方式:P2P的集成3/29/2024102西北工業(yè)大學(xué)軟件與微電子學(xué)院(對(duì)比)基于ESB的集成方式:Hub/Bus3/29/2024103西北工業(yè)大學(xué)軟件與微電子學(xué)院兩種集成方式的對(duì)比:P2PvsESB(對(duì)比)3/29/2024104西北工業(yè)大學(xué)軟件與微電子學(xué)院本章內(nèi)容3面向服務(wù)與SOA基礎(chǔ)SOA的體系結(jié)構(gòu)模式服務(wù)組合技術(shù)面向服務(wù)的建模與分析5.15.25.35.45.5Web服務(wù)與SOASOA治理5.63/29/2024105西北工業(yè)大學(xué)軟件與微電子學(xué)院Web服務(wù)與SOASOA模型什么是WebServicesWebServices技術(shù)體系架構(gòu)3/29/2024106西北工業(yè)大學(xué)軟件與微電子學(xué)院5.3.1SOA模型3/29/2024107西北工業(yè)大學(xué)軟件與微電子學(xué)院作為分布式計(jì)算架構(gòu),WebServices是SOA最重要的實(shí)現(xiàn)技術(shù);SOA模型是WebServices概念架構(gòu);SOA沒有確切定義服務(wù)具體如何交互,僅僅定義了服務(wù)如何相互理解以及如何交互;SOA與WebServices的區(qū)別可以概括為:定義如何執(zhí)行流程的戰(zhàn)略與如何執(zhí)行流程的戰(zhàn)術(shù)的區(qū)別;WebServices在交互服務(wù)之間如何傳遞消息有具體的指導(dǎo)原則,從戰(zhàn)術(shù)上實(shí)現(xiàn)SOA模型,是通過HTTP傳遞的SOAP消息中最常見的SOA模型。SOAModel3/29/2024108西北工業(yè)大學(xué)軟件與微電子學(xué)院SomeStandardsWebServicesDescriptionLanguage(WSDL)UniversalDescription,DiscoveryandIntegration(UDDI)SimpleObjectAccessProtocol(SOAP)WebServiceBusinessProcessExecutionLanguage(WSBPEL)……WebServices架構(gòu)核心標(biāo)準(zhǔn)3/29/2024109西北工業(yè)大學(xué)軟件與微電子學(xué)院RoleServicesProviderServicesRequestorServicesRegistryOperationPublishFindBindKeyComponentServicesServicesDescriptionWebServices架構(gòu)的元素3/29/2024110西北工業(yè)大學(xué)軟件與微電子學(xué)院BusinessComponentAnalysisServicesIdentificationServicesSpecificationComponentIdentificationComponentSpecificationServicesRealizationDecisionSOAImplementationSOA開發(fā)過程模型3/29/2024111西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA開發(fā)的層次模型3/29/2024112西北工業(yè)大學(xué)軟件與微電子學(xué)院過程模型v.s.層次模型3/29/2024113西北工業(yè)大學(xué)軟件與微電子學(xué)院5.3.2什么是WebServices3/29/2024114西北工業(yè)大學(xué)軟件與微電子學(xué)院基于開放標(biāo)準(zhǔn)和柔性實(shí)現(xiàn)的WebServices,天生適合實(shí)現(xiàn)SOAWebservices為創(chuàng)建顯式的、獨(dú)立于具體實(shí)現(xiàn)的服務(wù)接口描述提供了一個(gè)基于開放標(biāo)準(zhǔn)和機(jī)器可識(shí)別的模型;Webservices提供了一種位置透明、可互操作的通信機(jī)制;Webservices通過BPEL4WS,document-styleSOAP、WSDL和其他新興技術(shù),如WS-ResourceFramework,不斷演進(jìn)。SOA和WebServices的關(guān)系3/29/2024115西北工業(yè)大學(xué)軟件與微電子學(xué)院TheWeb:Flexiblehuman-machineinteractionWebServices:WebservicesarearecentsetoftechnologyspecificationsthatleverageexistingprovenopenstandardssuchasXML,URL,andHTTPtoprovideanewsystem-to-systemcommunicationstandard.WorkingDefinition:

Network-residentsoftwareServicesaccessibleviastandardizedprotocolsSimpleObjectAccessProtocol(SOAP):veryflexibleremoteprocedurecallLotsofinterestintradepress,academiccommunity,standardsbodies,...Applicationsine-commerce,telecom,science,GRID,government,education,...WebServices3/29/2024116西北工業(yè)大學(xué)軟件與微電子學(xué)院W3Cdefinition–AsoftwareapplicationidentifiedbyaURI,whoseinterfacesandbindingarecapableofbeingdefined,described,anddiscoveredbyXMLartifactsandsupportsdirectinteractionswithothersoftwareapplicationsusingXML-basedmessagesviaInternet-basedprotocolsXMLInteractionsMessagesDefinedanddescribedWebServices概念3/29/2024117西北工業(yè)大學(xué)軟件與微電子學(xué)院前者是用于建構(gòu)WebService的技術(shù)框架,后者是使用WebServices技術(shù)而創(chuàng)建的應(yīng)用實(shí)例.WebServices是描述了一些操作的接口,通過標(biāo)準(zhǔn)化的XML消息傳輸機(jī)制,可以通過網(wǎng)絡(luò)訪問這些操作;WebServices所使用的標(biāo)準(zhǔn)規(guī)范是基于XML的WSDL語(yǔ)言描述的,稱為服務(wù)描述。該描述包括了服務(wù)交互的全部細(xì)節(jié),包括消息格式、傳輸協(xié)議和位置,但卻隱藏了服務(wù)實(shí)現(xiàn)的細(xì)節(jié),允許通過獨(dú)立與服務(wù)實(shí)現(xiàn)、獨(dú)立于軟硬件平臺(tái)、獨(dú)立于編寫服務(wù)所用的編程語(yǔ)言的方式使用該服務(wù);基于WebServices的應(yīng)用程序具有松散耦合、面向組件和跨技術(shù)實(shí)現(xiàn)的特點(diǎn);WebServices履行一定的特定業(yè)務(wù)或任務(wù),可以實(shí)現(xiàn)同其他WebServices一起用于實(shí)現(xiàn)復(fù)雜的商業(yè)交易。WebServices與WebService的區(qū)別3/29/2024118西北工業(yè)大學(xué)軟件與微電子學(xué)院從外部使用者的角度來看,WebService是部署在Web上的對(duì)象,具備以下特征:完好的封裝性(數(shù)據(jù)和處理)松散耦合使用協(xié)約的規(guī)范性標(biāo)準(zhǔn)化高度可集成能力WebService:部署在Web上的對(duì)象3/29/2024119西北工業(yè)大學(xué)軟件與微電子學(xué)院對(duì)象界面描述:WSDL對(duì)象訪問:SOAP對(duì)象界面發(fā)現(xiàn):UDDI對(duì)象實(shí)現(xiàn):EJB,COM+,CORBA以及任何可用于對(duì)象實(shí)現(xiàn)的技術(shù)UDDIWSDLSOAPEJB/COM+/CORBAWebService:部署在Web上的對(duì)象3/29/2024120西北工業(yè)大學(xué)軟件與微電子學(xué)院TighterLooserCouplingGranularityScopeXML/HTTPMOMORBB2BMarket,

GlobalEnterpriseEcosystemsHomogeneous

ApplicationProgram典型的訪問方法:WebServicesServicesComponentsObjects“對(duì)象”技術(shù)的演化3/29/2024121西北工業(yè)大學(xué)軟件與微電子學(xué)院WebServices3/29/2024122西北工業(yè)大學(xué)軟件與微電子學(xué)院Business-OrientedWebServicesERP,CRM,ApplicationsystemintegrationConsumer-OrientedWebServicesB2Cwebsite,acrossmultiB2CsystemsDevice-OrientedWebServicesSupporttheservicesacrossdifferentkindsofservices.E.gweatherreport,emailserviceSystem-OrientedWebServicesAuthenticationMonitoringQoSCategoriesofWebServices3/29/2024123西北工業(yè)大學(xué)軟件與微電子學(xué)院Simplifyand/orautomateWebServicesDiscoveryWhatpropertiesshouldbedescribed?Howtoefficientlyqueryagainstthem?CompositionSpecifyinggoalsofacompositionSpecifyingconstraintsonacompositionBuildingacompositionAnalysisofcompositionsInvocationKeepingenactmentsseparatedProvidingtransactionalguaranteesMonitoringHowtotrackenactmentsRecoveringfromfailed

enactmentsTheProcessesofWebServices3/29/2024124西北工業(yè)大學(xué)軟件與微電子學(xué)院5.3.3WebServices技術(shù)體系架構(gòu)3/29/2024125西北工業(yè)大學(xué)軟件與微電子學(xué)院Web服務(wù)技術(shù)體系架構(gòu)3/29/2024126西北工業(yè)大學(xué)軟件與微電子學(xué)院傳輸協(xié)議提供客戶端和服務(wù)器端基本的數(shù)據(jù)傳輸服務(wù);Web服務(wù)可以利用多種網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)XML消息的傳送;HTTP(HyperTextTransferProtocol)是實(shí)現(xiàn)XML消息傳送的首選;其他可用的傳輸協(xié)議:FTP(Protocol)SMTP(SimpleMailTransferProtocol)IIOP(InternetInter-ORBProtocol)JMS(JavaMessageService)傳輸規(guī)范3/29/2024127西北工業(yè)大學(xué)軟件與微電子學(xué)院保持客戶端應(yīng)用程序和服務(wù)器端在格式設(shè)置上保持一致;Web服務(wù)的通信是通過互相傳遞符合SOAP協(xié)議的XML消息實(shí)現(xiàn);SOAP(SimpleObjectAccessProtocol)簡(jiǎn)單對(duì)象訪問協(xié)議,定義了服務(wù)請(qǐng)求者和服務(wù)提供者之間的消息傳遞規(guī)范;SOAP用XML來格式化信息,用HTTP承載消息;消息規(guī)范3/29/2024128西北工業(yè)大學(xué)軟件與微電子學(xué)院SOAP包括了三部分:SOAP封裝:定義了描述消息和如何處理消息的框架的封裝;SOAP編碼規(guī)范:表達(dá)應(yīng)用程序定義的數(shù)據(jù)類型實(shí)例的編碼規(guī)則;SOAPRPC表示:描述遠(yuǎn)程過程調(diào)用和應(yīng)答的協(xié)議SOAP可以和各種網(wǎng)絡(luò)協(xié)議(如HTTP、SMTP、FTP和IIOP或MQ上的RMI)相結(jié)合使用,或者用這些協(xié)議重新封裝后使用。消息規(guī)范3/29/2024129西北工業(yè)大學(xué)軟件與微電子學(xué)院為客戶端應(yīng)用程序提供與遠(yuǎn)程服務(wù)交互的描述信息;通過WSDL實(shí)現(xiàn);WSDL為服務(wù)提供者提供以XML格式描述Web服務(wù)請(qǐng)求的標(biāo)準(zhǔn)格式,將網(wǎng)絡(luò)服務(wù)描述為能將進(jìn)行消息交互的通信端點(diǎn)集合,以表達(dá)一個(gè)Web服務(wù)的功能、位置和調(diào)用方法。WSDL描述兩方面內(nèi)容:抽象接口:What,Web服務(wù)提供的功能是什么,具體包括了一系列操作的名稱及其輸入、輸出參數(shù)和出錯(cuò)返回信息;抽象接口的綁定:How,如何訪問Web服務(wù)提供的功能,具體指定了訪問抽象接口采用的通信協(xié)議以及抽象接口的Internet訪問地址。描述規(guī)范3/29/2024130西北工業(yè)大學(xué)軟件與微電子學(xué)院主要用來幫助客戶端應(yīng)用程序解析遠(yuǎn)程服務(wù)的位置;通過UDDI實(shí)現(xiàn);UDDI(UniversalDescriptionDiscoveryandIntegration),統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議,是Web服務(wù)集成的一個(gè)體系框架,用來說明一個(gè)Web服務(wù)的一些信息類型;UDDI定義如何查找Web服務(wù)(及其WSDL文件);UDDI規(guī)范描述了Web服務(wù)的概念,定義了一種編程接口;通過UDDI,企業(yè)可以發(fā)布自己的Web服務(wù)供其他企業(yè)查詢和調(diào)用,也可以查詢特定服務(wù)的描述信息,動(dòng)態(tài)綁定到該服務(wù)上。發(fā)布和發(fā)現(xiàn)規(guī)范3/29/2024131西北工業(yè)大學(xué)軟件與微電子學(xué)院WS-Addressing:可以在發(fā)給Web服務(wù)的SOAP消息的頭消息中附加服務(wù)實(shí)例標(biāo)識(shí)符,實(shí)現(xiàn)Web服務(wù)實(shí)例的定位;WS-ReliableMessaging:可以通過擴(kuò)展Web服務(wù)的SOAP消息的頭消息確保消息的可靠傳送;WS-Policy:為Web服務(wù)提供了一個(gè)擴(kuò)展的策略描述框架,可以描述Web服務(wù)的規(guī)則、行為、需求和偏好等元信息,從而提高Web服務(wù)的互操作性和動(dòng)態(tài)發(fā)現(xiàn)能力;WS-Security:通過擴(kuò)展Web服務(wù)的SOAP消息的頭消息為Web服務(wù)提供消息級(jí)的安全保障框架;WS-Coordination和WS-Transaction:為Web服務(wù)提供事務(wù)處理規(guī)范。消息擴(kuò)展規(guī)范3/29/2024132西北工業(yè)大學(xué)軟件與微電子學(xué)院Web服務(wù)組合語(yǔ)言是Web服務(wù)的“編程”語(yǔ)言,這種語(yǔ)言通過定義Web服務(wù)之間的邏輯關(guān)系和數(shù)據(jù)依賴形成符合業(yè)務(wù)過程的符合服務(wù);Web服務(wù)業(yè)務(wù)過程執(zhí)行語(yǔ)言BPEL4WS(BusinessProcessExecutionLanguageforWebServices)是業(yè)界事實(shí)上的Web服務(wù)組合語(yǔ)言標(biāo)準(zhǔn)。組合規(guī)范3/29/2024133西北工業(yè)大學(xué)軟件與微電子學(xué)院Web服務(wù)的典型工作模式是按對(duì)等協(xié)作方式進(jìn)行消息通信;WS-CDL(WebServicesChoreographyDescriptionLanguage)是W3C提出的一種Web服務(wù)協(xié)作語(yǔ)言,目的是描述Web服務(wù)之間在進(jìn)行協(xié)作時(shí)需要遵從的消息通信規(guī)則。協(xié)作規(guī)范3/29/2024134西北工業(yè)大學(xué)軟件與微電子學(xué)院WS-Manageability規(guī)范由OASIS組織的WSDM(WebServicesDistributedManagement)技術(shù)委員會(huì)頒布和管理;其作用是作為一個(gè)Web服務(wù)的管理模型去監(jiān)控和配置Web服務(wù)的強(qiáng)健性、性能、可用性和應(yīng)用。管理規(guī)范3/29/2024135西北工業(yè)大學(xué)軟件與微電子學(xué)院Web服務(wù)的權(quán)威標(biāo)準(zhǔn)化組織:W3C:WorldWideWebConsortium,即W3C理事會(huì)或萬維網(wǎng)聯(lián)盟,致力于開發(fā)Web互操作技術(shù)(包括規(guī)范、指南、軟件和工具),是對(duì)網(wǎng)絡(luò)標(biāo)準(zhǔn)制定的一個(gè)非贏利組織,像HTML、XHTML、CSS、XML的標(biāo)準(zhǔn)就是由W3C來定制;OASIS:OrganizationfortheAdvancementofStructuredInformationStandards,即結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織,是一個(gè)推進(jìn)電子商務(wù)標(biāo)準(zhǔn)的發(fā)展、融合與采納的非盈利性國(guó)際化組織。OASIS在軟件開發(fā)領(lǐng)域影響力很大,提交了著名的XML和WebServices標(biāo)準(zhǔn)。WS-I:WebServicesInteroperabilityOrganization,即網(wǎng)絡(luò)服務(wù)協(xié)同組織,WS-I為Web服務(wù)開發(fā)商提供了一系列資源,可以幫助創(chuàng)建可互操作的Web服務(wù)并驗(yàn)證其結(jié)果是否遵從WS-I的指導(dǎo)方針。WS-I的主要成果包括概要,應(yīng)用樣本和測(cè)試工具。Web服務(wù)規(guī)范和標(biāo)準(zhǔn)3/29/2024136西北工業(yè)大學(xué)軟件與微電子學(xué)院W3COASISWS-IEstablished19941993asSGMLOpen,1994asOASIS2002Approximatemembership400600200GoalTofurthertheevolutionoftheWeb,byprovidingfundamentalstandardsthatimproveonlinebusinessandinformationsharing.TopromoteonlinetradeandcommerceviaspecializedWebservicesstandards.TofosterstandardizedinteroperabilityusingWebservicesstandards.DeliverablesXML,XMLSchema,XQuery,XMLEncryption,XMLSignature,XPath,XSLT,WSDL,SOAP,WS-CDL,WS-Addressing,WebServicesArchitectureUDDI,ebXML,SAML,XACML,WS-BPEL,WS-SecurityBasicProfile,BasicSecurityProfile標(biāo)準(zhǔn)化組織3/29/2024137西北工業(yè)大學(xué)軟件與微電子學(xué)院本章內(nèi)容3面向服務(wù)與SOA基礎(chǔ)SOA的體系結(jié)構(gòu)模式服務(wù)組合技術(shù)面向服務(wù)的建模與分析5.15.25.35.45.5Web服務(wù)與SOASOA治理5.63/29/2024138西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)組合服務(wù)組合(ServiceComposition)服務(wù)編排(ServiceOrchestration)服務(wù)協(xié)同(ServiceChoreography)編排VS協(xié)同服務(wù)組合中的協(xié)調(diào)問題(ServiceCoordination)服務(wù)組合方法3/29/2024139西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA的哲理:集成集成(Integration)盡可能的集成(Integrationasfaraspossible)盡可能靈活的集成(Integrationasflexiblyaspossible)將小粒度服務(wù)集成為大粒度服務(wù)(composefine-grainedservicesintocoarse-grainedservice)將硬編碼的集成變?yōu)閯?dòng)態(tài)可配置的集成(transformhard-codedintegrationintodynamicallyreconfigurableintegration)這是SOA的優(yōu)勢(shì)所在,也是我們追求的目標(biāo)所在3/29/2024140西北工業(yè)大學(xué)軟件與微電子學(xué)院5.4.1服務(wù)組合

(ServiceComposition)3/29/2024141西北工業(yè)大學(xué)軟件與微電子學(xué)院集成的方法:CompositionvsHard-coding3/29/2024142西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)組合(servicecomposition)獨(dú)立存在的服務(wù)具有較低的價(jià)值,只有多方提供的多個(gè)服務(wù)集成在一起,通過協(xié)同來完成共同的業(yè)務(wù)目標(biāo),服務(wù)和SOA才能體現(xiàn)出其優(yōu)勢(shì)。單個(gè)Web服務(wù)的功能或/和性能有限,難以滿足一些業(yè)務(wù)應(yīng)用的需求,從而需要解決服務(wù)組合問題。服務(wù)組合(ServiceComposition)是將已有服務(wù)組合為一個(gè)新服務(wù)的過程,以增加服務(wù)的可復(fù)用性、功能和性能。3/29/2024143西北工業(yè)大學(xué)軟件與微電子學(xué)院案例:“開設(shè)銀行賬戶”3/29/2024144西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)組合的兩大概念SOA中提出了兩個(gè)概念:orchestration和choreography前者定義了如何將小粒度的服務(wù)按照特定的流程聚合為大粒度的服務(wù);后者則定義了如何在多方的業(yè)務(wù)流程之間通過服務(wù)實(shí)現(xiàn)協(xié)同的動(dòng)作編排。二者的本質(zhì)上都是用來規(guī)劃服務(wù)之間的協(xié)同。3/29/2024145西北工業(yè)大學(xué)軟件與微電子學(xué)院5.4.2服務(wù)編排

(ServiceOrchestration)3/29/2024146西北工業(yè)大學(xué)軟件與微電子學(xué)院OrchestrationOrchestration的本意是“為管弦樂譜曲”:使用五線譜所提供的基本音符,構(gòu)造一首完整的樂曲。3/29/2024147西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA中的Orchestration:服務(wù)編排/服務(wù)組合Orchestration:將多個(gè)小粒度的Web服務(wù)按照特定的業(yè)務(wù)邏輯規(guī)則構(gòu)造為一個(gè)可執(zhí)行的業(yè)務(wù)過程,同時(shí)又可以看作是一個(gè)大粒度的復(fù)合Web服務(wù)。執(zhí)行時(shí)需要有中心控制機(jī)制;由一個(gè)組織所擁有;側(cè)重點(diǎn):如何使用已有的服務(wù)來構(gòu)造新的服務(wù)。Composition≈Orchestration3/29/2024148西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA中的Orchestration:服務(wù)編排/服務(wù)組合3/29/2024149西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)編排/服務(wù)組合的一個(gè)例子SubmitOrderCheckInventoryCheckCreditSend

Resultto

UserPortalSAPJavaWebAppMainframeFormulate

Fulfillment

OfferFormulateRejectionCan

Fulfill?TransformOrder/

CustomerDetermineDiscount3/29/2024150西北工業(yè)大學(xué)軟件與微電子學(xué)院示例:“訂單管理”的服務(wù)流程3/29/2024151西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)編排的描述方法:BPEL(4WS)針對(duì)orchestration,出現(xiàn)了大量的服務(wù)協(xié)同建模標(biāo)準(zhǔn),最典型的莫過于BPEL和BPEL4WS,在實(shí)踐中得到了廣泛的應(yīng)用。BPEL:BusinessProcessExecutionLanguageBPEL4WS:BPELforWebServices面向Web服務(wù)的過程建模語(yǔ)言;由IBM、Microsoft和BEA共同提出;BPEL能夠?qū)崿F(xiàn)基于WSDL的WebServices之間的流程編排和服務(wù)協(xié)同,它提供了一種XML注釋和語(yǔ)義,用于指定對(duì)WebServices進(jìn)行編排并確定Web服務(wù)之間的業(yè)務(wù)流程,實(shí)現(xiàn)WebServices之間的協(xié)同。3/29/2024152西北工業(yè)大學(xué)軟件與微電子學(xué)院BPEL的基本結(jié)構(gòu)過程中的基本功能單元:活動(dòng)<activity>活動(dòng)之間的次序關(guān)系:先后次序<sequence>多分支<switch>循環(huán)<while>并發(fā)與同步<flow>非確定性選擇<pick>過程的相關(guān)數(shù)據(jù):容器<container>錯(cuò)誤處理機(jī)制:<catching>、<handlingfaults>補(bǔ)償機(jī)制:<compensationhandler>3/29/2024153西北工業(yè)大學(xué)軟件與微電子學(xué)院BPEL的一個(gè)例子Determineif

CanFulfill10:00amHandleNegativeCreditExceptionDiscountServicestartendBPELFlow?CreditServiceInventory

ServiceGetDiscountSendCreditApplicationReceiveCreditResult03:00pmSendInventoryRequestReceiveInventoryResult<process></process><switch><variable><partnerLink><partnerLink><partnerLink><faultHandlers><receive><invoke><invoke><flow></flow>3/29/2024154西北工業(yè)大學(xué)軟件與微電子學(xué)院3/29/2024155西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)編排的運(yùn)行模式(1):集中式的執(zhí)行引擎CentralizedServiceOrchestration3/29/2024156西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)編排的執(zhí)行過程需要有一個(gè)中心控制引擎,負(fù)責(zé)調(diào)用各個(gè)離散的服務(wù)3/29/2024157西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)編排的運(yùn)行模式(2):基于Hub的分布式引擎Decentralizedserviceorchestrationwithhubsupport3/29/2024158西北工業(yè)大學(xué)軟件與微電子學(xué)院服務(wù)編排的運(yùn)行模式(3):無Hub的分布式引擎Decentralizedorchestrationwithouthub3/29/2024159西北工業(yè)大學(xué)軟件與微電子學(xué)院5.4.3服務(wù)協(xié)同

(ServiceChoreography)3/29/2024160西北工業(yè)大學(xué)軟件與微電子學(xué)院Choreography“編舞”:一支舞蹈需要由多個(gè)演員來協(xié)同完成,編舞者需要將各人的動(dòng)作編排在一起,形成為一套完整的舞蹈。“交響樂編排”:一支交響樂曲需要整個(gè)樂隊(duì)各樂手之間的配合才能演奏成功,樂團(tuán)指揮就是起到在不同樂手之間的協(xié)調(diào)功能。3/29/2024161西北工業(yè)大學(xué)軟件與微電子學(xué)院SOA中的Choreography:服務(wù)編舞/服務(wù)協(xié)同Choreography:將多個(gè)零散的、分別由多方提供的服務(wù)/業(yè)務(wù)流程按照

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論