- 浏览: 2977954 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (2529)
- finance (1459)
- technology (218)
- life (343)
- play (150)
- technology-component (0)
- idea (6)
- house (74)
- health (75)
- work (32)
- joke (23)
- blog (1)
- amazing (13)
- important (22)
- study (13)
- Alternative (0)
- funny (8)
- stock_technology (12)
- business (16)
- car (21)
- decorate (4)
- basketball (2)
- English (16)
- banker (1)
- TheBest (1)
- sample (2)
- love (13)
- management (4)
最新评论
-
zhongmin2012:
BSM确实需要实践,标准ITIL服务流程支持,要做好,需要花费 ...
BSM实施之前做什么 -
shw340518:
提示楼主,有时间逻辑bug:是你妈二十那年写的 那会儿连你爹都 ...
80后辣妈给未来儿子的信~我的儿,你也给我记住了~~~ -
guoapeng:
有相关的文档吗?
it项目管理表格(包含146个DOC文档模板) -
solomon:
看到的都是 这种 CTRL+C 和 CTRL+V 的文章, ...
Designing a website with InfoGlue components -
wendal:
恩, 不错. 有参考价值
Designing a website with InfoGlue components
![]() |
级别: 中级 Stephen Watt (swatt@us.ibm.com), IT 架构师, IBM India Software Lab Services and Solutions 2007 年 11 月 22 日 本系列文章共分三个部分,本文作为其中的第 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 范畴的应用程序中,可以观察到这些核心模式。这些模式分别是服务、简单性和社区(请参见图 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,它允许用户构建社会网络,并在其中进行交互。(有关这些站点的链接,请参见参考资料。)
向基于服务的模型的过渡,暗示了 Web 2.0 应用程序现在的发展程度。现在,Web 基础设施被看作应用程序开发堆栈的最底层(相对于可下载应用程序的服务器)。然后,利用可编程的 Web 作为用于构建 Web 2.0 应用程序的 API。这些 API 的示例都是公开可访问的 Web 服务,如 Flickr、Google Maps 和 Digg。 对于创建 Web 应用程序来说,Linux®、Apache、MySQL 和 PHP (LAMP) 应用程序开发堆栈是一种流行的、免费的、快速的并且容易的方法。该方法有助于降低创建有价值的 Web 应用程序的门槛,从而为 Web 开发人员提供了一个更广阔的基础。LAMP 堆栈是当前的新一代技术,它始终运行于大部分 Internet 中。 Web 就是您的新平台,这个概念建立在一个前提条件的基础之上,即大部分基础设施已经建立,并且当前存在于 Web 中。新的 Web 2.0 应用程序仅需要利用现有的可用宿主,而无需使用传统的 API 层,如 Java™ 平台、Enterprise Edition (Java EE) 或者 Microsoft® .NET,您现在可以使用由现有 Web 应用程序(如 Flickr 和 Google Map)公开的基于 Web 的 API(或者 Web 服务)来构建应用程序。这些 Web API 的流行使您避免了创建某些特性的工作,从而减轻了您的工作负担,所以您可以更快地构建您的应用程序。 此外,您可以集成两个或者更多的 Web API,以创建某种新的或者独特的特性,这被称为 mashup。例如,您可以使用 www.housingmap.com 在地图(由 Google Maps 提供的)中显示房地产信息(由 Craigslist 提供的)的方式,以便进行可视化导航,并筛选给定位置的房地产信息。 图 2 和图 3 对 Web 2.0 的基础设施进行了分解。 图 2. Web 2.0 堆栈中的关键技术 ![]() 图 3. 传统的应用程序开发堆栈与可编程 Web 的对比 ![]() 然后,可以使用某些技术(如 Ajax)来调用这些基于 Web 的 API,这些技术为浏览器客户端通过 JavaScript(包括同步方式或者异步方式)与服务器进行通信提供了相应的方法。这意味着,应用程序并不需要在客户端每次与服务器通信的时候都重新加载整个页面。 您可以使用 JavaScript Object Notation (JSON) 实现对象的序列化和反序列化,使得能够在浏览器客户端和服务器之间,通过 Ajax 来发送它们。与 Ajax 非常相似,您还可以使用 SOAP 规范和代表性状态传输(Representational State Transfer,REST)方法来提供在应用程序之间传输数据的行业标准方式。经常可以看到,现有的服务提供了 SOAP、Ajax 和 REST 接口。
一些其他的技术,如 Dojo(它是一个可以节约时间的、开放源代码的、跨浏览器的动态 HTML (DHTML) 工具包)和浏览器扩展,如 Greasemonkey 和 Firebug(允许您编写扩展浏览器、定制 Web 页面外观或功能的脚本),现在都可以利用 Ajax,并提供丰富的用户界面。例如,您可以为 Facebook 安装一个 Greasemonkey 脚本,当您将鼠标指针移动到缩略图上时,完整的图片将自动地出现在浏览器窗口的左侧。这使得查看图像既快速又方便,并且丰富了用户的体验。 Microformat 允许您使用 XHTML 在 (X)HTML、Atom、RSS 或者任意 XML 文档中表达语义信息。microformat 是一种机器和人类都可读的应用程序,比如,浏览器可以自动地发现它们,并对它们所描述的信息进行操作。例如,如果您希望在文档中嵌入一张名片,那么您可以使用 hcard microformat(有关更多的信息,请参见参考资料),它将使用 XHTML 来描述您的名片(请参见图 4)。 图 4. hcard microformat 的示例 ![]() 最后,RSS 和 Atom feed 现在已经不仅仅用于订阅 Blog 和新闻 feed,我们还将其作为一种潜在的方法,用以简化特定的、以内容为中心的应用程序体系结构。Atom 规范是一种最新的发展(其思想最初来自于 RSS),并且提供了一些有价值的特性,如 Atom Publishing Protocol (APP),它允许您发布要添加到 feed 的信息。如果事件驱动的体系结构现在是 SOA 框架中的组成部分,那么可以将 feed 看作是服务范例中的部分,并对其进行充分利用。
衷心感谢 Stew Nickolas、Dan Gisolfi 和 Rick Robinson 对本文的审阅以及所做的工作。 学习
获得产品和技术
讨论
|
发表评论
-
New Enterprise Security Solutions
2011-09-13 15:46 0<!-- [if !mso]> <styl ... -
ES Announces Enterprise Security Solutions
2011-09-13 15:40 0<!-- [if !mso]> <styl ... -
linux下如何将文件打包、压缩并分割成制定大小?
2010-09-15 18:52 3322将大文件或目录打包、 ... -
rhel4 yum安装, 使用
2010-09-07 16:37 0第一种方法: yum源来自chinalinuxpub.com ... -
Windows: 远程自动安装程序
2010-08-26 15:48 1121问题的提出 作为 ... -
Oracle体系结构
2010-08-07 09:53 1060Oracle体系结构 Oracle Server包括Oracl ... -
ocp sesson 3
2010-07-31 14:39 0show parameter undo 只有 默认情况下服务 ... -
ocp session 2
2010-07-25 17:00 0/home/oracle/raInventory/orains ... -
ocp session 1
2010-07-24 13:02 0ocp first lesson D:\oracle_cou ... -
Python的xmlrpc调试
2010-07-19 23:55 2155Python的xmlrpc 调 试 ----------- ... -
mdadm使用详解及RAID 5简单分析
2010-07-11 16:19 1412http://blog.csdn.net/chinalinux ... -
Linux的lvm的基本配置步骤
2010-07-11 14:53 12981.增加硬件 增加的ide硬盘前缀为hd,scs ... -
OCP study material
2010-07-11 13:52 0\\192.168.1.105watch -n 1 'stat ... -
apache+python+mod_python+django 编译安装指南
2010-06-24 17:25 14801、本文将知道你在 linux 下使用源码包安装 ... -
在ubuntu下配置apache运行python脚本
2010-06-22 16:11 2288常用的简单命令 sudo apt ... -
Python 2.5 Quick Reference
2010-06-21 11:18 1480... -
shell 面试题汇集
2010-06-10 19:50 1088利用 top 取某个进程的 CPU 的脚本 : ... -
shell程序面试题
2010-06-10 19:48 29601.要求分析Apache访问日志,找出里面数量在前面100位的 ... -
EMC技术支持工程师笔试部分试题回忆
2010-06-07 15:16 1664要查看更多EMC公司笔经相关信息,请访问EMC公司校园招聘CL ... -
linux shell 条件语句
2010-06-03 23:29 1816...
相关推荐
Mashup是Web2.0时代的一种技术,它通过集成网络上的不同数据源或功能来创造一个新的整合的Web应用程序。Mashup应用的优点包括易于开发和灵活性强。然而,Mashup技术由于缺乏广泛接受的标准,这在一定程度上限制了它...
2. SOA与Web 2.0的关系在于,SOA提供了基础架构,而Web 2.0的应用,如Mashup,可以通过可视化方式组合Web服务,但不能完全替代SOA,因为SOA更侧重于企业级服务的构建和集成。 3. 关注点分离原则是将复杂系统分解为...
IBM持续对产品进行升级,计划在后续版本中进一步深化与WebSphere Commerce和Web Content Manager的集成,支持虚拟化技术,以及推出更多对Mashup和Web 2.0技术的支持。 通过以上特性,WebSphere Portal V6.1为企业...
- **平台架构**:浪潮电信级SaaS运营支撑平台面向3G、NGN和下一代互联网,基于开放式SOA与Web2.0相结合的设计,涵盖SaaS应用管理、客户/ISV门户、MISP平台和Mashup平台,确保业务连续性和安全管理。 - **创新设计**...
1. Mashup技术在Web应用系统设计中的应用 Mashup技术是Web 2.0时代的一种创新应用方式,它允许从不同数据源整合数据,简化了复杂的数据集成过程。Mashup的核心活动包括数据输入、数据可视化、调度与监视、剪裁、...
4. 对Web 2.0技术的支持,如REST服务,便于与其他应用程序集成和创建mashup应用。 5. 客户端聚合和定制功能,通过Atom和RSS Feed高效聚合信息,改进用户体验和性能。 6. 使用AJAX技术进行Portlet开发,提高交互性。 ...
相比之下,混搭技术作为一种新兴技术,可以将Web 2.0的理念带入企业内部,利用对面向服务架构(SOA)的投资,允许最终用户利用来自不同网络资源的内容、展示或功能逻辑来创建创新的应用程序。 论文提出了一个轻量级...