目前我们正在开发社交网络,其中包括内部应用,例如游戏。开发人员没有公共API来制作他们的应用程序,而是自己开发的应用程序。
我们的平台基于Zend Framework。我们还有用于聊天,通知和其他推送任务的XMPP协议实现(clientside-strophe,serverside-java)。 XMPP将用于应用程序。
我们希望将应用与社交网络代码分开,因此我们可以保持简单,轻量级。
您可以为这种分离建议什么策略?我们的愿望是保持架构和代码简单和干净。
答案 0 :(得分:4)
由于这是一个架构问题,我确信有很多方法可以满足您的需求。这是我的2美分。使您的应用服务器与社交媒体服务器完全分离。使用客户端JS脚本在您的社交媒体网站上嵌入和呈现应用程序。
这样想:你知道Facebook社交插件允许在外部网站中嵌入Facebook组件。下面是嵌入在完全独立的DNN门户中的Facebook LikeBox的屏幕截图。
在您的方案中,假设DNN为您的社交媒体网站。和LikeBox一样,你的应用程序。在建筑上它们很好地分开,甚至可以从不同的服务器中提供服务。但是整合发生在客户端。
如果您需要这些应用与社交媒体网站进行互动,您可以通过REST API进行此操作。或者您可以使用DOM事件或简单的JS函数调用。
几天前,我写了一篇关于类似架构的博客文章,可在以下网址找到:http://blog.hasith.net/2012/06/traditional-portals-are-dead-long-live.html
答案 1 :(得分:0)
像facebook app这样的第三方应用程序是访问facebook DATA 的独立应用程序。
因此,通过互联网上的API提供社交网络数据,实施Zend_OAuth
身份验证HMAC之后,您可以冻结社交网络代码。
现在,您可以在Javascript / Flash中创建Web应用程序,通过API访问您的社交网络数据。