Java Web 服务: WS-Security 的大开销
2009-11-05 00:00:00 来源:WEB开发网WS-Security 以现有的密码学以及 XML 加密和签名行业标准为基础,为 Web 服务应用程序提供了一组全面的安全特性,您可以通过 WS-Policy 和 WS-SecurityPolicy 来指定特定应用程序可以使用哪些特性,从而允许服务客户机自行配置以访问服务。通过跨多个平台和 Web 服务框架对这些标准的广泛支持,可以实现出色的互操作性(并且会不断改善)。
尽管能带来这么多好处,但 WS-Security 也存在一些缺点。在本 系列 的前两篇文章中,您已经知道 WS-Security 的配置有时会非常复杂,并且有时会在交换的消息中添加许多块(bulk)。那么,WS-Security 带来的收益在什么情况下才物有所值呢?在本文中,我们将深入探讨 WS-Security 以及相关 WS-SecureConversation 的运行时成本(在处理开销和添加块方面),并引申到如何应用 WS-Security 才能让应用程序受益的话题。
观察性能
为了测量应用程序在不同配置下的性能,本文将测定当客户机和服务器运行于同一系统中特定请求序列的执行时间。这种方法存在一些缺点 — 最显著的是,它将客户机和服务器处理开销结合在一起,因此不能单独测算它们 — 但它比在网络上运行测试能生成更加一致的结果。您还可以轻松地在自己的硬件和 JVM 上试运行这些测试,相关的实现代码请参见 下载。
性能测试应用程序
用于测试的应用程序是一个地震数据检索服务。它基于一个地震数据库,其中包含一段时间内世界各地发生的 93,000 多次地震的实际数据。对服务的请求将指定经度、纬度、日期或震级的范围,并且服务将按地区和时间顺序分组返回所有匹配的地震。整个数据库按索引保存在内存中,以便于快速处理请求,因此每条请求几乎所有的处理时间都花在实际的 Web 服务处理代码上(包括将转换为 XML 或从 XML 转换而来的数据绑定代码)。
更多精彩
赞助商链接