ZDNet 的 Dion Hinchcliffe 画过一幅很棒的图 ,值得仔细玩味。左手边是用户的所在,常称作网络的边缘 (edge),而右手边则是大家所共享的网络,在英文中常叫作云 (cloud)。不管是在企业 (Enterprise 2.0),或消费者领域 (Web 2.0),位于边缘的用户们,透过各种无所不在的边缘装置 (edge devices) — 桌上型 PC、无线上网的笔记本电脑、PDA、手机、数碼相机、摄像机、录音机,甚至客厅的游戏机、家庭娱乐中心等,与网络中的各种服务作双向交互,主动贡献大量的内容,并与其它用户共享。在这种新环境下生成的内容,近两年来已陆续出现各种名词来形容,包括 User-Generated Content、Consumer-Generated Media(或 Consumer-Generated Content)、Citizen Media、Citizen Journalism 等。
我们如果将服务器端视为中心(“the center”或说“轴心”“the hub”),那么 IT 的演化史,其实可视为是一系列介于 edge 和 center 之间的钟摆运动。数十年前,大机当道,一切中央集权,edge 端非常寒酸,只有一迭迭喂数据的卡片纸,加上一群没有任何智能的笨终端 “dumb terminals”、调制解调器,和键盘。从 “dumb terminal” 的戏称和当时对键盘器具的称呼 — 远程打字 (teletype),便约略透露出当时 edge 角色的渺小(Unix 上 tty 的命名由来,正是取自 teletype 中的三个字母)。80 年代,PC 和 LAN 的逐渐兴起,打破了先前中央独霸的权力结构,edge 的重要性开始崛起,透过各式各样的应用,用户的生产力得到激发,企业的信息架构也开始顺应这股力量,C-S computing 开始接掌 IT。90 年代中期,荡到 edge 端的钟摆拉到了极限,两层式 C-S 架构开始出现性能瓶颈,管理等方面的问题也一一浮现,Web 的出现,像场及时雨,带来了三层式架构,某种程度上提供了大机时代中央化和 PC 时代去中央化间的平横,Java、J2EE、.NET 陆续出现,对这样的架构提供支持,在这个现在被称作 “Web 1.0″ 的时代,钟摆往中央回移,edge 端的主角变成了浏览器和 thin-client。
过去几年间,宽带、无线和多媒体,加上各种迷你、能无线上网的数碼器具,带领我们走入无所不在运算 (pervasive computing) 的新环境。在引领风骚的 SOA、On-Demand、Software as a Service (SaaS)、Web 2.0,乃至发酵中的 Enterprise 2.0 纪元,重心拉回 edge,世界被抹平,人人都能发声,人与人的距离从来没这么贴近过;edge 和 center 间的交互作用外,有更多 edge-to-edge 和 peer-to-peer 间的协作。钟摆间权力洗牌的戏曲,正一幕幕上演着。
接着谈 edge vs center 的问题。在 IT 业界,如果要谈 edge 端用户生产力和协作的课题,不管从力度或投入的时间上来看,恐怕没有几个人能超越 Lotus Notes 之父 Ray Ozzie 的。在去年一场由 O’Reilly 主办的 ETech (Emerging Technology) 研讨会中,他提到,多年下来,以下的原则已经成为他个人的 Rule of Thumb (通则、经验法则):
The closer that you can get to a user, in terms of offering the ability to weave together an app or a composite app, the greater the agility in actually solving the problem that user might have.
当科技愈能贴近用户,让他们能[轻易]编织出应用或复合式应用时,解决问题的效率就愈高
这里所说的复合式应用 (composite applications),像 Web 2.0 中的 mashups,就是一个好例子。而在 SOA 中,复合式应用更是未来大宗的应用形式 — 当软件积木以服务的方式一个个创建起来后,开发人员不再需要熟悉专有系统的程序语言和 API,而是使用高端开发工具,根据最新的需求,将 Web services 快速组装成新的应用。
在 Ray Ozzie 自创的 Groove Networks 尚未被微软收购、Ozzie 本人成为微软的 CTO 之前,在一场接受 Gartner 的深度专访中,Ozzie 谈到 edge 和 center 间的重力平衡问题,也就是上次提到的“钟摆”。谈到在企业领域中,edge 和 center 间的力量分配问题时,他说:
The same edge-versus-center tension has happened in the realm of business solutions. The greatest amount of value that Lotus Notes ever provided, besides the email infrastructure, was as a rapid application development platform that people at the edge of the organization - in a business unit - could use to whip up an application that solved their problem instantly. Just-in-time, disposable solutions. As Notes was more embraced as central infrastructure, IT buyers demanded that end-user design capabilities be re-shaped to target the needs of professional developers. Notes environments became “locked down”, and people closest to the needs lost their ability to do “self-service” solution development.
他认为早期 Notes 最大的价值,正在于它能 empower 位于 edge 端的业务部门用户,引爆生产力,让他们能随时根据需要,开发出简单的 scripting 应用。这就像后来的 Web,从 1.0 到现在的 2.0,各种高端的 scripting 语言,从 Perl、PHP、ASP、JavaScript、Code Fusion、Python 到最近崛起的 Ruby on Rail,短短的几年间,全世界的编程人口暴增,各种创新的 ideas 和解决方案得以快速得到验证和落实。但是,随着 Notes 的走红,各企业的 IT 部门开始采用它来开发愈来愈多位于 center 的大型应用,Notes 的 IT 客户开始对厂家要求增加愈来愈多的功能,以配合专业开发人员的需求,Notes 的复杂度,让它变得已不再适合 edge 的用户。而这正是 Ozzie 在 IBM 收购 Lotus 后不久,失望离去,另行创业的主要原因。
Notes 所经历的这段产品历程,一点都不独特,其实可算是一个典型的教科书案例,印证了 “The Innovator’s Dilemma” 《创新者的两难》这本巨著中所探讨的现象 — 随着某个企业发明、推出一项成功的产品后,由于该产品在整体业绩上举足轻重的角色,加上对广大既有客户的承诺和责任,企业必须不断投注大量资源来维护这项 产品,并在上面增加愈来愈多的功能,以满足各大客户(翻译:衣食父母)愈来愈多的需求。就这样一年一年下来,潮流开始转变,扰乱性科技 (disruptive technologies) 和相关商品开始出现,这家具备相当规模的成功企业,开始接到来自小型、更机动灵活的新创公司的挑战。或许这家成功企业当初也已经观察到趋势的转变,但为了 怕发展干扰性产品,会侵蚀到自己原先独霸市场的「金母鸡」,终令该企业裹足不前,走上被新创公司击垮的命运。
Web 2.0、SOA,SaaS,与尚在发酵的 Enterprise 2.0,正是当今的干扰性科技。Google 这个后起之秀对微软所带来的强大挑战,更是不在话下。
而就当今 edge 和 center 间的重心转移问题,Ozzie 在专访中的这段话,算是为 SOA 和 Enterprise 2.0 时代下了一个很好的注脚:
In short — although central IT continues to play a large role, the most important decisions for the business are made closer to the edge, at the line-of-business level.
一个有趣而值得一提的小插曲 — 专访开始,Ozzie 被问到的第一个问题是: 当科技开始成为许多人生活中不可或缺的一部分、变成一个自然的扩展时,你认为当今哪些信息科技已经成为人们的第二天性 (second nature)?Ozzie 回答说,第一个浮现在他脑海的是 Google。他并举例说,有一次陪同太太参加幼儿园同学会,和朋友聊到某位多年未见的同学,大家都好奇这位同学现在怎么样了。几分钟后,Ozzie 拿着笔记本计算机到他们面前,问说你们谈的是不是这位?把大家吓了一跳。
加入微软、更被盖兹赋予科技舵手的重大使命之后,他对 Google 的赞美恐怕已不再能像过去那般毫不犹豫地脱口而出。
去年有部奥斯卡提名的电影《美联航 93》 ("United 93"),充分暴露出美国政府、军方各单位间,严重欠缺横向沟通、协调、集成的能力。上回谈 SOA, Web 2.0 带来一波边际-中央间的重心调整潮流时,提到 Ray Ozzie 接受 Gartner 的专访。巧的是,Ray Ozzie 举的一个例子,正是 9/11 事件后美国政府单位信息系统修正的新方向。在 9/11 之前,不同的政府部门,各有各的典章、规范,和业务过程,各自以一条鞭、垂直、中央化的型态发展多年,忽略了部门间复杂的网络关系。9/11 后,大家意识到跨部门集成的重要,于是开始调整 edge 和 center 间的重力分配,试图找出在中央化 (centralized) 和去中央化 (decentralized) 两种形式间最佳的平衡点,在协同合作的活动中,取得最大的灵活性/敏捷度 (agility),加强对彼此信息的探索、分析、共享的能力,以求在最短的时间内形成决策,进而采取行动。
这个惨痛代价所激发的新指导纲领,是美国政府近年来大力拥抱 SOA 的主要诱因。对美国军方而言,除了 9/11 之外,伊拉克战争(行动名称被政客美化为 “OIF/OEF” — Operation Iraqi Freedom/Operation Enduring Freedom)中得到的一些新教训,是美军近几年来大刀阔斧执行一连串 SOA 大计划的主因,这些计划包括了 GIG ES (Global Information Grid, Enterprise Systems), NCES (Net-Centric Enterprise Services), Horizontal Fusion, DCGS-IB (Distributed Common Ground System, Integration Backbone) 等。重点是在一个全球的信息网格中,信息可以以服务的方式被快速的发布和共享,将判读信息的权利,从原来的指挥中心,下放给各司其职的各个「社群」(Communities of Interest),让边缘用户能够享有最及时、贴切的信息,以便在最关键的时刻,作出最正确的判断。这里的边缘用户和社群,指的是例如一艘军舰、一个战地指挥所,一个派出去侦搜的小队,一个敌后情报员,一个协防的警察单位等。让不同单位能各取所需,快速地从各种信息来源中,挑选最切身的信息,加以组装、消化、利用,进而在性命攸关的时刻,作出最正确的判断和处置,将伤亡减到最低。
商场如战场,相同的面向服务理念、设计,和架构,应用到民间企业的领域,带来的是对市场快速应变的反应力,和更高的生产力。
以网络为中心的新一代战争,是美军近几年来信息化的主角,整个概念叫 Net Centricity。NC 带来了一个全新的用户场景,包括实时、on-demand 的用户自定作战视图 (UDOP, User Defined Operational Picture),情境应用,明白上下文的智能服务。而要实现这个快速反应的新形态的作战方式和应急指挥,除了各种装置都能热插拔到一全球网格 (GIG, Global Information Grid) 上头之外,主要凭借的,正是 SOA,尤其是 SOA 上以元数据驱动的的数据服务基础设施。这个应用模式,现在在非军方企业中,也有不少发挥的地方。弥补了传统 BI 和 ODS 的不足。

【责任编辑 吴艳霞】