SaaS 电商设计 (二) 全链路解决方案概述和核心业务流程梳理

一.业务目标&技术目标

业务目标:完成多业态,多渠道的数字化运营
自有业务: O2O,B2C,B2B2C,S2B2b
平台业务:POPB2c,POPB2b,POPS2B2b

1.1 自有业务

    O2O:全称Online to Offline.泛指的线上线下的业务融合.这种的情况分为两种情况,第一种通过线上的数字化运营引导线上用户线下消费;第二种通过线下的运营推广,引导用户线上消费.我们常见的比较多就是美团外卖.淘票票等.我们通过线上的APP进行外卖点单,电影院线上购票.线下进行外卖自提或者配送.电影票核销等.
第二种情况我们并不多见,能想到的就是我们往年见的比较多的地推.通过线下运营广告推广,用户进行扫码线上购物消费.

    O2O的相比之前我们纯线下门店的购买行为,最大的特点我理解是可以利用目前可见的一些数字化运营方式提供用户更为精准的运营和营销.这是线下门店线下行为难以做到的原因.还有一点是O2O的模式客户拓展相比之前线下的夫妻老婆店,流量相对来说更能够突破地域的限制.

    B2C:全称(Business-to-Customer)电商模式是指企业直接面向消费者销售产品或服务的电子商务模式。相比之前的传统模式,企业能够通过线上的数字化平台快速的将商品面向消费者,解决传统销售链路中的中间商(供应商,分销商,代理商等等)的过多问题.这样在整个销售链路缩短整体的供应链环节,能够以更有吸引力的销售价格吸引用户.同样在O2O的模式过程中的数字化能力也会在B2C的模式中得到体现.

常见模式举例:天猫是中国的一个B2C电商平台,其中的非自营的店铺商家消费者可以通过支付宝等电子支付方式,在天猫上购买商品,并通过快递配送收到商品。这里的非自营店铺商家在这里充当就是Business的角色.

    B2B2C:全称为 (Business-to-Business-to-Customer) 指的是企业通过与其他小型的企业进行合作,通过分销,代理,夫妻老婆店等零售模式来将产品推向消费者.这里相比上面的B2C模式,在整个产品供应链的环节中间插入了小B的企业.那这种模式对于产品的直接生产商大B来说产品的对接客户目标从原有的广泛的 toC 客户变成了 小B 企业,整个对接的成本在某种意义上成本降低,效率提升.

常见模式举例:拼多多是一家典型的B2B2C电商平台,平台通过与供应商合作,提供低价商品给消费者。它通过社交分享和团购模式吸引消费者,并与供应商合作提供优质产品。

    S2B2B:全称为(Supplier-to-Business-to-Business) 指的是供应商(Supplier)与中间商(Broker)之间的电商模式。这里的中间商 (Broker) 常见的比如华北区域总代理 (first-level-businsess) ,天津总代理 (second-level-business) 。

以上是项目SaaS商城中的自有业务,最大的特点就是以上的业务开展都是围绕着一个业务主体来进行开展,所有的商户商家都是通过入驻的模式来进行toB,toC的业务销售.系统的模式上主要是 SaaS 的服务支持为主.但也不排除会有私有化的场景.

1.2 平台业务

    在介绍整个平台具体类型之前,有比较先了解平台业务和上面自有业务最大的区别.自有业务平台业务最大的区别在于可以支持客户平台级别的业务场景.这么说可能有一些抽象.举一个具体的例子自有业务相当于京东商城,商城可以支持自营业务同时也支持三方商家入驻.但这些业务基于都是一个平台来处理.不会有商家要求进驻京东商城后完成一个另一个平台的能力(具备商家三方入驻,自营业务).

    POP :全称为(Platform to Open ) 指的是平台开放计划,系统通过开放入驻的形式开放 c 商户入驻来开展c用户或者b用户销售. 销售的模式和上面相同.

1.3 技术系统目标

  • 系统交付目标:通过一套代码支持 SaaS 版本部署与私有化交付.
  • 架构目标:抽离领域能力与SOA.
    在这里插入图片描述

二.客户场景

客户目标:完成私有化建设能力,且支持 SaaS 化场景产品接入

二技术目标

三.整体架构图

3.1 业务功能示意图

在这里插入图片描述

整个 SaaS 商城的解决方案面向的客户群主体是 SaaS 场景的客户.

3.2 代码服务调用示意图总述

在这里插入图片描述

  • 总述
        使用 soa RPC 网关的形式透出 RPC 服务.如: soa-C,soa-B,soa-E,soa-PB 均为 war 包形式.内部的服务将通过子包的形式来进行聚合为war包,通过tomcat容器进行部署,最后统一交为 Spring 容器管理管控.
        在整个示意图的底部为整个解决方案系统所依赖的领域服务,是在整个产品迭代过程中逐渐被沉淀的领域资产,尽可能去遵循细粒度,原子化的原则去迭代.保证在产品交付过程中尽可能通过领域的原子化接口的编排和聚合做到不同的产品交付.所以这一层是尽可能的稳定且慎重的去增加接口服务,尽可能的标准化能力才会在这一层去落地.

  • soa © ,soa (B) ,soa (E) ,soa (PB) 到底是什么?
    soa © [soa (B) ,soa (E) ,soa (PB) 均为独立的代码仓库, package 后的形式为 war .整体的仓库代码用以维护整个项目 RPC 服务透出,消费;整个入口应用的日志打印;子包服务引用;代码不是很多.其他模块的结构也同理如下.示例代码具体结构如下:

  • 门店/库存/商品 soa submodule 是什么?
    代码维护角度:首先他也是一个独立的代码仓库,它的维护原则是跟随产品来去建的.实际开发过程中如:商品-soa-B,商品 soa-C 均在这个代码仓库中维护.只是不同的 module 来维护.独立 module 开发后,通过私服来管理打包发布为jar包的形式.最后通过公共的 soa-C,soa-B 网关来集成.具体结构如下:
    在这里插入图片描述

在商品的 soa 中通过不同的产品线约定了 price-b ,product-b ,product-pb,product-cmodule. 最后通过rc-app-ka-product-x-service 打包后的 jar 包完成集成.

哪些代码被放在 soa 层:首先它是在领域之上的利用领域服务或者领域服务编排交叉后的结果去交付的产品功能,或者是目前暂时不可以被沉淀的领域能力的业务代码.如商详属于商品模块,但是从整个服务流程上来讲商详内部调用了很多领域服务 (门店,库存,优惠卷,履约等) 并不属于商品模块.那么有同学又说了这也可以放在商品模块来做,不错确实可以通过基础设施层来做到二方服务的接口形式做到.但是接下来这个问题.在整个交付过程中不同的产品决定了商详的特定场景还是会跟着产品来走,例如: B2c,B2b 不同产品的商详是不同展示的.如果都通过基础领域服务的形式来开发,不可避免的会在底座的领域服务造成很多直接面向产品的代码,难以做到一套通用能力去交付每个产品,也增加了维护成本.如下则是我们最终在公共网关引入的 service jar 包.

 <dependency><groupId>com.x.rc.app.ka.product</groupId><artifactId>rc-app-ka-product-c-service</artifactId><version>2.1.0-pre-SNAPSHOT</version>
</dependency>
  • 门店/库存/商品 core module 是什么?
    首先这些 core module 代码是独立的仓库.在整个迭代过程中可以被标准化能力的代码沉淀.也就是我们常见在DDD开发过程中被提到的领域资产.这些代码维护我理解要遵循几个原则

    • 原子化

          尽可能细粒度的服务化

    • 领域边界内聚

          较少的去依赖三方,甚至二方接口.如果有尽量通过接口或者技术设施层来做到解耦

    • 脱离技术实现细节

            保证在领域服务开发中不会对技术实现产生依赖或者尽可能的少依赖.如* cache,mq* 等技术细节应该做到对实现不依赖,保证是在适配不同云产商产品对接过程中做到无缝切换.对于框架的依赖,这里个人觉得没必要做到完全解耦,比如说对于 spring 的依赖,对于 mybatis 的依赖,这些耳熟能详,基本覆盖**90%**的使用人群框架再去做到解耦,很可能会在成本控制上一去不复返.难以做到实际开发成本和效率的结合.如下具体商品仓库模式:
    在这里插入图片描述

四. 核心业务交互示意图

        选取了在整个 Pop 模式中相对比较核心的业务模块.帮助我们熟悉整个 Pop 模式的关键链路.包含主数据相关,黄流相关,售后相关.基本覆盖了整体的Pop模式的全流程.相信这一通下来基本上能有一个对于 Pop 的全貌.

4.1 商户入驻

        流程解读:对于Pop模式中平台和商户的合作的前置信息资质提交,资质审核.用来对于商户的售卖品类进行强管控.这个场景下也是相对于原有门店线下场景最大的不同,门店线下的收银场景更多的是线下商品的线上管理.

        通过商户入驻后商户在资质合同期内将在平台可以拥有对应类目的发品售卖权限,并且在合同期内将缴纳相应的平台费.

核心流程示意图:
在这里插入图片描述

核心步骤:

step1:完成商户信息创建
step2:完成店铺类目选择,信息选择
step3:审核通过后完成店铺类目资质录入

4.2 商品建品下发

        流程解读:完成 4.1 的商户店铺入驻后.相当于商户的店铺就可以拥有指定类目的商品创建能力

核心流程示意图:

在这里插入图片描述

4.3 商详

        流程解读:本次讨论的商详仅限 B2c 场景的商详场景

在这里插入图片描述

4.4 购物车

        流程概述:作为黄金流程中第二个重点的服务.购物车也承担了非常重要的位置.本次讨论的主要是B2c 业务下C端小程序的加车/改车/删车/查车的场景.这里仅提供了查车的流程示意

在这里插入图片描述

4.5 提单

在这里插入图片描述

5.总结

        至此简单的了从整个 SaaS 商城的业务产品的角度总结了一些概念上的内容,很多是自己个人的一些个人理解,欢迎一起交流讨论.业务流上从黄金流程的角度进行了一些图示.后续将持续在SaaS商城的主要环节进行详细介绍.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/150038.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

AutoGen - 多个Agent开发LLM应用的框架

文章目录 关于安装使用关于 Enable Next-Gen Large Language Model Applications 用多个Agent开发LLM应用的框架,这些agent可相互交流以解决任务。 官网:https://microsoft.github.io/autogen/github : http://github.com/microsoft/autogendiscord : https://discord.com/i…

Flink的处理函数——processFunction

目录 一、处理函数概述 二、Process函数分类——8个 &#xff08;1&#xff09;ProcessFunction &#xff08;2&#xff09;KeyedProcessFunction &#xff08;3&#xff09;ProcessWindowFunction &#xff08;4&#xff09;ProcessAllWindowFunction &#xff…

vue +element 批量删除

1.拿到当前勾选状态 在el-table里边去写 单选用第一个 多选用第二个 select"selectHandle" :当用户手动勾选数据行的 Checkbox 时触发的事件 select-all"selectHandle":当用户手动勾选全选 Checkbox 时触发的事件// 点击勾选选择器selectHandle(selection…

华为云云耀云服务器L实例评测|云耀云服务器L实例部署DjangoBlog个人博客系统

华为云云耀云服务器L实例评测&#xff5c;云耀云服务器L实例部署DjangoBlog个人博客系统 一、云耀云服务器L实例介绍1.1 云耀云服务器L实例简介1.2 云耀云服务器L实例特点 二、DjangoBlog介绍2.1 DjangoBlog介绍2.2 DjangoBlog特点 三、本次实践介绍3.1 本次实践简介3.2 本次环…

【2023双非保研】信管跨保计算机大类的记录(东南、川大、重大、东北、西电、南理工、杭高院、河海、东华、天大等)

以此篇博客记录我的保研之旅 目录 一、个人情况 二、夏令营 1、国科大杭高院&#xff08;线下&#xff09; 2、南信工&#xff08;线下&#xff09; 3、华中师范&#xff08;线上or线下&#xff09; 4、浙大软件&#xff08;线上&#xff09; 5、东华大学&#xff08;线…

哈希应用之位图

文章目录 1.位图概念2.面试题引入3.代码解决[配注释]4.位图应用4.1找到100亿个整数里只出现一次的整数4.2找两个分别有100亿个整数的文件的交集[只有1G内存]1.法一[使用于数据量<42亿]2.法二[适用于数据量大>42亿]3.在一个有100亿个int的文件中找到出现次数不超过2次的所…

假期AI新闻热点:亚运会Al技术亮点;微软GPT-4V论文精读;Perplexity推出pplx-api;DALL-E 3多渠道测评 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f525; 科技感拉满&#xff0c;第19届杭州亚运会中的Al技术亮点 八年筹备&#xff0c;杭州第19届亚运会开幕式于9月23日晚隆重举行&#xff0…

vue3中使用return语句返回this.$emit(),在同一行不执行,换行后才执行,好奇怪!

今天练习TodoList任务列表案例,该案例效果如图所示&#xff1a; 此案例除了根组件App.vue&#xff0c;还有TodoList、TodoInput、TodoButton三个子组件。 因为有视频讲解&#xff0c;在制作TodoList、TodoInput时很顺利&#xff0c;只是在完成TodoButton这个组件时出了点问题…

<二>Qt斗地主游戏开发:过场动画的实现

1. 过场动画效果 2. 思路分析 过场动画较为简单&#xff0c;只有一个进度条在进行滚动&#xff0c;因此实现起来不需要动画相关处理&#xff0c;仅需要图片和定时器设定&#xff0c;让进度条动起来即可。我们可以创建一个对话框&#xff0c;设定背景图片以及对话框透明无边框&a…

口袋参谋:如何有效地监测你的竞争对手!

​在淘宝天猫上开店&#xff0c;竞争是非常大的&#xff0c;那么就会出现许多同样的产品&#xff0c;如果想要在竞争中胜出&#xff0c;就需要多去研究同行的数据&#xff0c;知己知彼&#xff0c;百战百胜。 掌握竞争对手数据目的主要是有2个&#xff1a; 1、掌握对手是怎么起…

操作符 | C语言中操作符详解 | 操作符的优先级 | 移位操作法的使用方式

一、算术操作符&#xff1a;、-、*、/、% 算术操作符其实在平时生活中&#xff0c;也遇到很多&#xff0c;并且这五类操作符基本很常见&#xff0c;而他们的作用与数学所学习的功能是一样的。但是“/”除号操作符与“%”取模操作符有些不同。下面就以这两个的操作符为主要说起…

伟大不能被计划

假期清理书单&#xff0c;把这个书读完了&#xff0c;结果发现出奇的好&#xff0c;可以说是值得亲身去读的书&#xff0c;中间的一些论述提供了人工智能专业方面的视角来论证这这个通识观点&#xff0c;可信度很不错&#xff1b; 这篇blog也不是对书的总结&#xff0c;更多的是…

asp.net班级管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net班级管理系统 是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言开发 asp.net班级管理系统 二、功能介绍 1…

Pikachu靶场——目录遍历漏洞和敏感信息泄露

文章目录 1. 目录遍历漏洞1.1 源码分析1.2 漏洞防御 2. 敏感信息泄露2.1 漏洞防御 1. 目录遍历漏洞 漏洞描述 目录遍历漏洞发生在应用程序未能正确限制用户输入的情况下。攻击者可以利用这个漏洞&#xff0c;通过在请求中使用特殊的文件路径字符&#xff08;如 …/ 或 %2e%2e…

Electronjs入门-Electron中的主要模块

在本节中&#xff0c;我们将了解在Electron中创建任何应用程序时的一些基本模块&#xff1b;这些模块多种多样&#xff0c;使我们能够轻松地进行进程通信&#xff0c;创建操作系统的本地菜单。 为了利用Electron模块&#xff0c;以及任何第三方或Node模块&#xff0c;不仅在主流…

SSM - Springboot - MyBatis-Plus 全栈体系(二十一)

第四章 SpringMVC 四、RESTFUL 风格设计和实战 1. RESTFul 风格概述 1.1 RESTFul 风格简介 RESTful&#xff08;Representational State Transfer&#xff09;是一种软件架构风格&#xff0c;用于设计网络应用程序和服务之间的通信。它是一种基于标准 HTTP 方法的简单和轻量…

visual studio解决bug封装dll库

1.速度最大化 O2 2.设置输出目录 配置属性/常规/输出目录 链接器/常规/输出dll文件 链接器/调试/输出程序数据库pdb文件 链接器/高级/导入库 3.输出X86 X64分别对应的dll、lib、pdb 然后修改更新说明 更新说明格式如下&#xff1a; 4.将库提交到FTP每日更新库文档下 和测试交接…

[NISACTF 2022]hardsql - quine注入

题目描述&#xff1a;$password$_POST[passwd]; $sql"SELECT passwd FROM users WHERE usernamebilala and passwd$password;"; 从描述看出是quine注入&#xff0c;且用户名要是bilala 1、经测试&#xff0c;参数为&#xff1a;username&passwd&login登录&a…

36.骑士周游算法及其基于贪心算法的优化

概述 骑士周游算法&#xff0c;叫做“马踏棋盘算法”或许更加直观。在国际象棋8x8的棋盘中&#xff0c;马也是走“日字”进行移动&#xff0c;相应的产生了一个问题&#xff1a;“如果要求马 在每个方格只能进入一次&#xff0c;走遍全部的64个方格需要如何行进&#xff1f;”…

1147. 段式回文

链接&#xff1a; ​​​​​​1147. 段式回文 题解&#xff1a; class Solution { public:int longestDecomposition(string text) {MOD 1e9 7;if (text.size() < 0) {return 0;}// 初始化26的n次方的表pow26.resize(text.size());pow26[0] 1;for (int i 1; i < …