深入探讨社交应用开发:从安全到功能实现
1. 安全保障:WebSocket 与 TLS
在开发类似社交平台的应用时,安全是至关重要的一环。以 Twootr 为例,它通过 WebSockets 接收登录消息。为确保应用安全,WebSocket 连接必须抵御中间人攻击。最常见且简单的方法是使用传输层安全协议(TLS),这是一种加密协议,旨在为通过其连接发送的数据提供隐私和数据完整性保护。
一些对安全有深入理解的组织,会在软件设计中加入定期的审查和分析。例如,他们会定期邀请外部顾问或内部团队,模拟攻击者尝试渗透系统的安全防御。
2. 用户关注功能的开发思路
接下来要解决的需求是用户关注功能。在软件开发中,有两种不同的设计思路:
-自底向上(Bottom - Up):从设计应用的核心开始,如数据存储模型或核心领域对象之间的关系,逐步构建系统的功能。以用户关注功能为例,自底向上的方法是先确定如何对用户之间的关注关系进行建模。显然,这是一种多对多的关系,因为每个用户可以有多个关注者,也可以关注多个其他用户。然后在这个数据模型的基础上添加业务功能,以满足用户需求。
-自顶向下(Top - Down):从用户需求或用户故事出发,尝试开发实现这些故事所需的行为或功能,逐步深入到存储或数据建模的问题。例如,先设计接收关注其他用户事件的 API,然后为该行为设计所需的存储机制,从 API 逐步过渡到业务逻辑和持久化。
对于使用 Java 编写的业务线类型应用,自顶向下的方法通常效果更好。因为从数据建模或设计软件核心领域开始时,可能会在对软件运行并非必需的功