开始之前
如果您是一名 Web 开发人员或者一名构架师,想了解如何利用 Rational® Application Developer 来构建 Web 安全服务,请阅读本教程。使用本教程时,假定您已经具备了 Java™ 技术和 Web 服务的基本知识。本教程让您体验了一个包括添加签名、加密和 可信任标识到 Web 服务的相当完整的例子。
Rational Application Developer 的使用很简单,因此即使您是一个 Web 服务和 Java 技术的初学者也会发现本教程学起来很容易。除了向您介绍如何在 Rational Application Developer 中使用这些工具外,本教程还向您 Web 介绍了服务的安全性,以及在 Web 服务构架中这个背景的后面将会发生什么事情。如果您完全是一个 Java 技术的新手,但是如果您具备 Web 服务基础知识,这其中的有些 概念理解起来将会更容易。
本教程描述了在 Rational Application Developer 内部可利用的安全 Web 服务的特性。您可以利用 Rational Application Developer 的下=这些特性为 Web 服务添加鉴别、完整性以及机密性的能力。
在一个分布式系统中实现安全性有各种机制。许多安全传输协议利用各种其它安全机制来达到它们的目的。在本教程中我们所关注的安全焦点是 SOAP 消息的安全性。这就意味着这个被包含于其中的安全性消息利用 SOAP 消息来进行传输,使它变成独立传输的。这个安全性是建立在以下基础上的:
- XML 数字签名:提供完整性
- XML 加密:提供机密性
- 安全标识:提供验证
区别依靠传输的和那些独立传输的安全机制十分重要。开发者们通常力争确保不让他们的服务局限于任何一种特殊的传输协议。如果您的安全模式是以这个传输为基础的,并且您间接地耦合了您的服务,那么您就应该要求它对某个固定的协议是安全的。
此外,更可取的方法是将安全性从服务中抽取出来—也就是说,将它作为一个部署时的选项。这可以让您在不改变服务的情况下,在适当的时候对安全性进行修改。在您每次改变您的安全政策的时候更改您的密码是相当困难的、花费较高,而且容易出错。将安全性抽取出来还可以使您在有或者没有安全保障的情况下选择性地对您的服务进行配置。安全性增加了任何操作的处理开销,因此它应该在被许可的情况下使用。
为了完成本教程的步骤,您需要安装一个 Rational Application Developer V7.0 或者更高版本。您可以从 developerWorks 下载一个 Rational Application Developer for WebSphere® Software V7.0 试用版本。 这个安装过程非常简单而且是免费的,您需要完成一个简短的注册表格。本教程中所使用的 Rational Application Developer for WebSphere Software V7.0 的 WebSphere Application Server V6.1 测试环境是用来测试这些例子的。本教程中的截图是使用 Rational Application Developer for WebSphere Software V7.0 产生的。如果您使用的是 Rational Application Developer for WebSphere Software V6.0.1,它将仍然起作用。有些截图可能与这里显示的有些不同,然而相应的域却都相似。
您也需要下载这个样例代码 AtomicClock.java。