在大型系统中应用中,一个架构设计较好的应用系统,其总体功能肯定是由很多个功能模块所组成的,而每一个功能模块所需要的数据对应到数据库中就是一个或多个表。而在架构设计中,各个功能模块相互之间的交互点 越统一、越少,系统的耦合度就越低,系统各个模块的维护性及扩展性也就越好。

在一个系统中特别是较为大型的系统中,如电子商务系 统,可也按照功能,切分为,订单管理系统、商品管理系统、用户管理系统、供应商管理系统...等等,在这样的应用中系统切分了、功能独立了、耦合降低了、 容易维护了。可是各个系统中的通讯怎么完成呢?如果用户系统想查询某个用户的订单信息,要怎么做呢?

a,是要直接引用,订单系统的DLL,

b,还是把这些需要相互调用的功能放在一个叫Common的项目中供所有子系统调用呢,

c,或者干脆直接在用户系统中跨库查询订单库,这些方法都不优良,这个时候该到微软的利器WCF亮相的时候了,先看下面架构图

这个样设计的优点:

1.层与层之间的服务器可以灵活组合,每层中的服务器,可水平扩展(集群),可纵向扩展(按系统/域/功能切分)

2.所有中间件服务即可为本系统提供服务也可以为其他系统提供服务(甚至是第三方如:java的),提供系统间的无缝连接,系统之间的耦合不依赖于应用程序也不依赖于数据库,而依赖于服务接口。

3.所有对数据库的操作都依赖于中间件,不允许对数据库直接操作,这样即达到了数据库的安全性,又能给应用程序服务器减压,因为实际的查询工作不在由应用程序服务器的数据访问层完成,而是分担给这个中间件服务器完成。

总结:

WCF分布式体现在:将系统的多个模块拆分,使其功能独立,降低耦合,提高模块的维护性及扩展性。

最新文章

  1. JavaScript值类型与执行环境和垃圾处理机制
  2. (C语言)数组与指针的区别
  3. OpenCV成长之路(10):视频的处理
  4. CSS 定义上划线、下划线、删除线代码
  5. 分巧克力【来源:CSDN线上编程挑战赛】——递归,费波那奇数列,迭代
  6. QUI操作超时弹出登录窗口登录的处理方式
  7. Android中的动画学习总结
  8. android repo库的创建及代码管理
  9. 转载[WampServer下使用多端口访问]
  10. 两层嵌套list,选取list中最长的list的长度
  11. c#Socket服务器与客户端的开发(2)
  12. SAP HUM 事务代码HUMO为整托做Scrap
  13. Luogu5290 十二省联考2019春节十二响(贪心+启发式合并)
  14. 小程序通过background-image设置背景图片
  15. windows下更改Mac地址
  16. my作业
  17. Android笔记(五):广播接收者(Broadcast Receiver)
  18. django -----分页器组件
  19. CSS3 之转动的风车
  20. Could not transfer artifact org.apache.maven.plugins:maven-resources-plugin:pom:2.6 from/to central

热门文章

  1. html页面布局 第8节
  2. Glibc和GCC,ARM-LINUX-GCC的关系
  3. caffe源码阅读(2)-Layer
  4. LAMP 环境 快速安装
  5. e.target与事件委托简例
  6. [转]利用maven的surefire插件实现单元测试与集成测试
  7. ODBC方式连接Informix数据库
  8. yum使用详细
  9. 可以用来开发h5的软件小结
  10. asp.net中Timer定时器在web中无刷新的使用