日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【转载】SOA面向服务架构简述

發(fā)布時(shí)間:2025/1/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转载】SOA面向服务架构简述 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

??? 在分布式系統(tǒng)中表現(xiàn)層和業(yè)務(wù)邏輯層 并不處于同一物理部署,所以我們必須存在分布式服務(wù),以契約方式發(fā)布于網(wǎng)絡(luò)中,我們的關(guān)注點(diǎn)在于服務(wù),面向服務(wù)編程,這種通過(guò)組合業(yè)務(wù)邏輯暴露可用服務(wù)的架構(gòu)叫做面向服務(wù)架構(gòu)(SOA)。

SOA強(qiáng)調(diào)一個(gè)松耦合,基于宏服務(wù)的架構(gòu),通過(guò)契約暴露給服務(wù)消費(fèi)者可用的服務(wù)交互。SOA是以服務(wù)為組成構(gòu)建,原則有:

1、邊界清晰:

服務(wù)層是消費(fèi)者交互到系統(tǒng)業(yè)務(wù)的唯一入口,所有我們的服務(wù)必須能夠被消費(fèi)者所理解,以及最好處理Request/Response基于消息交換RPC調(diào)用,職責(zé)明確單一.還有我們更希望我們的服務(wù)為作用明確的,CQS(命令-查詢分離原則).

2、服務(wù)的自治性

服務(wù)自治主要表現(xiàn)在每個(gè)服務(wù)都是獨(dú)立的,其系統(tǒng)部署,管理監(jiān)控都是獨(dú)立的。自治體現(xiàn)了服務(wù)的松耦合,但并不是服務(wù)就是一個(gè)孤島,其可以通過(guò)消息交換消費(fèi)其他服務(wù)。

3、使用契約(接口和數(shù)據(jù)載體),而非實(shí)現(xiàn)

這也是面向?qū)ο笤O(shè)計(jì)第一原則。在我們的服務(wù)設(shè)計(jì)中SOA一個(gè)重要目標(biāo)就是互操作,基于SOAP等標(biāo)準(zhǔn)協(xié)議實(shí)現(xiàn)跨平臺(tái)互操作,可能存在異構(gòu)系統(tǒng)。所以我們?cè)撨x擇接口而不是語(yǔ)言具體的類(lèi)以及基于消息交互。服務(wù)對(duì)于開(kāi)發(fā)就是一些列行為的組合,數(shù)據(jù)契約就是數(shù)據(jù)遷移對(duì)象,數(shù)據(jù)載體。契約使得我們并不關(guān)心服務(wù)的內(nèi)部實(shí)現(xiàn),而只關(guān)心提供了那些服務(wù),服務(wù)的簽名如何,怎么調(diào)用之類(lèi)的。

4、兼容性基于策越

對(duì)于消費(fèi)者來(lái)說(shuō)服務(wù)是否能滿足他的需求,這需要服務(wù)語(yǔ)義兼容,語(yǔ)義兼容也應(yīng)該通過(guò)可訪問(wèn)方式暴露。是的服務(wù)可發(fā)現(xiàn)。

SOA是一種設(shè)計(jì)原則規(guī)范,其目標(biāo)在于為復(fù)雜系統(tǒng)提供互操作性和以服務(wù)為基礎(chǔ)組件構(gòu)造系統(tǒng)邏輯。把具體的業(yè)務(wù)邏輯和流程屏蔽,暴露出用戶可用的行為集合。SOA是一中原則而非集體技術(shù)。wcf,webservice是具體SOA技術(shù)。同時(shí)SOA也不是我們的目標(biāo),客戶是不與關(guān)心我們采用soa與否,這只是我們對(duì)系統(tǒng)的一種解決方案。

SOA優(yōu)勢(shì)在于給我們提供更好的代碼重用,版本控制,安全控制,擴(kuò)展延伸性。同時(shí)降低和服務(wù)的耦合,交互必須依賴(lài)于服務(wù)契約和數(shù)據(jù)契約,并不關(guān)心服務(wù)的內(nèi)部實(shí)現(xiàn)。在我們的版本升級(jí),修改過(guò)程中可以完全可以重新實(shí)現(xiàn)替換原有服務(wù),并不會(huì)影響消費(fèi)程序的使用。

最后我們必須的說(shuō)下當(dāng)下流行的restfull,通常我們認(rèn)為這是一種風(fēng)格,而非架構(gòu),是由Roy Thomas Fielding在其博士論文 《Architectural Styles and the Design of Network-based Software Architectures》中提出REST是英文Representational State Transfer的縮寫(xiě),中文翻譯為“表述性狀態(tài)轉(zhuǎn)移”。是一種基于web的架構(gòu),它很好的利用http協(xié)議的method。根據(jù)不同的method表示對(duì)資源的不同語(yǔ)義操作。其核心在于將發(fā)布在網(wǎng)絡(luò)的一切事物歸屬為資源,每個(gè)資源定位于一個(gè)資源定位符(URI)。以及無(wú)狀態(tài),緩存,分層架構(gòu)。在微軟最新的WCF resetfull,web api應(yīng)用框架。以及wcf ria ,wcf data service,需要的注意的是微軟同時(shí)候加入的自己的oData協(xié)議(開(kāi)元數(shù)據(jù)協(xié)議)。

最后說(shuō)一點(diǎn):我覺(jué)得不管是服務(wù)或者resetfull服務(wù)我們都必須定義契約,依賴(lài)于契約,雖然微軟的而技術(shù)允許我們直接寄宿服務(wù)類(lèi),但是對(duì)于服務(wù)的擴(kuò)展和延伸而言,說(shuō)這句話的原因在于我最近看見(jiàn)一些直接寄宿服務(wù)類(lèi)的resetfull架構(gòu)。

轉(zhuǎn)載于:https://blog.51cto.com/eboke/958021

總結(jié)

以上是生活随笔為你收集整理的【转载】SOA面向服务架构简述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。