通过前些天的学习,初略的对SOA有了基础的认识,SOA(Service-Oriented Architecture,面向服务架构),是一种架构模型、一种理念,主要将系统架构的功能看作是一系列业务流程的集合,这些流程被封装并暴露一系列可以交互集成的服务,自然而然的SOA会带来诸多好处:
1、 分布式部署
2、 业务流程集成、组合、解耦
3、 统一标准、支持不同的语言和平台
4、 ……
SOA的关键是“服务”,但是SOA本身不是服务,仅仅通过实现几个WEB服务并不是SOA的概念,SOA是一种策略、框架方案, 自然的服务互联也未必一定要通过WEB服务的方式哦。另外,SOA还有一系列的原则,主要有以下几种:
1、服务边界清晰
良好的输入、输出,不影响扩展,不含有循环依赖
2、服务自治
松散耦合,独立部署实施
3、使用契约,而不是类
定义服务的规则,注重互操作性、灵活性,例如:定义数据交换格式
4、兼容性基于策略
是否选择SOA完全归因于业务系统的近期、远期目标,需要关注问题本身,简单有效的方案即可。
有关SOA更多知识,请参阅:
1、书籍:WCF服务编程(构建.NET分布式SOA) Juval Lowy著 徐雷 徐扬 译
2、WEB:
http://www.cioage.com/spec/soa_kwd0901/
http://www.cioage.com/soa