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