• 1. Zuora R&D In Beijing 2010年12月15日SOA技术实践10/16/20181
  • 2. 基础需求基础设计基础技术10/16/20182
  • 3. 架构风格与设计模式地图业务场景质量属性【功能】 可靠 安全 【效率】 高可用 性能 可伸缩 【支持】 可理解 可维护 可测试 可运维 【使用】 易用 体验 需求 约束【需求】 功能 非功能 【约束】 标准 政策 组织 时间 部署 技术 技能(1) 所有人的生活助手 (2) 电子商务支付服务应用程序参考模型web型应用服务型应用网关型应用应用框架WebxSpringMVCSOALayerMVCTransactionScriptDI基础技术网络…SOFASpringiBatisORMESBComponent-BasedCompositeViewDDDAOPServiceAgent服务器数据库集群ESB事务cachesearch任务10/16/20183
  • 4. 基础需求10/16/20184
  • 5. 质量属性:可靠(Reliability)万一 > 一万10/16/20185
  • 6. 质量属性:安全Brower防火墙/入侵检测应用程序应用服务器数据库服务器数据库传输 保护输入 验证数据 保护保密身份验证访问 授权完整可用真实防抵赖日志审计…10/16/20186
  • 7. 质量属性:高可用7 X 24 X 36599.95%10/16/20187
  • 8. 质量属性:高可用的反例国外某公司的一条造成难以估量损失的语句: 摘自《Release It! – Design and deploy Production-Ready Software》 第33页10/16/20188
  • 9. 质量属性:性能端到端响应时间: < 1秒峰值吞吐量: > 100笔/秒以交易业务为例10/16/20189
  • 10. 质量属性:可伸缩垂直可伸缩性: 可以用更强的资源来处理更多的业务水平可伸缩性: 可以用更多的资源来处理更多的业务资源: CPU、存储、网络、线程、连接等10/16/201810
  • 11. 质量属性:可理解代码写一次,读很多次信、达、雅10/16/201811
  • 12. 质量属性:可理解性的反例一段程序摘自《Refactor your Wetware》 第94页, 毁灭世界10/16/201812
  • 13. 质量属性:可维护代码与良心摘自《Code Craft The Practice of Writing Excellect Code》 第324页Code conscientiously. Good programmers care more about how their code will look after a few years’ work than how much effort it takes to write now.凭良心编码。优秀的程序员更关心他们的代码在数年的工作之后会变成什么样,而不是现在要付出多少努力去写。10/16/201813
  • 14. 质量属性:可运维发布是系统生命的开始离开你,运维团队可以监控、诊断、配置与调优系统吗?10/16/201814
  • 15. 质量属性:可运维的对比websphere 6.1 logweblogic 9.2 log15
  • 16. 小结架构风格与设计模式业务场景质量属性【功能】 可靠 安全 【效率】 高可用 性能 可伸缩 【支持】 可理解 可维护 可测试 可运维 【使用】 易用 体验 需求 约束【需求】 功能 非功能 【约束】 标准 政策 组织 时间 部署 技术 技能(1) 所有人的生活助手 (2) 电子商务支付服务应用程序参考模型web型应用服务型应用网关型应用应用框架pipelineSpringMVCSOALayerMVCTransactionScriptDI基础技术SOFASpringiBatisORMESBComponent-BasedCompositeViewDDDAOPServiceAgent网络…服务器数据库集群ESB事务cachesearch任务10/16/201816
  • 17. 基础设计10/16/201817
  • 18. 基础设计: 什么是好的设计?满足需求与约束 最经济10/16/201818
  • 19. 基础设计: 核心设计思维关注点分离不同功能分离功能与非功能分离平台相关部分分离低耦合、高内聚、灵活重用的模块稳定与易变分离SOLID10/16/201819
  • 20. 基础设计: 分层架构风格通用服务展现层业务层持久层用户数据库10/16/201820
  • 21. 基础设计: 分层架构风格服务管理容器通用服务展现层业务层持久层数据库用户10/16/201821
  • 22. 展现层基础设计: 分层架构风格应用层领域层服务管理容器通用服务持久层数据库用户10/16/201822
  • 23. 基础设计:更多架构风格与模式服务管理容器展现层 MVC/CVTemplateFormScreenControlActionLayout应用层 TSAppFacadeProcessRule领域层 DDDDomainObjectDomainService持久层 ORMDataObjectDAOORM通用服务 DI/AOPURL映射资源装载模板渲染邮件发送表单处理流程控制文件上传定时任务事务控制…10/16/201823
  • 24. 基础设计:SOA架构风格服务消费者服务提供者服务代理 Service Agent服务接口 Service Interface业务逻辑业务逻辑服务数据 Message契约 Contract10/16/201824
  • 25. 基础设计:理解服务业务应用技术环境服务服务服务10/16/201825
  • 26. 展现层基础设计: 引入集成层应用层领域层服务管理容器通用服务持久层数据库集成层远程服务用户10/16/201826
  • 27. 基础设计:引入集成层服务管理容器展现层 MVC/CVTemplateFormScreenControlActionLayout应用层 TSAppFacadeProcessRule领域层 DDDDomainObjectDomainService持久层 ORMDataObjectDAOORMServiceAgent集成层 SA通用服务 DI/AOPURL映射资源装载模板渲染邮件发送表单处理流程控制文件上传定时任务事务控制…10/16/201827
  • 28. 基础设计:SOA化的支付宝应用一例1. 在商户结账2. 在支付宝付款3. 交易完成10/16/201828
  • 29. 基础设计:SOA化的支付宝应用一例支付宝网站银行网关交易核心账务核心消费者商家银行支付宝10/16/201829
  • 30. 基础设计:回顾架构风格与设计模式业务场景质量属性【功能】 可靠 安全 【效率】 高可用 性能 可伸缩 【支持】 可理解 可维护 可测试 可运维 【使用】 易用 体验 需求 约束【需求】 功能 非功能 【约束】 标准 政策 组织 时间 部署 技术 技能(1) 所有人的生活助手 (2) 电子商务支付服务应用程序参考模型web型应用服务型应用网关型应用应用框架pipelineSpringMVCSOALayerMVCTransactionScriptDI基础技术SOFASpringiBatisORMESBComponent-BasedCompositeViewDDDAOPServiceAgent网络…服务器数据库集群ESB事务cachesearch任务10/16/201830
  • 31. 小结架构风格与设计模式业务场景质量属性【功能】 可靠 安全 【效率】 高可用 性能 可伸缩 【支持】 可理解 可维护 可测试 可运维 【使用】 易用 体验 需求 约束【需求】 功能 非功能 【约束】 标准 政策 组织 时间 部署 技术 技能(1) 所有人的生活助手 (2) 电子商务支付服务应用程序参考模型web型应用服务型应用网关型应用应用框架pipelineSpringMVCSOALayerMVCTransactionScriptDI基础技术SOFASpringiBatisORMESBComponent-BasedCompositeViewDDDAOPServiceAgent网络…服务器数据库集群ESB事务cachesearch任务10/16/201831