首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

整合微信小程序的Web API接口层的架构设计

来源:伍华聪

cnblogs.com/wuhuacong/p/7267333.html

例如:《C#开发微信门户及应用--微信各个项目模块的定义和相互关系》介绍了相关模块的划分。(http://www.cnblogs.com/wuhuacong/p/5595308.html)

(http://www.cnblogs.com/wuhuacong/p/7220794.html)

本篇随笔对之前介绍的架构内容进行统一的调整更新,以便更加方便实际项目的应用开发,以期达到统一、重用、清晰的目的。

1、公众号、企业号、小程序模块的划分

我们知道,目前微信企业应用,分为公众号、企业号(企业微信)、小程序三种应用模式,对于常规的开发来说,我们对每个模式的应用都分为了两个不同的部分,一个是和业务数据相关的数据管理、一个是和API接口相关的API管理,两者整合为一个完整的应用。

公众号、企业号(企业微信)、小程序三种应用模式的模块划分如下图所示。

业务数据管理模块,一般还需要调用API接口进行相关的处理操作,因此他们之间的项目引用关系如下所示

另外,这三种类型的API接口也公用了一些业务对象和实体类,因此把它们抽取出来作为公共项目模块,如这三类接口项目统一使用了一个公共实体类项目。

除了这些之外,我们做项目,一般还涉及到一些基础功能模块,如公用类库,以及附件管理、通讯录管理、权限管理模块等内容,我们可以把后者几个模块放在一起,组成基础模块。

随着基于JSON格式的Web API的广泛应用,越来越多的企业采用Web API接口服务层,作为统一接口的核心所在,也成为Web API核心层。

其他业务团队开发的系统只需要遵循整个大接口平台的统一规划,完成各自的功能需求即可,不会造成数据库的不一致,更不会让某家公司掌握核心的技术资源,尾大不掉的尴尬情形。

基于上面的分析,我们企业最终围绕着Web API核心层做了不同的业务应用,如下图所示。

再进一步详细各个模块的分层,我们可以细化为下面的架构设计图,所有模块均围绕着Web API 接口层进行扩展,底层的数据存储对上层的应用是完全透明,我们可以根据需要拆分各种业务数据库,以及使用我们认为合适的数据库。

微信的服务器架起了客户手机和开发者服务器的一个桥梁,通过消息的传递和响应,实现了与用户的交互操作,下面是它的消息流程图。

通过对这几类业务应用的模块分析,我们就可以建立相关的项目了,来分别对这些数据和API进行管理,如我们根据这些分类,在Visual Studio的项目管理中看到的项目如下所示。

其中由于我们这里的Web API 是一个统一的出口,因此会整合很多Web API控制器,以提供所有业务的接口,因此对Web API 控制器的管理就显得很重要,这里建议引入Area区域进行管理控制器类,这种各个模块就能够很好分门别类的进行管理了。

看完本文有收获?请转发分享给更多人

关注「DotNet」,提升.Net技能

淘口令:复制以下红色内容,再打开手淘即可购买

范品社,使用¥极客T恤¥抢先预览(长按复制整段文案,打开手机淘宝即可进入活动内容)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171218B093GP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券