百货购OFBiz实践0508精.docx

上传人:b****3 文档编号:4890199 上传时间:2022-12-11 格式:DOCX 页数:28 大小:2.42MB
下载 相关 举报
百货购OFBiz实践0508精.docx_第1页
第1页 / 共28页
百货购OFBiz实践0508精.docx_第2页
第2页 / 共28页
百货购OFBiz实践0508精.docx_第3页
第3页 / 共28页
百货购OFBiz实践0508精.docx_第4页
第4页 / 共28页
百货购OFBiz实践0508精.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

百货购OFBiz实践0508精.docx

《百货购OFBiz实践0508精.docx》由会员分享,可在线阅读,更多相关《百货购OFBiz实践0508精.docx(28页珍藏版)》请在冰豆网上搜索。

百货购OFBiz实践0508精.docx

百货购OFBiz实践0508精

百货购

OFBiz(13.07)实践

1为什么要使用OFBiz

∙OFBiz能很好的支持大型电商的全业务及全功能,同时它的扩展点很灵活。

较容易的加入自有业务模式。

比如百货购的代理加盟商模式,多站点,多店模

式,利润分成等。

∙OFBiz很好的实现了企业级通用数据库设计模式。

它的很多表设计堪称数据库

设计的典范。

这样的设计,几乎可以支持任何形式的企业级业务。

在百货购的

业务整合中,显得游刃有余。

∙OFBiz的业务后台功能全面且强大,能够很好满足目前百货购业务系统的运

营。

∙OFBiz的代码质量高,文档规范。

代码的可读性高,利于深入业务功能实现细

节。

方便扩展。

OFBiz做为Apache的顶级项目。

它本身就有来自开源社区的强力支持,同时系统也是由一批具有很深业务背景的专家级工程师实现的。

站在他们的起点上,来构建百货购的电商系统,成功率,可靠性,可实施性大大加强。

2整合思路

∙熟悉OFBiz的主业务,包括类目,产品,订单,设施,内容,购物车,货运业务。

∙研读OFBiz的核心业务代码,包括创建订单,运费计算,价格规则解析,促销业务规则解析等。

∙分析自有业务,百货购独有的业务模式。

在OFBiz里能否较好的,较顺畅的实现。

∙对OFBiz原有业务能够满足百货购的业务的,进行整合。

对不能满足的,进行扩展。

∙OFBiz里有一个参考的前台系统实现。

虽然它的功能完整。

但是要改造成百货购适用的前台,工作量很大,风险也不可控制(团队对OFBiz的自有框架还没有完全驾驭)。

固采用的是前台和OFBiz完全分离的方式。

即,团队用最熟悉的技术,在原有分析的成果上,进行全新开发。

而后台完全采用OFBiz的后台业务系统。

仅做功能上的扩展和一些交互细节的优化。

3总体架构

3.1架构简图

3.2系统说明

百货购产品编辑,运营人员,供货商,访问的核心业务系统,做了如下安全加强。

∙双向HTTPS认证。

登录系统的用户必须下载由系统生成的签名证书。

才能正常登录

∙加上图文验证验证

∙加上手机短信码登录验证

通过PC浏览器和手机浏览器的访问。

统一访问到的是百货购全新开发的前台系统。

每个系统完全独立。

分别是:

∙帐号系统(),负责整站的登录认证,及登录状态的管理。

∙购物车系统(),负责用户将产品加入购物车,购物车数据的维护∙订单系统(),负责订单的确认及生成,还有第三方支付整合等。

∙个人中心系统(),负责所有用户信息的聚合。

如订单数据,交易数据,充

值记录,安全认证等。

∙搜索系统(),负责整站所有产品信息的全文检索

∙PC版网站前端系统(),负责类目,产品,广告,活动,促销等数据

的展示

∙WAP版网站前端系统(),负责类目,产品,广告,活动,促销等数据

的展示

以上所有的WEB系统。

均运行在Jetty9之上。

它的session会话数据。

均保存在MongoDB中。

有些经常要访问,且变更很少的数据均缓存至Redis中。

移动端APP,百货购内部的各种应用,或是未来要接入的第三方APP。

均通过RESTAPI的方式进行接口调用。

实现参考了淘宝开放平台公开文档所表达的设计思路。

有API服务管理平台及相应的API能务提供方。

目前的所有API,绝大部分为内部私有API。

数据库选用PostgreSQL9。

最强的开源数据库系统。

4技术

4.1项目管理

Maven3

GIT+GitHub企业级私有仓库

4.2开发及应用环境

4.3技术集

5模块

5.1用户

5.1.1单点登录(柏华哥)

5.1.2用户安全

由于互联网账号存在被盗风险,为了保护账户安全,登录用户可以在安全中心提高账号的安全等级,通过手机或者登录密码的验证,用户可以修改密码,邮箱验证,手机验证,启用支付密码,并且修改支付密码。

5.1.3后台用户管理

OFBiz管理员给使用后台人员建立会员组名称,在会员组中建了后台人员登录账号,并使用OFBiz强大

的权限分配机制给相应用户分配应用类型权限。

5.2购物车

5.2.1数据

5.2.1.1Cookie中保存

未登录用户编码对应的产品数据,进行Base64编码后,进行Gzip压缩保存至HttpOnly的Cookie中。

有效期为一年

gzip(base64.encode(产品1标识|产品1名称|产品1数量|产品1特征|产品1其它属性,产品2标识|产品2名称|产品2数量|产品2特征|产品2其它属性))

ungzip(base64.decode(产品1标识|产品1名称|产品1数量|产品1特征|产品1其它属性,产品2标识|产品2名称|产品2数量|产品2特征|产品2其它属性))

5.2.1.2数据库中保存

用户登录后,解析Cookie中的购物车数据(如果有)并合并购物车数据,并持久化至数据库中。

同时删除Cookie中的数据

5.2.2业务逻辑

∙虚拟产品,可配置产品不能加入至购物车

∙还未开始销售的产品不能加入至购物车

∙已经销售终止的产品不能加入至购物车

∙库存不足的产品不能加入至购物车

∙产品价格异常的不能加入至购物车

∙产品没有有效的供货商不能加入至购物车

∙购物车中的产品价格小计

∙购物车中的产品优惠信息

5.3订单

5.3.1核心表结构

5.3.2业务流程

∙商品验证:

主要是验证产品是否是可销售的成品,是否已经开始销售,是否已经终止销售,是否有价格异常,是否有可用库存等。

∙订单稽查:

主要是指对创建订单的用户,根据系统规则,判定是否是恶意下单,挤占产品库存的行为。

比如,如果同一天,同一个用户,有10笔交易,未完成支付。

则该用户当天不能再进行下单。

∙价格计算:

主要是根据用户的成交价格进行产品的价格计算

∙费用调整计算:

主要是指促销优惠带来的影响订单总价格的费用计算。

5.3.2.1商品货运分组:

主要是根据不同的供货商,来进行货运分组

∙计算运费:

主要是根据分组过后的商品,分别计算对应的运费

∙生成订单预留库存:

生成一笔订单。

并预留对应的库存。

5.4搜索

5.4.1基本概述

1技术lucene4.6.0

2分词IK分词(IKAnalyzer2012FF_u1)

3lucene概述

Lucene是一个高性能、可伸缩的信息搜索(IR)库。

它使你可以为你的应用程序添加索引和搜索能力。

Lucene是用java实现的成熟的、免费的开源项目,是著名的ApacheJakarta大家庭的一员,并且基于在Apache软件许可[ASF,License]。

同样,Lucene是当前与近几年内非常流行的免费的Java信息搜索(IR)库。

全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。

Lucene是一个高性能、可伸缩的信息搜索(IR)库。

InformationRetrieval(IR)library.它使你可以为你的应用程序添加索引和搜索能力。

Lucene提供了一组简单却足够强大的核心API,只需要最小限度地理解全文索引和搜索。

你只须学习它的几个类从而把Lucene集成到一个应用程序中。

因为Lucene是一个Java库,它并不限定要索引和搜索的内容,这使得它比其它一些搜索程序更具有优势。

5.4.2百货购lucene数据目录存放结构

A以百货购分类创建目录

如图:

B:

百货购索引数据存放

1一个商品以一个document存放到对应分类目录下面

2商品存储结构:

a一个文档对应字段数据:

商品id,商品名字,商品品牌,商品关键字等数据….

b对于商品存于多分类,将对每个分类下面存放一个当前商品document

c对应存在变形产品的商品,以一个doucument记录,document存放数据以变形产品规格组合为key,值为变形产品id,存放,以做按规格搜索

5.4.3百货购搜索框智能提示

1每天记录用户搜索框搜索关键字

2进行日志分析,将每天用户搜索关键字,进行分析,存入数据库

3对应数据库存在相同或者相似的关键字,不在记录,将其搜索次数加1,作为搜索优先

5.4.4二级页面搜索

1搜索商品对应分类和查询条件

a搜索出来的商品,获取前面n个商品对应分类,展示

b搜索出来的产品,获取前面n个商品对应的规格,作为搜索条件

5.4.5搜索准确度

1为搜索产品自定义评分规则,在lucene搜索出来的评分里面,进行拦截处理,加入自定义评分规

则,提高搜索出来产品相关度,准确度

2加入同义词分析,找出对应分词的同义词进行搜索

5.4.6搜索速度优化

1将搜索MultiReader,进行缓存,当内容改变是,进行刷新缓存

2分类搜索时获取对应目录的IndexReader,进行缓存,改变是刷新缓存

5.4.7索引同步

后台底对产品进行更新或者下架,调用同步索引接口,进行相应同步和更新

5.5内容(陈志达)

5.5.1基本概述

OFBiz的内容管理系统非常强大。

内容管理应用程序主要包括:

调查,论坛,博客,内容,数据资源,模板和内容管理系统。

百货购网站()的所有广告位管理就是基于OFBiz后台操作。

对应不同的广告内容,我们需要创建不同的文件夹对相关的内容进行保存以及管理。

我们可以通过SQL语句对文件进行初始化,亦可以通过OFBiz后台手动进行创建。

内容主要分为:

长文本,短文本,网址资源,图像,视频,音频以及其他。

百货购网站首页跑马灯就是通过创建图像进行上传图片,首页对应的通告就是通过新建长文本进行添加。

5.5.2新建跑马灯以及修改跑马灯

首先,我们来到OFBiz内容管理的菜单栏:

他的菜单栏比较多,目前我们网站的内容主要是网站和内容以及内容管理系统,至于论坛和博客的管

理,将会在以后的百货购社区和博客中体现。

现在主要是说说有关新建网站,在这个新建网站的下面添加内容以及后台操作对内容的管理。

在后台我新建了www(百货购),主站的所有内容都在这个站点下面进行管理:

找到内容管理系统,点击打开:

进入我们我们新建站点的内容管理系统下面的菜单条目:

这个站点下面目前主要有五个菜单条,我们可以通过下面的添加菜单添加的菜单条目。

接着我们对菜单栏下面的条目进行编辑,选择菜单,然后打开:

选中首页跑马灯,单击鼠标右键:

这里有七个栏目,我们常用的是新建长文本,新建短文本和新建图像。

这里我们为首页添加跑马灯,所以我们选择新建图像,点击进入:

新添加一个首页跑马灯,给这个跑马灯取一个名字。

添加跑马灯要注意几点:

1.跑马灯链接到哪里,2.跑马灯显示顺序,3.跑马灯的状态。

这样我们就添加了一个简单的首页跑马灯,现在我们去§查看我们添加的跑马灯:

这样我们一个简单的添加跑马灯操作就完成了。

5.5.3添加长文本

这是一个在OFBiz后台新建的长文本内容,对应在网站百货购显示:

到这里,我们在OFBiz后台新建网站,为添加跑马灯和通告内容的操作,以及在网站对应位置显示就基本完成了。

至于OFBiz后台对博客和论坛的操作以及管理,后面我们继续更新最新相关的内容操作文档。

5.6货运(柏华哥)

5.7自有业务扩展(柏华哥)

5.8类目

5.8.1类目的层次结构

在类目管理中,分类是由目录统一管理,首先由建立目录,然后建立浏览根分类与目录关联,在实际网站中,浏览根分类是不作显示用途的,在浏览根分类下关联着一级分类,依次类推.

5.8.2类目的类型

每一个目录下都可以包括多个分类项。

根据用途的不同分类的方式也不同。

系统设置了多种分类方式

:

每个分类下面还可以有子类。

当上级分类的类型为“浏览根”时,网店页面上显示它所有的下级子类,点击下级子类,即可以查看这些子类里的商品了。

在这种情况下,对“非促销商品的浏览了”。

如果一个目录包括一个“促销”分类一个和“浏览根”分类,在“浏览根”下面又有多个子类,这时就可以实现显示多种分类商品了,如:

促销的商品,男式西服等。

注:

类型说明引用自网事蒙尘

5.8.3类目发布

新建目录:

在目录选项下选择目录模块新建目录

新建分类:

在目录选项下选择分类模块下新建分类

分类关联目录:

选择新建好的分类或已有分类,在目录子模块下关联存在的目录,并设置目录类型为浏览根

分类关联子分类(汇总):

选择新建好的分类或已有分类,在汇总子模块下关联存在的上级或下级分类

5.9商品

5.9.1类目与商品关联

商品在网站上进行展示并销售,首先要与网站上的分类相关联,在实际的业务中,商品常关联在最底层的分类上。

一个分类下可以关联多个商品,一个商品也能同时关联在多个分类下。

5.9.2商品的常用类型

在OFBiz与实际业务结合中,常使用到的商品类型有,成品(即普通商品),虚拟产品与变形产品(具有某些特征的商品,如:

衣服鞋子),配置产品(通过组合销售的产品,如电脑由主机与配件等组合形成的产品)

5.9.3商品发布

虚拟产品新增:

1、在目录菜单下选择产品选项新增虚拟产品信息

2、虚拟产品关联特征

在新建的产品子选项中选取特征

虚拟产品关联分类:

在虚拟产品的子选项选择分类

变形产品的新增:

1、新增变形产品信息

同虚拟产品新建相同,勾选变形产品

、新增变形产品价格

在新增的变形产品子选项中选取价格

注:

标价===市场价缺省价格===会员价

3、变形产品关联虚拟产品

在变形产品的子选项选择关联

4、变形产品新增具体特征

同虚拟产品新增特征步骤相同,但变形产品的特征只能是与之关联的虚拟产品特征中的特征之一,并且特征应用类型为标准

5、变形产品关联供货商

在子选项中选择供货商

6、变形产品关联仓库

在子选项中选择场所

7、变形产品入库

在子选项中选取库存

选择变形产品所在的仓库接收库存

自动获取产品ID,进入接收明细接收产品

配置产品新增:

与虚拟产品新增步骤相同,在产品类型处选择可配置产品

配置产品新增配置:

在子选项中选取配置

配置项关联组件产品

1、通过可配置产品关联的配置进入,选取配置选项

2、选择配置选项,添加组件产品

5.10数据迁移

5.10.1背景

百货购1.0是基于SQLServer数据库开发的一套网站,而2.0则是用java语言基于

PostgreSQL数据库开发的,是两套完全不同的系统。

但是百货购1.0中的数据对于新系统则很重要,因此面临一个从SQLServer向PostgreSQL迁移数据的问题。

5.10.2思路

由于百货购2.0使用的是OFBiz的自有数据库,数据结构跟百货购1.0完全不同,所以想要通过其他第三方的工具等方式来完成是不可能的。

因此,选择性的迁移部分最重要的数据以及保证数据的完整性,在迁移之前就需要考虑好。

本次数据迁移的基本思路:

熟悉SQLServer数据结构,确定需要迁移数据,确定表以及字段。

熟悉OFBiz数据结构,确定数据存放的表以及字段,也就是两个数据库之间的对应关系。

确定数据对应关系后,迁移数据,2.0系统数据补充。

数据确认、测试、修复。

5.10.3迁移方式

使用OFBiz后台WEB工具导入XML数据。

使用OFBiz的XML工具是此次数据迁移的主要方式。

优点:

迁移的可视化好,错误提示信息详细,自动的事务控制。

缺点:

导入过程慢,制作XML数据源麻烦,XML文件不能过大,必须分块导入。

sql语句导入。

优点:

适合处理一些特殊情况的数据

缺点:

无事务控制,不能进行整体的数据迁入

DBCP连接池自动化读取导入。

优点:

一边读SQLServer,一边存入PostgreSQL,自动化非常高

缺点:

需要自己写好事务控制,整站迁移不是很灵活,错误机制也较弱。

6难点

自有业务的整合

订单业务

7TODO

∙POS系统,完全实现线上线下的无缝整合∙供货商自主上货

∙个性化推荐

∙财务深度对接

∙供应链初始整合

∙OFBiz云系统

8参考文档

http:

//OFBiz.apache.org

http:

//OFBiz.apache.org/documentation.htmlhttp:

//en.wikipedia.org/wiki/Apache_OFBizApacheOFBizE-BusinessSolutions

数据模型资源手册卷1,卷2(林友芳)

8.1.1.1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1