[转载]使用 Axis2 进行 SOA 开发,第 1 部分: 了解 Axis2 基础
下一代 SOAP 处理框架
级别: 中级
Deepal Jayasinghe (deepal@apache.org), 高级软件工程师, WSO2
2006 年 12 月 28 日
Apache Axis2 是 Apache Axis SOAP 项目的后继项目。此项目是 Web 服务核心引擎的重要改进,目标是成为 Web 服务和面向服务的体系结构(Service-Oriented Architecture,SOA)的下一代平台。作为一个干净的可扩展的开放源代码 Web 服务平台,它正逐渐受到广泛的关注。Axis2 的体系结构高度灵活,支持很多附加功能,如可靠消息传递和安全性等。
引言
Web 服务的历史非常悠久,在其发展期间经历了多次迭代。第一代 Web 服务是受到高度控制的交互,可以视为仅是对可行性的测试。Apache SOAP 是第一代中值得注意的 SOAP 引擎之一,主要用作“概念验证”,而根本没有考虑性能。第一代 SOAP 引擎的整个目的是为了让人们认识到 Web 服务是一个理想的选项。
不久,第一代 SOAP 引擎获得了回报。越来越多的公司开始对此产生兴趣,SOA 的概念逐渐成形。可以将此阶段称为第二代 Web 服务,它要求更好更快的 SOAP 引擎。发现和定义等方面已经得到标准化,并需要 SOAP 引擎来支持这些标准。Axis 是这些第二代 SOAP 引擎之一。
现在,第二代 Web 服务的时代已经接近尾声。Web 服务现在的要求非常高,Web 服务领域的参与者也非常多。用于控制 Web 服务交互的不同方面的涉及内容已得到标准化。第三代 Web 服务要求使用更快、更可靠的 SOAP 引擎——现有的 Axis 已不足以满足此要求。Axis2 应运而生,填补了这一空白。
Axis2 体系结构
Axis2 具有模块化体系结构,由核心模块和非核心模块组成。据说,Axis2 核心是纯 SOAP 处理引擎,并没有包含 Java? API for XML-based RPC (JAX-RPC) 概念作为其核心的一部分。同时,Axis2 体系结构的设计充分考虑了以下原则:
逻辑和状态分离,以提供无状态处理机制,因为 Web 服务是无状态的。
所有信息位于一个信息模型中,允许对系统进行挂起和恢复。
能够在不更改核心体系结构的情况下扩展功能,能以最小或没有核心更改的情况下直接支持新 Web 服务规范。
Axis2 核心体系结构包括以下核心和非核心组件:
核心组件
XML 对象模型 (AXIOM)
SOAP 处理模型:处理程序框架
信息处理模型:上下文和描述
其他组件
部署模型
传输
客户机 API
核心生成模型
|