企業(yè)級(jí)應(yīng)用系統(tǒng)體系架構(gòu)(九)面向服務(wù)分析與設(shè)計(jì)課件_第1頁(yè)
企業(yè)級(jí)應(yīng)用系統(tǒng)體系架構(gòu)(九)面向服務(wù)分析與設(shè)計(jì)課件_第2頁(yè)
企業(yè)級(jí)應(yīng)用系統(tǒng)體系架構(gòu)(九)面向服務(wù)分析與設(shè)計(jì)課件_第3頁(yè)
企業(yè)級(jí)應(yīng)用系統(tǒng)體系架構(gòu)(九)面向服務(wù)分析與設(shè)計(jì)課件_第4頁(yè)
企業(yè)級(jí)應(yīng)用系統(tǒng)體系架構(gòu)(九)面向服務(wù)分析與設(shè)計(jì)課件_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

企業(yè)級(jí)應(yīng)用系統(tǒng)體系架構(gòu)(九)

面向服務(wù)分析與設(shè)計(jì)ChenHaopengFriday,November25,20221企業(yè)級(jí)應(yīng)用系統(tǒng)體系架構(gòu)(九)

面向服務(wù)分析與面向服務(wù)架構(gòu)帶來(lái)的影響系統(tǒng)分析與設(shè)計(jì)服務(wù)識(shí)別與服務(wù)流程編排為主要工作2面向服務(wù)架構(gòu)帶來(lái)的影響系統(tǒng)分析與設(shè)計(jì)2面向服務(wù)架構(gòu)帶來(lái)的影響系統(tǒng)開(kāi)發(fā)與部署服務(wù)的發(fā)現(xiàn)與組合成為了系統(tǒng)開(kāi)發(fā)的主要工作3面向服務(wù)架構(gòu)帶來(lái)的影響系統(tǒng)開(kāi)發(fā)與部署3業(yè)務(wù)建模業(yè)務(wù)建模的目的通過(guò)業(yè)務(wù)建模抽取、整理和挖掘企業(yè)的無(wú)形資產(chǎn)通過(guò)業(yè)務(wù)建模標(biāo)準(zhǔn)化和規(guī)范化業(yè)務(wù)流程和業(yè)務(wù)規(guī)則通過(guò)業(yè)務(wù)建模保障企業(yè)管理信息系統(tǒng)的順利實(shí)施4業(yè)務(wù)建模業(yè)務(wù)建模的目的4業(yè)務(wù)建模業(yè)務(wù)建模的方法ARIS、BPEL、BPMN……5業(yè)務(wù)建模業(yè)務(wù)建模的方法5模型驅(qū)動(dòng)的架構(gòu)設(shè)計(jì)模型驅(qū)動(dòng)的架構(gòu)(Model-drivenarchitecture,MDA)是對(duì)象管理組織OMG在2001年發(fā)布的軟件設(shè)計(jì)方法,面向服務(wù)的分析與設(shè)計(jì)通常會(huì)采用MDA。在MDA中,軟件設(shè)計(jì)分成三個(gè)階段:計(jì)算無(wú)關(guān)的模型CIM:包含系統(tǒng)業(yè)務(wù)需求,但是不包含任何有關(guān)系統(tǒng)實(shí)現(xiàn)的細(xì)節(jié)平臺(tái)無(wú)關(guān)的模型PIM:包含由識(shí)別出的服務(wù)構(gòu)成的完整的業(yè)務(wù)流程,但是不包含使用何種技術(shù)來(lái)開(kāi)發(fā)這些服務(wù)的細(xì)節(jié)平臺(tái)相關(guān)的模型PSM:將平臺(tái)無(wú)關(guān)的模型與具體的服務(wù)實(shí)現(xiàn)平臺(tái)綁定,構(gòu)成對(duì)系統(tǒng)的平臺(tái)相關(guān)的視圖6模型驅(qū)動(dòng)的架構(gòu)設(shè)計(jì)模型驅(qū)動(dòng)的架構(gòu)(Model-driven服務(wù)組織方式在進(jìn)行面向服務(wù)的分析與設(shè)計(jì)時(shí),需要考慮如何將Web服務(wù)組織到一起。Web服務(wù)的組織方式通常有兩種:編制(orchestration)和編排(choreography)7服務(wù)組織方式在進(jìn)行面向服務(wù)的分析與設(shè)計(jì)時(shí),需要考慮如何將We服務(wù)組織方式編制是指在流程中有一個(gè)作為流程中心的Web服務(wù),它負(fù)責(zé)控制流程中其他參與交互的Web服務(wù),協(xié)調(diào)Web服務(wù)間的消息傳遞。除流程中心Web服務(wù)之外的其他參與交互的Web服務(wù)通常是不關(guān)心其他的Web服務(wù)的存在,也不需要知道自己被誰(shuí)調(diào)用或正在參與一個(gè)什么樣的具體業(yè)務(wù)流程。因此,Web服務(wù)能夠在不了解彼此影響的情況下被添加到流程中或從流程中被移除。只有中心Web服務(wù)了解這個(gè)具體的業(yè)務(wù)過(guò)程的邏輯。因此編制模式是中央集權(quán)型的,這個(gè)中心Web服務(wù)了解編制的總體目標(biāo)、涉及的操作以及操作的調(diào)用順序。8服務(wù)組織方式編制是指在流程中有一個(gè)作為流程中心的Web服務(wù),服務(wù)組織方式編排是指參與業(yè)務(wù)過(guò)程的Web服務(wù)之間是協(xié)作關(guān)系,并沒(méi)有像編制中位于中心的Web服務(wù)這樣的協(xié)調(diào)者。因此,為了實(shí)現(xiàn)一個(gè)業(yè)務(wù)流程,每一個(gè)參與其中的Web服務(wù)都需要明確地知道自己應(yīng)該在什么情況下與哪些其他的Web服務(wù)進(jìn)行交互。通過(guò)比較可以知道編制是以Web服務(wù)的視角來(lái)組織業(yè)務(wù)流程編排則是以宏觀的角度來(lái)觀察多個(gè)Web服務(wù)間的交互協(xié)作,可以更好的模擬現(xiàn)實(shí)中的公共流程。兩者的關(guān)鍵區(qū)別是:編排是一種對(duì)等模型,業(yè)務(wù)流程中會(huì)有很多協(xié)作方,這些協(xié)作方互相對(duì)等,沒(méi)有隸屬層次關(guān)系;而編制是一種集控式的請(qǐng)求者/提供者模型,它定義了集控中心,由其決定在流程中應(yīng)該使用哪些服務(wù),以及應(yīng)該如何使用這些服務(wù),但是沒(méi)有定義多個(gè)參與方之間應(yīng)該如何進(jìn)行協(xié)作。9服務(wù)組織方式編排是指參與業(yè)務(wù)過(guò)程的Web服務(wù)之間是協(xié)作關(guān)系,業(yè)務(wù)服務(wù)到軟件服務(wù)的映射從系統(tǒng)分析員構(gòu)建的業(yè)務(wù)服務(wù)到系統(tǒng)架構(gòu)師設(shè)計(jì)的軟件服務(wù)之間的映射是構(gòu)建平臺(tái)相關(guān)的模型PSM的重要步驟,通??梢圆捎玫姆椒ㄖ饕凶皂斚蛳潞妥缘紫蛏蟽煞N方式。自頂向下方式就是“分而治之、逐步求精”,即在事先充分了解系統(tǒng)需求的情況下,從系統(tǒng)架構(gòu)開(kāi)始分析設(shè)計(jì),不斷遞歸地將其分塊細(xì)化到一個(gè)個(gè)小的模塊,然后實(shí)現(xiàn)這些小模塊的功能。自底向上方式則相反,是先對(duì)一個(gè)個(gè)功能模塊進(jìn)行設(shè)計(jì)分析并實(shí)現(xiàn),然后再考慮如何將這些模塊組合以實(shí)現(xiàn)整體系統(tǒng)的需求,是從細(xì)節(jié)入手的設(shè)計(jì)方式。10業(yè)務(wù)服務(wù)到軟件服務(wù)的映射從系統(tǒng)分析員構(gòu)建的業(yè)務(wù)服務(wù)到系統(tǒng)架構(gòu)業(yè)務(wù)服務(wù)到軟件服務(wù)的映射自頂向下的分析與設(shè)計(jì)過(guò)程是由業(yè)務(wù)需求驅(qū)動(dòng)的其優(yōu)點(diǎn)是由于是由需求驅(qū)動(dòng)的,因此業(yè)務(wù)流程中的業(yè)務(wù)服務(wù)和軟件之間的交互是完全匹配的;缺點(diǎn)是可能對(duì)現(xiàn)有軟件服務(wù)的利用率不高,因?yàn)樽R(shí)別出來(lái)的業(yè)務(wù)服務(wù)有可能與現(xiàn)有軟件服務(wù)之間不能完全匹配,導(dǎo)致可能會(huì)徹底放棄現(xiàn)有軟件服務(wù)自底向上的分析與設(shè)計(jì)要解決的問(wèn)題就是如何使得現(xiàn)有的服務(wù)可以被業(yè)務(wù)流程所引用其優(yōu)點(diǎn)是通過(guò)不斷地將業(yè)務(wù)服務(wù)與已有的軟件服務(wù)進(jìn)行匹配,使得對(duì)已有軟件服務(wù)能夠進(jìn)行最大限度的復(fù)用;缺點(diǎn)是以現(xiàn)有服務(wù)驅(qū)動(dòng)進(jìn)行匹配,因此可能會(huì)發(fā)現(xiàn)很多業(yè)務(wù)服務(wù)無(wú)法找到合適的現(xiàn)有服務(wù)進(jìn)行匹配,導(dǎo)致需要新開(kāi)發(fā)的服務(wù)數(shù)量變多通過(guò)綜合運(yùn)用兩種模式,可以實(shí)現(xiàn)業(yè)務(wù)服務(wù)到軟件服務(wù)的映射,完成平臺(tái)無(wú)關(guān)的模型向平臺(tái)相關(guān)的模型的演化。11業(yè)務(wù)服務(wù)到軟件服務(wù)的映射自頂向下的分析與設(shè)計(jì)過(guò)程是由業(yè)務(wù)需求服務(wù)粒度的確定在進(jìn)行服務(wù)識(shí)別和劃分時(shí),服務(wù)的粒度是一個(gè)十分重要的問(wèn)題。服務(wù)粒度太細(xì)會(huì)使得服務(wù)流程過(guò)于復(fù)雜,而且服務(wù)流程執(zhí)行的效率也會(huì)降低很多;服務(wù)流程太粗會(huì)使得服務(wù)流程難以改動(dòng),從而使得隨需應(yīng)變無(wú)法實(shí)現(xiàn)。從隨需應(yīng)變出發(fā),需要我們能夠預(yù)判業(yè)務(wù)流程在將來(lái)有可能出現(xiàn)的變化,然后根據(jù)這種預(yù)判來(lái)設(shè)計(jì)服務(wù)的粒度具體來(lái)說(shuō),我們要求對(duì)業(yè)務(wù)流程中的各個(gè)環(huán)節(jié)進(jìn)行抽象表示,然后根據(jù)考慮在流程上那些部分是隨著業(yè)務(wù)的發(fā)展有可能產(chǎn)生變化的,然后將這些有可能產(chǎn)生變化的地方識(shí)別成細(xì)粒度的服務(wù)來(lái)表示。12服務(wù)粒度的確定在進(jìn)行服務(wù)識(shí)別和劃分時(shí),服務(wù)的粒度是一個(gè)十分重服務(wù)粒度的確定當(dāng)識(shí)別出來(lái)的服務(wù)粒度過(guò)細(xì)時(shí),可以考慮使用服務(wù)外觀模式將服務(wù)數(shù)量降低到合理的范圍內(nèi)。13服務(wù)粒度的確定當(dāng)識(shí)別出來(lái)的服務(wù)粒度過(guò)細(xì)時(shí),可以考慮使用服務(wù)外服務(wù)的實(shí)現(xiàn)在實(shí)現(xiàn)各個(gè)服務(wù)時(shí),首先需要考慮的是使用何種技術(shù)框架雖然目前服務(wù)都是以Web服務(wù)的方式實(shí)現(xiàn)的,但是Web服務(wù)本身也分為傳統(tǒng)的基于SOAP的實(shí)現(xiàn)方式和基于REST的實(shí)現(xiàn)方式在基于SOAP的Web服務(wù)中,服務(wù)的調(diào)用者和服務(wù)的消費(fèi)者之間傳遞的是SOAP消息在基于REST的web服務(wù)中,服務(wù)器端完全是無(wú)狀態(tài)的,客戶端的狀態(tài)就是由服務(wù)器端推送過(guò)去的數(shù)據(jù),這些數(shù)據(jù)的語(yǔ)義就形成了表述這兩種web服務(wù)的實(shí)現(xiàn)方式都可以選擇但是由于基于REST的服務(wù)實(shí)現(xiàn)方式可以使服務(wù)器變成無(wú)狀態(tài)的,這也就意味著服務(wù)器端不需要花費(fèi)很大的代價(jià)為每個(gè)客戶端維護(hù)其唯一的狀態(tài),這對(duì)于潛在客戶端數(shù)量巨大的web服務(wù)來(lái)說(shuō)特別合適。因此,基于REST的服務(wù)會(huì)成為我們優(yōu)先考慮的選擇,而WSDL2.0增加對(duì)REST的web服務(wù)的支持也說(shuō)明了這種發(fā)展趨勢(shì)。14服務(wù)的實(shí)現(xiàn)在實(shí)現(xiàn)各個(gè)服務(wù)時(shí),首先需要考慮的是使用何種技術(shù)框架Web2.0客戶端Web2.0技術(shù)選型時(shí)需要考慮很多因素,其中最主要的因素有:瀏覽器兼容性:由于瀏覽器之間存在差異,因此,并非所有的瀏覽器對(duì)相同的腳本具有相同的解釋效果,要考慮所采用的web2.0技術(shù)對(duì)瀏覽器的兼容性。安全性:在客戶端瀏覽器中執(zhí)行的腳本和程序會(huì)產(chǎn)生潛在的對(duì)安全性的威脅,因此,要考慮不同的web2.0技術(shù)的安全架構(gòu)對(duì)系統(tǒng)安全性的影響。執(zhí)行開(kāi)銷:不同的web2.0技術(shù)開(kāi)發(fā)的腳本和程序?qū)τ趫?zhí)行時(shí)所需的開(kāi)銷是不同的,它們對(duì)內(nèi)存和CPU的占用存在較大的差異,因此執(zhí)行開(kāi)銷是必須考慮的因素。除上述最主要的因素外,還包含其他因素,例如可擴(kuò)展性、性能、可靠性等。無(wú)論采用哪種web2.0技術(shù),最根本的動(dòng)力在于將部分計(jì)算任務(wù)推至客戶端執(zhí)行,在利用客戶端資源的同時(shí),降低服務(wù)器端的壓力,使服務(wù)器端成為無(wú)狀態(tài)的。這一點(diǎn)和我們盡量將服務(wù)實(shí)現(xiàn)成為無(wú)狀態(tài)的是一致的。15Web2.0客戶端Web2.0技術(shù)選型時(shí)需要考慮很多因素,其服務(wù)的調(diào)試與測(cè)試在測(cè)試和調(diào)試過(guò)程中,應(yīng)該分成兩個(gè)層次來(lái)進(jìn)行:測(cè)試服務(wù)流程和測(cè)試單個(gè)的服務(wù)。在測(cè)試服務(wù)流程時(shí),關(guān)心的是整個(gè)流程的正確性,而不是單個(gè)服務(wù)的正確性。在執(zhí)行這個(gè)層次的測(cè)試時(shí),服務(wù)的具體實(shí)現(xiàn)可能還無(wú)法獲得,此時(shí)可以運(yùn)用ServiceStub和Plugin模式即針對(duì)服務(wù)流程中的服務(wù)生成ServiceStub,即一種返回指定值的服務(wù)實(shí)現(xiàn),它并不是服務(wù)的最終實(shí)現(xiàn),而僅僅用以支撐對(duì)服務(wù)流程的測(cè)試。同時(shí),在調(diào)用服務(wù)時(shí),通過(guò)讀取plugin的配置文件來(lái)指定調(diào)用服務(wù)的哪個(gè)具體實(shí)現(xiàn)。在測(cè)試單個(gè)服務(wù)時(shí),我們已經(jīng)可以確保服務(wù)流程的正確性了,因此只需要關(guān)注具體的服務(wù)實(shí)現(xiàn)。首先,我們需要對(duì)服務(wù)的構(gòu)件進(jìn)行測(cè)試,確保服務(wù)的業(yè)務(wù)邏輯實(shí)現(xiàn)是正確的。其次,要使用與服務(wù)實(shí)現(xiàn)語(yǔ)言無(wú)關(guān)的方式來(lái)測(cè)試,確保服務(wù)能夠被異構(gòu)的服務(wù)調(diào)用者調(diào)用。16服務(wù)的調(diào)試與測(cè)試在測(cè)試和調(diào)試過(guò)程中,應(yīng)該分成兩個(gè)層次來(lái)進(jìn)行:EndTobecontinued17EndTobecontinued17企業(yè)級(jí)應(yīng)用系統(tǒng)體系架構(gòu)(九)

面向服務(wù)分析與設(shè)計(jì)ChenHaopengFriday,November25,202218企業(yè)級(jí)應(yīng)用系統(tǒng)體系架構(gòu)(九)

面向服務(wù)分析與面向服務(wù)架構(gòu)帶來(lái)的影響系統(tǒng)分析與設(shè)計(jì)服務(wù)識(shí)別與服務(wù)流程編排為主要工作19面向服務(wù)架構(gòu)帶來(lái)的影響系統(tǒng)分析與設(shè)計(jì)2面向服務(wù)架構(gòu)帶來(lái)的影響系統(tǒng)開(kāi)發(fā)與部署服務(wù)的發(fā)現(xiàn)與組合成為了系統(tǒng)開(kāi)發(fā)的主要工作20面向服務(wù)架構(gòu)帶來(lái)的影響系統(tǒng)開(kāi)發(fā)與部署3業(yè)務(wù)建模業(yè)務(wù)建模的目的通過(guò)業(yè)務(wù)建模抽取、整理和挖掘企業(yè)的無(wú)形資產(chǎn)通過(guò)業(yè)務(wù)建模標(biāo)準(zhǔn)化和規(guī)范化業(yè)務(wù)流程和業(yè)務(wù)規(guī)則通過(guò)業(yè)務(wù)建模保障企業(yè)管理信息系統(tǒng)的順利實(shí)施21業(yè)務(wù)建模業(yè)務(wù)建模的目的4業(yè)務(wù)建模業(yè)務(wù)建模的方法ARIS、BPEL、BPMN……22業(yè)務(wù)建模業(yè)務(wù)建模的方法5模型驅(qū)動(dòng)的架構(gòu)設(shè)計(jì)模型驅(qū)動(dòng)的架構(gòu)(Model-drivenarchitecture,MDA)是對(duì)象管理組織OMG在2001年發(fā)布的軟件設(shè)計(jì)方法,面向服務(wù)的分析與設(shè)計(jì)通常會(huì)采用MDA。在MDA中,軟件設(shè)計(jì)分成三個(gè)階段:計(jì)算無(wú)關(guān)的模型CIM:包含系統(tǒng)業(yè)務(wù)需求,但是不包含任何有關(guān)系統(tǒng)實(shí)現(xiàn)的細(xì)節(jié)平臺(tái)無(wú)關(guān)的模型PIM:包含由識(shí)別出的服務(wù)構(gòu)成的完整的業(yè)務(wù)流程,但是不包含使用何種技術(shù)來(lái)開(kāi)發(fā)這些服務(wù)的細(xì)節(jié)平臺(tái)相關(guān)的模型PSM:將平臺(tái)無(wú)關(guān)的模型與具體的服務(wù)實(shí)現(xiàn)平臺(tái)綁定,構(gòu)成對(duì)系統(tǒng)的平臺(tái)相關(guān)的視圖23模型驅(qū)動(dòng)的架構(gòu)設(shè)計(jì)模型驅(qū)動(dòng)的架構(gòu)(Model-driven服務(wù)組織方式在進(jìn)行面向服務(wù)的分析與設(shè)計(jì)時(shí),需要考慮如何將Web服務(wù)組織到一起。Web服務(wù)的組織方式通常有兩種:編制(orchestration)和編排(choreography)24服務(wù)組織方式在進(jìn)行面向服務(wù)的分析與設(shè)計(jì)時(shí),需要考慮如何將We服務(wù)組織方式編制是指在流程中有一個(gè)作為流程中心的Web服務(wù),它負(fù)責(zé)控制流程中其他參與交互的Web服務(wù),協(xié)調(diào)Web服務(wù)間的消息傳遞。除流程中心Web服務(wù)之外的其他參與交互的Web服務(wù)通常是不關(guān)心其他的Web服務(wù)的存在,也不需要知道自己被誰(shuí)調(diào)用或正在參與一個(gè)什么樣的具體業(yè)務(wù)流程。因此,Web服務(wù)能夠在不了解彼此影響的情況下被添加到流程中或從流程中被移除。只有中心Web服務(wù)了解這個(gè)具體的業(yè)務(wù)過(guò)程的邏輯。因此編制模式是中央集權(quán)型的,這個(gè)中心Web服務(wù)了解編制的總體目標(biāo)、涉及的操作以及操作的調(diào)用順序。25服務(wù)組織方式編制是指在流程中有一個(gè)作為流程中心的Web服務(wù),服務(wù)組織方式編排是指參與業(yè)務(wù)過(guò)程的Web服務(wù)之間是協(xié)作關(guān)系,并沒(méi)有像編制中位于中心的Web服務(wù)這樣的協(xié)調(diào)者。因此,為了實(shí)現(xiàn)一個(gè)業(yè)務(wù)流程,每一個(gè)參與其中的Web服務(wù)都需要明確地知道自己應(yīng)該在什么情況下與哪些其他的Web服務(wù)進(jìn)行交互。通過(guò)比較可以知道編制是以Web服務(wù)的視角來(lái)組織業(yè)務(wù)流程編排則是以宏觀的角度來(lái)觀察多個(gè)Web服務(wù)間的交互協(xié)作,可以更好的模擬現(xiàn)實(shí)中的公共流程。兩者的關(guān)鍵區(qū)別是:編排是一種對(duì)等模型,業(yè)務(wù)流程中會(huì)有很多協(xié)作方,這些協(xié)作方互相對(duì)等,沒(méi)有隸屬層次關(guān)系;而編制是一種集控式的請(qǐng)求者/提供者模型,它定義了集控中心,由其決定在流程中應(yīng)該使用哪些服務(wù),以及應(yīng)該如何使用這些服務(wù),但是沒(méi)有定義多個(gè)參與方之間應(yīng)該如何進(jìn)行協(xié)作。26服務(wù)組織方式編排是指參與業(yè)務(wù)過(guò)程的Web服務(wù)之間是協(xié)作關(guān)系,業(yè)務(wù)服務(wù)到軟件服務(wù)的映射從系統(tǒng)分析員構(gòu)建的業(yè)務(wù)服務(wù)到系統(tǒng)架構(gòu)師設(shè)計(jì)的軟件服務(wù)之間的映射是構(gòu)建平臺(tái)相關(guān)的模型PSM的重要步驟,通常可以采用的方法主要有自頂向下和自底向上兩種方式。自頂向下方式就是“分而治之、逐步求精”,即在事先充分了解系統(tǒng)需求的情況下,從系統(tǒng)架構(gòu)開(kāi)始分析設(shè)計(jì),不斷遞歸地將其分塊細(xì)化到一個(gè)個(gè)小的模塊,然后實(shí)現(xiàn)這些小模塊的功能。自底向上方式則相反,是先對(duì)一個(gè)個(gè)功能模塊進(jìn)行設(shè)計(jì)分析并實(shí)現(xiàn),然后再考慮如何將這些模塊組合以實(shí)現(xiàn)整體系統(tǒng)的需求,是從細(xì)節(jié)入手的設(shè)計(jì)方式。27業(yè)務(wù)服務(wù)到軟件服務(wù)的映射從系統(tǒng)分析員構(gòu)建的業(yè)務(wù)服務(wù)到系統(tǒng)架構(gòu)業(yè)務(wù)服務(wù)到軟件服務(wù)的映射自頂向下的分析與設(shè)計(jì)過(guò)程是由業(yè)務(wù)需求驅(qū)動(dòng)的其優(yōu)點(diǎn)是由于是由需求驅(qū)動(dòng)的,因此業(yè)務(wù)流程中的業(yè)務(wù)服務(wù)和軟件之間的交互是完全匹配的;缺點(diǎn)是可能對(duì)現(xiàn)有軟件服務(wù)的利用率不高,因?yàn)樽R(shí)別出來(lái)的業(yè)務(wù)服務(wù)有可能與現(xiàn)有軟件服務(wù)之間不能完全匹配,導(dǎo)致可能會(huì)徹底放棄現(xiàn)有軟件服務(wù)自底向上的分析與設(shè)計(jì)要解決的問(wèn)題就是如何使得現(xiàn)有的服務(wù)可以被業(yè)務(wù)流程所引用其優(yōu)點(diǎn)是通過(guò)不斷地將業(yè)務(wù)服務(wù)與已有的軟件服務(wù)進(jìn)行匹配,使得對(duì)已有軟件服務(wù)能夠進(jìn)行最大限度的復(fù)用;缺點(diǎn)是以現(xiàn)有服務(wù)驅(qū)動(dòng)進(jìn)行匹配,因此可能會(huì)發(fā)現(xiàn)很多業(yè)務(wù)服務(wù)無(wú)法找到合適的現(xiàn)有服務(wù)進(jìn)行匹配,導(dǎo)致需要新開(kāi)發(fā)的服務(wù)數(shù)量變多通過(guò)綜合運(yùn)用兩種模式,可以實(shí)現(xiàn)業(yè)務(wù)服務(wù)到軟件服務(wù)的映射,完成平臺(tái)無(wú)關(guān)的模型向平臺(tái)相關(guān)的模型的演化。28業(yè)務(wù)服務(wù)到軟件服務(wù)的映射自頂向下的分析與設(shè)計(jì)過(guò)程是由業(yè)務(wù)需求服務(wù)粒度的確定在進(jìn)行服務(wù)識(shí)別和劃分時(shí),服務(wù)的粒度是一個(gè)十分重要的問(wèn)題。服務(wù)粒度太細(xì)會(huì)使得服務(wù)流程過(guò)于復(fù)雜,而且服務(wù)流程執(zhí)行的效率也會(huì)降低很多;服務(wù)流程太粗會(huì)使得服務(wù)流程難以改動(dòng),從而使得隨需應(yīng)變無(wú)法實(shí)現(xiàn)。從隨需應(yīng)變出發(fā),需要我們能夠預(yù)判業(yè)務(wù)流程在將來(lái)有可能出現(xiàn)的變化,然后根據(jù)這種預(yù)判來(lái)設(shè)計(jì)服務(wù)的粒度具體來(lái)說(shuō),我們要求對(duì)業(yè)務(wù)流程中的各個(gè)環(huán)節(jié)進(jìn)行抽象表示,然后根據(jù)考慮在流程上那些部分是隨著業(yè)務(wù)的發(fā)展有可能產(chǎn)生變化的,然后將這些有可能產(chǎn)生變化的地方識(shí)別成細(xì)粒度的服務(wù)來(lái)表示。29服務(wù)粒度的確定在進(jìn)行服務(wù)識(shí)別和劃分時(shí),服務(wù)的粒度是一個(gè)十分重服務(wù)粒度的確定當(dāng)識(shí)別出來(lái)的服務(wù)粒度過(guò)細(xì)時(shí),可以考慮使用服務(wù)外觀模式將服務(wù)數(shù)量降低到合理的范圍內(nèi)。30服務(wù)粒度的確定當(dāng)識(shí)別出來(lái)的服務(wù)粒度過(guò)細(xì)時(shí),可以考慮使用服務(wù)外服務(wù)的實(shí)現(xiàn)在實(shí)現(xiàn)各個(gè)服務(wù)時(shí),首先需要考慮的是使用何種技術(shù)框架雖然目前服務(wù)都是以Web服務(wù)的方式實(shí)現(xiàn)的,但是Web服務(wù)本身也分為傳統(tǒng)的基于SOAP的實(shí)現(xiàn)方式和基于REST的實(shí)現(xiàn)方式在基于SOAP的Web服務(wù)中,服務(wù)的調(diào)用者和服務(wù)的消費(fèi)者之間傳遞的是SOAP消息在基于REST的web服務(wù)中,服務(wù)器端完全是無(wú)狀態(tài)的,客戶端的狀態(tài)就是由服務(wù)器端推送過(guò)去的數(shù)據(jù),這些數(shù)據(jù)的語(yǔ)義就形成了表述這兩種web服務(wù)的實(shí)現(xiàn)方式都可以選擇但是由于基于REST的服務(wù)實(shí)現(xiàn)方式可以使服務(wù)器變成無(wú)狀態(tài)的,這也就意味著服務(wù)器端不需要花費(fèi)很大的代價(jià)為每個(gè)客戶端維護(hù)其唯一的狀態(tài),這對(duì)于潛在客戶端數(shù)量巨大的web服務(wù)來(lái)說(shuō)特別合適。因此,基于REST的服務(wù)會(huì)成為我們優(yōu)先考慮的選擇,而WSDL2.0增加對(duì)REST的web服務(wù)的支持也說(shuō)明了這種發(fā)展趨勢(shì)。31服務(wù)的實(shí)現(xiàn)在實(shí)現(xiàn)各個(gè)服務(wù)時(shí),首先需要考慮的是使用何種技術(shù)框架Web2.0客戶端Web2.0技術(shù)選型時(shí)需要考慮很多因素,其中最主要的因素有:瀏覽器兼容性:由于瀏覽器之間存在差異,因此,并非所有的瀏覽器對(duì)相同的腳本具有相同的解釋效果,要考慮所采用的web2.0技術(shù)對(duì)瀏覽器的兼容性。安全性:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論