Ajax联手SOA 新一代Web2.0应用程序
今,各个企业都在想方设法提高自己的生产效率,并且对IT资产的重组也都在努力的探索当中。借助于面向服务的架构(SOA)技术,IT组织已经在克服这些问题方面取得了一定的成效;但是,在大多数情况下仍然只是实现了整个IT服务组合的一小部分
一、引言
当今,各个企业都在想方设法提高自己的生产效率,并且对IT资产的重组也都在努力的探索当中。借助于面向服务的架构(SOA)技术,IT组织已经在克服这些问题方面取得了一定的成效;但是,在大多数情况下仍然只是实现了整个IT服务组合的一小部分。目前,有关这方面的大多数的努力也只不过是达到一种“刚刚满足”的SOA应用状况—在改进构建应用程序的能力以及使之与市场的结合更快更好更为便宜方面。而且正如我们已了解的,要实现这些目标说起来容易做起来难。
二、传统的基于中间件的复合应用程序
现有的事实是,SOA是一种中间件—而传统情况下,中间件往往要依赖于更多的中间件才能把数据翻译成一种消费者友好的状态。当你最后搞清楚构建一种融入SOA技术的复合应用程序不仅要求使用一种portal(中间件)而且还有可能要使用一种BPEL引擎(甚至还是中间件)对它进行编排时,这当然使你非常失望。更糟糕的是,你有可能在一家发布UDDI注册表和注册大量Web服务的组织内工作。但遗憾的是,在大多数情况下,还存在极少的实际消费这些服务的应用程序。怎么会是这种情况呢?
难道如果无法构建消费这些SOA服务的应用程序我们就该得出结论—什么东西出错了吗?是否是因为业务内容开发者太难构建这种直接消费SOA服务的应用程序从而导致只好由其它的IT组织为我们创建这样的应用程序呢?是否由于缺乏一种SOA监管架构从而使我们犹豫不决?我想,我对上面所有问题的回答都是“是的”。而且存在一种非常突出的理由:仅由业务开发者消费和利用这种由IT组织暴露的SOA服务实在是太难了!其实,真正存在的问题是缺乏一种容易的方法来在SOA上加入一种界面—而这正是把AJAX技术与SOA结合到一起的优点所在。
典型情况下,SOA服务被实现为一种松耦合的封装和暴露业务功能的Web服务。这听起来似乎非常直接,但是实现起来却非常复杂和困难。开发者经常在SOA服务的开发粒度方面讨论不止;但是现在,大多数开发人员都一致认为“业务级”的开发粒度是最合适的。然而,这仍然需要大量的相关领域专家加入并且要与业务内容合作才能最终确定这些服务的大小。
三、SOA的复兴
幸运的是,最近人们又对SOA产生了深厚的兴趣。也许企业最终意识到SOA确实能够帮助给它们带来巨大帮助。也许这是由于更好的开发工具和在Amazon,Yahoo和eBay宣传下的Web服务所致的缘故。也许它就是AJAX?不错—这也正是本人撰写此文之原因。认真地说,我确实认为正是AJAX成为更新人们对于SOA的重新认识的一种重要的驱动力量,特别是在当今各种新技术混合应用领域。但是,这两种迥然不同的技术应该如何结合并连接到一起才能迸发出更巨大的力量呢?先让我们来看一下Wikipedia对当前AJAX技术的定义。其中涉及到了Web页面,但是根本没有提及SOA。其中的描述是:
“AJAX,代表了‘异步JavaScript+XML’,是一种创建交互式Web应用程序的Web开发技术。其目的是,通过在后台与服务器实现少量的数据交换从而使前端Web页面感觉起来更具响应性;因此,每当用户作出一个改变时,不必重载整个Web页面。其最终目的是进一步提高Web页面的交互性、响应速度及可用性。”
- 本文关键词:

