您好,欢迎访问三七文档
系统架构介绍纲要ARCH4架构概述与特性ARCH4逻辑架构视图ARCH4物理架构视图ARCH4组件选型最佳实践ARCH4成功案例ARCH4概述ARCH4是中科软第四代基础架构(SinosoftFoundationArchitecture4)的简写,它并不是一个可以即时看见和运行的应用系统,它为构建于J2EE之上的应用系统定义了一个固定而有效的设计开发框架,简化J2EE应用。ARCH4定义了一系列流程,比如对如何处理HTTP请求、事务控制,以及一些通用功能,比如文件上传、数据校验、消息管理、日志功能等。ARCH4的最终目标是为开发人员提供一个填空式的开发框架。让开发人员在ARCH4架构下,只需关注编写和具体业务逻辑相关的程序,而将业务无关的需求(非功能需求,non-functionalrequirement)交给ARCH4来完成。ARCH4特性(一)可靠性(Reliable)源自2001年国内第一个保险行业J2EE业务系统,在之后的多年不断更新和进化,目前其不同时期的版本在全国多家大中型保险公司的业务系统中使用,包括完整支持Package保单的民安保险业务系统等安全性(Secure)针对保险领域的特点,采用SAA(SinosoftAuthenticationandAuthorization),中科软认证与授权服务组件,解决保险领域的权限问题,支持单点登录,通过预处理等方式避免SQL注入攻击等可伸缩性(Scalable)是一个轻量级的软件框架。通过对软件按SOA思想的功能分割、水平切分、避免分布式事务、用异步策略解藕程序、将过程变成异步的流、虚拟化所有的层次、适当地使用缓存等方式来达成可伸缩性的目的可定制化(Customizable)是一个可定制化的框架。ARCH4软件框架提出自己的一套最佳实践,同时客户可以按照自己的需要进行定制化,在各种技术之间进行选择,最终形成一套有客户特色的的框架ARCH4特性(二)可扩展性(Extensible)是一个动态的框架,在新技术、新组件出现的时候,ARCH4软件框架可以将其收归己用,由于ARCH4软件框架是一个基于组件的框架,替换同类型的组件对应用的影响降到最小,从而能很好地对采用此框架开发的系统进行功能和性能的扩展可维护性(Maintainable)软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。基于多年在保险行业实施的经验,对于排除错误形成了完整的指导手册,覆盖了维护过程中的各种处理方法。ARCH4软件框架开发的系统是MVC分离的,业务逻辑高度集中,易于系统维护客户体验(CustomerExperience)对于最终用户,可以采用先进的AJAX框架及组件库,如YUI、EXT、Dojo等,结合中科软历年积累的实施经验进行界面布局及操作的优化,提供良好的人机界面。对于开发人员,推荐采用最新的集成开发环境Eclipse3.4集成Maven、Subclipse、ResourceEditor等各种最佳插件开发,提高开发及调试效率市场时机(TimetoMarket)ARCH4软件框架不是一个概念中的框架,而是实际存在的,拿来就可以基于其上开发应用系统的框架ARCH4逻辑架构一.分层架构二.技术架构层名层描述展现层负责向用户展现信息以及解释用户命令领域层本层包含关于领域的信息。这是业务软件的核心所在。在这里处理业务逻辑,对业务对象和它们状态的持久化被委托给了基础设施层。采用面向接口方式开发。基础设施层本层作为其他层的支撑库存在。它提供了层间的通信,实现对业务对象的持久化,包含对用户界面层的支撑库等作用。ARCH4逻辑架构——分层架构领域层客户层移动设备PC机展现层资源层数据库规则库业务流程库其它系统基础设施层开发支撑应用支撑领域支撑测试支撑领域模型对象展现界面活动组织安全控制文件服务器数据校验其它技术适配器异常处理应用服务接口值对象领域服务接口规则服务接口其它系统适配器应用服务实现领域服务实现规则服务实现ARCH4技术架构——组件架构开源组件使开发人员从底层功能中解脱出来,可以更好地专注于用户的业务需求。由于开源组件的代码已经通过了充分的测试,系统的成本降低了,周期缩短了,风险减少了。开源组件数量众多,功能重复,质量良莠不齐,因此选择一组合适的开源组件尤为重要。在ARCH4应用系统的开发中,选择如下图所示的组件架构,规范组件的使用范围。基础设施层客户层展现层领域层Spring2Hibernate3AdapterYUISVGActiveXHTMLJavaScriptStruts2JSP2DWRCommonsValidatorCommonsLoggingAcegiJavaMailEhCacheQuartzXFireJasperjBPMSMCSAADrools/ILOGJDBCDriverSpring2FrameSDKSeleniumJUnit层次组件描述版本号说明客户层YUI客户端显示组件2.5可选客户层SVG流程图显示1.2可选客户层AppletGUI组件5.0可选展现层Struts2流转控制2.0.6展现层JSTL脚本语言1.1.2展现层XFireWebService接口1.2.6可选展现层JSON数据交换格式1,1展现层iTextExcel、PDF等2可选展现层jxlExcel、PDF等2.4.2可选展现层POIExcel、PDF等3.1可选展现层DWRAjax调用2.0.1展现层commons-fileupload文件上传1.1.1展现层commons-validator校验框架1.3.0展现层commons-httpclient访问Servlet3.1业务层Hibernate3ORM3.2.0.GA基础设施层Spring2AOP、IOC2.0基础设施层FrameSDKArch4框架SDK4.0基础设施层Report4润乾报表4可选基础设施层Selenium页面测试组件0.9.0可选基础设施层JUnit单元测试组件3.8.1基础设施层commons-logging日志接口1.0.4基础设施层Log4J日志实现1.2.13可选基础设施层Acegi安全1.0.3基础设施层Quartz定时任务1.6.0基础设施层JavaMail邮件1.4可选基础设施层jBPM工作流3.2可选基础设施层ILOG规则引擎1.0.0.1可选基础设施层EhCache分布式缓存1.2.3基础设施层jDOMXML1.0基础设施层XstreamXML与Bean转换1.1.3基础设施层JDBCDriverInformixJDBC驱动3.00.JC3可选ARCH4技术架构——缓存架构基础设施层展现层浏览器页面缓存资源层数据库缓存权限缓存数据字典缓存业务层Hibernate一级缓存Hibernate二级缓存Hibernate延迟加载组件本身缓存服务本身缓存EhCache分布式缓存ARCH4技术架构——日志架构持久方式适应场景日志文件保存一段时间(不固定,通常是轮回日志)。数据库长期保存。日志类型持久方式登录日志数据库操作日志数据库系统异常日志文件业务异常日志文件运行时异常日志文件ARCH4请求响应模型领域层客户层移动设备PC机展现层资源层数据库规则库业务流程库其它系统基础设施层其它系统开发支撑应用支撑领域支撑测试支撑服务实现领域模型领域对象业务规则Strut2ActionJSP物理架构视图——网络架构物理架构视图——应用部署架构管理服务器应用服务器集群A代理服务器A代理服务器B代理服务器C应用服务器集群B应用服务器集群C客户端ARCH4组件选型最佳实践代码检查版本控制集成开发环境EclipseNetBeansSVNCVSVSSFireFlyPMD系统日志CommonsLoggingJDKLoggingLOGBackSFL4J软件测试JUnitSelenium工作流jBPMOSWorkflow信息安全和审计SAA报表JasperReportEclipseBIRT水晶报表润乾报表AOPSpringAOPAspectJJBossAOPIOCSpringIOCGuiceORMHibernateiBatisWEB框架Struts2.0SpringMVCSeam界面组件YUIExtEchoScript.aculo.usAJAX框架DWRBuffaloDOJOjQueryAcegi规则引擎ILOGDroolsJMeterLoadRunnerLog4JMyEclipseARCH4成功案例
本文标题:系统架构介绍
链接地址:https://www.777doc.com/doc-3887177 .html