分享
 
 
 

Ajax三部曲:Whynot,Why,When

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

除了SOA这方面,也许还有另外一个方面让SOA成为最近几个月内的很多IT机构开发列表上的东西,那就是:Ajax.尽管这一方面更加倾向于在Web的可用性和专业设计上取得轰动效应,它的确带来了有效的跨入面向服务架构的领域的途径,我们将会在下面为你展示这些方法中的一部分。

Ajax是异步JavaScript和 XML单词的缩写(asynchronous JavaScript and XML)。正如Web服务开发者应该关于的一样,我们最应该的关注的技术是它的异步本质,以及随之而来的它的暗示了关于在一个语言可执行的环境的知识的JavaScript根源――命名为一个浏览器――并且也带来了在至少的一点来看,一旦能够运转之后它所产生的视觉效果(不是说我们要忽略这个最后的一点,而是图像设计师一般的比程序员更加熟练于解决这些问题)。

异步是描述的一个客户端和一个服务器端的交互的侧面,在这种交互中客户端不用等待服务器端――或者经常称之为的被阻塞――来等待接受从服务器端的响应。 消息传递系统,如MQ-Series, Tibco Rendezvous和类似于JMS的可编程API,都是比较早就采用异步机制的概念了的,但是现在Ajax正在以相同的方式来解决Web应用程序的问题。

Ajax 的异步概念来自于由浏览器进行的JavaScript 函数调用,并把结果返回给Web服务提供者或者服务端的应用程序。当你和一个Ajax应用程序交互的时候,那种可以更新展示在屏幕上的信息块的而不需要刷新或者重载它的所有内容的方式就是异步的,因为你能够在服务器端构建很多不同的调用而不需要在等待服务器响应的时候――客户阻塞――时刻的盯着一个空白的屏幕。

尽管正式那些Web2.0的支持者包括图像设计者和软件市场人员最经常的使用Ajax,很多开发出来的软件使得Ajax应用程序可以作为可复用服务的集合。

奇怪的是为一个Ajax应用程序提供的数据不需要由一个Web浏览器客户端的约束或者JavaScript语言来帮定,实际上一个最优化的Ajax设计将会确定的在服务端以一种广为所知的Web服务设计方式来帮定:REST(可以在REST: Simplicity in Web Services design 专栏看到关于REST的更多的消息。)

REST服务,是被创建来用于提供一个Internet URL 的简单的访问点,有效的掩盖服务端的平台,比如你也许期望的Web service 并且由最早的Web services选择器提供最简单的 设计模式,如eBay、Yahoo!和 Amazon.他们本质上是提供粒度的数据块而不是提供完全的页面,所提供的数据块可以按照客户端提供的需求来消费和产生。

因为Ajax应用程序的生命周期是由从服务端调用的对屏幕特定部分进行更新的过程组成的,REST服务提供了一个创建基于Ajax的应用程序的超集。所以如果现在你有一个已经存在的REST服务群,这将会是为你的Ajax应用程序开个好头。类似的,你将会被很好的建议,以采取必要的步骤来整合所有的你是用来让你的Ajax应用程序变成一个更加庞大的REST服务集合那些资产,这样做的目的是让这些资产能够在其他的面向服务/非Ajax的应用程序中使用。

在另外一方面来说,绑定到一个浏览器来使用你的服务,遮掩个会限制你的使用环境,所以这也会暗示着创建你的Web services客户端。 然而很多Web services客户端具有从其他不同的来源集中和控制数据的能力,这些上可以实现的,因为他们被由类似于Java EE, .NET或者 PHP的系统架构构建而成的。

考虑在两个不同的Web服务提供者之间集成数据。这种情况和在一个非浏览器环境下也许一样简单,可以证明会成为Ajax应用程序中的一个头疼的问题,也就是它是跨站点的脚本的原因。为了能够努力阻止恶意代码的执行,一个浏览器通常是受限的,它只能在它显示的站点上拥有的执行逻辑代码。这防止了信任的请求在那些未被信任的站点执行,但是这个相同的处理会避免接近两个或者更多的不同Web service提供者,除非是在一个更低的安全配置要求的浏览器的情况下,因为这种方式在整个IT安全实践中都被认为是一种不好的方式。

最后的,还有一个需要考虑的东西是用来构建Ajax应用程序的JavaScript语言。每一个用来开发Web应用程序的编程语言都依赖于一个特定的框架,以减少开发任务的难度和适应Web的本质。大部分的这些框架都是用于服务器端的平台,而Ajax作为服务端的一个简单的单独REST服务集合,它并不是其他的Web架构平台提供的并不适用于Ajax应用程序的功能。它是这些设计所关注的一些简单的东西――如标准化请求或者控制类――转移到浏览器。在最后,关于很多JavaScript 架构方面的研究都是很值得去做的,以便开出来让创建Ajax应用程序更加容易。

Ajax本质上是Web开发的下一个潮流,但并不是意味着它将会被作为一个Web的新的注视点而已。正如你可能已经意识到的一样,在关于Ajax设计你的整个面向服务的动机结合起来的考虑意味着你可以在你的时间和资源上取得一个最大的回报。所以下一次你开发主动解决Ajax适用的有效性的时候,可以试着用SOA的相同的可复用性方法。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有