什么是 Web 2.0? | |
Web 2.0 如何在企业中应用? | |
Web 2.0 与 SOA 的关系 | |
Web 2.0 编程模型是什么? |
什么是 Web 2.0? |
Web 2.0 就在我们身边,当您浏览并写作博客、在亚马逊网上书店阅读图书评论、在 Wiki 上更新一个词条或者从网站订阅 RSS 的时候,事实上您已经在使用 Web 2.0 技术了。Web 2.0 已经融入到了我们的生活、学习、工作和娱乐之中了。
Web 2.0,最初由 O'Reilly 公司在 2003 年提出,在 2004 年召开 Web 2.0 大会之后,这个词逐渐流行了起来。Web 2.0 事实上是指基于 Web 的下一代社区和托管服务,诸如社会网络、维基百科、大众分类等。它包括一系列原则、模式、创新和实践,代表着新一代的以 Web 为基础的技术,简化并促进了 Web 用户参与分享、交互与协作,从而产生更有价值的内容和服务。"2.0" 暗示着 Web 的升级换代,也指软件开发人员和最终用户在使用互联网平台的方式上发生了巨大的变化。简单的说,Web 2.0 就是更为简单地对数据源的访问、使用和协作。
和过去的 Web 1.0 之间的不同,可以概括出 Web 2.0 成功的八个核心原则:
- 群众智慧(Collective Intelligence)
建立参与架构,借助网络效应和算法,使得软件的用户越多而服务和质量变得越好。 - 数据,下一个“Intel Inside”
利用独特、难以复制的数据源,使数据变得跟功能一样重要,成为核心竞争能力。 - “复合”创新
建立平台,通过数据和服务的重新组合,创造新的市场和机会。 - 丰富用户体验
超越传统的 Web 界面模式,让在线应用拥有与桌面应用一样的丰富用户体验。 - 支持多种设备
支持各种连接到互联网的设备,为用户提供无所不在、无缝的在线体验。 - 软件即服务(Software as a Services,SaaS)和永久试验版(Perpetual Beta)
改变了传统软件开发和使用的模式,转向永久在线、持续更新、软件即服务的模式。 - 利用长尾
借助互联网带来的接触极大规模客户的能力以及极低成本的营销方式,来获得细分的“利基”(niche)市场的利润。 - 轻量级模型和低成本优势的可扩充能力
利用轻量级的商业模型和软件开发模式,来快速、廉价地构造产品和服务。
以上模式可以由下列几个 Web 2.0 的特质相互关联起来:
- 大规模互连
网络效应使得边际同核心一样重要,颠覆着旧的通信、发布、分发和聚合模式。 - 去中心化
大规模互联颠覆着传统的控制和权力结构,带来更大程度的去中心化。系统更多地从通过边沿的拉动来生长,而不是借助核心的推动向外生长。 - 以用户为中心
网络效应给予用户前所未有的力量,他们参与、对话、协作,最终产生巨大的影响。 - 开放
这种开放性,是以因特网的开放技术标准为基础的,但很快地演进到一个由开放应用所构成的生态系统,这些应用建构在开放数据、开放 API 和可重用的组件之上。 - 轻量级
软件由小团队使用敏捷方法设计和开发,使用简单数据格式和协议,采用运行开销小的平台和框架,应用和服务部署简易,商业上力图保持低的投资和成本,营销上利用简单的消费者之间的口口相传来形成病毒式传播。 - 自然浮现
不是依靠预先完整定义好的应用结构,而是让应用的结构和行为随着用户的实际使用而灵活适应和自然演变;成功来自合作,而不是控制。
这些特质在 Web 2.0 应用中体现得越来越多,由这样的应用所构成的应用生态系统,具备了将大规模个性化的信息和服务带给极大规模普通人的潜力。
请阅读下列文章,进一步学习 Web 2.0 相关知识:
- Web 2.0 介绍:梳理了 Web 发展脉络,介绍了什么是 Web 2.0,Web 2.0 的重点,Web 2.0 与 SOA 的关系,以及如何在企业中应用 Web 2.0。
- 真正的 Web 2.0 系列专栏 :深入研究真实世界中实际的 Web 2.0 站点,并演示 Web 架构师如何将 Web 中的最佳实践、模式和内容引入到自己的网站。
- 书签?标记?del.icio.us 网站!
- 了解 digg.com 和 Reddit 这两个 Slashdot 的后继者
- 用 bookmarklets 创建快捷粗略的 Web 应用程序
- Wikipedia —— 用户生成内容的获胜者
- Geronimo 叛逆者: Web 2.0 评估报告:着眼于 Apache Geronimo 项目,从 Web 2.0 应用程序的构建程序和 Web 2.0 应用程序本身的角度加以分析。
|
Web 2.0 如何在企业中应用? |
Enterprise Web 2.0 是讨论如何将源于互联网的 Web 2.0 成功模式和特质应用到企业之中,主要包括两个方面:
- 社会计算:利用支持大规模人群交互、交流与协作的 Web 2.0 社会计算工具,如 Blog、RSS、Wikis、标签等等,帮助企业建立“自下而上”的新型企业知识管理系统。帮助企业相干人群组成社区、参与讨论、相互协作、共同分享,以达到利用集体智慧的目的。
- 社会计算:实现 Web 2.0 功能的最大化:介绍了什么是社会计算,以及解释了它与 Enterprise Web 2.0 之间的关系。
- 企业中的 Wiki、blog 及其他社区工具:介绍了社会计算工具,如 Wiki、Blog 等。
- 社会计算:实现 Web 2.0 功能的最大化:介绍了什么是社会计算,以及解释了它与 Enterprise Web 2.0 之间的关系。
- Web 2.0 体系结构:Web 2.0 可以帮助企业创建更加灵活的软件体系结构,并且这种软件可以很容易地插入到 Web 2.0 社区和外部网之中。Web 2.0 带给了企业简单性、“软件即服务”的观念以及社区和用户的增值,这些设计原则和模式,也被总结为 Web Oriented Architecture,简称 WOA。
- 使用 Web 2.0 体系结构实现更灵活的企业:介绍了帮助确保您的 Enterprise Web 2.0 体系结构能够满足您的质量需求的相关技术。
- 使用 Web 2.0 体系结构实现更灵活的企业:介绍了帮助确保您的 Enterprise Web 2.0 体系结构能够满足您的质量需求的相关技术。
|
Web 2.0 与 SOA 的关系 |
Web 2.0 是当前企业 SOA 的扩展,二者相辅相成,但并非竞争和取代的关系。Web 2.0 提供的丰富用户体验、极度的简单性和易用性,让 SOA 所提供的核心业务服务和数据,能够被更多的普通用户和业务人员,以更简单、更富于个性化的新的方式使用和组合。企业 SOA 为企业内部的核心流程和数据资产,提供了它所要求的企业级安全性、可靠性、可管理能力等,这是 Web 2.0 架构即 WOA 所不能够提供的。
Web 2.0 通过将企业 SOA 中的核心服务和信息资产,扩展到那些非常柔性的、面向多人、依靠大量信息交流的、需要因场景变化而变化的活动中来,Web 2.0 提升了 SOA 的价值。
关于 Web 2.0 与 SOA 之间关系的介绍,以及如何很好的结合起来的信息,请持续关注系列专栏:
- Web 2.0 与 SOA 系列专栏 :揭开 Web 2.0 的本质,诠释 Web 2.0 与企业 SOA 的关系,以及 Web 2.0 将如何应用到企业当中。
|
Web 2.0 编程模型是什么? |
Web 2.0 以新一代的 Web 技术为基础,逐渐浮现出了一套还在发展过程中的轻量级编程模型,它主要包括以下几个重要部分。
-
轻量级的编程模型, 其背后理念是 Web as the platform。其特点是使用基于 REST 风格的分布式服务架构和以 Feed(即 RSS/Atom) 作为数据访问及传输标准。有时也考虑 SOAP,比如 Amazon 既提供 REST 也提供 SOAP,但社区里使用 REST 的比例要更高一些。
进一步学习 REST,请参见:
- Roy Fielding 的论文“Architectural Styles and the Design of Network-based Software Architectures”:关于 REST 的开创性的文章。
- 面向资源与面向活动的 Web 服务:REST 样式与 SOAP 样式 Web 服务之间关系的概览。
- Ajax 和 REST,第 1 部分:Ajax/REST 架构风格对于融入式 Web 应用程序的优点
- Ajax 和 REST,第 2 部分:应对 Ajax 软件开发的挑战
进一步学习和了解 RSS/Atom 提要(Feed)以及联合(syndication),请参见:
- RSS 简介:进一步了解 RSS、Atom 和 RSS 阅读器。
- RSS 2.0 内容提要:回顾 RSS 2.0,考察了 RSS 的新发展,帮助您迅速理解这种重要的格式。
- Ajax RSS 阅读器:学习如何构建 Ajax RSS(Really Simple Syndication)阅读器。
- 使用 Atom 格式连锁新闻及其他内容:本文中介绍了 Atom ,它是一种交换 Web 元数据的格式和 API ,用于交换和交叉引用。
- Atom 1.0 Syndication Format 概述:本文将讨论 Atom 与其他联合格式相比在技术上的优势,并通过几个典型的例子加以说明。
- 使用 RSS 和 Atom 实现新闻联合:本文说明了如何使用 RSS 和 Atom 联合格式实现通用的新闻发布体系结构,使发布过程变得轻松,并将人为错误减至最少。
- Roy Fielding 的论文“Architectural Styles and the Design of Network-based Software Architectures”:关于 REST 的开创性的文章。
-
数据服务,其背后理念是 Web as the database。数据服务将不同来源的数据结合、过滤、转换、消除不一致性,提供必要的质量保证,比如数据一致性、安全、访问控制和数据管理。
-
提供丰富的用户体验和 Web 应用, 其背后理念是 Browser as the application platform。结合使用 AJAX、HTML、XHTML、CSS、DOM、XML 和 XSLT 等成熟 Web 技术,利用 XMLHttpRequest 和 JavaScript 进行绑定,使得在线应用提供如同桌面一样的丰富用户体验。
进一步了解 RIA、Ajax 等 Web 2.0 界面技术,请参见:
- Web 2.0 用户界面技术:本文要讨论一系列 Web 2.0 用户界面技术,让您构建的应用程序具有比浏览器更好的用户体验。
- Rich Internet Applications 的技术选项:在本文对 RIA 的概述中,您将学习如何将其应用于用户界面 (UI) 层。
- 掌握 Ajax 系列 :非常好的 Ajax 入门文章系列。更多 Ajax 文章、教程和相关资源,请访问: Ajax 技术资源中心 。
- Web 2.0 用户界面技术:本文要讨论一系列 Web 2.0 用户界面技术,让您构建的应用程序具有比浏览器更好的用户体验。
-
可“混用”(Mash-able)的资产,将内容和 IT 资产变成可以灵活重组的资产,利用互联网轻量级的内容聚合方法来建立复合 Web 应用。
进一步了解 Mashup,请参见:
- Mashups:Web 应用程序新成员:这篇简介性的文章对 mashup 是什么、目前流行的不同种类的 mashup 以及 mashup 开发人员用于创建自己的应用程序的支持技术进行了探索。
- 终极 Mashup 系列教程 :了解关于构建一个 Mashup 所需的知识。
- 审视 Ajax,第 2 部分: 使用 mashup 改变您的生活:介绍了 Ajax 带来的一种有趣的可能性:用 Mashup 在网站中开发网站。
- Mashups:Web 应用程序新成员:这篇简介性的文章对 mashup 是什么、目前流行的不同种类的 mashup 以及 mashup 开发人员用于创建自己的应用程序的支持技术进行了探索。
-
企业 Mashup 平台,让那些需要内容和信息的人们,可以轻松的聚合和重组来自不同地方的内容和数据,快速满足他们因情景而不断变化的需求。