freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

讓企業(yè)soa項(xiàng)目更可控之必備十大戒條(編輯修改稿)

2025-08-25 10:44 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 來執(zhí)行,而其余的就不應(yīng)該了。通過這種區(qū)分,我們可以讓服務(wù)盡可能簡(jiǎn)單,這樣可以在不需要改變各式各樣其他東西的情況下替換掉該服務(wù)。舉例來說,我們會(huì)生產(chǎn)產(chǎn)品來滿足外部服務(wù)請(qǐng)求,但是維護(hù)簿記系統(tǒng)是為了滿足我們自己的需求,而不是請(qǐng)求者的。如果要開發(fā)一項(xiàng)服務(wù)將客戶訂單轉(zhuǎn)變成制造活動(dòng)及賬目簿記,那么只要我們實(shí)現(xiàn)一個(gè)新的簿記系統(tǒng),我們就要去修改一次這個(gè)服務(wù)。這聽起來似乎還不是太糟糕,但試想一下所有事情都是為我們自己而做,那就太糟糕了。包含最新數(shù)據(jù)的數(shù)據(jù)倉庫的簿記、日志、儲(chǔ)存、員工績(jī)效數(shù)據(jù)的維護(hù):所有這些及其他事情一般都由系統(tǒng)完成,這些系統(tǒng)隨組織機(jī)構(gòu)和時(shí)間的不同而不同,因此在業(yè)務(wù)服務(wù)中包含這些知識(shí)會(huì)降低互操作性,增加了用其他系統(tǒng)來實(shí)現(xiàn)服務(wù)替換的難度。我們可以通過產(chǎn)生通知的方式來避免此類問題,即:如果對(duì)這些功能很重要的事情發(fā)生了,就發(fā)出通知,然后它們可以使用通用服務(wù)檢索處理事件所需的信息。另一類不應(yīng)作為服務(wù)一部分執(zhí)行的業(yè)務(wù)活動(dòng)包括那些一旦服務(wù)請(qǐng)求被撤銷就無法逆轉(zhuǎn)的活動(dòng)。通常來說,這類活動(dòng)包括諸如因客戶訂貨導(dǎo)致庫存量低于補(bǔ)貨水平從而需要訂購補(bǔ)給、注冊(cè)新用戶以及更新現(xiàn)有用戶信息。這些活動(dòng)是整個(gè)流程中的各個(gè)步驟,應(yīng)使用單獨(dú)的服務(wù)一一執(zhí)行。當(dāng)然,這種思維方式可以與數(shù)據(jù)庫范式緊密結(jié)合。但并不是其所特有的,因?yàn)樗cSOA有關(guān)。結(jié)果是,許多SOA的實(shí)現(xiàn)與數(shù)據(jù)庫化的思維方式背道而馳,而正是這種思維方式激發(fā)了他們以自下而上的方式識(shí)別服務(wù),而非SOA的自上而下方式。在自下而上方式中,原本一開始為某個(gè)問題開發(fā)的服務(wù)也可以為其他問題復(fù)用,這多虧了設(shè)計(jì)它的人對(duì)于如何更廣泛地應(yīng)用做了認(rèn)真的思考。SOA中,在多個(gè)上下文中使用某個(gè)服務(wù)是縝密設(shè)計(jì)的結(jié)果,而不是靠直覺,并且從設(shè)計(jì)之初就將所有那些上下文都考慮了進(jìn)來。說到復(fù)用某一服務(wù)來交付某一通用的中間產(chǎn)品就好比說重復(fù)使用前門進(jìn)入房子,不管那扇門是通向客廳、廚房,還是衛(wèi)生間。你能想象廚房設(shè)計(jì)師說:“真妙!那家伙設(shè)計(jì)的室外通向客廳的入口正好可以被我用來作為通向廚房的室外入口!”嗎?任何談?wù)摗皬?fù)用”(如復(fù)用支付服務(wù))的人都還沒有實(shí)現(xiàn)它。請(qǐng)注意,這并不是錯(cuò)誤的,只是有點(diǎn)奇怪和沒有什么啟發(fā)性罷了。服務(wù)遵從業(yè)務(wù)采用SOA方式思考問題的一個(gè)結(jié)果就是SOA會(huì)使得服務(wù)依據(jù)其業(yè)務(wù)意義而非機(jī)械的實(shí)現(xiàn)來表述。例如,名為增加用戶記錄的服務(wù)是數(shù)據(jù)庫化的,而名為注冊(cè)新用戶的服務(wù)就是SOA的,即便這兩個(gè)服務(wù)做的事情完全一樣。我們對(duì)服務(wù)的命名十分重要,因?yàn)樗嬖V我們是誰在請(qǐng)求該服務(wù),以及為什么他要請(qǐng)求這項(xiàng)服務(wù)。在這個(gè)特定的例子中,SOA自上而下的方法會(huì)得到一個(gè)結(jié)論,那就是業(yè)務(wù)流程需要一個(gè)有效的用戶注冊(cè)服務(wù),該服務(wù)通過修改現(xiàn)存的注冊(cè)服務(wù)(如果有的話)來完成,而不是重新自動(dòng)創(chuàng)建一個(gè)新的。在SOA中,這是用戶注冊(cè)服務(wù)的責(zé)任,而數(shù)據(jù)庫化的方法卻會(huì)把這個(gè)責(zé)任推到服務(wù)請(qǐng)求者身上。類似地,SOA注冊(cè)用戶服務(wù)自身會(huì)決定用戶ID是什么,而數(shù)據(jù)庫化的服務(wù)可能就會(huì)干脆讓服務(wù)請(qǐng)求者做這個(gè)決定。匯聚到單個(gè)方案總的看來,SOA由上至下的思維方式使得很多設(shè)計(jì)決策只存在一個(gè)選項(xiàng),而數(shù)據(jù)庫化的思考者會(huì)把該選項(xiàng)僅僅看作眾多可選方案之一。這是SOA很重要的一個(gè)優(yōu)勢(shì),考慮到SOA是以互操作性為導(dǎo)向的,而互操作性要求我們行車時(shí)都在同一邊行駛而不用去和我們碰到的每輛車去交涉。那些忽視這點(diǎn)的人–比如通過主張Web服務(wù)只是眾多實(shí)現(xiàn)跨系統(tǒng)邊界SOA的一種方式–能夠一直成功的機(jī)會(huì)和那些只考慮下一步的棋手差不多。誠(chéng)然,總是有比Web服務(wù)更簡(jiǎn)單的方法去連接兩個(gè)系統(tǒng),但是為了讓呼叫中心或輸出管理設(shè)施能使用相同數(shù)據(jù)你會(huì)怎么做?為了確保數(shù)據(jù)倉庫能夠在你把事件從一個(gè)系統(tǒng)轉(zhuǎn)換到另一個(gè)系統(tǒng)時(shí)得到通知,或者事件一發(fā)生便能及時(shí)通知你的客戶,你又會(huì)怎么做呢?在SOA的世界里,數(shù)據(jù)和事件必須在多個(gè)系統(tǒng)中可用,而Web服務(wù)是能夠確保在低投資和低維護(hù)成本的前提下達(dá)到這一效果的最有效的方法。存在這一明顯差異的一個(gè)領(lǐng)域就是電子數(shù)據(jù)交換(EDI)。傳統(tǒng)的電子數(shù)據(jù)交換(EDI)技術(shù)旨在確定組織之間通信可能需要的信息,并為該信息定義詞匯。那和定義某一特定的信息交互不是一回事。比如,你可以使用相同的EDI報(bào)文來下訂單、查詢其進(jìn)展以及修改它。兩個(gè)組織想通過這些規(guī)范進(jìn)行通信必須坐下來一起就這一詞匯的使用方式達(dá)成一致。SOA分離了這些關(guān)注點(diǎn):詞匯由命名空間來處理,而這些命名空間可能會(huì)被多個(gè)服務(wù)使用,每個(gè)服務(wù)有各自特定的目的?!癝OA由上至下方式導(dǎo)致更具體的結(jié)論”的另一領(lǐng)域是這樣一個(gè)問題:是什么筑起了一個(gè)編排過的流程邊界。通常,這個(gè)問題會(huì)引起無休止的爭(zhēng)論。比如,采用輸出管理服務(wù)給客戶發(fā)送確認(rèn)信息是否應(yīng)被編排為用戶流程的一部分,如果是的話,它應(yīng)該采用即發(fā)即棄(fireandforget)的方式處理還是應(yīng)該由輸出管理服務(wù)來報(bào)告動(dòng)作成功完成?按SOA的話講,所有這些東西都是用戶意圖的一部分,因此都應(yīng)該被編排的。其他一些行為,比如考慮到新用戶訂單的更新數(shù)據(jù)倉庫或者更新總分類,很顯然都不是用戶意圖的一部分,不應(yīng)該包含在流程編排中,哪怕它們是同一方執(zhí)行的。通用功能業(yè)務(wù)服務(wù)應(yīng)該只包含特定于該服務(wù)的那些功能邏輯。它應(yīng)該把其他功能都委托出去。那樣的話,服務(wù)自身就可以盡可能簡(jiǎn)單。這使得設(shè)計(jì)、測(cè)試以及替換服務(wù),如有必要的話,更容易。這是個(gè)基本的數(shù)學(xué)知識(shí):新軟件模塊需要匹配的因素越多,那么同價(jià)位下的成品軟件(COTS)的共性越少,而且若恰好有個(gè)方案可用時(shí)它也會(huì)更貴。如果可以將這些非特定功能委托給標(biāo)準(zhǔn)服務(wù),那么就可以降低需要匹配的因素個(gè)數(shù)。服務(wù)可以代勞的首要任務(wù)是瑣事:都是些“家務(wù)事”而非真正業(yè)務(wù)相關(guān)的功能。這些瑣事天生就是普遍的,換句話說完成這些瑣事的方式并不是為支持業(yè)務(wù)上下文的服務(wù)量身定制的。通用用戶接口當(dāng)你得知信息系統(tǒng)最不應(yīng)該做的一大瑣事就是管理用戶體驗(yàn)時(shí)你可能會(huì)覺得驚訝。這是一個(gè)通用的功能,應(yīng)該盡可能的采用標(biāo)準(zhǔn)工具來處理。用戶體驗(yàn)包括用戶可以選擇要執(zhí)行工作項(xiàng)的工作列表,工作項(xiàng)執(zhí)行的工具——比如通過啟動(dòng)一個(gè)用戶界面(如果有的話)來關(guān)閉已完成的工作項(xiàng)。它包含了用戶有可能執(zhí)行的交易甄選,輸入信息屏幕的表示——一般是從XSD生成——以及使用和交易相對(duì)應(yīng)的標(biāo)準(zhǔn)驗(yàn)證服務(wù)進(jìn)行驗(yàn)證。它包括了保持當(dāng)前用戶上下文環(huán)境,這樣他就無需再次輸入當(dāng)前的客戶、產(chǎn)品、項(xiàng)目、流程實(shí)例或者其他任何東西,而是可以使用這些默認(rèn)值或者在必要時(shí)候重寫它們。它包括了和當(dāng)前用戶上下文環(huán)境相關(guān)的所有文檔的介紹。它包含了用戶可能需要作出響應(yīng)的提示對(duì)話框。所有這些東西都可以使用無需包含任何業(yè)務(wù)知識(shí)的工具實(shí)現(xiàn)??偟膩碚f,給用戶提供一個(gè)統(tǒng)一、包含所有東西的環(huán)境遠(yuǎn)比為某個(gè)特定行為而優(yōu)化的用戶界面要好。如果有業(yè)務(wù)案例違背了這一原則,請(qǐng)至少記住這點(diǎn):在穩(wěn)定用戶界之前,不要去優(yōu)化它。典型通用功能其他的瑣事還包括,但并不僅限于以下幾個(gè)方面:安全:建立服務(wù)請(qǐng)求者身份和訪問權(quán)限。通知:確認(rèn)某一業(yè)務(wù)事件應(yīng)通知哪些人。這包括了維護(hù)基于此的事件訂閱。輸出管理:在線下進(jìn)行信息通信,而不是作為一種服務(wù)響應(yīng)。典型例子就是當(dāng)客戶請(qǐng)求必須被正式確認(rèn)時(shí),比如使用電子郵件來確認(rèn)你剛剛通過瀏覽器所做的網(wǎng)上采購。對(duì)那些主動(dòng)提供的消息也是需要的,比如每月的賬單。輸出管理必須決定通過哪條渠道去發(fā)送信息,以及使用哪個(gè)地址來發(fā)送。它應(yīng)該把消息轉(zhuǎn)換成接收方能夠接收的格式,發(fā)送消息,并把消息添加到歸檔文檔。輸出管理包括維護(hù)那些被用來將數(shù)據(jù)轉(zhuǎn)換成用戶可理解消息的模板,以及潛在接收者的地址和渠道偏好。數(shù)據(jù)轉(zhuǎn)換:把數(shù)據(jù)從一種格式轉(zhuǎn)換為另一個(gè),把獨(dú)立的各個(gè)服務(wù)打包為一個(gè)服務(wù)——用麥當(dāng)勞的說法,開心樂園餐——以及分解拆包,將服務(wù)請(qǐng)求拆分成適用于不同人群的各個(gè)獨(dú)立請(qǐng)求,匯集各個(gè)回應(yīng),排隊(duì)及出列,或協(xié)議轉(zhuǎn)換。流程編排:編排某一流程,以確保按適當(dāng)順序且僅相關(guān)時(shí)來執(zhí)行那些組成流程的服務(wù),確??煲馄跁r(shí)發(fā)送告警信息,以及確保因輔助信息或者逾期打斷從而引起的新流程分支被啟用。歸檔管理:維護(hù)及訪問相關(guān)的歸檔信息。這些可能是虛擬的檔案,從某種意義上是展現(xiàn)給用戶的信息,當(dāng)他需要某個(gè)檔案時(shí)可以使用查詢來檢索。對(duì)那些從數(shù)據(jù)庫中抽取的內(nèi)容,這被認(rèn)為是正常的,但是沒有特殊理由不對(duì)文檔使用相同的方法。在某些情況下應(yīng)使用設(shè)備來特別增加指派文檔至檔案中。記錄管理:維護(hù)那些不允許被更改的信息。至下而上敘述這些實(shí)現(xiàn)瑣事的服務(wù)不能形成業(yè)務(wù)服務(wù)層次的部分。不能使用自上而下的方式去設(shè)計(jì)它們,因?yàn)檫@些服務(wù)都沒有所謂的“上”。對(duì)這樣的服務(wù),使用旨在實(shí)現(xiàn)最大程度重用的自下而上的方法會(huì)更適合。這使得從這個(gè)階段起就能夠?qū)崿F(xiàn)服務(wù)的優(yōu)勝劣汰。采用數(shù)據(jù)庫化的方法,很少能夠?qū)嶋H把次等通用功能用更好的替換,因?yàn)檫@要求修改所有使用該方法的應(yīng)用。使用SOA則不同,這種替換很簡(jiǎn)單,前提是已經(jīng)應(yīng)用了“不去了解你不需要了解的事情”這條規(guī)則,包括其推論:服務(wù)請(qǐng)求不應(yīng)該包含超過指定該請(qǐng)求必要信息之外的其他信息,而且服務(wù)本身應(yīng)該在需要時(shí)主動(dòng)要求更多信息。如授權(quán)服務(wù),該服務(wù)由某應(yīng)用調(diào)用,旨在決定是否允許某特定用戶在某客戶數(shù)據(jù)上執(zhí)行某項(xiàng)功能——比如說:“我們的雇員Donald Jones是否被授權(quán)可以訪問Acme Widgets pany公司相關(guān)的財(cái)務(wù)數(shù)據(jù)?”。服務(wù)的簡(jiǎn)單版本可能具備處理某些特定情況的能力,在此特定情形下可以通過使用雇員功能對(duì)應(yīng)表來回答這些問題。稍微復(fù)雜一點(diǎn)的版本可能會(huì)識(shí)別出Donald Jones屬于某個(gè)或多個(gè)組的成員,除了個(gè)人權(quán)限外還擁有該組的權(quán)限。再更近一步,授權(quán)服務(wù)可能會(huì)使用用戶證書去區(qū)別雇員和客戶,并允許客戶只能夠訪問他們自己的數(shù)據(jù)。一個(gè)完善的版本可能會(huì)使用標(biāo)準(zhǔn)化的服務(wù)去調(diào)用業(yè)務(wù)流程管理系統(tǒng)或者項(xiàng)目管理系統(tǒng),詢問Donald Jones是否已經(jīng)被賦予了任何我們和Acme Widgets交易相關(guān)的職責(zé)。更好的做法是,授權(quán)服務(wù)會(huì)記錄請(qǐng)求和應(yīng)答的日志,而簡(jiǎn)單的版本不會(huì)這樣做。組織可以從一個(gè)服務(wù)的版本切換到另一個(gè)而無需對(duì)調(diào)用服務(wù)的應(yīng)用做任何改變。也有可能設(shè)計(jì)出根據(jù)操作必需的條件自動(dòng)配置自己的通用服務(wù)。例如,授權(quán)服務(wù)可以檢查是否有服務(wù)可以告知它員工對(duì)某些特定客戶有職責(zé),并在該服務(wù)不可用的情況下決定只使用個(gè)人還是群組的訪問權(quán)限。用這種方式,服務(wù)可以在很多組織之間復(fù)用。為什么SOA更容易測(cè)試對(duì)SOA缺點(diǎn)的一種看法是測(cè)試?yán)щy。這種看法完全不恰當(dāng),原因有很多。首先,在SOA中使用元數(shù)據(jù)可以避免錯(cuò)誤被植入到系統(tǒng)中??梢栽谠獢?shù)據(jù)層次就對(duì)系統(tǒng)進(jìn)行驗(yàn)證,例如,保證所有需要處理的數(shù)據(jù)在使用前就被匯總并校驗(yàn)。在整個(gè)業(yè)務(wù)流程范圍內(nèi)都可以實(shí)現(xiàn)這點(diǎn)。當(dāng)你可以驗(yàn)證設(shè)計(jì)的時(shí)候就不要測(cè)試整個(gè)系統(tǒng)。其次,幾乎所有測(cè)試,包括所有系統(tǒng)集成測(cè)試,一旦測(cè)試基準(zhǔn)被建立后都可以自動(dòng)完成。但是,需要一些前提條件。表現(xiàn)層和業(yè)務(wù)執(zhí)行層必須被嚴(yán)格的區(qū)分。好在這是使用SOA的一種很自然的方式。對(duì)所有輸入,都應(yīng)該存在相應(yīng)的XSD。使用該XSD,可以生成測(cè)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1