如今在企业级应用中,Ajax、Widget、RSS/Atom 等 Web 2.0 技术正在得到越来越广泛的使用,这些技术不但产生了良好的用户体验,同时也来越来越多地影响着许多前端系统的编程模式和系统架构。许多传统的 Java EE 产品和框架也在越来越多地引入这些 Web 2.0 技术,如 Struts2 和 JSF 都有了越来越完善的 Ajax 扩展,Portal 产品中也基于 Dojo 等 javascript 框架引入部分刷新等机制,大幅提升了性能和用户体验。可以看出,Web 2.0 不仅是互联网应用的概念,它为企业级应用乃至整个软件行业都产生着深远影响。
基于 SOA 的企业应用,要考虑和 Web 2.0 的结合,首先需要解决的是怎样将各种各样的服务与那些 Web 2.0 技术整合在一起,在很多时候服务端和客户端的整合是具有一定难度的。SCA 作为一种跟具体语言、平台无关的 SOA 编程模型,必然需要考虑那些 SOA 传统技术与 Web 2.0 技术的整合。Apache Tuscany 作为开源界最成熟的 SCA 框架之一,在这方面提供了很多支持。本文正是从这个角度出发,结合实例介绍 Tuscany 在 Web 2.0 方面提供的诸多功能,同时对 SCA 和一些典型的 Web 2.0 技术作一定的介绍。
SCA 的基本概念以及 SCA 规范的具体内容并不在本文的范畴之内,有兴趣的读者可以通过一些相关文档了解相关内容,这也是阅读本文的基础。下面本文首先对 Tuscany 框架做一定的介绍。
Tuscany 是 Apache 的开源项目,它是 IBM、Oracle、SAP 等厂商联合成立的 SOA 标准化组织 -OSOA 支持下开发出的 SCA 框架,它既是开源界 SCA 的试金石,也是当前开源界最成熟的 SCA 框架之一。
Tuscany 基本架构
图 1 为 Tuscany 的基本架构图,从图中可以看出,作为一个轻量级 SCA 框架,Tuscany 提供了非常松散耦合的框架结构。主要有以下几个特点: