做电子商务网站,一般都涉及到前后台,前台是给用户用的(营销+销售系统),后台给公司员工用的(业务支撑系统)。
在项目开发初期,技术负责人往往倾向于,将它们混在一起。我曾经也是这样,但问题在后期就慢慢凸显了。
我曾经写过电子商务网站和企业应用开发的区别(
1 2),和这个一起看,应该会比较好理解我的观点。
一、从系统部署的角度考虑
在项目开发阶段,因为基本上很少涉及部署(迁移到产品环境),所以部署问题目前没有凸显。
当网站上线后,在网站运营阶段(即系统维护阶段),特别是运营一个月后,部署的效率和稳定性,会越来越影响到网站的需求响应性(解决一个网站bug的速度)。
三年前,我开发公司网站时,也是将前后台合并到一个工程,最后还是不得不分离,只通过数据库作为前后台的桥梁。因为你不知道调整一个前台小功能,是否会影响后台(回归测试?);你也不知道前台部署好后,后台是否会受到影响。
网站上线后,前台需求的变更还是很频繁(改进用户体验),因为绝大多数时候是改变页面展现,并不需要后台做相应变更。把后台代码重新部署一遍只会带来隐患。
网站重新部署,一般是选择凌晨6点左右。而后台部署,只要不是在白天工作时间就行了。
网站前台对性能要求很高,系统很可能会因为这个重构。但后台系统,用户数量很少,几乎没有性能要求。
顺便说一下,系统会有大量的Job,如统计、价格更新,这类模块建议不要和Web一起,应该单独部署。
二、从软件过程角度
因为网站前台和后台业务系统,面向的是完全不同的两类用户(消费者和企业员工),它们的需求和需求获取过程完全不同。
对于前台,界面原型即需求,页面/用户行为驱动开发。对于后台,是数据和流程驱动开发:Table+Form+Flow。
也就是说,前台和后台,是两种需求分析和设计人员,甚至是两种设计师(后台的界面不要求美观,很死板,但前台对设计师要求很高),再或者是两种开发人员(如前台PHP,后台Flex+Java)。
公司业务人员很容易理清后台业务,但对前台用户的心理和行为的分析,一般都不能胜任。这也是为什么我要将网站需求分析和设计的工作全部包揽。
三年前,我也是让业务人员设计网站模块,一塌糊涂。最后还是我自己设计全部界面原型,只需要征求业务人员的意见,他们不写任何文档。
面向互联网用户的软件开发方法学,和面向企业用户的开发方法学,有着天壤之别。但目前项目组是用同一种模式(企业应用开发过程),这是很危险和低效的。目前在行业里还没有成熟的互联网软件开发方法学,只有做过两类开发,才能总结出经验和教训。
三、从软件开发角度
如果说选择将前后台合并,是因为代码重用。那么重用的也只是一些简单的Domain(pojo),如Book类。但对于后台,用到Book类,是比较纯粹的Book(如图书管理),但里面却夹杂着大量的无关的、前台用到的属性,如评分、用户留言、评价、相关图书、其它用户购买过的图书等等,导致后台维护起来非常困难。
像用户收藏夹,这一很复杂的核心功能,和后台业务系统几乎没有关系。
如果说前后台只是重用最简单的Domain,那这种技术层面的重用又有多大价值呢?像图书查询,前台和后台的业务逻辑、复杂度完全不是一个级别(前台更复杂),没有任何的重用性。
前台几乎都是数据展现(无状态操作),后台主要是数据操作。也就是说,你前台大量的代码都是查询,和后台的写入几乎没关系,不存在重用性。
像基础代码库,如用户性别、仓库城市等,主要是后台,前台只是用到其中非常小一个子集,完全可以复制方式。
另外,前台不建议用Hibernate,因为它的优势在数据持久化,也就是增删改查的“增删改”,对于查(List+Detail),还是原生sql便捷,不拖泥带水。
我上面只是抛砖引玉,
很想听听大家的意见,想必很多人在互联网公司做应用开发,你们或你们公司大牛是如何处理这个问题的?
(广告)如果你对大型电子商务系统的设计和开发,有浓厚的兴趣,不妨看看
这里。
分享到:
相关推荐
【标题】:“电子商务源码前后台” 这个标题表明我们讨论的是一个完整的电子商务系统,它包含了前端用户界面和后端管理平台的源代码。通常,这样的系统由Java编程语言开发,利用了Spring、Struts和Hibernate(SSH)...
总结起来,"电子商务网站系统(包括前台+后台)"利用JSP、Servlet和JavaBean实现了前后台的完整功能,提供了一个用户友好的界面和强大的后台管理系统。通过解压并分析"myshop"文件,我们可以深入学习这些技术在实际...
"基于Spring Boot的前后端分离的电子商务网站的设计与实现" 本文旨在设计和实现一个基于Spring Boot的前后端分离的电子商务网站,旨在提供一个易维护、易开发、简洁易用、用户体验良好的在线电子商务平台。下面是该...
ASP.NET电子商务网站后台模板是一个基于ASP.NET技术构建的框架,主要设计用于开发高效、安全且易于维护的在线商业平台。这个框架提供了一套基础结构,帮助开发者快速搭建和定制电子商务网站的后台管理系统,从而节省...
《电子商务系统:从前台到后台的深度解析》 在当今数字化时代,电子商务系统已经成为企业不可或缺的一部分,特别是像“李宁”这样的知名品牌。本系统旨在模拟李宁官网的电子商务流程,涵盖了购物车、会员管理和后台...
它是一个简单的电子商务后台,主要用于处理商品管理、订单处理、用户管理等基础功能,旨在让学生了解和掌握实际电子商务网站运作的基础架构和逻辑。 在【标签】中提到了"PHP,后台",这表明该项目的核心技术是PHP...
毕业设计,基于SpringBoot+Vue+MySql开发的前后端分离的图书电子商务网站,内含完整源代码,数据库脚本,论文答辩,视频教程 社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动...
【PHP电子商务网站开发】 在当前数字化时代,电子商务已经成为企业与消费者之间的重要桥梁,尤其是在网络技术日益成熟的背景下。PHP作为一种开放源代码的服务器端脚本语言,因其灵活性、易用性和跨平台特性,常被...
《创意家居电子商务网站建设》这篇论文主要探讨了如何利用ASP语言、Access数据库以及IIS服务器构建一个基于B/S架构的电子商务网站。在这个过程中,作者详细阐述了网站从设计到实现的各项关键步骤,旨在为家居产品的...
综合以上信息,我们可以推断出这个项目是一个基于网狐技术栈(可能是某种特定的开发框架或工具集)的电商解决方案,具有成熟的前后台分离设计。前端部分提供了用户友好的商城体验,而后台管理系统则为管理员提供了...
前后台分离的设计模式提高了系统的可维护性和用户体验。 5. 实现了购物车功能,允许用户添加、修改和删除商品,计算总价,并能将购物车中的商品转化为订单。购物车模块是电子商务系统的关键部分,直接影响用户的...
一个优秀的电子商务网站不仅需要具备强大的后台支撑,还需要有一个友好且高效的前端交互界面。 1. **前后端分离**:将前端展示与后端逻辑相分离,前端负责页面渲染和用户交互,后端提供API接口支持。 2. **响应式...
实现前后台分离,保证系统的可维护性和扩展性;运用现代化的技术框架,如MVC模式,确保系统的灵活性和可复用性。 在开发工具与相关技术方面,本文选择了JAVA语言作为主要编程语言,因其具有跨平台、安全性强的特点...
在电子商务领域,网站设计与规划是至关重要的环节,它直接影响着企业的在线业务表现和用户体验。本文将详述网上购物系统的设计与规划过程,探讨其重要性、目标、技术和主要架构。 首先,网上购物系统的发展背景及其...
通过这个项目,你可以深入理解Structs框架在实际开发中的应用,同时学习到如何构建一个完整的电子商务网站,涵盖从用户交互到后台数据处理的各个层面。无论是对于初学者还是有经验的开发者,都是一次宝贵的学习和...
总结来说,"最新商城购物系统HTML模版源码"涵盖的知识点包括HTML5结构设计、CSS3样式美化、JavaScript交互实现、前后台分离开发、服务器端语言应用、数据库设计与管理、安全防护以及SEO优化等。开发者需要具备这些...
淘淘网电子商务网站是一个基于JSP技术的毕业设计项目,旨在模拟实际的在线购物环境,为用户提供商品浏览、选购、支付以及订单管理等全方位服务。这个项目的核心是构建一个功能完善的网上购物系统,通过JSP(Java...
毕业设计,基于SpringBoot+Vue+MySql开发的前后端分离的旅游电子商务预订系统,内含完整源代码,数据库脚本 厦门旅游电子商务预订系统 软件简介 基于Vue+SpringBoot+MySQL的厦门旅游电子商务预订系统包含景点类型...
4. **前后台分离**:前端面向消费者,提供购物、查询等功能;后台面向管理员,负责订单、用户、商品等管理。 5. **业务流程实现**:如订单状态跟踪、商品分类管理、用户权限控制等,确保业务顺畅运行。 【研究方法...
**ASP.NET电子商务购物网站概述** ASP.NET是一种由微软公司开发的服务器端Web应用程序框架,用于构建动态、数据驱动的Web应用程序。在这个项目中,我们看到一个基于ASP.NET开发的电子商务购物网站,它模拟了淘宝网...