构建丰富互联网应用 SOA大显身手

服务器在线10月9日报道 SOA从一个概念到企业多层次IT的应用已经取得了很大的进步。SOA在UI(用户界面)层的应用是SOA最新的应用趋势。SOA已经显示了多种应用风格,如通过使用类似于AJAX的技术创建一种丰富的用户体验(如谷歌地图服务),通过汇聚多个数据源的数据配置增值的服务(如 chicagocrime.org),创建集体人工智能(如Digg和del.icio.us),创建适用于可信赖的团体的协作平台和基于模块化内容的网站(如Marumushi.com)。

所有这些应用模型都使用一种最适合这个目的的架构。这包括在浏览器中使用的Java脚本以便异步获取数据的技术(如,谷歌地图服务);在服务器端创建来自多个数据源的内容汇聚,如RSS或者屏幕抓取技术;创建单纯在客户端的内容汇聚,由于浏览器的局限性,这样做是很困难的(如,Mozilla限制一个单个的浏览器进程从多台机器上直接访问数据)。这个核心的思想就是没有一种单独的技术能够解决SOA在用户界面层应用中的不同类型的情况。

需要汇聚和客户化可重复使用的用户界面组件以及丰富的用户体验的安全增值功能等情况能够从使用AJAX和WSRP(Web Services for Remote Portlets)等技术中受益。根据这个观点,我们提议一个包含WSRP和AJAX的架构。它不仅包含提供给用户的客户化的用户界面,而且还能处理安全等非功能性的要求。这在创建可信赖的商务社区方面有重要意义。

在提议的架构中(如图1所示),一个企业服务总线通过转换WSRP生产者生成的标记段根据用户的配置管理用户界面客户化。这个企业服务总线还处理安全和缓存等功能,通过解决任何浏览器端的限制问题充当WSRP生产者和那里的Web服务的一个单点代理。在这个架构中,AJAX控件用来完成远程portlet(网络门户的组件)的部分更新,方法是直接调用企业服务总线,而不是通过WSRP消费者把这个调用从浏览器转到WSRP生产者,从而取得巨大的性能好处和丰富的用户体验。

这个提议的架构还处理身份识别、单一登录、授权、信息保密和隐私等全部安全问题。设想一种商务环境,在这个环境中,用户需要从不同的WSRP生产者的一个以上的portlet访问数据,可能是同时访问数据,也可能是一个接着一个地访问数据。在这两种情况下,用户的证书应该仅进行一次验证。这个功能是通过使用WSRP安全提供的。选择某些用户的接入portlet、信息加密、数字签名以及从基于浏览器的AJAX控件单一登录/安全访问企业服务等功能也可以使用企业服务总线进行配置。同企业服务总线一起使用WERP和AJAX是许多现实世界环境中的一个有趣的条件。这些环境需要根据用户设置共享一个动态的客户化的用户界面并且设置一个丰富的用户体验,同时满足可信赖的商务社区的安全要求。