zoukankan      html  css  js  c++  java
  • .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做日志和权限验证)

    待续........

  • 相关阅读:
    在数据库中改变对象的所有者
    初次使用WebPartManange出现数据库连接出错的问题
    js中,实现两个数字相加
    Js版日历控件
    Repeater利用PagedDataSource进行分页
    OpenDataSOurce 指定参数
    ListBox在客户端添加删除操作
    See what actually gets indexed in FAST
    开发SharePoint 2013 App 一
    Map a Crawled Property to Managed Properties (FS4SP – PowerShell)
  • 原文地址:https://www.cnblogs.com/WindBlog/p/2101490.html
Copyright © 2011-2022 走看看