AJax技术

Ajax实用技巧完全指南.txt

字号+ 作者:H5之家 来源:H5之家 2015-11-17 13:10 我要评论( )

淘豆网网友rjmy2261近日为您收集整理了关于Ajax实用技巧完全指南的文档,希望对您的工作和学习有所帮助。以下是文档介绍:Ajax实用技巧完全指南 本文由 cychai 贡献pdf 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。Ajax 实

淘豆网网友rjmy2261近日为您收集整理了关于Ajax实用技巧完全指南的文档,希望对您的工作和学习有所帮助。以下是文档介绍:Ajax实用技巧完全指南 本文由 cychai 贡献pdf 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。Ajax 实用技巧完全指南Ajax 实用技巧完全指南Ajax 全称为"Asynchronous JavaScript and XML"(异步 JavaScript 和 XML),结合了Java 技术,XML 以及 JavaScript 等编程技术,是指一种创建交互式网页应用的网页开发技术.Ajax 源自描述从基于网页的 Web 应用到基于数据的应用的转换.在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的 Web 应用体验着色使之像桌面应用一样. 虽然大部分开发人员在过去使用过 XMLHttp 或者使用 Iframe 来加载数据,但仅到现在我们才看到传统的开发人员和公司开始采用这些技术. 就像新的编程语言或模型伴随着更多的痛苦,开发人员需要学习新的技巧及如何最好利用这些新技术.本技术手册为读者提供了一些很实用的小技巧,如果需要深入学习 Ajax,读者可以借助其(来源:淘豆网[])他参考资源.Ajax 入门指南Ajax,异步 JavaScript 与 XML,是使用客户端脚本与 Web 服务器交换数据的 Web 应用开发方法.这样,Web 页面不用打断交互流程进行重新加裁,就可以动态地更新.使用 Ajax,你可以创建接近本地桌面应用的,直接的,高可用的,更丰富的,更动态的 Web 用户接口界面.如何克服对 Ajax 的阻碍 ESB 和 Ajax 背后的持久动力 JavaScript,Ajax Web 服务客户端语言TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 2 of 45Ajax 开发技巧通过 Ajax,我们可以使得客户端得到丰富的应用体验及交换操作,而用户不会感觉到有网页提交或刷新的过程,页面也不需要被重新加载,应用的数据交换都被隐藏.传统的 WEB 应用程序模型是这样工作的:用户的界面操作触发 HTTP 请求,服务器在接收到请求之后进行一些业务逻辑处理,如保存数据等,然后向客户端返回一个 HTML 页面.但这种方式并没有给予(来源:淘豆网[])用户很好的应用体验,当服务器在处理数据的时候,用户则处于等待的状态,每一步操作都需要等待,太多的等待会使用户越来越没有耐心.而 Ajax 则大不相同,它通过 Ajax 引擎,使得应用过程很自然,操作很流畅,因为其只和服务器交换有用的数据,而页面显示等不必要的数据则不再重新加载.Ajax 引擎其实就是JavaScript,XML,XMLHttpRequest 等等各项技术的综合应用.将 java 和 Ajax 结合在一起 SOA 遇到 Web 2.0—Java EE 的不足之处即将到来的入侵:XML 会占据企业网络吗? Comet:从服务器端实现数据流的 Reverse AjaxAjax 最佳实践一个 Ajax 交互从一个称为 XMLHttpRequest 的 JavaScript 对象开始.如同名字所暗示的,它允许一个客户端脚本来执行 HTTP 请求,并且将会解析一个 XML 格式的服务器响应.Ajax 处理过程中的第一步是创建一个 XMLHttpRequest 实例.使用 HTTP 方法((来源:淘豆网[])GET 或POST)来处理请求,并将目标 URL 设置到 XMLHttpRequest 对象上.现在,记住 Ajax 如何首先处于异步处理状态?当你发送 HTTP 请求,你不希望浏览器挂起并等待服务器的响应,取而代之的是,你希望通过页面继续响应用户的界面交互,并TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 3 of 45在服务器响应真正到达后处理它们.要完成它,你可以向 XMLHttpRequest 注册一个回调函数,并异步地派发 XMLHttpRequest 请求.控制权马上就被返回到浏览器,当服务器响应到达时,回调函数将会被调用. AJAX 和 WPF 创新 Web 应用 Oracle 架构师提倡 agnostic Ajax 方法微软的Ajax 道路: AJAX 的 JSONAjax 未来趋势该技术在 1998 年前后得到了应用.允许客户端脚本发送 HTTP 请求(XMLHTTP)的第一个组件由 Outlook Web Access 小组写成.该组件(来源:淘豆网[])原属于微软 Exchange Server,并且迅速地成为了 Explorer 4.0 的一部分.部分观察家认为,Outlook Web Access 是第一个应用了 Ajax 技术的成功的商业应用程序,并成为包括 Oddpost 的网络邮件产品在内的许多产品的领头羊.但是,2005 年初,许多事件使得 Ajax 被大众所接受.Google 在它著名的交互应用程序中使用了异步通讯,如 Google 讨论组,Google 地图,Google 搜索建议,Gmail等.Ajax 这个词由《Ajax: A New Approach to Web Applications》一文所创,该文的迅速流传提高了人们使用该项技术的意识.另外,对 Mozilla/Gecko 的支持使得该技术走向成熟,变得更为易用. AJAX 前景非常乐观,可以提高系统性能,优化用户界面.AJAX 现有直接框架AjaxPro,可以引入 AjaxPro.2.dll 文件,可以直接在前台页面 JS 调用后台页面的方法. 但此框架与 F(来源:淘豆网[])ORM 验证有冲突. 另微软也引入了 AJAX 组建, 需要添加AjaxControlToolkit.dll 文件,可以在控件列表中出现相关控件.为什么 AJAX 技术可能是未来的 Web 服务 Ajax Experience 2009 新闻与观察TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 4 of 45Yahoo Heilmann 在 Ajax Experience 上谈标准以及 API 连通性 Ajax 安全指导:用好的架构和更安全的 API 防御攻击TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 5 of 45如何克服对 Ajax 的阻碍未来的 Web services 和面向服务的架构(SOA)可能就在于 Ajax.Ajax 是一种用于创建丰富的,基于 Web 应用的编程技术,它看起来和桌面软件差不多,但却基于浏览器,而且消耗资源不多. Ajax 在最近几个月里被大肆宣传,很大程度上是因为由 Google 开(来源:淘豆网[])发的那一些高可见性的 Ajax 应用. 尽管如此,今天的 Ajax 还没有被广泛用于 Web services 和 SOA.虽然它有很多好处,但仅仅被开发人员知晓却并没有深入运作企业业务的人们的思想里.而他们经常是对研发的经费和进展有最终发言权的人. 本文让我们一起来看看为 Webservices 和 SOA 扩展 Ajax 研发会遇到什么阻碍,以及我们如何克服它们. 为什么 Ajax比看起来难 Ajax 使 上一些很令人感兴趣的有创造性的服务变的更强大,例如Gmail, Google Local (正式名称为 Google Maps)以及其它的 Google 服务,还有 A9 搜索引擎. 使用 Ajax 的服务看起来非常像桌面应用程序,所以对于开发人员来说,它似乎并没有什么新技术.分析师和做 Ajax 开发的人同样也这么认为. ZapThink 高级分析师 RonaldSchmelzer 说:"Google 组织了一个 Ajax 开发人员的大团队来开发 Ajax 服务,但 Goo(来源:淘豆网[])gle是一个拥有数十亿美圆的公司,所以才有能力这么做."TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 6 of 45另一方面,还有很多企业没有能力雇佣这样一个 Ajax 梦幻团队.而只要 Google 需要开发 Ajax 服务它就有能力为项目支付大笔的金额,哪怕最终项目被放弃,但是更多企业则面对着紧迫的期限和必须的部署. ICESoft 公司负责市场的副总裁 Robert Lepack 制作了一个 Ajax 部署工具. 他说:"事实上,开发 Ajax 很困难.每个人都在谈论它的好处,但没有人深究其复杂性,尤其是在 SOA 中使用 Ajax 的时候." 对提高速度的建议 Tibco 公司负责产品营销的主管 Kevin Hakman 是一年前 Tibco 买进的 Ajax 开发工具 General Interface的创始人.他在 Ajax 变的如此受欢迎之前就已经涉足这个领域了. Hakman 反复强调对于Ajax 有很多复杂(来源:淘豆网[])的工作要做,但他指出这种技术的好处远比它的复杂性重要.因此,如果一家企业想采用 Ajax 但它的开发人员对这种技术还没有足够经验的时候,它应该怎么做呢?Hakman 建议这些企业不要害怕尝试 Ajax.他说,Google 已经发布了 AjaxJavascript 代码和有开源证书的代码段.任何开发人员都能得到这些代码并立即开始学习使用它们.另外他还说,已有很多可以在线使用的小模块,例如展示表格数据的模块. Hakman 还说,当开发人员需要构建一个完整应用时,他们可以使用 Tibco 的 General Interface.那是用于开发 Ajax应用的完整框架及一套工具.它能使开发人员部署 Ajax 应用而不必受 applet,插件或 C/S框架安装的限制.它还能使 Ajax 组件获得重用. Lepack 指出,他公司的 ICEfaces 产品采用了不同的方法.他们使用了 Java 应用并能允许这些应用作为 Ajax 被交付. 今天的Ajax 处于什么位置——它的前景如何TT SOA 技术专(来源:淘豆网[])题之"Ajax 实用技巧完全指南"Page 7 of 45那么,当今天的 Ajax 走向 Web services 和 SOA 的时候,它处于什么位置呢?Hakman认为它还处于早期被接受阶段.创新者和 IT 领袖更多的是在使用它.但他还说,他们倾向于更早接受 SOA. Hakman 补充道,在 SOA 和 Ajax 之间存在着很自然的配合. 他说:"Ajax 是接受和部署 SOA 的催化剂.Ajax 使 SOA 的好处变得可见,因此能帮助人们采用 SOA.而通过 Ajax,业务端用户能亲身体验到 SOA 的好处进而能体现 SOA 策略的价值." Schmelze毫不怀疑 Ajax 会最终被广泛部署在 Web services 和 SOA 中. 他相信,"虽然现在我们还看不到,但以后一定会.Ajax 还没有产品出现,但马上就会有.可能在明年就很难找出一个完全不采用 Ajax 的大型企业应用了."(作者:Preston 来源:Tech(来源:淘豆网[])Target 中国)TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 8 of 45ESB 和 Ajax 背后的持久动力ESB 包括了什么?那可能有很多东西,因为供应商们提供了一个全方位的产品,他们称之为企业服务总线.而比购买这个名头更为重要的事情是打开"引擎罩",看看究竟是什么使ESB 在运转. 你的 ESB 包括了什么? 那可能有很多东西,因为供应商们提供了一个全方位的产品,他们称之为企业服务总线.而比购买这个名头更为重要的事情是打开"引擎罩",看看究竟是什么使 ESB 在运转. 现在, 创建开源的企业服务总线的运动正在逐步推进. 将深入研究当前在进行中的三个项目,不仅要看看这些项目已经达到了怎样的地步,还要寻求以开源手段进入整个 ESB 市场的切入点. 当然,假如没有人使用的话,ESB 仅仅是一个空洞的缩写而已.这周的晚些时候,我们将为一个教育出版巨头公司做展示,它拥有两个不同的数据中心,一个在马萨朱塞洲, 一个在得克萨斯洲.它使用新的 ESB 技术让这两个中心一起工作,而不必重新编码. JBoss 公司将在本周的欧洲用户会议上被报道.这家公司已经推出了它的面向服务的体系结构版本,并且保证最新的发布依旧延续这条路线.事实上,在明年下半年 JBoss 将会有一个商业支持的开源的企业服务总线. IBM,IonaTechnologies 和 BEA Systems 都会在最近几个月内进入 ESB 领域. 在每个人都急于进入ESB 市场时,每个人甚至他的小狗看起来都想进入 Ajax 市场. 尽管 Ajax 不是集成或 Webservices 的技术,但它好象会对这些技术产生巨大的影响.TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 9 of 45俗话说的好,"百闻不如一见".要使基于面向服务的模型把新的,动态的应用整合到一起能够变得切实可行的话,只有等到这些应用在表示端都有一个同等的动态用户接口的那一天.于是,大大小小的技术供应商都对 Ajax 趋之若骛就不足为怪了.(作者:Michael 来源:TechTarget 中国)TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 10 of 45JavaScript,Ajax Web 服务客户端语言最近,JavaScript 的热点集中体现在 Ajax (asynchronous JavaScript and XML)之中的 J,但是作为一种脚本语言,它已经流行了好几年了.scape 公司Web 浏览器的"LiveScript",它处于浏览器的环境中并控制着浏览器的显示.scape 公司加入了 Java applet 功能后,一些市场专家决定把 LiveScript 更名为 JavaScript.结果,由于二者在语法上非常接近,导致了好多年的混淆.scape 浏览器竞争的时候,Microsoft 发明了自己的脚本语言,称为 Jscript.它是造成开发人员一直到今天都不能在浏览器之间兼容的根源.第一个技术标准被称为ECMA-262, 原本是想提供一个通用的 API. 正规的说, 我们应该把 JavaScript 称为ECMAScript,不过从来都没有用过.Ecma International 是一个标准化组织,从前 puter Manufacturers Association(欧洲计算机制造商协会).作为创建丰富用户体验的技术,JavaScript 比起其它的技术,例如 Flash,ActiveX 和Java applets 等,都有很多的优势.因为 JavaScript 可以连接到所有组成 Web 页面的元件,而其自身的发展也从所有技术中收益,例如已经演变成创建现代 Web 浏览器的 CSS.文档对象模型和 XHTML文档对象模型又称为 DOM,它使 JavaScript 可以定位,改变内容以及展示 HTML 页面的所有元素.可惜,早期的浏览器发展并没有一个 DOM 标准,所以每个厂商都有自己的 DOM终端.W3C 官方说明书中的"Level 1"和"Level 2" DOM 推荐书都被现代浏览器所实现,使得Ajax 的发展成为可能.XHTML 是对 HTML 的一个简单细化,它通过强制 XML 语法使得使用HTML 标签具有更大程度的预描述性.TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 11 of 45级联样式表CSS 的核心思想就是把表示层的控制与 HTML 元素内容分离开来.当被正确应用后, CSS提供了站点中所有页面展示的一致性,使得编辑更加简单,同时也减低了传送带宽. "级联"原则使通用的风格被特定目的的风格所覆盖.JavaScript 能够直接操纵控制 CSS 表示的 DOM元件.尽管有 CSS 的官方 W3C 推荐书,但是对于 DOM 的浏览器兼容性并非 100%.事件与异步需求JavaScript 的一个关键特性就是在对事件的响应中执行代码.例如,当用户的鼠标经过时,按钮等 HTML 元素外观要发生改变.因为有一个 onmouseover()函数被指定到这个按钮.这种情况下,所有的动作对于浏览器就是本地的.JavaScript 异步获得 Web 服务或其它数据的关键工具就是 XMLHttpRequest.JavaScript 在自身的执行线程中给出这样的一个请求,因此当请求对象在等待一个响应时,所有一般浏览器事件处理都可以使用.程序员必须使用一个函数来自动地在不同的端点处理请求时调用.最终,要么得到一个错误信息,要么得到完整的响应.如果服务器以 XML 文档的方式发送文本,请求会返回一个 DOM 对象,从这个对象中可以用处理 HTML 的 JavaScript 方法来抽取数据.然后,当这个数据被接受或者在被需要的时候持有时,它可以被 HTML 页面中现有的文本所取代.编写 JavaScript作为一种脚本语言,JavaScript 能够被浏览器拥有的翻译器执行.尽管比可执行的编译代码慢,但它也是 Ajax 应用程序的优点.因为程序可以被汇编成多种源代码.Ajax 使TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 12 of 45得你可以把 JavaScript 数据唯一地与.标准库代码和标准 CSS 风格样式一样,能够被Web 浏览器缓存,用于降低带宽.Ajax 的潜在问题在过去那种为单个 Web 网页而做的 JavaScript 编程和 Ajax 编程之间有一个很重要的区别.在很多人的 Ajax 应用程序编程中,一个单独的 Web 网页可以拥有可扩展的JavaScript 代码和对象集合用于当 HTML 数据被载入和动态展示时的扩展阶段.这与过去那种新 Web 网页需要新代码和频繁对象载入的使用模式非常不同.尽管 JavaScript 从被丢弃的对象中恢复内存,但编写不好的代码还是有可能持有对象引用而造成"内存泄露".这种错误不会在短期的页面中造成问题,但对于具有长生命周期的页面来说就会有问题.出于安全原因,JavaScript 通常被限制从宿主发出请求来提供 Web 页面.因此,如果你想从各种 Web 服务中连接资源,你就必须好好设计系统使得服务器发出请求并延迟发送到JavaScript 客户端的数据.另一个潜在的问题是搜索引擎的索引.因为通过 Ajax 与用户交互而动态产生的内容不能被搜索引擎机器人看到.工具你不应该在没有浏览器工具来尝试 Ajax.因为浏览器工具可以让你检查 HTML 页面的DOM 表示.Firefox 浏览器很理想,因为它有一个菜单项就是"DOM 检查器".该 DOM 检查器能让你浏览页面的层次结构,包括 JavaScript 和 CSS 元素.此外,还有很多 Firefox 插件可以用来调试 JavaScript.TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 13 of 45每当一种新的技术获得公众和产业界的青睐时,就会出现很多满足需求的供应商.很多连接了 JavaScript 库的 Ajax 工具集和定制的用户接口组件不断出现.其中一些是商用的而另一些是开源的.这个领域变化太快,我很难提供什么建议.(作者:William Brogden 来源:TechTarget 中国)TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 14 of 45将 java 和 Ajax 结合在一起在编程的世界里,Ajax 带来了超世代网站开发的复兴这一激动人心的时期,但是创建Web 服务时,它同样也对在表达专家和应用开发人员建立新的"政教分离"构成威胁. 由于一个面向服务的架构的目标是创建超世代的,面向用户业务的服务,在许多业务创新中这样的分离可能导致功亏一篑.为了在这个鸿沟形成之前就突破它,现在 ClearNova 公司发布了一个新的快速应用程序开发(RAD)平台,它所使用的开源框架是把 J2EE [Java 2 企业版本(Java2 Enterprise Edition)]和 Ajax 结合起来的. 这个平台称为 ThinkCap JX,它将允许Java 程序员在服务器上进行对用户界面的修改,并且无需了解 Ajax(Ajax 是异步JavaScript 和 XML 的缩写)的所有细节,这是因为在服务器上有一个以客户为中心的应用程序接口.同样,RAD 将自动为在客户端完成的 JavaScript 编程生成 Java stubs. "Ajax 与Java 的联系比你所认为的要更多,因为 Java 是非常多的 Web 应用和服务建立所使用的语言," ClearNova 公司的战略副总裁 Steve Benfield 说."虽然 Ajax 是基于浏览器的技术,但是你将处于呼叫服务器状态的情况要比你所想象的多." 集成的并且协调的灵活性是 SOA所需具备的关键条件之一.当进行业务修改时,Web 服务需要接受这个修改,并且快速进行修改重新得到一个用户可用的服务. 使 Ajax 功能如此强大的原因在于它使用浏览器技术来制作动态 Web 网页,而不需要在每次被鼠标点击的时候都刷新页面.然而 JavaScript 编程技能导致一般 Java 开发人员并不能普遍掌握动态表示. "问题是,你希望成为一个专制的JavaScrip 程序员呢,还是希望成为一个仅仅接触一部分 JavaScrip 的 Java 开发人员呢?"Benfield 提出疑问.TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 15 of 45在微软发布 Atlas 的试用版本一天之后,ClearNova 公司也发布了他们的 RAD,它是用于 的 Ajax 实现工具.Burton Group 的分析师 Richard Monson-Haefel 说,他相信 IT 产业将要出现一个使用 Ajax 开发工具的浪潮,这是由于技术本身具备丰富用户经验的能力. "在我们如何与 Web 服务进行交互这一方面,Ajax 正在扮演着越来越重要的角色,"他说."Ajax 正在从根本上改变我们使用 Web 的方式,并且开发人员不得不做出相应的改变以平衡这一变化." Benfield 预计在接下来的两年之内,表达方式这方面将会出现一个迅速转变以迫使形成集成的松散耦合的开发环境.(作者:Michael Meehan 来源:TechTarget 中国)TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 16 of 45SOA 遇到 Web 2.0—Java EE 的不足之处从根本上说,面向服务的架构能够使企业内部动态数据服务的创建变得更加方便,同时,还能够使企业开发人员创建影响这些服务的复合应用程序.Web2.0 提供了一个丰富的 Web体验,用户能够以高效的,充满希望的,有益的方式参与合作.如果我们把这两个现象结合起来,那么,通过企业社团成员之间的互相交流,以及成员与不断变化的企业数据之间的交互,我们就能够实现这一关键的提高效率的新方法.协作型企业相互融合,下一代的 Web 应用程序也已露端倪,但是,开发团体的推测是,为了实现明显的利益,企业所采用的各种技术之间存在着根本性的差异.标准必须朝哪个方向发展才能够满足 SOA 与 Web2.0 概念的结合,为了更好的理解这个问题,我们将致力于检验Java 表示技术的状态.Ajax 化 JavaServer Faces标准奠定了 SOA 的基本结构,但是,在 Web2.0 的世界中却不存在着标准.为了支持Web2.0 的功能,市场上出现了太多的方法,其中大多数在 JavaScript 的实现(影响 Ajax 的技术)上却非常繁杂.在 Java EE 的规范中,JavaServer Faces 提供了表示层,但是, 相比起Ajax 技术和 Web2.0 概念的流行,它目前的修订版出现的更早.事实证明,在组件层,JSF 中的可扩展组件架构非常适合与 Ajax 技术协同使用,但是,组件层 Ajax 技术存在的问题是,它们是存在于狭小的规避 JSF 生命周期的交互空间内.解决这一问题所需要的是,一种更加全面的方式,以实现在 JSF 生命周期内的 Ajax 交互.具体来说,有以下两点需要着重阐述.TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 17 of 451.改进的用户交互模型: 在 JSF 中,目前的用户交互模型是基于表格的,它过于粗略而无法传输丰富的 Web2.0 特性.组件层的 Ajax 交互粒度,以及 JSF 目前依赖的基于表格的子任务模型,这两者之间存在着显著的差异.交互类型应当包含以下几种形式:纯粹的本地客户端 JavaScript 交互,没有服务器通信,不需要执行 JSF 生命周期. 这种类型的例子可以是,在日期选择组件中通过日历来进行导航.目前,通过组件层 JavaScript实现能够支持这个模型.组件层的 Ajax 交互,不需要执行 JSF 生命周期.这种类型的例子可以是,基于当前用户在文本框中的输入,从而形成一个列表.这里的关键是,用户与组件的交互仅仅影响到该组件的表示.同样,目前,通过组件层 JavaScript 实现能够支持这个模型.组件层的提交,引发 JSF 生命周期的执行.生命周期的执行结果将成为新的表示,该表示可能会影响到页面中的多种组件.这这种类型的例子可以是,在日期选择组件中完成日期的选择,结果是引发显示不同的日期安排信息.目前在 JSF 中,还无法支持这种形式的交互.2. 增量表示更新: 为了使用 Ajaxian 方式(不是页面刷新)实现第三种交互模型,JSF需要一个增量更新机制,仅仅是把页面中应用到的表示层所做的必要修改从一个表现处理传向下一个表现处理.下面这个图示表明了这个概念.它需要一个 Ajax 桥,在服务器端把表示的改变组合起来,在客户端的 DOM 把那些变化重组.JSF Push 模式Ajaxified JSF 实现和多数其它的 Ajax 方式从遗留的 Web 应用程序模型中继承了一个共同的特征,该模型是一个客户端发起的交互模型.这意味着,客户端的表示层只需要针对用户与表示层的交互进行相应变化.TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 18 of 45与使用遗留应用程序相比,使用 Ajax 技术,这个交互是细粒度的,但是,它仍然是客户发起的.现在,当你检验支持应用程序的 SOA 数据模型的动态特性,了解众多同步用户采用这一动态数据所进行的协调互操作时,你就能够意识到,在客户端推动动态表示变化的机制是非常重要的,这一点越来越清晰.它是达到 Web2.0 模型所需要的真正的动态特性的唯一途径.在产业中已经证明,对于 JSF 规范与一个表示 push 模型的协作来说,Ajax push 技术,et,是十分必要的.前文已经描述的这个增量更新特性,提供了在实现 JSF Push 模式时所需要的基于 Ajax 的更新机制.除此之外,当应用程序逻辑发现出现了一些将会影响客户端表示层状态的变化时,延长 JSF 的生命周期来允许一个强制的表现处理是很有必要的.下图表明了基本的 JSF Push 模型.虽然,JSF push 模型相对而言实现起来更加容易,但是,生产经验表明,为使得开发人员能够有效继承,仅仅暴露 JSF API 中底层强制的表示机制是远远不够的.关于基本的 push机制,JSF 规范很有必要对表现 API 进行介绍,从而呈现给开发人员一个清晰有效的机制,用于请求强制表示.API 尤其需要提供以下几个方面:1.触发的表现:应用程序开发人员应当能够在发出表示处理请求的业务逻辑中定义触发点.2. 群组表现: 一个触发点能够影响一个单一客户端,多个客户端,或者是所有连接到该应用程序上的客户端.因此,为触发表现提供群组管理结构,这是很有必要的.3. 预定的表现:有许多合适的计划机制应当被支持,包括,按需表现,推迟表现,以及内部表现.预定的表现架构应当具备可扩展性,以支持其他用户预先设定的需求.很重要的一点是,触发表现机制应当能够更加有效的传输.由于存在着大量的触发,它们潜在地以各种方式影响着客户端,因此,管理表现的处理这一任务不能仅仅落在开发人员身TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 19 of 45上.触发表现的实现,必须有效地合并表现处理请求,处理必要的同步,而且,这些操作都是以一种线程有效的方式.多视图支持现存的为 JSF 定义的阶段和需求范围,根本不足以支持满足 Ajax 的 JSF 应用程序——用户能够在同一应用程序上获得多个活动视图.阶段范围能够维护所有视图共同的状态,但是,它不足以处理视图之间不同的状态.由于多个同步请求都必须是活动状态,所以,需求范围也不充分.因此,需要一个新的范围,来管理满足 Ajax 的 JSF 应用程序的会话方面.JBoss 的 Seam 方案提出了会话范围,它主要提供 JSF 中所需要的额外范围. 除了支持多视图之外,会话范围还能够带来其他优势,例如,在应用程序中,通过会话中对一系列用户交互的明确描述,就能够有效地支持书签和返回按钮特性.长期存在的 HTTP 请求回到前面所提到的 push 模型,你可能注意到,机制需要一个特殊的 HTTP 请求,它能够异步地响应从应用程序中发出的触发表现出理请求.依据更新的频率,这个特殊 HTTP 请求能够长期存在.由于在响应之前,每一个请求都占用其线程,所以,在处理这个长期存在的请求时,现存的 Servlet 模型无法很好的响应.因此,为了支持 push 模型,必须对 Servlet 模型进行改变,使它能够以线程有效的方式来处理长期存在的请求.再强调一次,有很多生产方案与异步 Servlets 和 HTTP 服务器相关,Java EE 规范能够在此基础上定义一个解决方案.结论人们仍然有些质疑:SOA 与 Web2.0 世界将会发生抵触,新一代的协作型企业应用程序已露端倪.也存在着这样的质疑,现存的 Java EE 规范无法完全处理 Web2.0 提出的请求,以及 JSR 处理必须开始在直接项中考虑这些请求.然而,产业中的重大进步,已经能TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 20 of 45够处理出现的请求,并且能够实现扩展现存 Java EE 基础结构的商业化的可行方案.即将使用 JSR 172 来生成 JSF2.0 规范,非常重要的是,包含 Ajax 特性,以及产业参与者贡献相关技术,来确保能够及时做出基于标准的解决方案.(作者:Stephen Maryka 来源:TechTarget 中国)TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 21 of 45即将到来的入侵:XML 会占据企业网络吗?无论是电子安全还是物理安全,维持控制在安全管理中都很关键.大型组织在选择部署XML,Web 服务和面向服务的架构(SOA)后,随之而来的是需要在企业网络中控制信息的传送.尽管上面这些技术都被仔细考虑过,但我们还是忽略了用户生成的 XML.最近,Ajax 是被关注的很多的面向用户的技术.突然之间,异步用户界面处理的能力变得非常明显, 而这也带来了很大的 XML 通信量.它已经跨越了你的企业边界.你的每一个用户可能正在使用Google Maps, Gmail 或者新的 Yahoo mail 客户端,或者正在使用即将推出的 Microsoft WebMail Browser (Kahuna),它们已经用 XML 穿越了你的防火墙.用户生成的 XML 的另一个主要驱动是拥有 XML 文档格式和基于 Web 服务集成功能的 Microsoft 的 Vista.于是,安全控制成了一个难题.随着成百上千的额外 XML 消息在网络上迅速蔓延,通信和延迟问题随之而来.很多 XML通信从内网的有效源头中,从外网中,甚至直接从互联网中发出来.好的通信与不好的通信的差别对网络的完整性非常关键.幸运地是,现在已经有解决 XML 和 Web 服务安全的基本问题的标准和解决方案了.但是,组合应用和工作流应用将会遇到麻烦,包括好的与不好的 XML 通信以及对 Web 服务的控制可信的访问.基于消息的攻击,包括延迟攻击,乱序消息攻击和欺骗消息注入等,在 XML通信中更容易出现,并且会穿越你的网络防火墙并包围你的内网.TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 22 of 45例如,Ajax 引入了新的线程宿主和安全点,Web 应用开发人员可能不认识.对 Ajax 的有效运用需要对 XML 进行有效处理以及对身份和访问权限的验证.安全功能包括签名, 加密,身份验证(还不包括 schema 验证,内容检测和拒绝服务防护)等功能,开销非常大.它们让你通常的服务器平台下降得很快,从每秒 300-400 个交易降到每秒几十个交易.消息级安全特性必须要使用.在我们新的松耦合的,业务服务可重用的环境中,通信能够得到类似 SSL 的简单的基于会话的解决方案的保护.降低 XML 相关压力的技术需要在网络中创建安全的,可信的处理.这些处理变更可以帮助创建强大的策略控制,日志并增加进强的审计功能.为处理通信而实现分布式机制的能力对于把被入侵的网络转化成 XML 有效的网络非常关键.Ajax 出现后,每个应用开发环境和打包的应用都能产生 XML 和 Web 服务接口.它也被嵌入到 Microsoft Office 中.用户生成的 XML 将显著影响我们的 IT 和网络基础设施. XML处理负载和更重要的 XML 内容安全问题必须被解决.企业级 XML 网络必须能够路由, 过滤,传送,监控,审计和保护私有的 XML 消息,而且不仅只限于 URL,还包括身份和内容.不管你准备好没有,我们在所有组织中都会充斥着 XML.逐步确保 XML 的流入得到控制将帮助企业生存下去并且在新的网络环境中获得发展.(作者:Andrew Nash 来源:TechTarget 中国)TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 23 of et:从服务器端实现数据流的 Reverse AjaxAjax,全称 Asynchronous JavaScript+XML,在 Web 应用领域已经家喻户晓.在这种机制下,不需要页面重载,浏览器就获取 RESTful Web 服务并更新 GUI.这种开发方法已经从网上地图和日历的创新起源,扩展为多数新 Web 应用的标准功能.但是,直到最近, 出现一个与该方法互补的新名词,目前它通常被称为 Reverse-Ajax (反向 Ajax),et.为了理解为什么需要像 reverse-Ajax et 的东西,就得先看一下实时事件的本质,例如那些发生在股票市场或运动比赛的实时事件.假设你负责用 Ajax 创建一个不能全屏重载,基于 Web 的应用,运用在之前提到的场景中,你会使用多长的时间间隔,向你的数据服务发送新的异步请求?记住,你不想用户错过比赛中的任何新动作,或者更糟的是,错过股票报价而无法下单.这种类型的设计没有简单的答案,如果你使用的间隔太久,用户可能错过新的信息, 但如果你使用的间隔太短,那么你的数据服务将被大量无用的请求给淹没.这个问题的核心当然是 Web 应用的无状态本质.不过,对此难题有一个解决办法,那就是服务器通知客户端有新的数据,这也被经常叫做服务器端推(serverside push).对于那些始于富客户端(rich-client)的技术,如 Flash 或 Java,这个过程可能是老调重弹,特别是因为这些技术已经集成如远程和流程的机制来处理异步请求.这些请求既可以从客户端到服务器端,也可以从服务器端到客户端.et 所做的就是使用和 Ajax 一样的技术(具体而言,就是 JavaScript 和 HTML),处理实时响应这个过程.现在让我们看看这个设计需要如何处理.TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 24 of 45首先你需要了解,服务器端的数据服务设计,需要代表浏览器客户端来保留状态.这个过程可能非常困难,也可能非常容易,这要视你使用的平台和语言而定.这样,我们再次回到Web 应用无状态的本质问题.浏览器需要不断识别自身的方法,或者通过 cookies,或者通过session ID,或者类似好莱坞的规则"不要打电话给我们,我们会打电话给你".这是指只有浏览器能够提出请求,而不能反之亦然.创建异步服务器应用中,我们面临的最后一个问题是基于 HTTP 的事件路由总线,换言之,服务器端有一个潜在的应用程序能够记录希望收到更新的客户端.这种设计很像运用于基于出版/订阅渠道的企业系统里的消息系统.但是,由于最后的机制与多数 Web 平台使用的基本方式背道而驰,所以,这也是为什 et 的应用依赖定制修改的应用服务器,或者嵌入版本来处置这些问题的最大原因.在使用 Java 的情况下,Jetty 和 Grizzly et 类型设计的两种服务器,还可以支持其他语言,如 Python,同时也支持其他流行的 Java 服务器,如 Tomcat. 这种支持技术上叫做"连续支持"(continuation support),这样,应用程序与 Web 的无状态本质相分离.连续支持也是使用 Smalltalk 和 Lisp 编写的更高水平的 Web framework 引以为豪的特点.如果把注意力转向客户端,一个浏览器能够采用不同的方式与这种服务器应用程序保持联系.这些方式包括 long-polling,动态脚本标签和包括使用 IFrames 的工作区.这些都还不是标准的方式,et 设计依赖 framework 的使用,抽象化浏览器部署之间存在的不兼容性.与 Ajax 相似,使用像 Dojo 的 framework,其本身现在就同时作为 Ajax et 的 framework 在使用.事实上,在后面那种情况下,已经有标准在制定中,例如 HTML 5.这是通过一种叫event-source 的简单标签,et 类型的负载,在这种情况下,减少了为显示Comet 发出的数据对 framework 和分段方式的需求.TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 25 of et 提供的服务是当服务器端有数据时,就传送数据给浏览器.显然这种技术将具有和 Ajax 一样的影响,并与 Ajax 相得益彰.(作者:Daniel Rubio 译者:Shirley 来源:TechTarget 中国)TT SOA 技术专题之"Ajax 实用技巧完全指南"Page 26 of AJAX 和 WPF 创新 Web AJAX 的发布代表着微软进入了 Ajax 开发领域当中.这个框架,是建立在原来的 2.0 基础上的,让 Web 开发人员在大概几分钟内就可以把能够激活 Ajax 控制添加进已经存在的应用程序当中. AJAX 确实是一般锋刃的刀,但是,这仅仅才刚刚开始.Scott Guthrie,.NET 开发平台的主要负责人在 DevConnections 大会的政治性集会中的关键演讲中这样说道.真正的吸引目光的东西将会随着 Windows Presentation Foundation Everywhere(WPF/E)来临.WPF/E 现在正处于 CTP 阶段,估计在夏季会进入第二步测试阶段.伴随着 WPE/E——它被一些人称为 Flash 杀手——视频,MP3 文件,矢量化图片可以在浏览器中运行.(而且并不是仅仅能在 IE 中运行,因为 WPF/E 是既能在浏览器有可以在不可知的平台上运行的.)这些用本土的 Visual Basic 或者 C#代码就可以实现,Guthrie 说道.那是因为这些 UI元素都是被称为 XAML(扩展的应用程序标记语言)的代码在背后支持着."你可以开始建立用户体验.那种体现能够真正的开始像人们预期的那样对浏览器的缺陷不断的推进."他说.这个概念的演示例证就是 WindowsVista.si,一个被几个斯洛文尼亚的学生通过一周时间开发出来的网站,Guthrie 这样说道, 这些开发者决定使用 WPF/E 去建立一个WIndowsVIsta,

播放器加载中,请稍候...
系统无法检测到您的Adobe Flash Player版本
建议您在线安装最新版本的Flash Player 在线安装

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JQuery实现Ajax加载图片的方法

    JQuery实现Ajax加载图片的方法

    2016-02-24 17:01

  • 判断用户是不是为ajax请求

    判断用户是不是为ajax请求

    2016-02-24 17:00

  • Ajax与WEB开发 by alixixi.com

    Ajax与WEB开发 by alixixi.com

    2016-02-11 11:02

  • jQuery.ajax()的相关参数及使用

    jQuery.ajax()的相关参数及使用

    2016-02-08 16:00

网友点评