APP下载

基于微服务的衍生品销售管理平台设计方案*

2017-09-30陈聪敏陈晨

电信工程技术与标准化 2017年9期
关键词:衍生品架构渠道

陈聪敏, 陈晨

(咪咕动漫有限公司,厦门 361008)

基于微服务的衍生品销售管理平台设计方案*

陈聪敏, 陈晨

(咪咕动漫有限公司,厦门 361008)

本文结合微服务架构的优点设计一套具备支撑线上电商、线下厅店和渠道销售场景的销售管理系统,提供统一的销售后端服务,满足不同渠道运营诉求,有效提高各渠道销售能力。

衍生品;销售管理;微服务

1 引言

1.1 背景

目前咪咕文化科技有限公司(以下简称“咪咕文化”)旗下五大子公司拥有大量的销售资源,但各子公司的商品完全独自运营推广,没有对资源进行销售聚合和整合,无法形成联动优势,优势资源无法形成整体化营销,需要通过进一步的商品整合,提升在商品竞争力的同时,最大化资源利用,提升销量和销售成功率。

此外,销售渠道是产业链关键环节,咪咕文化目前销售完全依托于自有合作渠道或第三方渠道,缺乏自己可控的销售渠道资源,该种形式导致用户触点的丢失,无法直触市场需求,无法形成有效的市场分析;以及渠道资源无法进行集中整合和优化,共享。缺乏相关的数据基础,无法判断出真实痛点,创造有效的品牌宣传优势,提升品牌价值。

另外,第三方合作渠道是咪咕销售渠道的重要组成部分,咪咕文化需要建立一套统一的能力平台既能支撑第三渠道各种业务模式,又能实现第三方渠道的快速接入,最大化的提升第三方渠道的销售效率,同时实现统一管理、规划化管理,提升渠道管控能力。

1.2 目标

咪咕文化期望构建前后端一体的衍生品交易及销售管理平台,通过聚合咪咕全品类商品,整合销售管理能力,支撑线上电商、线下厅店和渠道等多种销售场景,解决目前销售管理中存在的问题痛点,并构建起能符合未来互联网模式形态的销售管理信息化体系和基础。

1.3 微服务架构

微服务架构是一种非常灵活、开放的架构。基本思想在于考虑围绕着业务领域组件来创建应用,这些就应用可独立地进行开发、管理和加速。在分散的组件中使用微服务云架构和平台使部署、管理和服务功能交付变得更加简单[1]。在微服务架构中,一个应用是由多个小的、相互独立的、微服务组成,这些服务运行在自己的进程中,开发和发布都没有依赖[2]。相比传统单块架构,微服务架构具备轻量、开放、松耦合、易迁移、易伸缩、容错性等特点,且微服务架构有许多特有优点。

(1) 首先,微服务架构模式针对很难进行单体式编码的应用提供了模块化的解决方案,将单体式应用分解成为多个可管理的微服务。每个微服务都有一个用RPC-或者消息驱动API定义清楚的边界。

(2) 其次,微服务架构模式下每个微服务都可以进行独立部署,不再需要考虑其它服务的部署会对本服务产生影响,能够实现部署速度加快。

(3) 再者,微服务架构模式下每个微服务都可以进行独立扩展,能够根据每个服务的规模来部署以满足需求的规模。

1.4 REST风格架构

REST(Representational State Transfer) 是 一种轻量级的Web Service架构风格,是目前互联网技术架构中被广泛应用和认可的新型架构风格,其实现和操作明显比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能、效率和易用性上都优于SOAP协议[3]。

REST架构遵循CRUD原则,即完成对资源操作和处理只需要4种行为:创建、读取、更新和删除。通过这4个无法再分的操作就能够构造复杂的操作过程。

REST架构是针对Web应用而设计的,REST风格的状态与特性无关,确保系统的横向拓展能力;其次,REST风格的超文本驱动,确保系统的演化能力;再者,对资源相关的模型建立统一的原语,保证了系统具备接纳多样而又标准的客户端能力。REST风格设计可以降低开发的复杂性,并且能极大提高系统的可伸缩性。

2 平台需求分析

2.1 业务需求分析

咪咕文化要聚合咪咕全品类衍生商品,实现统一管理和进行不同场景销售。咪咕衍生品现有销售场景主要包括线上自有电商和第三方电商(移动积分商城、京东、天猫等)、线下咪咕厅店和经销商渠道独立销售,也包括线上线下组合销售,如客户进入咪咕厅店进行体验,引导客户先体验智能设备,然后进行线上线下商品销售,实现用户线下选购或线上下单,可线下立即取货或现场寄送到家,提供完善的售后服务。不同场景的客户下单后,根据订单货品数量和库存数量判断订单流转,若订单货品数量小于现有库存数量则订单流转至仓库管理员进行发货操作,若订单货品数量大于现有库存数量则订单流转至采购管理员发起采购流程,由供应商发货配。衍生品销售业务流程如图1所示。

2.2 功能需求分析

根据业务需求,衍生品交易及销售管理平台需要建立起线上销售,线下销售与服务,以及线上线下渠道推广管理三套完整的管理体系,且实现三套体系进行互补和融合,形成从渠道推广,线上线下完整闭环的销售管理体系;线上与线下的互联,打通O2O的生态互补和相互引流,线上与渠道推广的打通,线下与渠道推广的互通,从而实现为线上销售,线下服务的互融引流。

2.3 非功能需求分析

2.3.1 可用性

采用成熟技术,采用切实可行的解决方案,尽可能用简单、统一、易用的方式来实现功能,避免追求片面的功能多样性。不求大求全,只求更专业化。

图1 衍生品销售业务流程图

2.3.2 安全性

平台应保证各个系统的安全性。安全性包括:内容的安全性、管理系统的安全性、传输的安全性等。系统应具有基本的防病毒能力、防DoS攻击能力、具有安全预警能力。

2.3.3 可扩展性

在设计、功能上尽可能留有接口,便于功能的进一步扩展,以及方便平台维护、修改、衔接以及增加新的功能。

2.3.4 可维护性

平台应具有简单、方便的维护和管理手段,尽量减少维护和管理环节。

3 平台总体设计

3.1 平台功能结构

结合平台功能需求,衍生品交易及销售管理平台设计采购管理、商品管理、库存管理、厅店管理、电商管理、经销商管理、供应商管理、运营报表管理和用户管理等模块。平台总体功能方案如图2所示。

3.2 平台整体架构

3.2.1 微服务架构设计

衍生品交易及销售管理平台为了满足不同销售形态、不同渠道运营的诉求,实现松耦合、服务的平滑切换、系统的模块化、容错性,高可靠性,搭建了微服务架构,采用Zookeeper来实现服务的注册及发现,Dubbo服务框架实现服务的发布及管理。衍生品交易及销售管理平台分为前端收银系统,后台管理系统,都通过微服务架构调用子服务。子服务包括:厅店服务节点(厅店收银系统的操作服务)、电商服务(电商产品与进销存产品的同步,订单同步,自提功能等)、库存服务节点(涉及到平台库存的所有操作)、 文件服务节点(平台文件,图片上传显示等)、 报表服务节点(平台所有报表操作服务)、采购服务节点(平台的所有采购操作)。衍生品交易及销售管理平台微服务架构设计方案如图3所示。

图2 平台总体功能方案图

图3 平台微服务架构设计方案

3.2.2 基于 REST 的 Web Service

衍生品交易及销售管理平台主要采用REST架构风格来实现Web Service,实现不同系统之间,特别是异构系统之间的调用。具体体现在:

(1) 衍生品交易及销售管理平台后台页面通过ExtJs实现界面展示,用Spring mvc实现REST风格的Web Service,前端通过Ajax调用后台Web服务,获取JSON格式的数据进行页面渲染。

(2) 衍生品交易及销售管理平台对外提供接口,根据不同的接入方提供不同的内外网访问权限。这些接口通过Spring mvc实现,提供接口给接入方访问并取得JSON格式的数据,或提供回调地址让接入方回调。

4 平台功能模块设计

4.1 采购管理

采购管理主要有采购订单发起与审批功能。

(1)采购订单发起:根据采购需求在采购目录勾选采购商品或者新增所需采购商品,支持单个商品发起采购和多个商品批量采购。

(2) 采购订单审批:具备采购订单修改、通过和驳回功能。

4.2 商品管理

商品管理包含商品类目、商品信息和商品销售发布的管理。

(1)商品类目管理:管理所有平台销售的商品类目数据,包括商品类目查询、类目新增、类目删除和类目修改等操作功能。

(2)商品信息管理:录入所有商品信息数据,管理商品进价,包含商品新增、编辑、查询操作功能。商品信息包括商品名称、商品编码、商品分类、库存数量、IP、规格、商品图片、成本价、出厂价、零售价等基础信息。

(3)商品销售发布管理:主要实现对商品进行二次批价、零售价和商品上下架处理。

4.3 库存管理

根据前端业务场景将仓库管理划分一级总仓和厅店、电商和经销商3个二级仓,二级仓之间可以通过调拨满足供需。整个仓库管理包括库存查询、入库管理、出库管理、调拨管理、盘库管理和报损管理功能。

(1) 库存查询:库存查询可以查看总仓和各个二级仓的库存情况、调拨情况。

(2)入库管理:入库管理包括采购入库、调拨入库、无订单入库和盘盈四种情况管理。

(3)出库管理:出库管理包括销售出库、调拨出库、无订单出库、盘亏和报损5种情况管理。

(4)调拨管理:调拨管理包括总仓与二级仓以及二级仓之间调拨。

(5)盘库管理:盘库管理指定期仓库盘点数据管理,包括正常、盘盈和盘亏3种情况,系统做相应记录。

(6)报损管理:通过新增报损单对商品入库或盘点时候发现的丢失损坏做记录。

4.4 厅店管理

厅店管理主要包括前端厅店收银系统,具备厅店信息管理、商品管理、订单管理、O2O管理(电商自提)和收银功能。

(1)厅店信息管理:主要管理厅店的基本信息和厅店固定资产信息。

(2)商品管理:管理厅店的所有商品信息,如在售商品、待售商品及商品的库存信息,并支持发起补货申请功能。

(3)订单管理:管理销售订单的创建和查询。

(4)O2O管理(电商自提):用户在线上电商下单时选择厅店自提,前端厅店收银系统支持提货券码进行校验、提货。

(5) 收银功能:支持微信、支付宝、银联和券4种支付方式。

4.5 电商管理

电商管理包括电商渠道管理、订单管理和商品管理功能。

(1) 电商渠道管理:管理自有电商和第三方电商信息。

(2)订单管理:支持自有电商订单的创建、查询和第三方电商订单通过接口将同步。其中,自有电商订单支持线上下单线下取货。

(3)商品管理:管理所有电商商品销售价、上下架及库存情况。

4.6 经销商、供应商及其他管理

经销商管理包括经销商信息管理和订单管理;供应商管理主要对供应商信息及合作情况进行管理;运营报表主要包括采购报表、商品销售报表和商品出入库报表,支持多字段查询功能;用户角色包括采购人员、仓库管理员、供应商管理员等角色,用户管理是所有用户角色和相应帐号权限设置管理,包括角色和帐号创建、删除、修改等操作功能。

5 平台架构设计

衍生品交易及销售管理平台根据业务形式,数据流拆分采用分层结构:表现层、接口交互层、基础服务层、应用逻辑层、 数据访问层及中间件、数据存储层、基础框架层。平台架构设计方案如图4所示。

图4 平台架构设计方案图

5.1 表现层

表现层主要实现方式有HTML5、PHP 、Extjs、JSP、厅店终端等。H5前端使用Javascript、HTML5、PHP开发,使用多种Javascript框架技术如:Jquery、Bootstrap等。衍生品交易及销售管理平台后端管理系统页面及报表展示系统使用Extjs开发,结合ajax技术,实现页面的快速展现。

5.2 接口交互层

接口交互层分为以PHP开发的接口和Java开发的接口,PHP使用LNMP架构(Linux+Nginx+Mysql+PHP),以JSON格式为表现层提供数据,同时和后台Java系统实现接口的交互。Java系统以Restful风格来实现接口的轻量级调用,接受JSON格式的数据输入及输出、同时在内部各个子模块之间采用微服务架构,实现服务的高可靠性、容错、服务自理等。微服务架构使用Zookeeper注册中心,用dubbo暴露接口服务,以此来实现服务的均衡、容错、自理,服务之间互不影响,实现平滑启动和关闭。

5.3 基础服务层

基础服务层主要有短信业务逻辑、邮件逻辑、SSL及FTP文件传输(如JSCH) 、消息(如Active MQ)、认证授权(使用自主开发的CAM服务), 定时任务(如Spring Schedule、Quartz等),图片服务处理(如FastDFS)。

5.4 应用逻辑层

应用逻辑层调用各方的提供的外部接口,通过http协议实现接口交互,一般采用json或xml格式的数据。

5.5 数据访问层

数据访问层采用Mybatis框架实现对数据库的封装、映射、持久化操作等,简化开发过程,提高开发效率。中间件主要有Nginx、Appache、Tomcat。利用Nginx的反向代理机制实现软件的负载均衡,同时提供图片的缓存,利用它的高并发性,提高页面的访问能力,减轻应用服务器的负担。

5.6 数据存储层

数据存储层主要采用Mysql,它使用的核心线程是完全多线程,支持多处理器,可以工作在不同的平台上。支持C、C++、Java、Perl、PHP、Python和TCL API。其体积小、速度快、总体拥有成本低。

5.7 基础框架

基础框架组件包括: Spring MVC、 ThinkPHP、Redis、Log4j。其中,Spring 框架提供了构建 Web应用程序的全功能 MVC 模块,并且通过策略接口,使Spring 框架具备高度可配置的特点;Redis缓存可以实现session的共享,与tomcat等其他中间件一起使用,并提供数据缓存,提供服务器性能。

6 结论及未来工作

本文设计衍生品交易及销售管理平台,利用微服务架构的开放、松耦合、易迁移、易伸缩、容错性等优点,建设采购管理、商品管理、库存管理、厅店管理、电商管理、经销商管理、供应商管理、运营报表管理和用户管理等功能模块,支撑前端线上电商销售、线下厅店和渠道销售需求,实现连接线下咪咕驿站和线上电商商城,形成线上线下、前端后端的聚合分发能力,实现电子渠道销售能力,衍生品供货能力和销售能力,解决了销售能力分散的问题,打造全渠道完整闭环的销售管理体系。

[1] Kasun Indrasiri .Microservices in Practice: From Architecture to Deployment[DB/CD]. Frank Qin译. segmentfault. https://segmentfault.com/a/1190000004634172 .201603-18/2017-08-17.

[2] 李昂. REST架构工作流中间件设计与实现[J]. 计算机工程与设计. 2012,33(9):3455-3459.

[3] Jon Oltsik. 安全架构的优势[J]. 微电脑世界,2012(4):25-28.

[4] 刘华敏. 李玉. 进销存管理系统的设计与实现[J]. 电脑知识与技术, 2008,4(32):1140-1143.

Design scheme of derivative sales management platform based on micro service

CHEN Cong-min, CHEN Chen
(Migu Comic Co., Ltd., Xiamen 361008, China)

This paper combines the advantages of micro service architecture to design a sales management system with electronic trade online support, off line sales store and channel sales, providing a unified sales back-end services, which can meet various demands of channel operations, thus effectively improve the ability of sales channels.

derivatives; sales management; micro services

TN915

A

1008-5599(2017)09-0022-06

2017-08-25

* 中国移动集团级一类科技创新成果,原成果名称为《咪咕文化衍生品交易及销售管理平台 》。

猜你喜欢

衍生品架构渠道
基于FPGA的RNN硬件加速架构
聚焦“五个一” 打通为侨服务渠道
功能架构在电子电气架构开发中的应用和实践
给漫威、DC做衍生品一天赚1485万元 Funko是怎么做到的?
祛魅金融衍生品
大健康催生眼健康衍生品市场的繁荣
衍生品
WebGIS架构下的地理信息系统构建研究
一种基于FPGA+ARM架构的μPMU实现
渠道