我们已经详细讨论了SOA,那么当前的Web 2.0、PHP、AJAX以及其他诸如此类的IT技术与Web 2.0又是什么关系呢?SOA是实现IT和业务灵活性——灵活应对—— 的关键。因此,它也是激发业务潜能的关键。Web 2.0则提供了一个不同的人和观念进行实时有效交流的平台。
通信的机制多种多样,包括播客(podcast)、维基(wiki)及社会性网络(SNS)等。灵活性是Web 2.0成功的关键推动力—— 通过服务组合灵活地传递数据,通过mash-up,通过实时的数据种子以及丰富的交互技术进行数据源的分离。Web 2.0拉动了服务的消费。关键是将Web 2.0的灵活性与SOA的灵魂—— 面向服务的原则(采用松耦合、封装和重用等技术)结合起来。SOA和Web 2.0不是技术人员的专利,现在凡是利用Internet通信与协作的人都在使用它们。
要充分理解Web 2.0与SOA之间的联系。Web 2.0由许多促成技术,如PHP、AJAX、RSS、REST,等构成。而Web平台也已经从计算机间的互联转化到了Web 2.0技术。这将使业务与客户更加和谐有效地交互。业务服务、应用服务、软件服务和基础架构服务等一系列新的机遇展现在人们面前。实现Web 2.0的功能需要提高基础架构的灵活性,而这种灵活性的提高需要成熟的SOA思想对其提供支持。AJAX和REST技术都促进了SOA的发展。例如,REST可以用来组织服务,而AJAX可以用来开发前端。这就是作者认为SOA和Web 2.0的融合会成为新的业务语言的原因。
由于理解SOA和Web 2.0之间的关系至关重要,因此让我们从定义Web 2.0及其价值主张的基础知识入手,而后转入SOA和Web 2.0之间的联接的桥梁。
● 什么是Web 2.0
● Web 2.0和SOA:灵活性带来的优势
● 作为新一代平台的Web
● 促成的商业模式
什么是Web 2.0
像前面介绍SOA一样,让我们同样从Web 2.0的定义入手来了解它。由于我们正在新技术的世界中钻研,作者查看了维基百科(Wikipedia)和其他的一些资源(参见图)。Web 2.0是指人们从在线协作和共享信息的万维网上可获得的第二代服务。相较于第一代服务而言,Web 2.0提供给用户一种比传统的静态Web页面更接近于桌面应用的体验。涉及到Web 2.0的应用通常使用很多不同的技术,包括公共Web服务API(自1998年起)、AJAX(1998)、Web聚合(1997)。它们通常是大量发布的(基于Web的社会性软件),包括博客(Blog,请登录作者的Blog:www-03.ibm.com/developer-works/blogs/page/SOA_Off_the_Record)和wiki。
来源:http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html
图 Web 2.0包含很多强大的思想
Web 2.0以上的应用示例使得以下成为现实:
● Wikipedia本身就是Web 2.0技术和社会哲学的应用。它的内容来源于世界各地。
● IBM关于Web 2.0的应用起于卡特里娜飓风之后,为飓风区的那些失业者提供mash-up式的人力资源服务。由于Web 2.0的发展,最终只用了很短时间(或者,用IBM副总裁Rod Smith的话来讲:“五分钟应用软件”)就建成了有着应用优势的PHP、Google Maps和Google Earth。通过SOA服务,整合搜索界面将两个工作组结合到一个应用中。这一由IBM推动的计划也给服务提供商提供了机会,那就是为用户提供有利用价值的原材料进行mash-up,如分配、表现、连接不同素材,进行安全约束,最终成为了使企业客户构建、购买及mash-up决策的一部分。
来自“Social Computing”(Forrester Research Inc.,2006年2月)的更多Web 2.0应用示例如图所示。
社会性网络(SNS)
可以让用户挖掘个人人际关系的技术
|
Linkedin MySpace
Facebook friendster
orkut
|
对等计算(P2P)的文件共享
网络中,用户既充当客户端又充当服务器的共享媒体文件
|
BitTorrent
HoZoA
gnutella.com
|
真正简单聚合(RSS)
一种基于XML的,可以让用户收集和读取内容的技术
|
Bloglines NewsGator
Yahoo!
Feed Burner
Pluck
|
消费者对消费者(C2C)的电子商务
消费者通过网络进行的买卖活动
|
Amazon.com
eBay
craigslist
uBid.com
|
公开源代码软件
不用付费就可以被复制或更改的软件
|
The Apache Software Foundation
OpenOffice.org
Linux
MySQL
|
对比购物的网站
消费者可以比较产品和服务的网站
|
PriceGrabber.com
Froogle
Shopzilla
|
Blog
以文本、相片等组成的网络日记
|
Blogger TypePad
Xanga MSN Spaces
Gawker Weblogs.com
|
Podcasts
可供用户下载到设备上的视频或音频
|
Odeo PodShow
Podcast Alley
Juice
|
搜索引擎
在用户需求的基础上寻找Web内容的服务
|
MSN Ask.com
Google Technorati
Yahoo! American Online
|
Wikis/协作软件
共享的可发布软件或网站,用户可以编辑其内容
|
JotSpot Basecamp
Wikipedia Socialtext
Groove Networks
|
用户评论Portal
用户可以搜索有关某一产品或服务评论的Web Portal
|
TripAdvisor ReviewCenter
Insider Pages
CNET.com
Game Rankings.com
|
标签
将相片或Web页面组织成元数据,以方便搜索和共享
|
del.icio.us Shadows
Flicker Digg
BEA
|
图 具有不同功能、用途和业务的各种实体都贴上了Web 2.0的标记
简单来说,Web 2.0就是我们一直以来所使用的Web的成熟形式。在过去的十年里,Web从原始使用状态转变为技术成熟的具有实用价值的一组原则,可以引导新技术、新标准和新商业模式的产生,并对IT基本理论带来了革命性的改造。它强调简单性、快速实现,提供了包括终端用户(事实上,是消除了“开发人员”和“用户”之间的区别)、社区构建等解决方案,最重要的是让软件功能以网络服务的形式呈现。
Web 2.0盛行的原因在于:灵活地整合了不同的数据源和网络服务,从而创建了富媒体(rich media)应用的新技术。Web 2.0的价值主张与SOA类似—— 企业可以在不影响业务的前提下实行创新。还有一点与SOA相同的是:它也需要文化方面的变革。Web 2.0的广泛应用归功于参与开发的人数增加—— 开发者包括行业、部门和消费者—— 他们投入到了编写终端流程和开发应用的潮流中。
Web 2.0的一个新特征在于“关系的创建”。这一点至关重要,因为“关系”的观点导致了创新的发生。因为网站具有社会性,所以用户之间可以进行交互,业务也可以直接与其消费者交互。这种交互与以往不同:企业可以通过新型的、创新的手段,在接受信息的同时也在提供着实时信息。这是社会性网络(多对多)而不是以前的用户间一对一的关系了。
Web 2.0使文化方面的变革得以发生,特征是用户越多,软件越好。这些软件包括服务、不打包软件、参与、非正式发布(如blog)及松耦合(前面讲过SOA的一个重要特征就是松耦合式的服务)。Web 2.0的理念在于社会性交互。围绕热点话题展开的blog讨论推动着社会化和集体智慧的发展。作为平台的Web就是建立在开放、信任和永远的测试版等基础之上的。
这些观点共同构成了设计方法的理念,并提供技术帮助我们创造价值。它们代表着软件设计从应用到服务、从本地到网络、从集中式到分布式,还有最重要的,从面向任务到面向流程的转变。从技术的角度看(参见图8-3),Web 2.0的覆盖面同样相当广泛—— 实际上,任何在Web上以离散的、模块化的功能提供给用户的事物都可以打上Web 2.0的标记。这些组件都具有一个典型的特征:它们可以很容易地组合在一起,为用户提供丰富的Web浏览内容。使用Web 2.0的网站,如Flickr、Google mail和Jotspot都将用户体验上升到了一个新水平,远远超出了我们对Web页面的期望。Web 2.0的这些合成应用技术通常被称为mash-up。
图3 围绕Web 2.0产生的创新技术
mash-up源于DJ们将几首现有歌曲混合,从而制作出一首新歌的手段。他们可能从一首歌中抽取鼓的配乐,从另一首歌中抽取吉他的配乐,从第三首歌中抽取歌声,通过这样的方式制作出一种别人从未听过的音乐。在Web 2.0的世界里,mash-up指的是将现有基于Web的应用进行组合,从而快捷合成了新的应用。mash-up是Web 2.0和SOA之间的桥梁。如果说Web 2.0的mash-up技术可以将全异的信息源整合在一起,那么SOA的基础架构就是信息提供者。可伸缩的、动态的、Web访问、SOA服务都是Web 2.0的mash-up的原材料。例如:Flickr所提供的图片就是经过mash-up处理的。基于地理的航海图片也是由mash-up处理得来的。剩下的由AJAX和Web应用技术完成。但是,Flickr通常由其他业务服务提供的mash-up技术组合而成。
SOA和Web 2.0共同使业务流程具备了灵活性和敏捷性。Web 2.0的mash-up提供了支撑来处理那些业务流程中存在的障碍,以便使信息灵活快捷地到达用户。
在企业中,Web 2.0使得那些不懂技术的员工能够建立自组织的(ad-hoc)协作式“企业mash-up”应用,以应付即时业务需要。通过使用即时访问和直观的工具,如“混合板(mash board)”,他们可以收集已有的内容、编辑整理、并将其与同事、消费者和业务伙伴共享,这种令人振奋的新方法可以使流程更加便捷。
还记得SOA的价值主张吗?就是通过人员、流程和信息的切入点所取得的灵活性;通过重用和连通性的切入点所实现的降低成本。这些关键因素与Web 2.0有着同样紧密的联系。在下面的两个部分中,我们将发掘一下这些联系。
分享一张中文的web2.0全图。每个人眼中的2.0都是不一样的,大家也来分享一下你认为的web2.0吧。