Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我应该在Google App Engine上运行业务流程管理应用程序,还是切换到更普通的平台_Java_.net_Google App Engine_Architecture - Fatal编程技术网

Java 我应该在Google App Engine上运行业务流程管理应用程序,还是切换到更普通的平台

Java 我应该在Google App Engine上运行业务流程管理应用程序,还是切换到更普通的平台,java,.net,google-app-engine,architecture,Java,.net,Google App Engine,Architecture,我目前正在为当前运行在Google App Engine上的业务管理平台制定路线图,该平台执行以下任务: 通过Google Docs API读取信息,以获取提交到Google表单的信息。该表格用于用户申请成为指导计划的一部分。(超时和请求限制有时会有点棘手) 对电子表格中的问题执行匹配/加权算法,以便申请人可以相互匹配。这些权重现在存储在数据库中,以便在电子表格更改时进行控制 如果用户匹配,则会发送一系列电子邮件,并使用各种API让用户访问各种Google服务(所有用户必须使用Gmail地址注册

我目前正在为当前运行在Google App Engine上的业务管理平台制定路线图,该平台执行以下任务:

  • 通过Google Docs API读取信息,以获取提交到Google表单的信息。该表格用于用户申请成为指导计划的一部分。(超时和请求限制有时会有点棘手)

  • 对电子表格中的问题执行匹配/加权算法,以便申请人可以相互匹配。这些权重现在存储在数据库中,以便在电子表格更改时进行控制

  • 如果用户匹配,则会发送一系列电子邮件,并使用各种API让用户访问各种Google服务(所有用户必须使用Gmail地址注册)

  • 要求用户每月登录一次,报告他们在指导计划中的表现,然后系统计算他们指导关系的表现分数

  • 有一些明显的改进需要改进,比如用谷歌表单的一些灵活性来交换良好的验证和保存进度的能力(这是一个巨大的表单),但是除了像这样的清晰升级之外,GAE是这样一个应用程序的合适平台吗

    以下是GAE的优势

    • 正常运行时间
    • 无需手动服务器管理
    • 可扩展性(尽管该应用程序不太可能需要每月超过1500个用户的扩展,但很少使用)
    • 在这种流量水平下基本上是免费的
    GAE的缺点

    • 不是很好的IDE调试支持(如果错了,请纠正我,我使用的是NetBeans+Python,我知道这是可能的,但它似乎有点粗糙)
    • 没有专用的数据管理工具(为了本地测试而关闭实时数据很烦人,反之亦然),也没有在应用程序损坏时自动备份数据
    • 目前在AppEngine上运行Django,这是否有可能在未来的新版本GAE中被打破
    我不确定我已经讨论了所有的问题。问题的关键是:

    对于这类应用程序,切换到更标准的业务平台(如.Net或Java)是否有意义,或者对现有平台的投资(约70000英镑)是否意味着只有在绝对必要时才能进行切换

    本质上,我觉得拥有这样一个只会变得更复杂的应用程序可以从更标准的应用程序堆栈中获益,因为GAE是为相对简单的web应用程序而设计的(twitter)


    然而,我永远也不想重新发明轮子,而GAE从减少的管理开销中提供了很多好处。

    我2美分的评论:继续使用GAE。关于缺点:

  • 同意。使用try catch finally(或Python中的除外)和logging.info帮助编写代码
  • 在appengine控制台中的
    数据存储管理
    链接下,您可以
    复制到另一个应用程序
    (不确定在此过程中您的应用程序是否会停止)。使在克隆数据上测试修改后的代码更加容易,而不会影响live app或用户
  • 新版本要求对标准Python2.7libs进行最小的更改(在编写时),但是如果您使用的是相当数量的googleapi,则需要将api更新到更新的v3.0方法。尽管如此,该结构仍保持不变

  • 我还想补充一点,使用谷歌API,这使得GAE比其他平台更加通用

    谢谢你的评论,是的,在我写上述文章的时候,我现在非常坚定地站在坚持GAE的阵营里。我的备份是说,有些事情不能在AppEngine上完成,然后我将在另一个平台上构建一个小型支持应用程序(很可能是通过Azure的ASP.NET MVC),如果需要,可以将工作外包给它。希望这永远不会被需要,但这似乎是一种对未来保持高度信心的方法。Heroku的环境与GAE的Python非常匹配,并且它非常容易安装GAE不支持的库。如果您感兴趣,我来自GAE。随着谷歌新的过高定价,您可能需要检查您的
    计费配额
    ,并探索其他云提供商作为备份解决方案。我目前正在使用PyCharm,迄今为止印象非常深刻。但是,在调试模式下运行的服务器速度非常慢,仅执行一个crud操作就可能需要20-30秒来重新加载页面。应该这么慢吗?似乎每个请求页面的静态资源都需要按顺序返回。除此之外,主要的请求仍然是痛苦的,~3.3秒仅仅是一个非常简单的db操作,给了什么?你的应用程序听起来非常适合在应用程序引擎上运行。你切换的原因也很投机——你真的会认真考虑投资数千美元的时间来切换它们吗?是的,我想没问题,我想我只是想要一个大的开发社区,数据编辑器和支持。我看到他们确实提供了一个每月500美元的支持选项,这是可能的。我还研究了pydev eclipse路线,它似乎已经出现了很多。鉴于您的工作岗位,您能否就何时可能有更简单的方法来管理应用程序引擎数据存储提供一些建议?另外,我的数据存储管理页面目前一直是空白的,我正试图使用它在实例之间传输数据。