求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
架构设计之面向服务(SOA)
 

发布于2013-3-5

 

为什么SOA

  • 互操作性,系统间的连接不需要额外的桥梁
  • 版本控制,更新,升级,添加新功能不需要现有的客户端或服务端做停机处理
  • 灵活性,增强服务只需要升级硬件,而不需要调整软件。

SOA的概念

  • 边界明确
  • 服务间是自治的
  • 服务间共享结构和协议,而不是类(class)
  • 服务的兼容性依赖于策略

SOA的两边结构虽不同,且物理隔绝,但也阻止不了其互操作

SOA的设计之 处理多部分的设计

  • 服务契约(外部设计),服务契约规定了如何与服务接口通信
  • 服务接口(翻译和分发),接口设计规定了如何从公共格式(服务契约)转化成内部的实现类(内部设计)
  • 服务实现(内部设计),服务实现通过面向对象的方式设计功能需求

SOA的设计之 优先外部设计

  • 契约优先,设计SOA最合适的方法论
  • 方式:专注于如何与服务通信,只使用公开的标准(xml,XSD,WS-*)
  • 很少的工具可用,微软的服务工厂(Microsoft Service Factory

SOA的设计之 内外数据格式的翻译

  • 有自己的数据格式
  • 有两种格式描述数据,公开的用来部署结构,内部的用来实现类型系统
  • 服务的实现
  • 服务的接口,在内外两种数据格式间翻译转换
  • 翻译格式,
  • 需要至少一个级别的间接ID关系(SOA服务器GUID+#+数据库识别ID)
  • 实现内部类型,Dataset, ADOBO, ResultSet, CLR,必须能转换成公共的契约

SOA的设计之 服务的调用

  • 从服务实现中解藕服务接口
  • 允许使用工厂模式,工厂创建的实例能够涵盖功能
  • 进来的请求和相应实现间的关联可配置

SOA的设计之 无状态

  • 分布式系统意味着没有保证的连接
  • 可靠性和扩展性要求状态在内存外存储
  • 临时耦合应该由session key 和 持久化session存储
  • 考虑持久的服务和消息

WEB 编程

  • WCF
  • REST(XML-RPC,JSON)
  • 聚合(RSS,ATOM)

WS-*

  • 分布式通信基于扩展的XML框架(互操作是主要目标,基于SOAP标准,依赖WEB)
  • WebSerivce协议通过行业标准W3C定义(WS-Addressing, WS-Security, WS-AtomicTransaction)

WCF

  • 支持多种绑定
  • 消息可扩展
  • 支持多种WS-标准

REST

  • WCF3.5支持暴露REST服务
  • 允许无SOAP客户端的连接
  • 以WEB为中心的编程模型
  • 支持JSON
  • 方便实现聚合(RSS)

在WCF中创建RSET

1.用URI模板绑定和解析URI

2.新特性:WebGet,

WebInvokeWebGet,允许映射Http GET 操作 WebInvoke支持HTTP POST, PUT, DELETE等

3.新的绑定和行为,WebHttpBinding,WebHttpBehaivor

4.新的宿主,WebServiceHost

5.配置自由,WebSerivceHostFactory

6.访问Header,设置content-type,WebOperationContext
设置状态(NotFound, Forbidden),设置Content-Type(text/html, image/jpge)

7.支持Ajax式的格式:JSON

8.新的聚合API

ST使用标准协议

  • HTTP和FTP都在TCP之上
  • WebRequest, WebResponse

RE

  • WebClient, 对WebRequest, WebResponse做简单的封装
  • WCF REST kit

聚合(Syndication)API

  • 使用RSS和ATOM传输数据
  • 支持WCF3.5
  • 对象模型(SyndicationFeed,SyndicationItem)


相关文章

企业架构、TOGAF与ArchiMate概览
架构师之路-如何做好业务建模?
大型网站电商网站架构案例和技术架构的示例
完整的Archimate视点指南(包括示例)
相关文档

数据中台技术架构方法论与实践
适用ArchiMate、EA 和 iSpace进行企业架构建模
Zachman企业架构框架简介
企业架构让SOA落地
相关课程

云平台与微服务架构设计
中台战略、中台建设与数字商业
亿级用户高并发、高可用系统架构
高可用分布式架构设计与实践

 
分享到
 
 
     



专家视角看IT与架构
软件架构设计
面向服务体系架构和业务组件
人人网移动开发架构
架构腐化之谜
谈平台即服务PaaS



面向应用的架构设计实践
单元测试+重构+设计模式
软件架构师—高级实践
软件架构设计方法、案例与实践
嵌入式软件架构设计—高级实践
SOA体系结构实践



锐安科技 软件架构设计方法
成都 嵌入式软件架构设计
上海汽车 嵌入式软件架构设计
北京 软件架构设计
上海 软件架构设计案例与实践
北京 架构设计方法案例与实践
深圳 架构设计方法案例与实践
嵌入式软件架构设计—高级实践
更多...