Web 2.0 综述

Web 2.0综述*

冯泽跃1+

1(北京大学 软件与微电子学院软件技术系, 北京  102600)

  :     本文首先对Web 2.0典型应用以及技术进行了简要的论述,并对Web 2.0Semantic WebSOA进行了多方面的比较,认为Web 2.0技术应和Semantic WebSOA互为补充,以实现更加完善的网络应用。

关键词:    Web 2.0 ; Semantic Web ; SOA.

1     Web 2.0的由来

Web 2.0最早是由由O’Reilly公司和MediaLive公司的一次会议上由DaleDougherty 提出的。他指出: Web 当时正处于类似于“文艺复兴”的时期。Tim O’Reilly在《What is Web 2.0》中提出了Web 2.0的七个原则:1. 互联网作为平台;2. 利用集体智慧;3. 数据是下一个Intel Inside4. 软件发布周期的终结;5. 轻量型编程模型;6. 软件超越单一设备;7. 丰富的用户体验[1]

其实,Web 2.0并没有在技术上进行了根本性的革新,它更注重的是提出了一种理念,即用户的分享和参与。在Web2.0中,它将控制权割让给了用户[4]Web 2.0Web 1.0进行了去中心化,去权威化,不再仅仅是由一些权威网站单方面的创造与发布信息,而用户单纯作为信息的受体。从这点来说,Web 2.0是草根性质的,它使广大网民都参与到信息的创造过程中。打个比方来说,从Web 1.0Web 2.0, 网民们从只读时代进入了读写时代,从上网冲浪转变为自己织网。

2     Web 2.0应用

2.1    Blog

Web 2.0时代最典型的应用就是BlogBlog Weblog 的简写, 是一种平台、也是一种技术、更是一种思潮。Blog 是一种新的网络信息发布方式, 它简单易用, 因而普及迅速, 大量的Blogger (blog的人, 即博客) 生产了大量的信息, 他们是互联网信息自发生产者。借助于互联网, 人们就可以彼此分享自己的经验、想法、感受等, 并由此形成一种新型的网络虚拟社群和人际交往方式[9]

2.2    Wiki

Wiki指的是一种网上共同协作的超文本系统,可由多人共同对网站内容进行维护和更新。wiki体现了一种哲学思想:“人之初,性本善”,wiki认为不会有人故意破坏wiki网站,大家来编辑网页是为了共同参与。网民可以通过网页浏览器对Wiki 文本进行浏览、创建、更改,就可以在系统中发布页面[10]。与其它超文本系统相比,Wiki 有使用方便及开放的特点, 所以Wiki 系统在一个社群内共同收集、创作某领域的知识, 发布大家都关心和感兴趣的话题[3]

2.3    RSS

这个是Web2.0 标杆式的技术, 它以XML为基础, 是站点用来和其他站点之间共享内容的一种简易方式( 也叫聚合内容) , 通常被用于新闻和其他按顺序排列的网站, 例如Blog。一段项目的介绍可能包含新闻的全部介绍等。或者仅仅是额外的内容或者简短的介绍[11]。这些项目的链接通常都能链接到全部的内容。网站提供RSS 输出, 有利于让用户发现网站内容的更新。

2.4    Mashups

Mashups是一种Web 应用程序,它将其他几个Web Services提供的资源联合起来。它的功能是收集不同系统的信息和应用来为用户组装新的应用 [2]。最初广泛流行起来的Mashups是一个 Web 站点,它将芝加哥警局在线数据库中的犯罪记录与 Google Maps 上的地图复合在一起。用户可以与 Mashups 站点进行交互,例如告诉它在图形界面上显示南加州最近所有入室抢劫案件详细信息的地图。

3     Web 2.0技术

3.1    AJAX

AJAX的全称是Asynchronous JavaScript and XML,它不是一种技术而是多种技术的组合。AJAX采用远程脚本调用技术,通过JavaScript语言与XML HttpRequest 对象来实现数据请求,将处理由服务器转移到客户端,减少了服务器的资源占用,加快了数据处理的速度。AJAX能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。对AJAX主要的批评就是,它可能破坏浏览器后退按钮的正常行为。在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。

3.2    开放API

以前的开放API(应用程序接口)主要指桌面应用软件,希望通过开放API 融合更多的应用。在Web 1.0时代只有少数网站,比如EBAY, 亚马逊公司(Amazon)、雅虎公司、Google 公司等,在设计之初就遵循各种工业化标准,进而开放API接口,正是由于这些开放的API,他们获得了不少有趣、有意思的应用。但大多数公司当时还没有这种意识,不过在Web2.0时代,开放API已经成为不可忽视的趋势[12]

4     Web 2.0Semantic Web

Semantic Web是一种能理解人类语言的智能网络,它不但能够理解人类的语言,而且还可以使人与电脑之间的交流变得像人与人之间交流一样轻松。为了实现 Semantic Web 的功能,需要提供一种计算机能够理解的、结构化的语义描述机制,以及一系列的推理规则以实现自动化推理。为此,Semantic Web非常依赖Ontology来将信息组织成能被机器识别和传播的形式[5]

Semantic Web的显著特征:1.闭域(Semantic Web的应用程序假定它处理的信息是在一个封闭的区域或网络中,比如数字图书馆)2.复杂综合的模型;3.为专业工程师设计;4.精密的推理;5.复杂的说明书以及重量级工具(相对于Web 2.0应用的轻量级来说)[6]

通过列举上述特点可见,Semantic Web的专业性和封闭性与Web 2.0的草根性和开放性是南辕北辙的。但二者都拥有统一个目标,所以二者是互补关系而不是竞争关系。Semantic Web的技术能力可以支持Web 2.0应用的语义需求;Semantic Web技术可以支持和维护Web 2.0的用户生态系统;Semantic Web设计和执行的方式可以补充Web 2.0的商业模式[7]。具体来说,比如可以引入Semantic Web中的基本推理来调整和规范Web 2.0tag系统,提高WikiBlog中交叉链接的有用性以及在社区中搜索的准确性。

    只有当Semantic Web实现了更加简单、便宜、易用等特点时,它才会在市场上成功。而上述特点正以长尾理论为价值理念的Web 2.0所拥有的。故二者的结合必然会取得胜利。

5     Web 2.0SOA

从复杂度隐藏、重用以及宽松的服务连接理念来看,Web 2.0SOA之间有很多共同之处。SOA (Service-Oriented Architecture)是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。有人提出了Web 2.0其实就是全球化的SOA,也有人提出了反对意见,认为二者之间有很多明显不同的元素,不能相提并论。

虽然Web 2.0SOA都拥有灵巧和架构可变的设计原则,二者之间存在的差异也很大。Web 2.0面向的是整个社会并帮助使人与人之间的交互变得便利,而SOA仅仅面向了互相连接的分散的企业应用只是使机器之间的协作更加便利;与Web 2.0友好的界面相比,SOA对于用户来说更加抽象;最重要的一点,由于SOA是面向企业应用,SOA有着相对于Web 2.0来说拥有明确的需求和严格的管理机制。

尽管二者在设计和用户方面都有很大的差距,仍然有许多文章提出将二者结合,global SOA。在《Web 2.0 and SOA》中,将这种模型称为IOS(Internet of Services)。首先将各种服务与应用(包括企业专业的应用与其他服务)加入到一个类似于(UDDI)的平台中,然后可以在这个平台通过资源的tag搜索需要的服务,使用Mashups来组装这些服务形成一个针对特定方向的应用,然后用户就可以通过各种网络使用这些应用[8]

6     结束语

Web 1.0Web 2.0的过程来看,推动的力量并不仅仅是新技术,更重要的是新思想理念。如今Web 2.0的许多应用比如Blog, Wiki, SNS等已经发展的相当成熟。但Web 2.0仍然应该积极从Semantic WebSOA中吸取思想和技术来完善自己,它们之间应该是互相补充协作的关系,而不是竞争对手。毕竟WWW只有一个,未来的Web一定是Web 2.0Semantic Web等的综合体。

References:

 [1]     Tim O'REILLY. What Is Web 2.0: Design Patterns and Business Models for the Next Generation of Software. COMMUNICATIONS & STRATEGIES, no. 65, 1st quarter 2007, p. 17.

 [2]     Ingbert R. Floyd, M. Cameron Jones, Dinesh Rathi, Michael B. Twidale. Web Mash-ups and Patchwork Prototyping: User-driven technological innovation with Web 2.0 and Open Source Software. Proceedings of the 40th Hawaii International Conference on System Sciences - 2007

 [3]     Alexander Edlund, Carl Fried. Web 2.0 IT and Knowledge Management in the 21st Century. UPPSALA UNIVERSITY : PUBLICATIONS : MARC 21 8817

 [4]     Luke Tredinnick. Web 2.0 and Business. Business Information Review, Vol. 23, No. 4, 228-234 (2006)

 [5]     Alexander Maedche, Steffen Staab. Ontology Learning for the Semantic Web. IEEE Intelligent Systems, vol. 16, no. 2, pp. 72-79, Mar./Apr. 2001, doi:10.1109/5254.920602

 [6]     Anupriya Ankolekar , Markus Kr¨otzsch, Thanh Tran, Denny Vrandeˇci´c. The two cultures: Mashing up Web 2.0 and the Semantic Web. J. Web Sem. 6(1): 70-75 (2008)

 [7]     Mark Greaves. Semantic Web 2.0. IEEE Intelligent Systems, vol. 22, no. 2, pp. 94-96, Mar./Apr. 2007, doi:10.1109/MIS.2007.40.

 [8]     Christoph Schroth, Till Janner. Web 2.0 and SOA: Converging Concepts Enabling the Internet of Services. IT Professional, vol. 9, no. 3, pp. 36-41, May/June 2007, doi:10.1109/MITP.2007.60

附中文参考文献:

  [9]   孙志国. Web2.0,以个人为中心的互联网时代的到来.农业网络信息2005.12

[10]   朱德利. Web2.0的技术特点和信息传播思想.现代情报2005.12

[11]   孙茜. Web2.0的含义,特征与应用研究.现代情报2006.2

[12]   高祥华. Web2.0中的技术及应用.中国科技信息2006.13

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值