技术架构选型方案报告.pdf

技术架构选型方案报告.pdf

ID:57072418

大小:2.24 MB

页数:16页

时间:2020-08-01

技术架构选型方案报告.pdf_第1页
技术架构选型方案报告.pdf_第2页
技术架构选型方案报告.pdf_第3页
技术架构选型方案报告.pdf_第4页
技术架构选型方案报告.pdf_第5页
资源描述:

《技术架构选型方案报告.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、最高院执行项目技术架构选型方案Fantasy2011年8月25日1目录总体架构!2整体系统描述2架构选型!4JDK选型(JDK1.6_2232位)4IOC容器选型(Spring3.0.5.RELEASE)5ORM选型(MyBatis)6MVC选型(SpringMVC)7认证和权限选型(shiro1.1+ralasafe1.1)8前台组件选型11案件导入导出架构设计!12总体架构设计12客户端功能结构13技术实现方式141总体架构整体系统描述系统架构图总揽展示层:主要面向B/S架构,展示层主要由web资源文件组成,包括JSP,JS和大量的界面控件,同时还

2、采用了AJAX和Flex等RIA技术,负责向用户展现丰富的界面信息,并执行用户的命令控制层:负责展示层请求的转发、调度和基础验证,同时自动拦截后台返回的Runtime异常信息。领域层:是系统最为丰富的一层,主要负责处理整个系统的业务逻辑。这一层包括业务服务和领域对象,同时负责系统的事务管理。其中业务服务可以提供本地调用和共享远程服务的功能。2数据访问控制层:数据访问层的目的很明确,主要作为提供数据持久化的功能,包括数据的读取和写入,操作数据库的方法可以有两种方式ORM方式,ralasafe封装的方式。公共基础设施层:可以包括Common通用模块,IOC

3、模块,Logging日志模块,Exception异常模块和单元测试模块。3架构选型1.JDK选型(JDK1.6_2232位)JDK1.5、JDK1.6和JDK1.7选型测试1.增加5百万条String数据测试2.增加5百万数据到ArrayList中,并且插入时有额外的计算测试3.HashMap有5百万keys,values.每对key,value是通过并发线程计算(这个测试主要测试计算和并发能力)测试4.把ArrayList长度位5百万的列表,插入1000个文件中,再从1000个文件中读取

4、放入到列表中。(测试多核并发边缘)从性能上看,JDK1.7>JDK1.6>JDK1.54考虑到JDK1.7正式版于2011年7月28日发布,所以稳定程度没有JDK1.6和JDK1.7的高,因此最终选用JDK1.6_22版本。32位和64位选型假设物理内存无限大,那么JVM内存的最大值跟操作系统有关,一般32位机是1.5g到3g之间,而64位的就不会有限制了。64位JDK管理大内存,面临的问题:(1)内存回收稻种的长时间停顿;(2)现阶段,64位JDK的性能测试结果普遍低于32位JDK;(3)相当的程序再64位JDK中消耗的内存一般比32位JDK大,这是

5、由于指针膨胀及数据类型对齐补白等因素导致的。通过评估JDK的版本,最终采用JDK1.6_2232位版本2.IOC容器选型(Spring3.0.5.RELEASE)Spring带给我们什么?✦方便解耦,简化开发通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。✦AOP编程的支持通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP

6、轻松应付。✦声明式事务的支持在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。✦方便程序的测试以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。✦方便集成各种优秀框架Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、Hession、Quartz)等的直接支持。53.ORM选型(MyBatis)到底应该选用Hibernate还是

7、选用MyBatis,我们首先看看几个前提条件:(1)数据量在千万级别(2)3000并发下,简单查询5秒内,复杂查询10秒内.(3)开发效率高,易上手。前两个是硬性条件,最后一个是服务于开发人员,对于千万级数据量是否Hibernate能够满足我们的性能需求,我一直渴望能找到相关的数据,但是没有具体的数据支撑,但是网上的经验,很多的系统当数据量达到千万级以上的时候,把Hibernate换成SpringJDBC或者Ibatis或者纯JDBC的方式,可见Hibernate会成为将来性能的一个瓶颈,下面列举几种场景能够体现Hibernate的性能比较低:比如说有

8、一个表,这个表有几个或者几十个字段,我需要更新其中的一个字段,iBatis很简单,执行一个sq

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。