用Microsoft Office做企业应用的富客户端

看Ted Neward干脆利落地扒下皇帝的新衣总是一件赏心乐事。这种情况经常出现在他向Java社区解释“寻找方案架构的时候如果自动忽略微软的技术会是多么大的损失”的时候。上周Ted写了一篇短文介绍Bruce Wilson写的一篇讲述用Microsoft Office充当(非常强大的)富客户端的文章。简短介绍Wilson的文章之后,Ted直奔主题:

有意思的是,他所提出的大部分想法在各种后端——Java后端、Ruby后端、.NET后端——之上都很容易实现。Office是多数最终用户能够马上理解的工具(无论你是否赞同微软的用户界面隐喻,也不管你是否喜欢Office是全世界安装得最多的软件包这一事实),而且Office软件里已经内建了很多支持功能。

我觉得“普及”应该是富客户端平台(乃至任何客户端平台)最重要的特征。虽然MS Office仍然不如浏览器普及,但两位作者所说的是企业自动化软件开发,也就是一些从来都不会在企业之外使用的内部软件。而对于大多数企业来说,MS Office是非常普及的。

Wilson的文章一开头说的比较抽象,但随着主题展开,他提出了一些很有意思的观点。下面是从文中撷取的一段,为Office应用做了有力的注脚:

我们公司对自己提高“用户体验”的能力很自豪。从本质上说,提高用户体验意味着我们要调整软件与用户接触的部分,使之更贴合用户的需要。近年来,我们观察到系统开发的趋势是将更多的后端向更多的用户开放,尤其是将一些原来只允许数据库专家访问的信息向商业用户开放。我们还惊讶地发现,人工重新输入信息非常常见,即使大公司也是如此。解决这两种情况通常都涉及到SOA(Web Services)、OBAs和相关的微软技术。

我注意到大多数内部开发的企业应用都完全不关心用户体验。为Web应用创造一种自然而高效的用户体验是可以做到的,但同时也是昂贵的,而且常常不符合经济利益的考量,因为“足够好”也能完成工作。将解决方案建立在一套用户已经熟知的工具上,并且利用用户的熟悉来以更低的成本提供更直观的用户体验,这个观点相当合理。

但我很疑惑,这么合理的方案为何实行的企业那么少呢?我决定问一下Ted的想法。下面是我的问题:
Q:“Ted,这个问题你已经说了好几年了,但我们好像还在提出想法的阶段踏步,仅仅是将这个概念传播给了更多的 人。你觉得这像不像几年前XFroms的情况?大多数人不久就永远放弃了XFroms。我的意思是说,当时我们都觉得XFroms明显会是胜利者,它比HTML forms好了。它将会胜利——肯定会胜利。O'Reilly连书都出了。但结果我们大眼瞪小眼‘到底怎么了?为什么没成功?’服务后端和Office前端结合绝对是威力强大的,但其接受程度最多只能算是边缘。肯定会有人问你,‘为什么人们没看出来那么明显的事情?’”

不出所料,Ted的回答既深刻又引人深思,所以我干脆不加编辑直接把他的回答列在下面:

我想人们 已经看出来那么明显的事情了……尤其那些已经开发了Office Business Apps五、六年的人。:-)

如果你到TechEd IT上看看,可以遇到很多这类人,只不过他们不是传统的开发者,不是我们从 “企业”、“计算机科学”的角度所想像的开发者。这些人微软称之为“信息工人”,他们在技术上最多只是中等程度,但在业务上是极精明的。他们会以各种方式使用Office来解决问题。(正是这些人的Access数据库最终“扩展”成了Oracle和SQL Server支撑的Web前端企业系统。)有时候我们想弄清楚一个应用或者系统的业务规则,这些就是我们要找的人。

坦白说,把Office用作富客户端的想法比XForms那一套有个优势,就是它已占有的市场份额。Office 不会很快消失(给我举个能达到Office市场份额十分之一的竞争者),只要Office没出局,用它做富客户端的想法就会生存下去。我要做的事情是把很多开发者看待Office时那种“这不是 真正的编程”的成见赶出去。

如果你想要一个 真正有意思的预测,我认为Office会比SOA活得长……就像它已经比“对象”和“C/S”活得长一样……这些话传统开发者可 爱听。

如果你已经被勾起了好奇心,可以继续观看InfoQ对Ted做的访谈,其中亦讨论了这方面的一些想法。

查看英文原文:Microsoft Office as a Rich Client For Enterprise Applications

你可能感兴趣的:(用Microsoft Office做企业应用的富客户端)