Web项目的整合与拆分

初次写项目总结,请园子里的朋友们多多指教。

项目描述

  目前开发的是一个Web项目,分多个模块,如办公系统模块和计费系统模块等,将来这些模块会进行分布式部署,短期内会放到同一台服务器上,数据库也放在同一台服务器上,要求现在做的开发能够支持几个系统之间统一的风格,可以根据用户选择个性化显示皮肤主题,并能够在将来的某个时间很方便的切换为分布式部署。

主要问题

经过分析,明确了一下几个问题:

  1,各模块具备统一的UI风格,且支持用户个性化UI主题,即,用户小翁在办公系统更改了自己的皮肤主题为BlueIce后,当小翁进入计费系统也是BlueIce主题。

  2,目前各模块及其数据库是在同一台服务器上,但以后会采用将几个模块及其对应的数据库分布在不同的服务器上,针对共同的基础信息如个人信息进行数据同步。

  3,开发团队成员有各自负责的模块,成员之间应将公共资源文件如js,images,css,类库保持一致,不能出现混乱。

解决方案

  1,设置一个UserControl用来接受用户对皮肤主题的个性化选择,将这个UserControl存于数据库中,在每一次用户登录任一模块之后将用户的个性化信息(如使用的主题,权限等)加载进基础信息服务器的HashTable,以后用户访问任一个模块,该模块即可根据HashTable里面的用户信息做个性化显示。

  2,在XML中进行配置服务器的IP和连接字符串信息,根据需要选择不同的连接字符串和数据访问类,利用WCF进行中转操作数据库,这样做的好处是以后可以很方便的切换到分布式部署。

  3,在项目开始时,建立好开发的一个框架,在根文件夹下建立模块之间公共使用的部分如masterpage,iamges,theme,公共方法、类库等。由于几个系统之间但又要在项目周期内完成,采用了多人在相同框架下开发,后期进行分离的方法进行。system如上图,项目中的几个模块公用的元素如masterpage,js,css,theme,image 等抽取出来放到项目的根文件夹下,每个模块各自的个性化图片,脚本等放到各自的文件夹中。这样到了后期分离时,只需要将公共的部分逐一分配给各个模块,单个的模块即可形成独立的系统。

  1. 团队成员的开发风格虽然经过磨合之后基本能达成一直,但为了保持风格的统一,在masterpage上留的可编辑区域非常有限,各个成员能够修改的部分只有一级标题、二级标题、模块内容三个地方。
  2. 备份,目前采用的是微软的Windows Live Sync各自建立自己的共享文件夹,组长可看到团队全部成员的代码进展,并可同步备份。

  这次项目牵扯到了WCF,Windows Service等以前没有具体用过的东西。在开发Web过程中遇到了很多的困难,其中根据不同的用户权限生成不同的一级标题和二级标题部分性能处理的不太好,正在着手解决,另外,感觉和同事进行沟通也是很重要的一个环节,有的时候需要坚持己见,有的时候需要虚心听同事的见解,希望能共同把这个项目做好。


 

posted @ 2009-07-29 17:18  翁玉礼  阅读(4814)  评论(0编辑  收藏  举报