[本文所描述的内容具有一定的时效性,请以实际开发所处环境为准]
在前面的几篇文章中,我们已经介绍了微信公众平台的基本知识,如何注册与使用,图形界面话的微信功能。在接下来的文章中,我们来学习如何在开发模式下,让微信提供的服务接入我们的程序当中。首先,我们来从系统框架上学习和了解如何设计微信服务在我们系统中所处的位置。
[备注:博主刚刚开始做微信开发,从设计上,代码优化上肯定不能与市面上已经出现的微信开发框架相提并论,博主也正在研究更好的设计中,如果有更好的设计或实现,请积极留言!]
-------------------------------------------------------------------------------------------------------------------------------------
那么开始我们的正文部分吧
[1]整体架构:在这部分,我们常见的有两种设计方式
情景A:已有的服务器处于外网环境,并且微信代码能够接入已有的程序。在这种条件下,已有的程序服务能够直接在本地调用微信提供的服务接口,并且从效率上也是相对较高的。因此,我们的系统结构可以设计为如下图示:
情景B:主体服务器位于内网之中,并且拒绝外网访问。在这种情况下,主体服务器想要调用微信服务接口那么必然要经过另外一台分离部署的服务器做中介,方可使用微信服务。因此,我们的系统框架可以设计为如下图所示:[远程连接, 以及数据格式内容,可以暂时忽略,后续我们会一一介绍这些内容。]
衍生情景:在B的条件下,中介服务器提供云服务,被多个服务器公用。在本文的入门教程篇,暂时不涉及这部分知识,有兴趣的看官可以先自行了解这部分内容。
同时,中介服务器除了能够转接微信提供的服务至外,我们还能够提供其他的服务或者将某些服务项从已有的服务中分离出来,从而实现一定程度上的关系解耦。
[2]接受与转发服务
在上面的图中我们可以看到,两台服务器之间都是通过网络链接的形式进行服务的接受与转发。
在本文中,我们不在详细讲解servlet实现,或者Spring Rest服务实现等方式。这些种实现方式,从效果上都能够达到我们的需求,但是从后续维护的角度出发,我们选择已经非常成熟的Spring框架以及用Rest服务的形式设计实现我们的程序后续内容将会以spring为例说明如何实现我们情景B条件下的框架设计。后续内容涉及到Java 实现http协议,Spring Rest服务实现等内容。这些知识点请先自行查找相关内容学习。后续的文章中,我们也会介绍这些相关的知识点,请耐心等待!
-------------------------------------------------------------------------------------------------------------------------------------
至此,微信企业号开发(1)--基础入门结束
特别说明:后续开发过程会按照官方提供的开发者文档进行,请各位读者先访问学习相关的开发者文档,以帮助后续内容的理解。文档地址将在参考资料中列出。
参考资料:
[1]微信公众平台开发者文档:http://mp.weixin.qq.com/wiki/home/index.html
[2]企业号开发者接口文档:http://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5