MVC应用程序内部的sharepoint缺点

时间:2013-10-03 19:42:33

标签: asp.net-mvc sharepoint knockout.js sharepoint-2013

我们正在做一个应用程序,它将该Feed中的Feed和项目提供给我们自己网站上的实体。这应该是一个任何人都可以注册的开放网站。所有这些都是通过MVC + knockoutjs完成的。我们正在考虑使用Sharepoint 2013从该站点管理实体,实质上替换这些实体的SQL表,并将它们放入Sharepoint实例中的列表中。我们也在考虑为用户和密码等做同样的事情。然后我们可能会为我公司制作的任何其他网站设置单点登录。目前我们正在使用NHibernate和SQL服务器。

我们是否天真地认为Sharepoint可以处理流量,外部用户使用我们的网站以及客户。我听说它是​​doable,我只是想知道这是否是一件聪明的事情,如果有恐慌,那么你们中的任何一个人都会试图这样做。

3 个答案:

答案 0 :(得分:1)

我们在Sharepoint-as-a-development-platform路径上走得很远,最终最终废弃了我们所做的并用其他技术重写它。这并不一定意味着它不适合您的情况,但有一些事情需要考虑:

  1. “为什么会这样?”将Sharepoint图层添加到技术堆栈有什么好处?如果不是Sharepoint,那么替代品会是什么样的?
  2. 您是否已经拥有一个可靠的Sharepoint管理团队? Sharepoint肯定需要一个专门的管理员或管理员团队,他们真正了解产品以保持其性能,并帮助您在事情无法正常工作时进行故障排除。
  3. 您是否已经拥有Sharepoint开发人才?良好的Sharepoint开发人员更难找到,并且通常比常规.NET开发人员更昂贵。此外,一些现有的.NET开发人员可能对学习Sharepoint不感兴趣。
  4. 您的预期流量是多少,Sharepoint可以开箱即用吗?至少在以前版本的Sharepoint中,可以存储在每个列表中的数据量存在内部限制。最重要的是,在应用程序的性能变得完全不可接受之前,存在实际限制。了解这些限制应该是您初始尽职调查的一部分,以便您可以计划这些可能性。
  5. 您是否会为外部报告或仓储目的提取运营数据?您的数据团队是否已熟悉从Sharepoint获取数据?
  6. 最终,我们失败的原因是我们在“轻松”开发的承诺之后沿着这条路走下去,而没有真正致力于产品。当我们开始遇到问题时,我们一直在努力解决诸如故障排除之类的基础问题,因为我们失去了几个关键人物,我们的常规开发人员和管理员都在努力弄清楚发生了什么。如果我们有合适的人选,我们的经验可能会有所不同。但是,我们没有选择退出Sharepoint并在我们的标准MVC / SQL平台上重建。

答案 1 :(得分:0)

SharePoint在很短的时间内已经走过了漫长的道路,允许外部应用程序以您描述的方式与其进行交互。除了SharePoint 2013之外,我不会尝试使用其他任何东西,主要是因为许可允许这样做而不需要每个用户额外的成本,部分原因是我接下来提到的内容在2010年或更早版本中不可用。

您可以使用MVC / knockout前端但是,除非您将每个用户都配置为SharePoint用户帐户,否则SharePoint模板的MVC应用程序并不完全符合您的要求。该模板仍然是一个SP应用程序,这意味着它由SP用户运行。我将SharePoint视为您的应用写回的OData服务。您可以使用客户端对象模型(SCOM)并直接回写(每个用户都作为SharePoint用户存在),或者您可以代理来自MVC控制器的数据访问,并使用“服务”SP用户使用SCOM连接到SharePoint 。 SCOM只是REST和OData,因此您可以使用您选择的任何支持Web的语言。我知道有C#和JavaScript(node.js)的例子。可能还有其他人。

如果您预计会有大量的内容,我建议您尽可能在SharePoint Online(Office 365)上托管此应用程序,并将其配置为与您的其他环境联合。这样,您只需在数据增长时添加更多空间(而不是随着负载增长而增加越来越多的服务器)。

以下是您可以使用的API的概述: http://msdn.microsoft.com/en-us/library/office/jj164060.aspx

SharePoint 2013开发人员中心: http://msdn.microsoft.com/en-us/library/office/jj162979.aspx

关于SharePoint 2013 SCOM的5分钟视频: http://www.microsoft.com/office/preview?videoid=1e859ac8-58ca-46d0-a8e0-00f4189761a8&from=sharepermalink-link

及时访问SCOM的博客: http://blogs.msdn.com/b/kaevans/archive/2013/10/24/what-every-developer-needs-to-know-about-sharepoint-apps-csom-and-anonymous-publishing-sites.aspx

答案 2 :(得分:0)

没有必要重新设计您的应用程序,仅用于使用sharepoint列表替换数据库表。表现是一个问题。 Sharepoint列表限制是另一个问题,您将失去关系数据库设计的灵活性,并将您的生活赋予称为sharepoint list的黑盒设计。