SOA 之路系列:Net与SOA
2012-03-28 13:44
399 查看
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做日志和权限验证)
待续........
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做日志和权限验证)
待续........
相关文章推荐
- 解读ASP.NET 5 & MVC6系列(6):Middleware详解
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第六章:管理产品图片——多对多关系(上篇)
- 神勇的产品经理之路系列-14 走过了1年
- .Net vs. J2EE-----面对SOA的荒谬与误解
- ASP.NET新特性系列讲座
- 返璞归真 asp.net mvc 系列文章索引
- 【OPNET学习系列文章之7】将STK轨道导入到OPNET
- 神勇的产品经理之路系列-08 成长小结
- Microsoft .Net Remoting系列专题之二:Marshal、Disconnect与生命周期以及跟踪服务
- 解剖PetShop系列之四PetShop之ASP.NET缓存
- 13:ASP.NET复习系列- ASP.NET基本知识点- ASP.NET程序的部署
- asp.net(C#)利用QRCode生成二维码---.NET菜鸟的成长之路
- 35:ASP.NET复习系列- web服务-web服务的创建和使用
- Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇
- Microsoft .Net Remoting系列专题之二:Marshal、Disconnect与生命周期以及跟踪服务
- ASP.NET AJAX深入浅出系列课程(学习总结一)
- Windows Phone,Windows Mobile,Windows Embedded CE(WinCE),.NET Compact Framework,Native C++开发系列(上百篇原创文章不断更新完善中)
- ASP.NET MVC框架开发系列课程一
- .net知识系列之七:底层解密(ASP.NET底层之旅,HttpApplication类实例,HttpApplication及Global.asax,实现自定义文件类型处理)