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

及时通讯解决方案

一睹为快

如果你的老板说,给我开发一个公司内部的通讯工具,需要及时文字、语音、视频、文件传送、好友、群、在线协作……你准备怎么办呢?是不是一脸懵逼?今天小甜甜为大家带来一个解决方案——环信架构。

下面我们先看看利用环信架构开发出来的IOS、Android客户端的简单样例:

环信基本架构

当用户在环信开发者管理后台中注册的时候,需要填写一个“企业ID”,这是因为环信是一个支持多租户的云服务平台,并且环信是支持“企业”(或者理解成团队)-“APP”两级结构的。即,在环信平台中,每个企业 ID 之间的数据都是严格相互隔离的,而每个企业 ID 内部的每个 APP 之间的数据,也都是严格相互隔离的。

可以想象这样的模型:一个公司中有三个部门,每个部门负责一个 APP,那么这个公司可以注册一个环信的账号,然后在这个账号的名下创建三个(环信中的)APP,每个环信中的 APP 对应一个部门的 APP。

这样,最开始注册的时候的账号,是这个企业在环信中的企业管理员账号,企业管理员可以创建新的 APP,并创建其他企业管理员。在访问权限上,企业管理员拥有最高的权限,可以看到自己的企业 ID 下所有 APP 中的所有的数据。同时,上面也说过了,同一个企业 ID 下面的 APP 之间,数据也都是相互隔离的,所以完全可以在两个 APP 中创建相同用户名的用户。

另,如果只是个人开发者开发一个 APP 的话,那么企业 ID 可以随便填写,只需要不和环信现有的企业 ID 重复即可。

最后,因为环信提供的是 REST 服务,并且上面说过,REST 本质就是通过 GET/POST/PUT/DELETE 来操作资源(URL),所以,实际上可以看到在环信的 RESTAPI中,也体现了这种思想。

假设一个企业 ID 为 easemob-demo,然后这个企业下面有个 APP 名字叫做 chatdemoui,那么环信的 RESTAPI就是下面的样子:

获取这个 APP 下的所有用户

获取这个 APP 下的用户 stliu 的详情

在这个 APP 下创建一个新的用户

注意: POST的数据需要是JSON格式的,并设置Content-Type 为 application/json。

删除一个用户

从上面的URL的规则中,也能够看出“企业”–“APP”–“用户”的层层递进的关系。

Java

在 Java 中,REST client 实现方式有多种,比如 JBOss RestEasy、Sun Jersey、Dropwizard、Apache HTTPClient。我们推荐使用Jersey来调用环信的 REST 服务。

Jersy 2.x 实现了 JAX-RS 2.0 的规范,并且提供了异步的支持,但是 Jersey 2.x 需要 JDK 1.7 的支持,所以如果你的服务器端程序还没有办法使用 JDK 1.7,那么需要使用 Jersey 1.x 的版本。也有很多人直接使用Apache Http Client,我们并不推荐直接使用这个库,主要是因为这个库相对比较底层,需要自己处理的东西很多,API 也相对繁琐。

视频教程

JavaWeb架构师

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券