大数据平台
决策分析报告
1.概述
1.1.决策目的
本XX在开发北区大数据平台过程中,需要对采用何种技术开发系统进行技术解决方案决策分析。此次分析开发系统时所用到的技术解决方案,最大程度的保证本系统最终符合用户的需求。
1.2.参考资料
2.评价方法
专家打分法:根据项目制定出评价准则,然后请若干代表性专家凭借自己的经验按此评价准则给各方案评分,然后对其进行集结,最后选定最佳方案。
注:最佳方案与次佳方案的分数差值必须>=5,即最佳方案得分-次佳方案得分>=5。
3.评价准则
对选择何种开发方式我们应当遵循以下原则:
1.稳定性原则
备选技术方案应能提供相对稳定的技术架构及功能实现,不能出现重大设计缺陷,提供完善稳定的基本技术组件及系统基本功能实现。保证项目开发进度及开发质量。并能提供持续的技术支持及后续运维支持。
2.易用性原则。
一方面,技术方案应采用主流的技术框架和系统构建方法,编码整洁,模块划分清晰,具备较好的辅助开发功能,同时又契合XX开发人员的知识结构和开发习惯,使开发者很容
易上手,可快速进行代码开发及功能设计;另一方面,UI样式及交互模式对用户友好,注重整体风格布,精心设计界面中诸如按钮位置、数据表现方式等细节,使操作者能够方便地操作和比较容易地理解界面所表达的信息和内容,便于用户快速掌握系统的使用。
3.可靠性原则
系统在整体架构设计时就充分考虑到了系统的部署与配置、业务管理、性能管理等多方面的要求,提供灵活易用的流程设计、文档格式设计、配置管理功能。对于管理和维护人员具有可管理和易于维护的特点,能够实现各部门的分级管理,力求以最少的人力资源和技术要求,就能够很好零代码地维护和管理,并能正常运行。系统应具备良好的可维护性和容错性,具备检错、纠错功能,能保证数据的正确性、一致性和完整性。
4.可扩展性原则
可扩展性是系统可以根据业务发展的需要,能够方便的升级,扩展系统的功能;系统开放程度直接影响到系统的生命周期。系统真正符合三层浏览器/服务器体系结构,随着应用水平的提高、规模的扩大和需求的增加,无须对系统的体系结构做较大的改变就可以对系统的功能实现扩展。
所有模块应按功能特性进行独立构建,同时共用功能模块需有系统统一管理,个别模块的添加删除不影响其他模块的运行,同时能纳入公共管理功能体系之中。另外,系统方案应保证能在各种操作系统和不同的中间件平台上移植。
5.兼容性原则
客户端具备良好的兼容性,支持各版本主流浏览器,兼容目前主流的操作系统和浏览器。兼容Windows
XP、Windows7、Windows10操作系统,浏览器兼容目前IE8以上、Chrome、FireFox、360浏览器。
以上三项最高分均为100分。
其次,向专家提供背景资料以及打分表,以匿名方式征询专家意见。专家了解具体决策背景后,根据自己的经验与主观判断对各项影响因素打分。
然后,决策者对专家意见进行分析汇总,计算各方案的加权得分。
最后,根据每个方案的得分平均值大小得出最佳解决方案。
注:最佳方案与次佳方案的分数差值必须>=5,即最佳方案得分-次佳方案得分>=5。4.可选解决方案
两个主要方案一个为XX开速开发框架(正在迭代开发中),另一个外购的FH快速开发平台。
4.1.方案1——XX快速开发平台(SSM框架+jsp+bootstrap)
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。
Spring:Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实
体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
SpringMVC:SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet 承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller 就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
Mybatis:mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper 文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
bootstrap:Bootstrap是最受欢迎的HTML、CSS和JS框架,用于开发响应式布、移动设备优先的WEB项目。简单灵活可用于架构流行的用户界面和交互接口的html、css、javascript工具集。基于html5、css3的bootstrap,具有大量的诱人特性:友好的学习曲线,卓越的兼容性,响应式设计,12列格网,样式向导文档。
自定义JQuery插件,完整的类库,基于Less等它为创建现代化,互动,JavaScript应用程序,提供必要的功能。功能简单但强大,可以节省网页开发的时间和规模。
XX快速开发框架已发布1.x版本,是SSM+原生JSP开发的开速开发平台,只具备简单的代码生成和基础用户权限管理功能。现在正在进行2.x版本开发,主要采用SSM+ bootstrap进行项目构建,在优化用户权限管理的基础上,加入定时任务和后台任务管理模块,优化代码生成模块,增加日志拦截、用户授权管理、异步Socket组件以及结构化数据的拆装和检查等功能。目前已发布2.1测试版本。
新版系统主要特点:
a.使用ssm+mybatis+阿里druid数据库连接池+freemarker模板技术构建,同时支持postgresql、mysql、oracle、sqlserver、sybase等多种数据库。
b.使用组织+用户+角+权限的组合用户权限管理机制,可适配横向的用户组织管理及纵向的组织用户管理等。采用自主开发的权限管理组件,可管理模块、菜单乃至操作按钮。
c.自主实现后台服务管理,集成quartz定时任务+thread常驻线程服务,实现统一的后台服务管理,并可对单一服务进行参数配置,使统一服务可适配不同的使用场景。与XX作为服务接入平台的主体应用系统功能需求契合。
d.提供完善的日志管理模块。开发者只需要进行代码开发规范学习而不必参与到具体日志输出代码编写。
e.提供用户双签模块,对于业务管理系统,特别是关键业务处理时的用户授权需求,开发者只需要调用简单的js api即可。
f.提供mq连接组件、异步Socket io组件,该组件可以配合后台服务进行异步处理。满足用户对io服务管理需求。
e.提供结构化数据的拆解、拼装和检查组件,对于xml报文、定长报文等具有通用的处理功能,减少代码量。
g.bootstrap对IE具有较好的兼容性。可支持IE8以上浏览器,对于部门用户体验较好。
4.2.方案2——快速开发框架(SSM框架+bootstrap)
XX购买的外部快速开发平台,同样是采用ssm+mybatis+阿里druid数据连接池,而ui 层则使用了bootstrap相关组件。其采用互联网主要主流框架基础,系统支持:
a.采用主流的ssm+mybatis+druid+bootstrap+freemaker技术构建,支持mysql、oracle 数据库等。
b.调用摄像头拍照,自定义裁剪编辑头像【新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统】
c.集成代码生成器[正反双向](单表、主表、明细表、树形表,开发利器)+快速构建表单;freemaker模版技术,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本,处理类,service等完整模块
d.集成安全权限框架shiro;Shiro是一个用Java语言实现的框架,通过一个简单易用的API提供身份验证和授权,更安全,更可靠;权限管理可到按钮级。
e.集成ehcache分布式缓存;是一个纯Java的进程内缓存框架,具有快速、精干等特点,广泛使用的开源Java分布式缓存。
f.集成接口开发;
g.图片爬虫技术;
h.SQL编辑器,支持复杂sql语句,生成报表,可以导出excel;
i.websocket及时通讯技术;(即时聊天、及时站内信并声音提醒、实时在线管理、websocket及时刷新页面);
j.集成简单的单位用户权限管理:支持纵向用户权限管理。
k.bootstrap分隔对IE10以上兼容性较好,IE8,IE9的兼容性较差。
5.可选解决方案的评价结果
第一轮打分结果如下:
方案1加权稳定性(0.25)易用性(0.15)可靠性(0.20)扩展性(0.15)兼容性(0.25)
得分专家1808085858081.75专家2859090909590.00专家3809085859085.75专家4859085858585.75专家5808585808583.00
方案2加权稳定性(0.25)易用性(0.15)可靠性(0.20)扩展性(0.15)兼容性(0.25)
得分专家1859080858083.50专家2808075807577.75专家3828578857881.10专家4838375807578.95专家5808075858079.75
第一轮打分后,由统计数据可看出,专家基本意见一致,因此可以停止打分,其中方案
1最后平均值为85.25,方案2最后平均值为80.21,其中方案1分数比方案2分数多出5.04分,故根据评价方法,得出最佳解决方案为方案1。
6.结论
根据上面的评估结果,可以认定方案1为最佳解决方案。
spring boot原理和生命周期根据专家打分的统计数据可以看出,专家意见基本一致认为北区大数据平台应当使用XX自主要发的开发框架比较符合。相对而言,两个开发平台均采用业界流行框架进行构建,对于XX开发人员学习成本低,均在开发过程中可以大大提高开发效率。考虑到本项目的目
标客户的操作习惯及客户端配置,专家认为应采用兼容性更好的XX框架,而稳定性方面,
虽然XX2.x测试版刚发布,在总体上平台是根据XX过往项目需求优化实现,相对而言更是

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。