文档介绍:XXX管理平台系统架构前言系统架构是项目中技术实现的最重要的环节。系统架构的良好与否关系到系统的性能指标、安全指标、稳定性指标、可扩展性、业务实现等等。系统架构涉及到系统硬件的选型、网络拓扑、操作系统选型、数据库选型、B/S与C/S的选型、B/S各框架的选择、缓存的实现、数据库设计等诸多方面。在大型IT企业中,项目经理和架构师是分离的;但对于国内IT公司尤其是小企业来说,就成了一种奢望。项目经理一肩挑的现状至少短期之内还是无法改变的,这自然也增加了项目经理的痛苦指数和工作量。关于系统架构是什么?我最认同一句话:架构即关注点分离。项目经理不是万能的,系统架构需要更广博的知识,当然某些方面专业的知识也是必须的,这取决于平时知识的积累和总结,也需要其他团队成员共同的努力。关于部分系统架构图的内容参见:http://space./6517/viewspace-609654系统硬件关于系统硬件的选型,首先是根据业务需求和性能指标确定硬件的需求数量和相应型号;举例说:一个普通的B/S系统需要有web应用服务器,数据库服务器,如果对于性能有较高的要求,则需要增添cache服务器;如果对于稳定性和高可用性有特殊的要求,则需要对相应的服务器进行集群处理。关于系统硬件的选型,一是关于厂商的选择(有IBM和HP之争),一是关于机器架构的选择(PC服务器和小型机),再则是某种机型的选择(在本系统中主要为HP360和HP580);再细的话就是更细型号的选择了(HP360、HP580都至少有十几种型号),最后是机器选件,比如是否需要扩充硬盘、内存或者CPU。其实最重要的一项就是预算,呵呵。本系统的硬件采购是由甲方采购的,但是架构是由自己做的,方案如果有之前的案例就会很轻松很多,很不幸,这个方案改了几十版,跨度达到4个月。无他,对硬件,我不熟。系统软件关于系统软件的选择主要上是操作系统、数据库、开发工具选择什么样的操作系统与计算机硬件本身有很密切的联系,当然也与甲方的要求有关。Linux/Windows/专有UNIX都是可选项,windows囿于安全性原因,一般不为推崇;UNIX与硬件有很大关联,一般也很少用;所以普遍选择的是Linux;关于操作系统版本的选择,一般建议选择目前市面比较稳定的版本,最新的版本往往意味着兼容性问题,太老的版本一般有性能问题;关于操作系统的32/64位的选择,这个需要硬件的支持;在64位CPU上安装32位的操作系统意味着资源的浪费;在这个项目上曾经考虑有所欠妥,结果造成了一定的问题。关于数据库的选择,与操作系统有一定关系,也和对系统的安全性、稳定性、高并发性有一定关系;虽然一个好的DBA在任何一种数据库上都可以构建出高可用性的数据库,呵呵。关于开发工具的选择,与操作系统相关,也与甲方的要求有关,开发工具一向有java和微软两条线路之争;在本系统中采用的当然是java了。关于web中间件的选择,与开发工具、操作系统都有关系,JBOSS,websphere,tomcat,resin,weblogic都有一定的拥蹇和市场;取决与甲方的要求和本团队对相应系统的熟悉程度。B/S架构关于系统软件架构通常是指的是B/S部分实现的具体框架,此部分仍属于技术架构部分。众所周知,B/S的框架有不下数十种,常用的有SSH(Structs+Spring+Hibernate)和