.NET实现SOA(1)
SOA:面向服務(wù)的架構(gòu)
SOA的優(yōu)缺點在這里就不浪費文字論述了,請參考:http://www.ibm.com/developerworks/cn/webservices/ws-goodbad/index.html
目前實現(xiàn)SOA的.NET技術(shù)有以下幾種
1.Web Service
2.Socket
3.Remoting
4.WCF(Windows Communication Foundation)
這幾種技術(shù)有以下優(yōu)缺點
1.Web Service:成熟的技術(shù),Windows中有IIS強力支持,開發(fā)簡單,上手容易。但是底層自由度小,無法定制自己的安全驗證,只能基于HTTP協(xié)議,無法推送數(shù)據(jù)。不過絕大部分企業(yè)和業(yè)務(wù)都無需主動推送數(shù)據(jù)。
2.Socket:不用說了,比較底層的東西,優(yōu)點是可以自由的定制數(shù)據(jù)傳輸模式,支持TCP/IP,UDP,支持推送數(shù)據(jù),但是實現(xiàn)SOA的工作量大,開發(fā)效率低,而且實現(xiàn)到最后其實也是一個類似于被閹割的IIS的東西。
3.Remoting:由于Remoting是使用Socket實現(xiàn),所以其優(yōu)缺點類似于Socket。當(dāng)然,工作量會比Socket少。
4.WCF:為了實現(xiàn)SOA,更加深度的封裝了Socket,擁有Socket的優(yōu)點,并且使得開發(fā)效率大幅度提升,而且支持部署在IIS中。但是,研究了一下,配置很麻煩,開發(fā)效率達不到理想的地步。而且需要深入學(xué)習(xí)。
經(jīng)過比較決定選擇Web Service,畢竟相對于什么平臺架構(gòu),運行效率。開發(fā)效率才是一個現(xiàn)代企業(yè)所追求的東西(能夠?qū)κ袌隹焖俚姆磻?yīng)是企業(yè)的核心之一)。
數(shù)據(jù)流為 客戶端(Winform/Browser)->IIS->SOA Web Service->SOA Web Service Core->Controller(ORM)->DAL(DB Helper)->DB
通過SOA Web Service Core反射客戶端傳來的類名,方法名和參數(shù)調(diào)用Controller中的方法。這樣可以避免暴露接口。
相關(guān)類:SOA Web Service(僅作為一個部署的接口,僅包含接收字符串的“CallMethod”一個Web Method,調(diào)用SOA Web Service Core),SOA Web Service Core(解析客戶端穿過來的XML/JSON,序列化成對象,反射調(diào)用Controller中的方法,包括調(diào)用加密,解密和驗證的功能),AOP(用來做日志和權(quán)限驗證),ORM,Model(實體層),DAL(數(shù)據(jù)訪問層),Common(公共方法類),Controller(包括所有的業(yè)務(wù)邏輯,可以調(diào)用AOP做日志和權(quán)限驗證)
待續(xù)........
轉(zhuǎn)載于:https://www.cnblogs.com/WindBlog/archive/2011/07/08/2101490.html
總結(jié)
以上是生活随笔為你收集整理的.NET实现SOA(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源赚钱思路
- 下一篇: 使用 asp.net mvc和 jQue