你吓着我了,MOSS

  • 胡键

2009 年 7 月 17 日

话题:SOA.NETDevOps语言 & 开发架构

MOSS 是一款不容忽视的集成产品,在整个微软的桌面集成战略中占有重要地位。由于能够跟 Exchange、Office、SQL Server、AD 等诸多项微软产品进行集成,同时兼具门户、工作流、全文检索、内容管理等功能,这些都使得你在考虑以人员为中心的集成时,应该将它放在你的产品考察列表中。

然而,在使用了 4 年的 MOSS 之后,Peter Campbell 却说 MOSS 让他受到了惊吓。这到底是怎么回事呢?在这篇题为“SharePoint 让我受惊的原因”的博文中,他归纳了几点原因:

  • 执行现成的功能,还不错。但要是集成遗留系统,复杂度很快就上升了;而且集成是基于 SOAP,而不是 REST。
  • MOSS 并不成熟,是两个独立被开发应用(Windows Sharepoint Services内容管理服务器)的拼凑。
  • 如果缺乏规划,Sharepoint 会很快成为一个垃圾场,包含大量特定功能的站点,造成“文档筒仓”。
  • 将文件放在数据库的 blob 字段,而不是保存指向磁盘文件的链接,有损性能。
  • 复杂昂贵的许可证。
  • 和大多数开源门户相比,Sharepoint 的硬件和带宽需求要高得多。

Peter 在文中直言不讳地表达了对一种管理性和经济性更好的方案的渴望,而且声称即便不是 Sharepoint 也无所谓。他接着写道:

如果我的目的是要促进组织内的协作和集成工作,使用能超越和阻止筒仓的技术,使用象DrupalKnowledgeTreePloneSalesforce这样的应用,情况要好一些。它们全部都能完成大部分 Sharepoint 的功能,可以通过补充来得到 Sharepoint 的那些大杂烩式的功能,但是部署的复杂度低,也更便宜。

最后,他总结说:

经过 4 年的痛苦,现在我的结论是:到这个产品成熟的时候,如果有组织买单和感兴趣;带宽预算高;高性能的广域网络,而且有咨询预算,Sharepoint 将会是一个非常不错的选择。就我目前的条件——部分组织买单;服务器预算一般,没有咨询预算;网络尚可,但要优先考虑某些带宽,如 VOIP 和视频——我看我最好还是找个替代方案。

很快,一位 MOSS 的 MVP,Eugene Rosenfeld,针对 Peter 上面的那几点理由一一做出了回应

  • 难以集成遗留应用:这是所有技术的难点,不单单是 Sharepoint。此外,Sharepoint 还提供了一些工具来简化这些工作,而且也不贵。
  • MOSS 是两个独立应用的拼凑:CMS 是被集成的,但是集成得比人们想象的要好。在企业内网(intranet)和外网(extranet)情况下,Sharepoint 工作得很好;在互联网中,比较困难,但例子也有很多。
  • 在没有规划的情况下,Sharepoint 会成为一个垃圾场:任何内容仓库都是这样。集成的搜索可以帮助内容发现,内容过期和记录管理特性有助于将这些散乱的内容归档。
  • 复杂昂贵的许可证:建议找销售谈谈,如果是非盈利组织,可以谈出不错的价格,另外可以了解一下微软的BizSpark
  • 比开源门户的硬件和带宽要求高:Sharepoint 可以从小做起,随着需求的增长,增加硬件即可。带宽是个问题,但是任何 CMS 都有这样的毛病。
  • 在数据库字段中存放文件内容,而不是磁盘文件的链接:把内容放在数据库中可以利用数据库的事务、负载均衡、备份、维护、故障转移和灾备。而且,SQL Server 对于 blob 字段也在不断改进。
  • 更中意 Drupal、KnowledgeTree、Plone 或 Salesforce:集成多个应用要比购买一个已集成应用的成本高。

同时,Eugene 还警告不要低估了跟微软产品进行集成的成本:

不要低估了无法跟用户所钟爱的 Office 桌面应用集成的成本。用户生产力的流失以及用户的培训成本是部署任何 CMS 或协作系统的两项非常高的隐性成本。SharePoint 通过利用用户已具备和熟悉的 Office 桌面应用的技能,使得这些成本达到最小。

在对 Eugene 博文的回复中,Peter 承认大多数属于灰色地带,不值得进一步的争辩。同时,他也表达了自己的观点:

我这篇帖子的意思是想表达出我所知道的非盈利环境——我们缺乏资金、技术专长,而且在很多时候,我们用户的带宽要求能让复杂技术大规模成功应用。因此,我的主要观点是,得到 Sharepoint 全部功能的好处可能并不值得。没错,Drupal 是少了很多功能,而且它也会变得复杂,但是我只要建立一个简单的 Drupal 站点就能以最少培训完成极好的交流和协作,还不需要大量地投入时间和金钱;对于 Sharepoint,我无法也不会说出同样的话。

……

但是我的帖子并不完全是抨击 Sharepoint——它只是想宣扬 Sharepoint 并不简单。要是你的环境中有一个大型 IT 部门,招聘了不少程序员,而且有适当的咨询和基础设施预算,它会是一个强大的平台。

的确,就像 Peter 所说的,微软的很多东西,尤其是开发工具,并不像一开始看上去的那么简单。

SOA.NETDevOps语言 & 开发架构