用于业务逻辑的服务器端技术

时间:2013-04-12 17:31:14

标签: server-side web-deployment business-logic web-technologies

假设我想开发一个具有注册用户的Web应用程序,并将注册为Twitter应用程序(允许用户授予其查看时间表和代表他们发布的权限)。该应用程序的唯一功能是根据用户的设置和愿望重新发送用户时间线上的推文。 据我所知,该应用程序的网站将在客户端使用HTML,CSS和JS等常用技术。服务器端(用户定义应用程序应该推送哪种推文)将必须使用基于DB MySQL / Postgre /...

的PHP / Python / Perl / ...进行编码。

我不理解,真的很感谢您的帮助,是真正的“业务逻辑”将被编码的地方?例如,我应该使用什么技术来编写将在我的服务器上编写的功能:每5分钟联系一次Twitter服务器,阅读我拥有的每个用户的时间表,检查是否有值得转发的推文(根据用户定义的内容) ),并向Tweeter发送必要的命令,代表我的用户转发所选的推文。

所有这些都将在线发生,并且将是一个持续的循环过程 - 但我应该使用什么技术来编写它?

谢谢!

1 个答案:

答案 0 :(得分:0)

我听说过this API for PHP。不过,它实际上是我听说过的唯一一个PHP。我知道那里有一些很好的Python库,但我不知道Perl。

我实际上正在开发一个新的C#API(不适合你,因为你显然没有使用Windows服务器),并且在开发企业Web应用程序时开始构建它,这提示了几个问题类似于你自己。

以下是您将要做的事情:

  1. 在您开始之前,您将不得不与Twitter的一个数据合作伙伴取得联系(我相信您可以联系Twitter以供参考)
    • 原因是你需要比你想象的更多的请求
    • Twitter用于Twitter记录的费率上限的时间间隔是900秒(5分钟)
    • 如果您仅在每个费率上限查询一次用户的时间表时使用一般费率限制,则您的网站访问者数量一次限制为300
    • 这里变得棘手 - 如果每个用户发一条推文(意味着你发送推文 - 不限速 - 然后刷新时间线 - 速率有限 - 以便他们可以看到更新的推文)你现在已经放弃了你的最大值任何给定时间的活跃用户数量为150
    • 考虑公司自己的时间表(-1位访问者),加上打开浏览器的访客数量(现在你需要更多的逻辑,你必须要么开除它们,要么只是跟踪你赢得的时间表'是刷新的),发出多条推文的用户数量(每个推文的访问者数为-1)等。
    • 故事的道德:联系他们的一个数据合作伙伴,获得无限的请求,或至少足够的金额来容纳您的访客/用户数量(加上一些填充)
    • 如果您遵守此建议,请跳过第2步和第3步,否则,请跳过第4步
  2. (注意:步骤2和3仅适用于速率限制的实现)使用您想要的语言,创建在服务器上运行的服务并向Twitter发送查询
    • 根据您提供的信息,我建议您使用Python来提供此服务
    • 该服务将一直运行,并在其自己的时钟上,以5分钟的间隔为基础
    • 您必须使用缓存或数据库系统来存储数据
  3. (注意:步骤2和3仅适用于速率上限实现)添加必要的代码以向您为数据创建的服务发出请求,并每5分钟执行一次这些请求
    • 我建议用于向服务发出这些请求的时钟稍微落后于服务所用的时钟,以解决数据传输速度慢等问题。
    • 您还必须在服务上调用一些方法来添加/删除队列中的用户
  4. (注意:步骤4仅适用于无限制的请求实现)忘记服务,只需将请求代码直接包含在用户所在的页面中。
    • 用户的时间表将根据他们访问网站的时间或上次刷新时间表(如果发布推文)进行更新
    • 此实施的唯一警告是,您必须支付无限/更大的数据速率限制