销售热线:
400 075 8888
售后热线:
400-803-3337
售后服务 Service
Service 常见问题
SJP技术框架说明
日期: 2015-11-02
浏览次数:

晓风团队

 

一、开发框架说明


从 SP2P 6.0 开始,晓风系列产品启动了全新的开发框架:Shove Java Play。是基于 Playframework 1.2.7 版本改良而来的版本。

()、放弃典型的 strust 框架的原因:

1、热门过渡,导致其研究者众多,漏洞爆发频繁,仅 2013-2014 年爆发出的严重漏洞就有:

(1)[CVE-2014-0114] 实现参数数据绑定时存在越权操作的 class loader 漏洞;

(2)[CVE-2013-2251] strust2 远程执行命令漏洞;(OGNL 表达式)

(3)[CVE-2013-2248] 开放式重定向漏洞;(redirect: 可被构造用以转跳到人意地址)

(4)、其它如上传漏洞、XML 解析漏洞等等

苹果、中国移动、中国联通、百度、腾讯、淘宝、京东、Sohu、民生银行等大型企业的网站均受到影响。

2、互联网金融产品相比传统金融产品,除了安全以外,还需要在性能、大数据能力上得到支撑。

3strust 开发过程的友好性不够。


(二)、SJP 框架特色


1、非常简单的开发周期,自动编译和重新装载源文件的任何改变。

2、高并发、异步IO,最大化速度,最小化内存占用。

3、基于 Groovy 的强大的模板引擎,具有多层继承,定制用户标签的特征。

4、优秀的错误报告功能:当发生异常,此框架会直接显示出错代码,甚至是模板代码。

5、支持热拔插,升级过程无中断,优秀的代码结构可实现零宕机时间。

6、集成的负载均衡。

7、包含事件驱动的中间件,以创建可以适应任何需求的高伸缩、高分布系统。

8、集成的、高效的 JPA 数据库持久化功能,自动管理事务,无需要任何配置。当代码加载时,PLAY 框架会使用 HIBERNATE 自动开启 JPA Entity Manager 并且神奇的使它同步。

9、完全的 OOP 设计与 MVC 框架的完美结合,实现多维度层次架构。

10、集成的缓存支持,易用的分布式缓存系统 (memcached)


二、OOP


1、杜绝形而上学的 OOP、实体,实现同心圆的多层软件架构。

2、选择双实体业务模型。

3、改良的基于消息驱动的类的方法,完全实现了 OOP 的 geterseter

4、封装、继承、多态的真正使用,系统结构科学合理。

5、注解特性的利用,代码简洁高效。


三、代码规范、格式的严谨性


1Java 常见规范;

2、字段命名(拒绝中式英文、正确使用单复数、最大化符合业内约定习惯等)、字段顺序、业务的处理流程与顺序的严格要求;

3、最小化业务处理时间、事务占用时间,业务一气呵成;

4、类名、变量名称完全统一;

5、枚举、字典;

6、表明、类名词组的组合方式的斟酌,便于名称分类聚合排序还是便于业务分类聚合排序;

7Shove 组件与公共方法的封装过程体现。超过 次以上使用的功能,必须进行封装,封装的功能从命名、归类上进行科学的布局和规划。如:通用网关;

与项目业务有关的,在项目的 PublicFunction 中,属于基础功能相关的,会定期收集到 Shove 组件中。

8、保持业界通用的文档版本注释方式。


四、关系数据库的范式遵循度


1、第一范式(1NF 对象属性颗粒度最小化)、第二范式(2NF 主键依赖)、第三范式(3NF 无传递依赖,即:冗余)的拿捏,杜绝形而上学。

2、范式的遵循严格度与性能成反比,在互联网的并发、网络带宽局限情况下,不同的业务模型选择遵循到不同的范式。

3、通常遵循到 2NF 与 3NF 之间。

4、对冗余字段、冗余表,增加特殊的前缀以示区别。


五、缓存处理与性能


1DBA 跟踪、分析大量的数据访问指标,对索引、分表等在 7.0 的基础上进行了全新的规划,数据库并发性能提升是个数量级,同时通过业务逻辑优化,几乎消灭了死锁的可能性。

2、使用 SJP 框架集成的专业的、分布式缓存 memcached,优化了缓存的性能。

3、业务逻辑优化。


六、安全处理


1、四大安全风险:黑客风险(45%)、网络流氓风险(35%)、管理风险(15%)、硬件灾难(4.5%)、其他风险(0.5%)

2、七大安全模块:SSL、安全云盾、管理后台独立、数据库防篡改、数据库硬件热切、前置机二层部署、前置机三层部署

3、专利安全技术:ShoveInjectionInterceptor 2SII2) 智能注入拦截技术

SSI 2 技术特征:

1、全方位分析注入、攻击来源:GETPOSTAJAXCookieReferer 等可能的来路,转义字符、转义函数、脚本命令,等等全部的访问入口统一经过 SSI 2 智能分析,可靠地防御 SQL 注入、XSS 跨站、JavaScript 脚本注入、文件类型欺骗等注入或攻击。

2、智能分析上下文,降低误判。

3HTML 编辑器的启发式分析技术,最大程度保证了输入的完整性,同时严格地识别恶意攻击。

4、优化的算法、轻量级的代码结构,最大化地减少由于 SSI 拦截而造成对系统的性能影响。


七、SJP 框架程序员转换成本与学习曲线


1Shove Java Play 全 Java 基本语言,全基于面向对象的特征。 Groovy 模板在高级应用中,完全不需要修改。框架对 Java 程序员没有其它特别的要求。

2、框架的学习时间平均 3-5 天,完全可以了解其开发、调试、配置、部署的全部内容。

3、经过 1-2 周的开发工作,完全可以了解日常开发工作的全部细节。


  • 下一篇:无