• 1. SOA的分布走朱律玮 zhulw@tongtech.com 82652228 东方通科技公司 2006年10月
  • 2. 提纲SOA的基本概念 SOA是什么 解决什么问题、应用场景 SOA特点,带来的好处 SOA的相关技术 相关技术、标准和架构 SOA应用示例和实施方法
  • 3. SOA是什么是构建IT系统的一种方法 包括:一个技术架构,一套实施方法 适合的IT系统场景包括: 企业/政府部门内部系统的整合 企业/政府部门之间系统的整合 互联网(如电子商务)应用 不适合于简单的单个应用
  • 4. 企业IT系统国外的特点 已建立众多单个应用系统 如何面对不断变化的市场竞争 强调服务的复用,整合 从单个应用到EAI,再到B2B 业务灵活性的要求,技术架构建立/升级的要求 国内的特点 发展不均衡 绝大多数没有大机系统的包袱 同样面对激烈的市场竞争
  • 5. 互联网应用一个新兴的行业,存在大量发展机会 服务将以WS方式发布 面向巨量个人用户,也面向企业 服务使用方需要考虑 如何选择合适的服务 如何对众多服务进行组合,提供新的增值服务 大量服务如何管理
  • 6. 解决IT系统的当前问题敏捷性 需要解决随需应变的要求 开发效率不高 周期长,费用多 系统集成 企业(或政府部门)内部系统的整合 企业(或政府部门)之间系统的整合
  • 7. SOA的特点服务 服务是面向业务的 强调服务的复用 关注服务的使用 组合,流程,协同 可以方便灵活进行重构 松耦合 对标准的支持 从技术角度看
  • 8. SOA带来的好处
  • 9. SOA的相关技术
  • 10. SOA的相关标准
  • 11. 服务的描述接口描述 方法,输入/输出数据对象 交互方式 错误处理方法 策略描述 质量策略:安全,可靠传递,事务性 业务属性和策略
  • 12. 服务的注册和管理存储方式 文件,数据库,LDAP,UDDI 服务的管理 注册,信息修改,注销,版本管理 服务的分类管理 支持多种分类方式便于查找(技术管理/业务管理) 从提交单位/时间角度分类 从业务角度分类 从IT项目角度分类 基础服务/公共服务/项目内有效的服务
  • 13. 服务的查找人工查找 需要一个易于使用的界面工具 自动查找 需要定义业务词汇(与行业相关) 需要支持基于语义的匹配技术 服务的授权使用 谁授权 是否需要一个中介或直接与服务方签署协议 与服务管理相结合
  • 14. 服务间的交互通讯消息的描述:使用XML 传输协议:SOAP 通讯协议:HTTP/FTP/SMTP/JMS/MQ 多种交互模式:同步/异步 请求/响应,请求/回调,异步单向,发布/订阅 传输效率问题:XML解析,SOAP编解码 传输可靠性问题 传输安全问题
  • 15. 服务的使用服务的使用方式 直接访问、合成服务(紧耦合)、流程管理(内部)、协同工作(HTTP) BPM:业务流程管理 所有的活动是基于服务的 MDA,从UML到BPEL的转换 BPMN:流程的图形描述 BPEL:流程描述,及处理引擎 BAM:服务活动监控
  • 16. 服务的使用财务系统 CICSHR系统 J2EE用户/角色 权利系统管理 BAM服务层安全服务注册与查找服务层管理服务层数据服务Web 服务平台传统包装合成服务XMLXMLXMLXML业务流程服务消费者XML/SOAPXML/SOAP内部用户外部用户防火墙
  • 17. 服务的实现业务分析和建模 集成开发环境 流程定义 编码 调试 部署 支持多语言的开发 应用系统的连接 适配器技术
  • 18. SOA的质量属性安全问题 认证,授权,加解密,签名验证 传输可靠性问题 事务一致性问题 原子事务,两阶段提交 补偿交易模式 系统可靠性问题 CLUSTER(集群) 易用性问题
  • 19. SOA的技术参考架构
  • 20. 基本的集成应用数据整合——共享 需求 共享库的建立,从共享库获取数据 共享数据的交换 应用场景 企业信息的整合利用 政府部门的信息共享 关键技术 服务描述,服务的查询/获取 交换流程的定义 服务连接和通讯 运行监控/系统优化
  • 21. 示例1
  • 22. 复杂的系统整合流程整合/协同 需求: 有独立的业务系统,流程灵活定制或多方协同工作 应用场景 企业业务优化,企业间的供应链 政府部门的审批业务,协同办公 关键技术 复杂业务流程定义,运行监控/流程优化 业务协同服务,服务描述同步
  • 23. 示例2
  • 24. 互联网应用(虚拟)增值业务的开展 需求: 独立业务服务的实现和发布 增值业务的建立 应用场景 互联网企业 电子商务 关键技术 服务的发布和管理,服务的自动查找 基于WS的质量属性 业务流程的定义,运行监控/流程优化
  • 25. 示例3
  • 26. SOA应用的实施有实际需求 不同的需求:数据共享,灵活流程定义,… 明确自己的需求、目标、期望值 业务目标,还是技术目标 短期目标,还是长期目标/效益 需要有总体规划 SOA分步骤实施 在一个可控环境内 确定一个可控的实施规模 逐步实施,积累实施经验,逐步接近目标 需要坚持,是一个长期的工作,才能有长期收益 需要业务人员的参与 需要关注业务标准
  • 27. 总结SOA与传统中间件技术共同构建完整的IT系统 SOA给我们带来对IT建设的无尽美好想象 SOA实施需要一步步踏踏实实的走 SOA有长远的路要走 标准完善和融合 技术实现的突破