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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SOA 设计原则和 Web 服务中的数据传输

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SOA 设计原则和 Web 服务中的数据传输 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SOA 被翻譯為面向服務架構,它應該是創建從自治服務生成系統的一個架構方法,它的目的是更方便地進行集成。
SOA是Web 服務的一個自然延伸,因為Web 服務只是解決了異構系統之間的互操作,并沒有降低Web 服務之間的耦合度。
而關于SOA,有太多關于這個名詞的闡述和其他新鮮名詞:SCA、SDO、ESB等,本文要討論的是什么是服務、面向服務架構的設計原則和Web 服務中的數據傳輸。

什么是服務?
簡單來說就是一個提供消息交換交互、滿足特定功能的程序而已。它具有可用性和穩定性,同時也是松耦合的。服務長期存在,但是服務的配置和聚合必須能適應變化。

如何設計服務?
無他,把 OO 設計準則拿到 Web 服務領域而已,John Evdemon 在這篇文章(http://msdn.microsoft.com/architecture/default.aspx?pull=/library/en-us/dnbda/html/SOADesign.asp)里面談到SOA的設計原則,中文在這里(http://www.microsoft.com/china/msdn/library/architecture/architecture/architecturetopic/SOADesign.mspx)。
有以下四個設計原則:
一:邊界清楚(Boundaries Are Explicit)
?通過WSDL發布服務協定(流程和數據形式)、使用消息傳遞而不是RPC調用、提供結構良好的公共接口并保持靜態。
二: 自治(Services Are Autonomous)
?服務的部署和版本變遷應該要獨立于服務的部署和使用者、服務發布后接口即不可更改,做為服務提供者,要預料到服務有可能被誤用或者服務的使用者出現問題。
三: 共享架構和協定而非類(Services Share Schema and Contract, Not Class)
?采用 XML 架構定義消息交換格式、采用 WSDL 定義消息交換模式、采用 Web 服務策略(WS-Policy) 定義功能和需求、采用BPEL(Business Process Execution Language,業務流程執行語言)做為業務流程級別的協定,以聚合多個服務。??
四: 服務兼容性基于策略(Service Compatibility Is Based Upon Policy)
?策略表達式可用于分隔化兼容性性和語義兼容性。WS-Policy 規范定義了一個能夠表達服務級策略的機器可讀的策略框架。關于WS-Policy的介紹,請參見:http://msdn.microsoft.com/webservices/default.aspx?pull=/library/en-us/dnglobspec/html/ws-policy.asp
?中文在這里(http://www.microsoft.com/china/MSDN/library/WebServices/WebServices/Usdnglobspecwspolicy.mspx)
?
采用何種格式在 Web 服務中傳輸數據?
?在選擇傳遞數據所使用的機制上,有以下幾種方法可供選擇:DataSet、類型化DataSet、自定義集合、普通 XML 文件
?類型化DataSet只是在通用DataSet上增加了一些附加功能,還應該屬于DataSet,可以被認為是一種格式。
?DataSet:
?使用它的理由有:可以把任何數據源的數據整合在一起進行傳遞;
?支持序列化,可以方便地和文本流進行轉換;在.NET 2.0 中,連DataTable都開始支持序列化;
?在.NET中對DataSet進行操作也比較簡便,開發工作量也比較小。
?而不應該在Web服務中采用DataSet的理由是:
?Web服務的設計目的是用來解決異構系統之間的數據通信問題的,數據就是以消息的形式在服務之間進行傳遞。而將一個其它服務或系統無法理解的DataSet放在Web服務中傳輸,是否已經違背了Web服務設計時的初衷?
?題外話:.NET 2.0 中增加了SerializationFormat.Binary,是否助長了這種風潮?是否有更多的開發者在應該使用.NET Remoting的場合“過度使用”了Web服務?
?直接使用DataSet的WriteXML方法和ReadXML方法來轉換XML不采用其它措施的話,XML文件中會包含大量的架構信息,占用了寶貴的帶寬資源;
?
?自定義集合:
?最大限度的支持自定義,可解決DataSet的隱式數據轉換和效率問題,但是需要額外的代碼來實現數據的訪問并需要實現ISerializable接口來支持序列化,可能開發的工作量是最大的。
?
?普通XML文件:
?可以直接進行傳輸,需要編寫解析程序將數據提取出來。
?
?如果使用Web服務的目的僅僅是為了穿透防火墻,不考慮異構系統直接的通訊的話,采用DataSet可能是比較好的方案。
?如果性能是首先要考慮的問題,應該會采用自定義集合。
?如果異構系統之間通訊的話,肯定應該采用普通XML文件。

轉載于:https://www.cnblogs.com/xlzhu/archive/2006/04/07/369641.html

總結

以上是生活随笔為你收集整理的SOA 设计原则和 Web 服务中的数据传输的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美网站在线观看 | 成人av视屏 | 侵犯亲女在线播放视频 | 亚洲精品lv | 九九午夜 | 57pao国产成永久免费视频 | 欧色图| 国产女人呻吟高潮抽搐声 | 色男天堂 | 97超碰97 | 调教驯服丰满美艳麻麻在线视频 | 99国内揄拍国内精品人妻免费 | 日韩av专区片 | 暖暖日本在线 | 无码人妻久久一区二区三区蜜桃 | 制服下的诱惑暮生 | 素人一区 | 亚洲视频国产视频 | 91网站在线播放 | 亚洲精品香蕉 | 黄色网址在线看 | 久久羞羞| 国产高清一区二区三区四区 | 福利片在线播放 | 欧洲性生活视频 | 另类天堂网 | 深夜视频在线免费观看 | 波多野结衣在线观看一区二区三区 | 黄色麻豆网站 | 欧美国产日韩视频 | 久草视| www成人啪啪18软件 | 日韩精品在线观看AV | 日本欧美一区二区三区 | 黄色网在线看 | 免费的av网址 | 日韩亚洲精品在线 | 亚洲成人黄色网址 | 致命弯道8在线观看免费高清完整 | 91极品身材尤物theporn | 亚洲午夜久久久久久久久 | 久久福利影院 | 日韩中文在线字幕 | 午夜视频在线观看视频 | 16一17女人毛片 | 清冷男神被c的合不拢腿男男 | 日本理论片午伦夜理片在线观看 | 午夜激情在线观看视频 | a亚洲天堂 | 久久国产福利 | 中文字幕第7页 | 91久久婷婷| 黄片一区二区 | 国产成人av无码精品 | 99热这里只有精 | av在线资源观看 | 久久av一区二区三区 | 亚洲性大片 | 快播视频在线观看 | 狠狠撸在线观看 | 日本欧美国产 | 四虎在线播放 | 午夜影院91 | 一区二区免费在线观看视频 | 潮喷失禁大喷水aⅴ无码 | 成人免费视频国产在线观看 | 国产主播一区二区三区 | 久久er99热精品一区二区介绍 | 日韩精品中文字幕在线观看 | 免费看成人aa片无码视频羞羞网 | 国产视频97 | 91视频论坛| 山村大伦淫第1部分阅读小说 | 国产调教视频 | 日韩视频在线观看一区二区三区 | 岳乳丰满一区二区三区 | 玖玖久久 | 日本美女毛茸茸 | 国产99对白在线播放 | 欧美九九视频 | 国产无遮挡又黄又爽 | 韩国毛片一区二区 | 在线播放毛片 | 亚洲欧美另类一区 | 婷婷色网站 | 交专区videossex| 中文字幕久久久久 | 美国做爰xxxⅹ性视频 | 久久e热| 日本美女视频网站 | 亚洲图区欧美 | 欧美另类z0zx974 | 91免费版在线 | 免费国产黄 | 免费福利在线视频 | 色干干 | 狠狠干2021 | 国产美女在线免费观看 | 午夜网址 |