InfoQ

新闻

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

作者 Mark Figley译者 郭晓刚 发布于 2008年7月16日 上午8时26分

社区
Architecture
主题
Office业务应用,
SOA平台,
互操作
标签
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

1 条回复

回复

高级软文 发表人 Quiet Zoom 发表于 2008年7月22日 下午8时6分
  1. 返回顶部

    高级软文

    2008年7月22日 下午8时6分 发表人 Quiet Zoom

    使用 M$ Office 作C/S客户端:
    0. 很不好玩~本身Office 的版本不兼容将造成应用的无继承性
    1. 很自私~完全忽视了有能力玩其它平台的用户,而且MAC 用户的体验也不管了
    3. 很邪恶~HTML 表单之外:Flex/SVG/PDF/Ajax/XUL(这个的装机量马上要超过M$ Office 了吧)... 交互平台全部否定了?!

独家内容

剖析短迭代

敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。

AtomServer:数据分发的发布动力(第二部分)

在这篇文章里,Bryon Jacob和Chris Berry将和我们继续探讨AtomServer,它是基于Apache Abdera的完整Atom存储实现。作者还创建了几个Atompub规范扩展,其中包括自动标记、批处理和Feeds聚合。

架构师(试刊第二期)

InfoQ中文站的电子杂志《架构师》试刊第二期出版了!相比于上期,我们在内容的选择安排和版式上都根据读者的意见重新做了修正。“细节决定成败”,我们希望基于InfoQ中文站的专业内容,《架构师》能逐渐成为大家喜欢的电子刊物!

一种正规的性能调优方法:基于等待的调优

在本文中,Steven Haines探讨了Web应用性能调优问题。该领域过去更像是一门艺术而不是一门科学。他提出了一种称为基于等待调优的方法,使整个调优过程更加可度量,也因此更具科学性。

Java程序员ActionScript 3入门

通常来说,改变技术路线时最艰难的部分是辨别语言语法之间的不同。这篇文章就为Java开发者提供了一份如何转向Flex基础语言ActionScript的指南。

浅谈如何创建Rails应用

本视频主要以财帮子为例,介绍了如何创建一个PV为百万级的Rails应用。其中包括:Rails应用的服务器架构、Rails Cache的优化、负载均衡的处理、Web服务器的调试、分布式解决方案、Open API的设计等等。

Alexandru Popescu谈InfoQ.com网站架构

InfoQ首席架构师Alexandru Popescu在采访中谈论了InfoQ架构、Webwork与DWR、Hibernate与JCR、Hibernate可扩展性、最新的InfoQ视频流系统和InfoQ的未来规划。