- 浏览: 2869370 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 3264将大文件或目录打包、 ... -
rhel4 yum安装, 使用
2010-09-07 16:37 0第一种方法: yum源来自chinalinuxpub.com ... -
Windows: 远程自动安装程序
2010-08-26 15:48 1031问题的提出 作为 ... -
Oracle体系结构
2010-08-07 09:53 962Oracle体系结构 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 2064Python的xmlrpc 调 试 ----------- ... -
mdadm使用详解及RAID 5简单分析
2010-07-11 16:19 1341http://blog.csdn.net/chinalinux ... -
Linux的lvm的基本配置步骤
2010-07-11 14:53 12391.增加硬件 增加的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 14361、本文将知道你在 linux 下使用源码包安装 ... -
在ubuntu下配置apache运行python脚本
2010-06-22 16:11 2229常用的简单命令 sudo apt ... -
Python 2.5 Quick Reference
2010-06-21 11:18 1403... -
shell 面试题汇集
2010-06-10 19:50 999利用 top 取某个进程的 CPU 的脚本 : ... -
shell程序面试题
2010-06-10 19:48 27571.要求分析Apache访问日志,找出里面数量在前面100位的 ... -
EMC技术支持工程师笔试部分试题回忆
2010-06-07 15:16 1588要查看更多EMC公司笔经相关信息,请访问EMC公司校园招聘CL ... -
linux shell 条件语句
2010-06-03 23:29 1728...
相关推荐
mashup在geek群体和互联网玩家之中获得了极大的欢迎,mashup未必需要很高的编程技能,只需要熟悉api和网络服务工作方式,都能进行开发,所以很快成为一个流行的网络现象。很多公司例如yahoo/google都为此提供开放...
Google地图、Flickr、YouTube、Amazon等众多开放平台的涌现,使我们能够方便地将海量的外部Web数据灵活有序地结合起来,创建出各种奇妙的 Web Mashup(混搭)程序,从而大大拓展Web应用的广度和深度。事实上,Google...
A mashup is a web page or application that combines data from two or more external online sources into an integrated experience. This book is your entryway to the world of mashups and Web 2.0. You ...
副标题: Practical PHP Mashups with Google Maps, Flickr, Amazon, YouTube, MSN Search, Yahoo!: Create practical mashups in ...作者: Shu-Wai Chow 出版社: Packt Publishing 出版年: 2007-9-13 页数: 304
PHP.Web.2.0.Mashup.Projects.2007
PHP.Web.2.0编程的资料
NULL 博文链接:https://j2ee-zhongqi.iteye.com/blog/866114
ProWeb2.0Mashups原版英文好书,programmable web推荐的好书,对于研究mashup的人来说是个不错的教材,超级清晰
SOA 的发展之路,环境应用程序和 Mashup 生态系统费.pdf
mashup-webcomponent 该项目提供了一个Web组件,该组件利用DX API通过Mashup从Pega平台显示案例类型。 有关该应用程序的完整演示,请访问 。 mashup Web组件不能替代Pega Mashup,并且由于使用DX API生成UI动态,...
MASHUP-APP-mit-node.js 该应用为用户提供了根据给定城市实时了解温度,压力的可能性。 2)它还允许获得有关某个国家的信息,例如首都,人口数量以及最终使用的语言 文献资料 先决条件 您的计算机上必须安装以下...
孙朝晖-基于开放平台与Mashup 技术环境的Web App设计方法/孙朝晖-基于开放平台与Mashup 技术环境的Web App设计方法/孙朝晖-基于开放平台与Mashup 技术环境的Web App设计方法
将“custom.js”上传到 wp-content/plugins 下的“geo-mashup-custom”目录。 将 mm_20_*.png 文件从 wp_content/plugins/geo-mashup/images 复制到 wp_content/plugins/geo-mashup-custom/images。 ###历史2015...
IBM Mashup Center iWidget组件规范.
qs-mashup-template-enigma 模板Qlik Sense Mashup,其运行谜题并返回会话对象。 从Qlik Sense Mashup内部使用谜题的一个很好的起点。 此示例使用的是Qlik Sense Desktop的“执行仪表板”示例应用程序,但进行了一些...
web开发大全,大小 120 Mb,被压缩为 3 部分,本资源是第一部分;第二部分下载地址:http://download.csdn.net/source/2804638;第三部分下载地址:http://download.csdn.net/source/2804646。 三个资源在一起解压缩...
web开发大全,大小 120 Mb,被压缩为 3 部分,本资源是第二部分;第一部分下载地址:http://download.csdn.net/source/2804608;第三部分下载地址:http://download.csdn.net/source/2804646。 三个资源在一起解压缩...
Mashup是Web2.0的代表技术之一,体现了简单、用户参与、个性化、资源重用等特点。它可以满足快速创建服务和终端用户参与的需求,极大地促进了业务应用的创新,也让更多用户参与到快速创建服务中来。本文详细论述了...
使用 Ajax 创建用于无缝数据交互的 Web 2.0 web 应用程序是一项复杂的任务,Ajax 是一种包含(但不仅限于)Asynchronous JavaScript 和 XML 的技术。为了帮助您准确理解什么是 Web 2.0,以及 Ajax 如何改善用户体验...
种子包含一个示例 AngularJS 应用程序,并预先配置为安装 Angular 框架和一堆开发和测试工具,以获得即时的 Web 开发满足感。 种子应用程序没有做太多事情,只是展示了如何将两个控制器和视图连接在一起。 入门 要...