实际情况不是这样,框框自己并不送货
等等,在我们实际的生活中,电商们并不自己送货,他们将这部分工作外包给了物流公司。是的,从成本的角度考虑,外包送货是最合适的选择。实际上,整个订单从提交到最后的完成情况还要稍微复杂一些,如下图所示:
从图中我们可以看出,这个流程跨越了两家公司,同时也涉及到了三个系统的集成,这三个系统分别是框框网的前台网站、框框网的后台负责仓储、进出货和物流的ERP系统以及外包物流公司的ERP系统。三个系统各自有自己的处理流程,整个订单的端到端处理流程由这三个系统的三个流程所共同完成:当我们在框框网提交订单时,一个消息被发送到框框的后台ERP系统,这个消息触发一个货物的出库流程,当货物打包完毕出库时,一个消息被发送到物流公司的ERP系统,同时触发物流公司的包裹配送流程,当我们给物流公司的配送员付款完毕时,对我们顾客来说框框的购物流程已经结束,然而整个流程依旧还要继续,配送员回到公司完款,一个消息被发送回框框的后台ERP,物流公司的包裹配送流程结束,框框网的这个订单这才处理完成。
在本文的一开始,我们提到了那个糟糕的退货故事,问题就在于当订单交由物流公司进行货物配送时,我们包括框框失去了对配送流程的可视化,物流公司的处理情况在我们的流程中黑盒了。如何解决这部分的问题呢,有两种处理方法:一是在框框网订单处理流程中加入捕获事件,正如图中所示的,当框框后台ERP和物流公司ERP对订单进行处理时,每到一个任务节点就给框框网的订单处理流程发送消息,由此给我们标示出订单的实时状态。
现在,让我们来看看自己的订单会得到什么数据呢,GET
http://api.kuangkuang.com/order/1000?框框网前台网站返回数据:
<order>
<link rel="detail" media-type="application/xml" url="http://api.kuangkuang.com/order/1000"/>
<content>
<id>1000</id>
<cost>88.0</cost>
<state>waiting send</state>
<history>
<activity rel="submit" time="2011-6-28 14:00" participant="ronghao"/>
<activity rel="review" time="2011-6-28 14:30" participant="xinpeng"/>
<activity rel="delivery package" time="2011-6-28 15:00" participant="haorong"/>
<activity rel="warehouse" time="2011-6-28 17:00" participant="pengxin"/>
</history>
</content>
</order>
订单状态为等待物流公司送货,注意到这段数据:
<history>
<activity rel="submit" time="2011-6-28 14:00" participant="ronghao"/>
<activity rel="review" time="2011-6-28 14:30" participant="xinpeng"/>
<activity rel="delivery package" time="2011-6-28 15:00" participant="haorong"/>
<activity rel="warehouse" time="2011-6-28 17:00" participant="pengxin"/>
</history>
工作流加入了订单处理的历史信息,从这段信息可以看出,我们要明天上午才能收到自己的货物了。
很不错不是吗,但是现实情况又是怎样呢。我们先来看看当当,当当如是说:订单状态变为“已发货”后,您可以登录“我的订单”,点击订单号进入订单详情页查看快递公司的联系方式,用订单号查询即可。我们再来看看卓越,卓越如是说:宅急送配送的订单:登录宅急送网站或拨打020-82252310-802查询;港中能达配送的订单:登录港中能达网站或拨打020-86443920查询。也就是说物流公司的配送流程状态并没有集成到网站中来,如下图所示:
为什么没有集成呢?第一是物流公司的客户往往不止框框一家,第二是框框往往不会选择一家物流公司,这些都给系统集成带来了难度,我们会突然发现需要太多的集成点,调试、系统之间的约定,这些都需要大量的工作和成本。
既然第一种使得我们即时查看我们订单状态成本太大,那我们看看第二种方法:使用一个统一的流程管理系统来管理整个端到端的流程。下篇见。
- 大小: 90.6 KB
- 大小: 88.4 KB
- 大小: 86.8 KB
分享到:
相关推荐
赠送原API文档:elasticsearch-rest-high-level-client-6.8.3-javadoc.jar; 赠送源代码:elasticsearch-rest-high-level-client-6.8.3-sources.jar; 赠送Maven依赖信息文件:elasticsearch-rest-high-level-client...
赠送原API文档:elasticsearch-rest-client-6.8.3-javadoc.jar; 赠送源代码:elasticsearch-rest-client-6.8.3-sources.jar; 赠送Maven依赖信息文件:elasticsearch-rest-client-6.8.3.pom; 包含翻译后的API文档...
赠送原API文档:elasticsearch-rest-high-level-client-6.8.3-javadoc.jar; 赠送源代码:elasticsearch-rest-high-level-client-6.8.3-sources.jar; 赠送Maven依赖信息文件:elasticsearch-rest-high-level-client...
Atlas-rest-Api接口文档 官网地址http://atlas.apache.org/api/v2/index.html
Dell-Storage-REST-API,Dell-Storage-REST-API,Dell-Storage-REST-API,Dell-Storage-REST-API
赠送原API文档:elasticsearch-rest-client-6.2.3-javadoc.jar; 赠送源代码:elasticsearch-rest-client-6.2.3-sources.jar; 赠送Maven依赖信息文件:elasticsearch-rest-client-6.2.3.pom; 包含翻译后的API文档...
赠送原API文档:activiti-common-rest-5.21.0-javadoc.jar; 赠送源代码:activiti-common-rest-5.21.0-sources.jar; 赠送Maven依赖信息文件:activiti-common-rest-5.21.0.pom; 包含翻译后的API文档:activiti-...
icontrol-rest-api-user-guide-13-0-0.pdf
azure-rest-api-specs, 微软Azure的REST API 规范源代码 Azure REST API 规范描述这个存储库是微软Azure的REST API 规范的规范源。新闻在假期期间,我们将对 Azure REST API 规范知识库进行一些改进:我们将停止合并...
赠送原API文档:elasticsearch-rest-client-6.3.0-javadoc.jar; 赠送源代码:elasticsearch-rest-client-6.3.0-sources.jar; 赠送Maven依赖信息文件:elasticsearch-rest-client-6.3.0.pom; 包含翻译后的API文档...
chromecj.com-Restlet-Client-REST-API-Testing_v2.8.0.1非常实用的谷歌插件
赠送原API文档:elasticsearch-rest-client-6.3.0-javadoc.jar; 赠送源代码:elasticsearch-rest-client-6.3.0-sources.jar; 赠送Maven依赖信息文件:elasticsearch-rest-client-6.3.0.pom; 包含翻译后的API文档...
ASA restapi文件
赠送原API文档:elasticsearch-rest-client-6.8.3-javadoc.jar; 赠送源代码:elasticsearch-rest-client-6.8.3-sources.jar; 赠送Maven依赖信息文件:elasticsearch-rest-client-6.8.3.pom; 包含翻译后的API文档...
DHC-REST-HTTP-API-Client(chrome插件),进入chrmoe插件开发模式,拖动进去便可自动安装。
chromecj.com-Restlet-Client-REST-API-Testing_v2.8.0.1.crx
flask-rest-jsonapi, Flask 扩展,围绕 JSONAPI 1.0规范构建 REST api Flask-REST-JSONAPIFlask-REST-JSONAPI是用于构建 REST api的Flask 扩展。 它结合了 restless restless 和灵活的烧瓶的灵活性,围绕一个强有力...
Laravel开发-laravel-rest-api 向项目中添加RESTAPI的简单方法
JUNOS 14.2版本开始支持REST API功能,REST API功能通常配合应用程序开发来使用,在没有应用程序配合时,往往无法直观的进行JUNOS REST API功能演示。另外,在进行REST API开发时,开发人员需要简明的示例作为参考,...
Api-REST-API.zip,了解如何使用python、django和django rest framework.rest-api构建自己的restapi,一个api可以被认为是多个软件设备之间通信的指导手册。例如,api可用于web应用程序之间的数据库通信。通过提取实现...