分享

云计算

 leonduan 2013-12-05

SOA与万物兼服务

我们先介绍第一个三字母缩写词:SOA

信息技术方面一个颇为狼藉的名声是它为寻找问题提供了一个解决办法,目前被称为面向服务的体系结构(SOA)。表面上看它似乎是又一个被"推向"商业的技术,但实际上它是一种强烈的"需求",这种需求吸引着各公司拥抱SOA因为商业本身需要技术来解决复杂的商业问题。

那么,SOA当前的状况如何呢?2009年1月,来自AMR研究公司分析师伊恩·芬利(Ian Finley)的一项题为《SOA的四大神话》(The Four Big Myths of SOA)的报告称,一大神话是"SOA已经死了!"芬利写道,"最近,有人说SOA死了,被过于雄心勃勃的狂热分子、性能欠佳的产品、浮夸的服务承诺杀死了。可能他们梦中那个SOA确实死了,但真实的SOA还活着。SOA将与我们长久相伴,因为我们没有更好的办法。它是一种技术积累,是一个学习再学习的过程,包含了从结构化编程到客户端-服务器模式以及网络应用程序设计方法这一全过程。它是目前一些实践活动的概要,而这些实践活动用于解决一个快速变化着的世界所存在的问题。如果这个世界不停止改变,或某些根本性的新典范没有被发现,未来几年内SOA仍将是软件的基石--只要看一下世界各软件供应商投资何处即可。SOA贯穿于从虚拟机管理程序到Facebook在内的各个领域,如果有更好的方式,系统开发人员早已聚精其中。除非有后起之秀,否则,SOA将继续主政。"因此,那种SOA早已死亡的谣传其实是夸大其词。

企业与商业技术正在变得不可抗拒的复杂。公司是一个复杂的系统,商业流程是一个复杂的系统,计算机程序也是一个复杂的系统。SOA是一个组织原则的集合,这些原则为建模以及构建复杂系统提供了一个完整的框架。简言之,服务导向是导致复杂性的罪魁祸首。
 
从一开始起,三大趋势:软件组件的发展、软件组件的解耦(decoupling)、由抽象向更富有含义的人性化形式的不断发展就一直决定着?商业计算。SOA将抽象、组件化、解耦这些原则提升至一个新的水准。SOA是分布式计算系统领域的最新进展,其中,软件组件实质上是一个自包含的"服务"集,用户可访问、使用这些服务而无需知道该服务部署于何处或何种平台上。

依IBM副总裁桑迪·卡特(Sandy Carter)之见,SOA真正重要之处在于:"它是一个商业驱动的IT架构,它可将你的商业集成为互相连接的、可重复的商业任务或服务。它可帮助公司增进商业流程的灵活性。面向服务的架构体系始于服务--一种简单地作为商业任务的服务,如开立新账户时将潜在客户的信用分级。有必要指出的是,此处我们在谈论商业流程的部分。考虑一下你的公司每天所做的事,并将这些商业流程分解为可重复的商业任务或各种组成部分。"

卡特描述了在许多环境中可重用的商业流程片段,这里,关键在于可重用的商业流程片段,而不仅仅是可重用的软件。当公司将创新型的商业流程设计成跨越多个商业渠道的"与环境紧密结合的"商业流程时,这些可重用的流程片段将发挥作用。也就是说,它们适应了全新的商业环境。因此,是软件的灵活性与可重用性造就了商业流程的灵活性与可重用性。这是21世纪充满竞争的市场上商业灵活性的要素。

卡特继续道:"当公司用SOA来提供标准化的服务与商业流程时,IT对整个企业使命的价值将剧烈增长。通过聚焦商业流程,作为支撑性的IT基础架构,SOA可使企业变得更加灵活。而且,服务与流程的关系至关重要。商业流程是一个包含人员、系统以及用以生产特定的产品所需的信息在内的互相关联的商业任务的集合。有了SOA,流程成了服务的集合。"[1]

一项"服务"应该包含多少内容?"服务"又该多"大"?卡特解释道,粒度是关键,"粒度指服务所提供的功能的数量。举例来讲,一项细粒度的服务提供一个商业流程较小的构成步骤,而粗粒度的服务提供包含许多小步骤的更大的商业任务。对我来讲,它犹如金发女郎和圣杯 。服务不能太大也不能太小,而应该恰如其分。如果服务太大,将导致更少的可重用性。如果太小,性能会严重受损,同时商业任务与支持它们的服务之间的对应变模糊了。因此,粒度有如圣杯:也就是说,决定服务多大或多小更多地受制于复合功能的不可分割性如何。举例来说,贷款发放时,服务粒度可能会很粗,因为有太多的各不相同的功能与贷款发放有关。"

SOA一个基本的前提条件是简单。避免从头设计新软件,复制已经存在的软件、数据和商业规则--今天,大批量地复制在大多数公司很普遍。这种"重用"在过去50年中一直是软件开发的圣杯(从子例程到对象,从对象到组件),SOA更是将这种追求向前推进了一大步。

SOA是请求-响应、面向对象编程方式的一种继续,此种编程方式自20世纪60年代以来一直在不断进化(Simula)。在此,一个对象(或组件)向另一个对象(为了完成某事,或提供某些数据)请求一项服务而无需知道做出响应的对象的交互工作方式。此方式仅仅在于发出一个请求,另一对象做出响应。

SOA的新颖之处在于,发送消息的技术标准基于互联网协议,它突破了对象或组件的私有技术对互操作性的限制。

更为有趣的是,基于服务的架构可使它们应用于许多不同的环境之中,甚至于那些软件开发人员不了解的环境。

为了或多或少地实现普遍的互操作性,在设计服务时,需要遵守某些架构性的原则以使服务(达成):

可重用(软件、数据和商业规则

自主

无状态

可发现

可组装

松散地关联

面向服务的计算的潜在优点包括软件开发费用的大幅降低,当商业流程需要改变时在创建新的软件方面所表现出来的速度与灵活性

服务成了搭建软件时的乐高积木块,快捷而高效。

最终,任何事物(基础架构、信息、小部件以及商业流程)都可成为一项服务,并由云来分发

服务性的架构(Aaas)

服务性的商业流程管理(BPMaas)

服务性的数据(Daas)

服务性的框架(Faas)

服务性的全球化(Gaas)

服务性的管理(Gaas)

服务性的硬件(Haas)

服务性的识别(IDaas)

服务性的糅合(Maas)

服务性的平台(Paas)

服务性的语音(Vaas)

服务性的防火墙(FWaas)

再回到Clouds Harbor公司的乔治·巴罗:"除了改变机构研发自有应用程序的方式,服务性商业流程管理将为增值服务供应商创建新的开发、分发模型。这使得社区开发人员能够创建可随意共享或经由平台征订服务来共享的商业流程。"这样就创建了一个种类繁多的流程模板库,每个模板唯一地定义一个商业流程。当开发人员创建了模板并秉承可定制的理念时,征订者能够获得这些预定义的模板,定制它们来满足本机构的需求,并快速部署这些自动化的流程。新的创新型的流程可以在几小时或几天内建立起来。

如果你不是技术工,你不需要知道任何与SOA相关的事情。如果你是,无疑,这听起来像切片面包以来最伟大的事情。

  

就这本商业书籍来讲,有关SOA 的技术讨论已经足够多了。请记住:

SOA在于将各点连接起来,许多新的点都需要与万物皆服务连接起来。

SOA商业糅合:墙壁倒塌了

当你听到"糅合"这个词时,你认为我在想什么?面向服务的计算有可能是切片面包以来最伟大的事情,但是,像任何技术一样,使用面向服务的计算来创建"糅合",有可能产生好坏两种结果。这就是为什么SOA 中"架构"这个词如此重要的原因,为了真正地达到云中软件服务的互操作性,架构"标准"是必需的。

"糅合"一词在网络开发中用来描述简单、快速的服务集成,并由此产生出服务所有者料想不到的结果。一个例子是用来自谷歌地图的制图数据为实业数据添加位置信息,以此产生新的、独特的、不为之前的任何一种数据源所提供的服务。

糅合不仅仅用于软件,也用于商业。软件糅合使得商业糅合成为可能。

正如安迪·穆荷兰(Andy Mulholland)、克里斯·托马斯(Chris Thomas)、Paul Kurchina在《糅合企业》(Mashup Corporations)一书中所说的:"向公司内外部的革新者提供服务已深刻地改变了公司的工作方式留给客户、合作伙伴、竞争对手的印像。这些新的商业流程中的一部分创建了以前不存在的市场;其他部分改变了公司在价值链中所扮演的角色。

"这些商业流程的大多数开始时让人感觉很不自然,它们会遭到一系列的反对,也会有许多借口说它们根本不管用。轻量级的、可重用的服务为廉价的实验提供了完美的建筑单元,正如预料之中的那样,这些实验有可能失败,但也有可能产生巨大的机遇。

"除了极少数情况下,IT机构想提高日常服务的重复使用之外'糅合'并不是在IT部门的年会上发明的,相反,它来源于企业名流的大脑,这些名流不间断地筛查他们在互联网上发现的各种服务,并想象着有可能出现的种种可能。"

"'怀揣'SOA的公司竭尽所能地用SOA来完成每一样事情,将创造价值的流程转变成服务,然后将它们放于最具创新精神的思想家之手,而这些思想家是通往新客户的桥梁。对于外部世界来讲,公司越来越成为一些供他人使用的服务的集合,这些服务是创新和开启新的商业关系的出发点。"

在一个以线连接起来的世界里,调集、解散散布各地的项目组的可能性几乎是无止境的。越来越多的公司依赖于网络连接的虚拟项目组来完成各项任务。

与此相适应,企业的主要工作单元将是"项目",而非公司组织图中所指的需要完成的"功能"。当考虑公司组织图以及工作究竟在哪里完成时,尽量保持大脑"一片空白",不要将此二者联系在一起。

由不同的权限、知识、能力组成的虚拟的矩阵团队(其传统的等级架构已经被跨公司的团队所取代)将会按需组合,有时甚至是"匆忙地"组合在一起。这种动态组成的团队将会在这个充满竞争的无畏的新世界里发起特殊的项目以把握特殊的机遇、抗击特殊的威胁。

好了,云是一个随叫随到的、成本最为低廉的、极易扩展的、全球性的计算基础设施。云可以在任何时间(一天24小时,一周7天)、任何地点(遍及全球)将高度可扩展的网络应用程序交付到所有相关人员手中:雇员、供应商、股票持有人及客户,它们使用方便,常常包含许多台式机应用程序无法完成的特性。机构与其同行、合作伙伴、竞争对手、客户之间的墙壁将逐渐倒塌,公司的含义也随之改变。这是本书将着重探讨的,我们将跨越技术,探讨因其而致的商业变革。真正重要的是云中的SOA将导致信息技术向商业技术的根本性转变,其中,"服务"代表"商业单元"而非"技术单元"。服务将以商业所需的速度组合、分离、再组合。

Web2.0与大简化

那么,Web 2.0又怎么样呢?事实证明,Web 2.0是"服务"的产生与消费的关键性驱动力。你很可能已经成为一个Web 2.0的参与者,你掌控着你自己的信息并向他人提供信息:

Flickr

聚友网(MySpace)

谷歌邮件(Gmail)

博客

维基百科

YouTube

网页分级排名搜索

Amazon Reviews

噢,不,Web 2.0不是一项互联网新技术,正如万维网的发明人蒂姆· 伯纳斯李(Tim Berners-Lee)将会告诉你的那样。

但另一方面,出版商及Web 2.0这一术语的发明人蒂姆·奥莱利(Tim O'Reilly)反驳道:"Web 2.0是一个网络平台,它包含所有连接的设备;Web 2.0应用是造就平台内在优越性的最主要因素:以一种持续更新的、用的人越多越好(例如维基百科)的服务的形式交付软件,使用和重新混合来自包括个人用户在内的多源数据以提供可被他人重新混合的数据和服务,通过'参与'来创造网络效应、超越Web 1.0的页面内涵以提供更加丰富的用户体验。"换句话说,Web 2.0的要旨在于:

多对多的连接(社区连网)而非过去一对多的连接。

内容更加丰富的、双向的交流,为参与交流的所有人员增加价值。

社区计算并挖掘众人的智慧,非而将计算看成一种处理商业交易的方式。

可让企业人员构造出他们自己的、创造性的解决办法而无需等待他们的IT雇员--如果你愿意,可称之为"随机应变的计算机应用程序",因为他们满足了想要完成任务的工作人员之紧急的、不断变化的需求。

Web 2.0并不是起因于技术革新,而是起因于使用方法的革新。这一变革在很大程度上是为了方便使用,如果你愿意,可称之为消费性IT。

在技术的世界里,我们称计算机为"用户"。在Web 1.0的世界里,人成了用户,网络页面为他们服务(只读的互联网)。在Web 2.0的世界里,用户成了"参与者",生产者与消费者一起主动地创造着信息库的价值,该信息库成了他们工作、与他人共享的平台(可读可写的互联网)。想想Facebook、YouTube、聚友网、第二人生(Second Life)、维基、博客、谷歌企业应用套件(Google Apps),这里,你不需要写任何程序就可以参与其中。

显然,这些易于使用的服务用得越多,它们就会变得越好,其产生的价值也越多。简而言之,Web 2.0提供了一个平台,这里万物皆服务,而不是应用程序或软件代码。这引发了一个问题:

为什么消费性IT如此简单,而企业IT如此复杂?

使用这台机器的人应该忘记它是一台机器。

--安托万·德圣埃克絮佩里(Antoine de Saint-Exuery),

Wind, Sand and Stars,1940年。

回答IT复杂性问题将会使商业社会面临的许多挑战与机遇逐渐显露出来。《装配线以来最伟大的革新》(The Greatest Innovation Since the Assembly Line)一书的作者、获过奖的首席信息官迈克尔·于戈斯写道:"你将不得不坦言,身处IT的我们已醉心于复杂化。我们对复杂、昂贵、不好的东西的沉醉越来越深,其后果也只能由我们自己承担。这是因为企业家们发现,消费性IT比企业IT要好得多。它更富有特色,响应性更好,易于使用,安装快捷,并且极为廉价。"

这正中IT及随计算机技术而增长的复杂性的要害。Web 2.0是一次由复杂到简单的飞跃,特别是在用户眼里更是如此。企业架构师Gene Weng引用列奥纳多·达芬奇(Leonardo da Vinci)的话解围道:"简单是老练的极致。"但就内部来讲,需要极其复杂的软件来使它使用起来简单。

从易于使用的角度看,复杂即简单,简单即复杂。

因此,正如阿尔伯特·爱因斯坦(Albert Einstein)曾经说过的:"使每一事物尽可能的简单,以至于无法变得更简单。"

爱因斯坦的训言与当今世界的企业IT产生了共鸣。如果你能勾画出一个灵活的、富有创新精神的公司的美好远景,并向人们展示如何将易于使用的消费性IT与复杂的企业IT系统、工具、技术交织在一起,最终达到前所未有的高度,你将变成一个真正的开拓者,并可使你的公司崛起于2008年大崩盘的灰烬之中。

由于易用性,Web 2.0创造了新的对各企业有着深远意义的"网络效应"。有些工具,比如社区软件、博客、维基、网络联盟与网络标签(大众分类法),都提供了一些方法来构建公共知识与集体协作。

正如安迪·穆荷兰和尼克·埃勒(Nick Earle)在《网状合作》(Mesh Collaboration)中所说的:"社区网是企业内外无价的工具。在公司内部,经理们可以洞悉他们的雇员是如何相互协作、使用各种技术的;在公司之外,它有助于找到潜在的商业合作伙伴、客户、供应商、雇员以及具有专业知识的人才。随着越来越多的人贡献自己的知识、增加各种结构,这种集体的贡献使得知识库对每个参与的人都越来越有用。其中的挑战是决定在何处以及怎样将这些效益应用于你的商业。"[2]

"连接!合作!改革你的企业!"是TechWeb Enterprise 2.0会议的主题。什么是Enterprise 2.0?其要点在于将Web 2.0以及SOA工具(它们使适合于环境的、灵活、简单的信息交换与通力合作成为可能)应用于分布式劳动及合作伙伴与客户的网络之上。下面是TechWeb给出的区别:

Enterprise 1.0

Enterprise 2.0

等级制度

扁平的组织

摩擦

组织流动很平滑

官僚政治

轻快

不灵活

灵活

由IT驱动的技术

用户驱动的技术

自上而下的组织方式

自下而上的组织方式

集中

分散

团队位于同一地点、同一时区

全球化的团队(一天24小时,一周7天)

地下仓库,边界分明

边界模糊,边界开放

需要去了解[1]

透明

信息系统有明晰的结构,监管森严

信息系统是自然发生的

集中分类法

大众分类法

极端复杂

简单

封闭的、私有的标准

开放的

有计划的

即求即应的

较长的上市周期

较短的上市周期[3]


[1] 即不够透明。——译者注

这里是会议样板文件:"Enterprise 2.0是一个技术与商业实践术语,这些技术与实践将劳动力从传统的电子邮件之类的沟通与生产工具的束缚中解放出来。通过由互相连接的应用程序、服务及设备构成的网络,它在正确的时间内向企业经理提供了正确的信息。Enterprise 2.0使得集体的智慧得以发挥,并将这一智慧转变成巨大的、以不断增长的创新能力、生产率、灵活性为形式的竞争优势。"

如果你认为Enterprise 2.0听起来与最初的极具夸张色彩的网络(dot-com)很相像--那么你可能是对的,确实如此。你可以忽略这些炒作,但是,后果请自负。请记住,互联网在过去、今天和将来一直对所有形式的经济与社会活动产生着大而广的影响。在这条路上,我们甚至有可能经历泡沫、Crash  2.0。但正如那些稳重的、传统的公司在网络时代经历了"亚马逊化"一样,无疑,始于2008年大崩盘的经济转型在世界经济调整之际将见证新的赢家与输家。显然,达尔文主义的商业进化将在这一乌云密布(抱歉,这里使用了容易产生混淆的比喻方式)的培养皿中上演。新的商业模型将以"信息价值链"为基础而崛起并走向繁荣,其他模型将死去。

那么,有哪些商业新模型?先来考虑一下"Freemium" 商业模型,在此,你将你的服务免费地提供出去,你可能为这些服务提供支持,也可能没有,通过口口相传、网络引用、搜索引擎优化等营销方式,你非常有效地赢得了许许多多客户,此后,通过收取佣金的方式你向你的客户群提供增值服务或服务的增强版本。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多