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,公共方法、类库等。由于几个系统之间但又要在项目周期内完成,采用了多人在相同框架下开发,后期进行分离的方法进行。

如上图,项目中的几个模块公用的元素如masterpage,js,css,theme,image 等抽取出来放到项目的根文件夹下,每个模块各自的个性化图片,脚本等放到各自的文件夹中。这样到了后期分离时,只需要将公共的部分逐一分配给各个模块,单个的模块即可形成独立的系统。

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

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





    本文转自wengyuli 51CTO博客,原文链接:http://blog.51cto.com/wengyuli/588631,如需转载请自行联系原作者



相关文章
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
929 1
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
1256 64
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
1968 1
|
安全 JavaScript Java
java Web 项目完整案例实操指南包含从搭建到部署的详细步骤及热门长尾关键词解析的实操指南
本项目为一个完整的JavaWeb应用案例,采用Spring Boot 3、Vue 3、MySQL、Redis等最新技术栈,涵盖前后端分离架构设计、RESTful API开发、JWT安全认证、Docker容器化部署等内容,适合掌握企业级Web项目全流程开发与部署。
1188 0
|
人工智能 安全 程序员
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
用 Colab 和 ngrok 免费部署你的 Web UI 项目,随时随地访问!
1821 12
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
357 61
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
1278 7
|
安全 Linux 开发工具
零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
OpenIM 为开发者提供开源即时通讯 SDK,作为 Twilio、Sendbird 等云服务的替代方案。借助 OpenIM,开发者可以构建安全可靠的即时通讯应用,如 WeChat、Zoom、Slack 等。 本仓库基于开源版 OpenIM SDK 开发,提供了一款基于 Electron 的即时通讯应用。您可以使用此应用程序作为 OpenIM SDK 的参考实现。本项目同时引用了 @openim/electron-client-sdk 和 @openim/wasm-client-sdk,分别为 Electron 版本和 Web 版本的 SDK,可以同时构建 PC Web 程序和桌面应用(Wi
1784 2