1、敏捷构建型网络社区的基础架构设计答 辩 人:指导教师:予 副教授专 业:计算机技术2019-05-25目录研究目标 本文工作 总结研究背景及意义1/212/21研 究 背 景Web2.0l交易社区l兴趣社区l关系社区l知识共享l信息传播l用户交互社区社区+WebGame大众在线办公需求变得越来越迫切虚拟与现实的虚拟与现实的深 层 次 融 合深 层 次 融 合在线办公软件层出不穷在线办公类网络社区应用前景广阔选 题 来 源Share信息分享平台外交部签证代办办公系统教学互动信息管理平台昆明市保障性住房信息管理系统显示着娱乐与办显示着娱乐与办公相结合的趋势公相结合的趋势各系统存在异构性,各系统存在
2、异构性,数据交互困难数据交互困难基础服务移植成本大基础服务移植成本大开发复杂、开发复杂、重复性工作繁多重复性工作繁多架构扩展性不足架构扩展性不足娱乐与办公相结合的行业应用型网络社区可快速搭建的基础架构3/21研 究 意 义l结构集中,解决方案单一l扩展与维护成本大l兼容性不好l技术开源l结构分散,解决方案自由l扩展性和兼容性良好l快速满足用户的多元化需求快速满足用户的多元化需求l简化开发工作,节省开发成本简化开发工作,节省开发成本l为新型网络社区的发展奠定良好基础为新型网络社区的发展奠定良好基础4/21研究背景 研究意义本文工作 总结研究目标目录5/21研 究 目 标性能需求方 法分布式简约可
3、扩展性好交互能力强引入REST架构风格服务组件化封装可视化服务组合模型OAuth+OpenID协同授权认证6/21功能需求研究背景 研究意义 研究目标 总结本文工作目录7/211234逻辑架构物理架构服务组件可视化服 务组合REST风格编程接口设计应用接入授权认证逻 辑 架 构 简约简约资源、服务接口统一 可扩展性良好可扩展性良好 层次划分明确、第三方应用以REST服务的形式注册接入平台 服务可复用服务可复用 通用性服务采用服务组件的形式封装,移植方便 简化的服务组合简化的服务组合 对服务组件统一管理,并提供可视化服务组合入口 应用接入安全高效应用接入安全高效 OAuth与OpenID协同工作
4、,保证API调用的安全。8/21物 理 架 构 分布式部署分布式部署 Web服务器+Varnish加速器资源服务器消息队列服务器Redis服务器FS、DB 交互能力强交互能力强 分布式部署HTTP加速器缓存服务器消息队列,读写分离DB集群,读写分离 故障预警灵敏故障预警灵敏服务器性能指标监控故障警告9/21服务组件设计服务公共接口结果数据私有函数描述服务实现的逻辑功能反映服务组件的结果数据类型、操作数据类型、操作类型服务组件完成运算后返回给调用者的结果功能实现部分引用描述引用的其他服务组件10/21服务构件设计构 件l多个组件组合形成构件l构件可是更高层次构件的组件l每个构件对应一个posit
5、e文件中组件定义示例11/21可视化服务组合可视化模块操作策略模块编辑驱动模块文件生成模块存储支持模块代码生成器提供可视化图元提供可视化图元操作合法性检测操作合法性检测实现图元定义及建模实现图元定义及建模生成组装结果生成组装结果描述文件描述文件组装文件统一存储,组装文件统一存储,供二次组合供二次组合生成服务代码生成服务代码12/21REST风格的应用编程接口设计URI规划内容协商数据冗余与链接HTTP响应码缓存与并发处理13/21Representational State Transfer,代表性状态传输REST风格的应用编程接口设计URI规划内容协商数据冗余与链接14/21层次结构过滤参数
6、提高辨识度,快速 定 位 资 源URL参数控制简 单、灵 活,定 义 数 据 格 式数据冗余链接元素提高执行效率,降低代码复杂度REST风格的应用编程接口设计HTTP响应码缓存和并发请求处理15/21HTTP 缓存控制ETag 条件请求提高API执行效率高效获知API运行结果高效定位错误原因应用接入流程设计16/21响应响应HTTP请求请求控制控制API调用流程调用流程封装查询的结果封装查询的结果返回常规类型数据返回常规类型数据系统级参数验证系统级参数验证应用级参数验证应用级参数验证服务路由器服务路由器授权认证协议设计17/21颁发未授权的颁发未授权的访问令牌访问令牌颁发授权的临颁发授权的临时
7、访问令牌时访问令牌 (包含包含OpenID)颁发正式访问颁发正式访问令牌令牌(OpenID二次返回二次返回)防范用户篡改和伪造防范用户篡改和伪造服务组件管理有利于服务快速扩充提高服务组件利用率18/21可视化服务组合实验简化了开发工作,简化了开发工作,增强服务复用性增强服务复用性EducationServiceComponent在.Composite中的生成代码19/21研究背景 研究意义 研究目标 本文工作 总结目录20/21总结设计了灵活、扩展性良好的社区逻辑架构和物理架构设计了可复用的服务组件和可视化服务组合方案设计了简单、高效的应用编程接口设计了安全、高效的第三方应用接入方案21/21感谢各位评审老师!感谢各位评审老师!答 辩 人:汪 涛答辩日期:2019-05-25