zoukankan      html  css  js  c++  java
  • 【分布计算环境学习笔记】8 Web 2.0概览

    作者:gnuhpc
    出处:http://www.cnblogs.com/gnuhpc/

    1.什么是Web 2.0?

    “Web 2.0”的概念开始于O'Reilly公司和MediaLive公司之间的头脑风暴,Web1.0的主要特点在于用户通过浏览器获取信息,Web2.0则更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者。Web1.0到Web2.0的转变,具体的说,从模式上是单纯的“读”向“写”、“共同建设”发展。所以互联网下一步,是要让所有的人都忙起来,用全民力量共同织出贴近生活的网。一种以用户为中心的网络技术与服务,以用户参与、用户互动为典型特征的万维网。

    image

    Web 2.0网站的例子

    image

    2.Web 2.0的典型应用和技术

    a)Blog 相关技术举例:

    BlogML

    BlogML是由一批技术人员自行制定的,可称为通用Blog标准交换语言,是基于XML 标准的语言:采用XML的格式来存储一个博客的格式和完整内容 。如果一个博客系统支持BlogML的导出和导入功能,那么我们就可以实现下面几个常见操作 :把某个博客从一个博客系统移植到另一个博客系统或者在一个博客系统上自动的定期的对博客进行备份。

    BlogML以一种层次的形式主要定义了如下几个元素:

    • blog元素,根元素;
    • categories元素,指明博客的分类信息;
    • entries元素,表示博客的日志条目;
    • comments元素,用于表示博客评论;
    • TrackBacks元素,用于表示博客的引用通告;
    • attachments元素,用于描述博客的附件信息;
    • contents元素,用于表示一条日志的完整内容。

    TrackBack

    引用通告,可以让博客作者知道有哪些人看到自己的文章后撰写了与之相关的评论。当一个读者看到一篇博客日志之后,引用通告允许该读者在自己的博客上针对原博客日志发表自己的观点,然后向原博客日志的服务器发送该网页的URL地址及博客的标题、部分正文和网站的名称等信息,这一过程被称为“发送TrackBack Ping”。通过这种方法,在原始博客日志处就留下了评论者的URL地址、标题等部分信息。其他人也可以向原始博客日志发送TrackBack Ping,所以在原始博客日志中就将所有的评论都记录了下来。这样使读者和原作者双方都能方便的了解该博客日志内容的评论情况。于是,通过引用通告,众多有相关主题的博客就被联系了起来。

    在有引用通告功能的博客系统中,每篇博客日志都有两个URL,一个是要访问这篇文章所使用的URL,另一个就是TrackBack Ping URL。当我们想要在自己的博客中发表对某一篇博客日志的评论的时,想要通知原作者的话,只需要将原作者那篇日志的TrackBack Ping URL贴到我们这篇评论中来,当我们提交评论时,系统就会按照这个URL发送一个Ping给原作者那篇日志。

    b)Social Bookmark

    网摘是一种服务,它提供的是一种收藏、分类、排序、分享互联网信息资源的方式。用户可以为每篇博客日志或网摘添加一个或多个标签,然后用户就可以看到所有和自己使用了相同标签的日志或网摘,并且由此和其他用户产生更多的联系和沟通。

    c)维基百科Wiki

    Wiki指一种超文本系统。这种超文本系统支持面向社群的协作式写作,同时也包括一组支持这种写作的辅助工具。 中文译为“维客”或“维基”。它是一种多人协作的写作工具。Wiki站点可以有多人,甚至任何访问者维护,每个人都可以发表自己的意见,或者对共同的主题进行扩展或者探讨。

    d)内容聚合RSS

    RSS (Really Simple Syndication)是一种基于XML的数据格式规范,是内容聚合采用的标准。所谓的内容聚合,是一种共享内容的简易方式。当用户订阅了一个新闻网站中某个频道的内容或某个博客网站中的一个博客后,其使用的RSS阅读器就会接收到由该网站发布的一个RSS文件,或称为RSS Feed。RSS Feed是一个符合RSS数据格式规范的XML文件,其后缀一般为rss、xml和rdf,RSS Feed中包含了最新的网站内容和一些相关信息,利用RSS Feed,阅读器就可以向用户呈现最新的网站内容了。

    e)SNS

    SNS主要基于Stanley Milgram教授的六度分隔理论(Six Degrees of Separation,又称六度关系理论),以认识朋友的朋友为基础,扩展自己的人脉,通过朋友之间的引荐无限扩张自己的人脉,在需要的时候,可以从中与之取得联系得到该人脉的帮助。六度分隔理论:最多通过六个人你就能够认识任何一个陌生人。

    主要功能:个人展示、社区管理、人际管理、邀请功能、搜索服务、沟通交流、应用集成。

    f)Mashup

    Mashup,又名“混搭”,源于流行音乐。mashup 是从两首不同的歌曲(通常属于不同的流派)中混合演唱和乐器的音轨而构成的一首新歌。

    image

    • 地图 mashup:让 Web 开发人员可以在地图中包含各种类型的数据,例如, ChicagoCrime.org芝加哥地图上显示最新的犯罪信息。
    • 视频和图像 mashup:根据图像的元数据,将图像与其他元数据相关信息集成,如,社会关系网络上的应用。
    • 搜索和购物 mashup:消费网站提供自己的API接口,供编程访问商品内容。
    • 新闻 mashup:根据用户的profile来创建个性化的报纸,例如,Diggdot.us。

    g)Ajax

    Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)最早由Jesse James Garrett提出。区别于传统的Web应用,Ajax应用的主要目的就是提高用户体验:
    不刷新整个页面,在页面内与服务器通信;使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的的响应能力;应用系统不需要由大量页面组成。大部分交互在页面内完成,不需要切换整个页面。由此可见,Ajax使得Web应用更加动态,带来了更高的智能,并且可以提供表现能力丰富的Ajax UI组件。这样一类新型的Web应用叫做RIA(Rich Internet Application)应用。

    AJAX混合了多种技术:

    • 使用XHTML和CSS表示网页内容;
    • 使用文档对象模型(Document Object Model)进行动态显示和交互;
    • 使用XML和XSTL进行数据交互及相关操作;
    • 使用XMLHttpRequest进行异步数据查询、检索;
    • 使用JavaScript将所有东西绑定在一起。

    AJAX的典型交互流程:

    image

     

    3.Web 2.0的设计模式

    长尾:小型网站构成了互联网内容的大部分内容;细分市场构成了互联网的大部分可能的应用程序。所以,利用客户的自服务和算法上的数据管理来延伸到整个互联网,到达边缘而不仅仅是中心,到达长尾而不仅仅是头部。
    数据是下一个Intel Inside:应用程序越来越多地由数据驱动。因此:为获得竞争优势,应设法拥有一个独特的难于再造的数据资源。

    用户增添价值:对互联网程序来说,竞争优势的关键在于用户多大程度上会在你提供的数据中添加他们自己的数据。因而,不要将你的“参与的体系”局限于软件开发。要让你的用户们隐式和显式地为你的程序增添价值

    默认的网络效应:只有很小一部分用户会不嫌麻烦地为你的程序增添价值。因此:要将默认设置得使聚合用户的数据成为用户使用程序的副产品

    一些权力保留:知识产权保护限制了重用也阻碍了实验。因而,在好处来自于集体智慧而不是私有约束的时候,应确认采用的门槛要低。遵循现存准则,并以尽可能少的限制来授权。设计程序使之具备可编程性和可混合性

    永远的测试版:当设备和程序连接到互联网时,程序已经不是软件作品了,它们是正在展开的服务。因此,不要将各种新特性都打包到集大成的发布版本中,而应作为普通用户体验的一部分来经常添加这些特性。吸引你的用户来充当实时的测试者,并且记录这些服务以便了解人们是如何使用这些新特性的。

    合作,而非控制:Web 2.0的程序是建立在合作性的数据服务网络之上的。因此:提供网络服务界面和内容聚合,并重用其它人的数据服务。支持允许松散结合系统的轻量型编程模型

    软件超越单一设备:PC不再是互联网应用程序的唯一访问设备,而且局限于单一设备的程序的价值小于那些相连接的程序。因此:从一开始就设计你的应用程序,使其集成跨越手持设备,PC机,和互联网服务器的多种服务

    作者:gnuhpc
    出处:http://www.cnblogs.com/gnuhpc/


                   作者:gnuhpc
                   出处:http://www.cnblogs.com/gnuhpc/
                   除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。


    分享到:

  • 相关阅读:
    final,finally和finalize三者的区别和联系
    Java程序开发中的简单内存分析
    Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)
    java中的基本数据类型一定存储在栈中吗?
    CDN加速-内容分发网络
    大型Java web项目分布式架构演进-分布式部署
    阿里面试-2019
    jvm调优-从eclipse开始
    eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.Maven
    图解 CMS 垃圾回收机制原理,-阿里面试题
  • 原文地址:https://www.cnblogs.com/gnuhpc/p/2844253.html
Copyright © 2011-2022 走看看