技术开发 频道

Mashup:SOA的发展之路第1部分

【IT168 技术文章】    本系列文章共分三个部分,本文作为其中的第1部分,针对与术语Web 2.0相关的一些特征和技术提供总体的概述,并具体说明它们与面向服务的体系结构(SOA)开发之间的关系。本系列文章的第2部分将研究企业中IT和SOA的当前状态,并介绍环境应用程序和mashup生态系统提供的功能。本系列文章的第3部分将介绍IBM Mashup Starter Kit(IBMMSK),以及您应该如何使用它来开发环境应用程序。

引言

    Web 2.0是一个非常广泛的主题,为了简单起见,本文综合了各种不同组件,以便为在本系列文章的第2部分和第3部分中更详细地讨论SOA、环境应用程序和IBMMSK设置一个平台。有关Web 2.0的更广泛、更详细的描述,请参阅Tim O'Reilly撰写的文章,在本文最后的参考资料部分提供了该文章的链接。

什么是Web 2.0呢?

    可以将Web 2.0描述为一组核心的模式,在属于Web 2.0范畴的应用程序中,可以观察到这些核心模式。这些模式分别是服务、简单性和社区(请参见图1中对它们的表示)。本文在介绍这些模式之后,还探讨了一些支持它们的技术。

图1 Web 2.0应用程序展示了这三个模式

     服务
    要想真正地为Web社区(这也是Web使用和应用程序开发的新阶段的基础承租者)授权,社区首先必须能够共享对给定应用程序的公共访问方法。为促进这项工作的完成,应用程序正逐步过渡一种服务模型,其中所有的用户都可以对一个实例进行访问。而不是每个用户必须分别下载并安装应用程序。此外,这个共享的服务模型提供了单一沙箱,以保证社区机制的有效性。

    简单性
    面向开发人员的简单性:对于某些应用程序来说,软件变得越来越容易使用和开发,这得益于开放的行业标准和功能强大的技术的门槛降低。从而增加了开发人员的数量以及可用的Web应用程序。从创建社区 的角度而言,这个方面单独就可以发挥很大的作用。
    面向用户的简单性:您还可能注意到,现在的Web应用程序提供了丰富的内容和用户体验,并且随着Asynchronous JavaScript+XML(Ajax)的出现,传统的独立客户端或者瘦客户端与Web应用程序之间的界线现在已经变得模糊不清,甚至完全消失了。当前的Web应用程序不再需要像Web 1.0那样重新加载页面以浏览新的内容,就可以提供丰富的、交互式的用户体验。
    由于feed相关技术的成功(将在本文后面的内容中对其进行描述),用户现在可以订阅聚合的内容,这些内容提供了他们希望通过行业标准技术和协议得到的特定信息。现在,feed 允许采用特定的格式来包装并交付信息,这使得可以很容易地对信息进行使用和重新混合。有时,软件需要独立于信息而存在,以便信息能够实现它的最大价值,而上述的功能正好可以满足这种趋势(因此,我们将重点关注于信息,而不是功能)。其结果是,服务所有者将会发现,他们所提供的信息正以完全出乎他们预料的方式被高效地使用。

    社区机制
    对于我们组织、访问和使用信息的方式,Web已经创造了巨大的社会变革。Wikipedia(有关其链接,请参见参考资料)就是其中的一个例子,它允许人们一起工作、以协同的方式捕获并管理信息,并且速度远远超过单个个体完成同一任务所能达到的速度。它允许快速地添加信息,但是会大大地增加可用信息的总量,所以这一点既有好的一面,也有不好的一面。这使得您在查找所需的信息时非常困难,因而需要使用附加的社区机制来帮助筛选相关的信息,以便用户能够使用有意义的、易于搜索的元数据对信息进行标记。del.icio.us(有关其链接,请参见参考资料)就是其中的一个例子,它允许用户联机存储并标记他们的书签。这允许其他用户通过标记来搜索书签列表,从而提供一种在已经由该社区进行了书签标记的(经过筛选的)数据中查找相关结果的方式。
    社区数据的完整性:另一个紧迫的问题是,需要检查社区所提供的数据的完整性。可以使用同一个社区来提供有价值的信息。用户可以添加、编辑相关的注释以及建议,并且可以对这些注释和建议进行聚合,以便为给定的资源提供社区的集体观点,从而真实地创建一个既可以读取、又可以写入的Web。这种模型还可以用于在提供者和使用者之间创建紧密的反馈环节;例如eBay(有关其链接,请参见参考资料)上买家和卖家的等级系统。您可以利用社区的这种紧密反馈环节来改进软件的开发过程。现在,用户社区可以参与到软件的开发工作中,从而将软件作为一种不断更新的服务(随着越来越多的使用,不断地进行改进)来提供。
    实现人与人之间的连接:可以更进一步利用社会网络的特性,以定位和管理不同种类的资源,即相关的人员。对于定位共享公共主题的人员来说,社会网络是一种功能很强大的方式。例如,这些网络允许参加了某个特定中学的人或者属于某个特定行业社团的人,在他们自己的Web“空间”中实现共享、联网、甚至协作。此外,在这些网络中可以实现相当程度的自治,网络中的用户可以添加并邀请其他用户登录到该网络中,从而不断增加它的价值。这与Web 1.0是完全不同的,Web 1.0重点关注计算机之间的连接,而不是人与人之间的连接。
    长尾和更宽松的许可协议:关于Web 2.0应用程序,还有其他一些值得注意的方面,它们更关注于提供长尾(The Long Tail)(有关更多的信息,请参见参考资料)而不仅仅只是服务于受众,它们通过使用相关的技术服务更多的受众,并为他们提供高度个性化的产品或服务。此外,因为Web 1.0重点关注于可下载的应用程序,所以对于如何使用该应用程序,其许可协议是非常严格的(即“保留所有权利”);而对于Web 2.0,它们通常鼓励与其他技术、内容和应用程序进行集成(即“保留某些权利”)。
    我们可以在一些常见的Web 2.0旗舰网站中看到这些模式,如Digg,它使用社区机制对信息进行添加、分类和注释;YouTube,它允许用户采用对他们来说有意义的,并且其他用户可以很容易地进行搜索的方式,对多媒体信息进行标记;Facebook,它允许用户构建社会网络,并在其中进行交互。(有关这些站点的链接,请参见参考资料。)

0
相关文章