AssionShop开源B2C电子商务系统-概述(转载)
今天是个特殊的日子,我在北京房租价格又上了一个新的台阶。在这个日子我准备开始建立一个开源项目,一个B2C行业的EC系统。
一、关于定位
我要做的不只是一个商城,应该说是一个能满足中小型企业建立电子商务的一套完善的系统。其中的一些模块包括(但不限于)如下:
1. 前台商城
1.1. 前台网站商品的展架模块,包括整个商品的推销策略,包括分类、检索、各类活动形式等。
1.2. 前台的购物流程,包括购物车、定单、支付等。共中的客户可能包括:一般零售客户、大客户、团购客户等。
1.3. 前台用户中心,包括个人信息及商业行为信息等的维护。
2. 后台ECERP系统
1.1. 对前台各展架信息等的维护模块,也就是网站管理模块。对应的操作角色:网站的运维人员
1.2. 商品管理模块,对商品的分类、商品等基元信息进行管理等。对应的操作角色:网站运维人员、采购人员等。
1.3. 活动管理模块,包括优惠券系统等。对应的操作角色为:网站运维人员
1.4. 采购模块,对商品的库存进行管理,一系统的缺断货控制等。对应操作的角色为:采购人员
1.4. 销售定单处理模块,对定单进行处理。对应的操作角色为:客户服务人员、财务人员、主管人员等概据不同角色进行处理。
1.4. 财务模块,财务人员进行销售的收款单处理,采购的付款单处理等。对应的操作角色为:财务人员
1.5. 售后模块,对售后进行管理,商品的退货换货等。对应的操作角色为:客服人员、售后工作人员、物流人员
1.6. 物流模块,对定单的出货、换货、退货等业务进行处理。对应的操作角色为:物流人员
1.7. 仓库管理模块,对仓库进行管理。对应的操作角色为系统管理人员
3. 其他
当然系统还需要权限的支撑。其他的还有很多东西通过增量的方式迭代出来吧。
二、关于开发模式
最好的开发模式就是无模式了,适合自己就好,不过也要有个基本的思路,本系统将采用2个DDD,第一个就是Domain driven design(领域区动设计),
第二个就是Domain driven development(领域区动开发),当然DDD只是个思想,我们不必拘泥于形,每个人都有每个人的想法,还是那句话:适合自
己就好。
这里说一下敏捷开发,我对这个概念理解不深。个人感觉真的没必要理解的“过于深”,个人感觉现在一般的小公司的开发模式“不正规,很敏捷”,由于
没有正规的开发方法论,一直是个迭代的过程。没有文档、口头交流、增量、迭代好像出现了不少这样的名词了。
三、关于架构
架构方面现在只是个初步想法,先贴出来大家参考下。

以上Solution图我一个一个的简要描述一下:
AssionShop.AdminWeb 这个是个WebForm项目,是我们前面提到的ECERP系统的UI层,做这样的信息系统WebForm还是有一定优势的,具体再定。
AssionShop.Caching 系统的缓存层,之所以把缓存独立出来,因为它在项目中的份量挺重要的,对对象的生命进行支持,可以抽象出支持多种缓存架构,
比如asp.net的进程缓存,基于key-value的分布式缓存产品等。
AssionShop.Common 系统的一些公共框架级模块,可能包括字符处理、AOP、IOC、ORM、Log等一系列支撑对象。
AssionShop.DBMap 数据库映射层,可以采用NHibernate框架来解决o-r的阴抗问题。为什么不直接在Repositories里?不为什么。
AssionShop.Domain 领域层,系统的核心业务逻辑对象,不依懒其它任务层,半充血模式。不自身完成持久化,持久化由仓储来负责。
AssionShop.Dto 数据传统对象,里面包括数据传统对象和相应的适配器,注:有可能DTO直接跨越UI和Repositories/DBMap 比如系统的报表等。
AssionShop.Repositories 仓储,负责Domain的工厂生产及生命周期控制,内部调用缓存和数据库完成领域对象的持久化。
AssionServices 这个Services应该是ApplicationService而非DomainService,它调用Domain与Repositories进行轻量的组装,为UI或是SOA提供API,
我把事务控制放在这层,采用MSDTC分布式事务,Services为事务边界我认为是比较合理的。
AssionShop.Web 前台商城WEB项目,初步计划采用asp.net mvc 这层同AdminWeb一样,调用Services以及对DTO对象的引用。
以上就是项目的初步设想与规划定位,有很多不足将通过一步步的深入进行处理。下一章将从需求的《用例模型》开始。
AssionShop开源B2C电子商务系统-概述(转载)的更多相关文章
- AssionShop开源B2C电子商务系统-(二)定单流程活动图状态图(转载)
B2C系统的灵魂所在就是定单的流程了,下面展示下定单的最重要的两个动态图,一个是定单流程活动图.还有一个是简单的定单状态图.通过这两张图,基本可以 了解系统定单流的大概情况了啊.图画的只是初步的设想, ...
- AssionShop开源B2C电子商务系统-(一)用例图(转载)
这篇文章,将有实质的进展.先把大体的需求整理了一份用例图,自认为粒度做的已经很细了,再细就没法搞了.我还是坚信一个原则:自己业余搞的东西千万不要 想一口吃个胖子,这样很容易项目就搞流产了~,废话不多说 ...
- 转:国内外著名开源b2c电子商务系统比较包括asp.net和php
from: http://longdick.iteye.com/blog/1122879 国内外著名开源b2c电子商务系统比较包括asp.net和php 博客分类: 电子商务 国内外著名开源b2c ...
- B2C电子商务系统研发——商品SKU分析和设计(一)
一.SKU及相关概念定义 在设计商品SKU之前,首先让我们熟悉一下SKU和相关的一些概念. # 什么是SKU: SKU=Stock Keeping Unit(库存量单位) 同一型号的商品,或者说是同一 ...
- B2C电子商务系统研发——商品SKU分析和设计(二)
转:http://www.cnblogs.com/winstonyan/archive/2012/01/07/2315886.html 上文谈到5种商品SKU设计模式,本文将做些细化说明. 笔者研究过 ...
- B2C电子商务系统研发——产品媒体常见功能点
产品媒体常见功能点 电商研发系列——产品媒体常见功能点 支持图片.视频和文档等媒体类型 产品图片对清晰度要求比极高,但又不能太大,所以图片一般是jpg格式. 视频一般是flv流媒体格式,如果是嵌入产品 ...
- 30个开源电子商务系统(PHP)
osCommerce osCommerce是一款著名的PHP开源电子商务解决方案,提出“开箱即用”的强大功能,使网上商店安装非常方便快捷,并可以作为GNU通用公共授权的开源项目免费发布.osComme ...
- 开源的.NET系统推荐
C# 源码 AForge.NET RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的 ...
- 【转】B2C电子商务系统设计精选
B2C电子商务系统研发——促销引擎设计(一)(Promotion Engine) B2C电子商务系统研发——商品SKU分析和设计(一) B2C电子商务系统研发——商品SKU分析和设计(二) 电商后台系 ...
随机推荐
- [转]spring tx:advice 和 aop:config 配置事务
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www. ...
- Java8新语言特性
Java8简明指南 欢迎来到Java8简明指南.本教程将一步一步指导你通过所有新语言特性.由短而简单的代码示例,带你了解如何使用默认接口方法,lambda表达式,方法引用和可重复注解.本文的最后你会熟 ...
- Unicode中的BOM
BOM简述 BOM是byte order mark的缩写,在UTF-16和UTF-32中需要使用BOM来区分字节的顺序,因为我们目前的CPU有两种系列,一种是大端模式,一种是小端模式(我们常用的电脑手 ...
- Netty游戏服务器二
上节我们写个server主类,那么发现什么事情都干不了,是的,我们还没有做任何的业务处理. 接着我们开始写处理客户端连接,发送接收数据的类ServerHandler. public class Ser ...
- 如何解决weblogic server启动中在IIOP后运行缓慢
WebLogic Server在Linux环境中,有时因为linux OS的安全包没有安装,导致weblogic server 在启动的时候会在长时间的停留在 <2/07/2009 08:54: ...
- 【LaTeX】E喵的LaTeX新手入门教程(2)基础排版
换了块硬盘折腾了好久..联想的驱动真坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇文档框架嗯昨天我们已经编写了一个最基本的文档,其内容是这样的:\documentclass{ar ...
- xpages开发的bom管理系统
domino对流程设计是方便的.假设制作复杂逻辑的应用就难了.可是还是能够实现的,曾经的一个bom管理系统.刚開始想使用java的ssh来做,后来为了统一平台.还是使用domino来做,经过长时间的研 ...
- css Table布局:基于display:table的CSS布局
两种类型的表格布局 你有两种方式使用表格布局 -HTML Table(<table>标签)和CSS Table(display:table 等相关属性). HTML Table是指使用原生 ...
- 【转】php中的会话机制(2)
原文:https://segmentfault.com/a/1190000000468220 发现,在调用session_start()的时候, session_start() 里面应该是有调用类似 ...
- JAVA NIO 之ByteBuffer的mark、position、limit、flip、reset,get方法介绍
参考博客:http://blog.csdn.net/sunzhenhua0608/article/details/31778519 先来一个demo: import java.nio.ByteBuff ...