Andre Tost:我的10大 Web 服务问题
本文列出了本人与 IBM 内部和外部的架构师、开发人员在谈论 Web 服务以及 SOA 时所涉及到的大家共同关注的事项、问题和资源……
本文列出了本人与 IBM 内部和外部的架构师、开发人员在谈论 Web 服务以及 SOA 时所涉及到的大家共同关注的事项、问题和资源。
引言
在为 IBM WebSphere® 开发者技术期刊撰写专栏之前,我花费了大量的时间与架构师、开发人员谈论了他们在基于 Web 服务和 SOA 设计以及构建解决方案时所面临的问题。有一些问题和主题一再成为讨论的焦点,因此,我把我个人认为是与 Web 服务相关的 10 大问题列出来与大家分享。
注意,我没有把它们称为最佳实践,是因为其中有许多问题并不太容易回答。相反,别人对这些问题已经回答过许多次,对于这些内容,我只是想指导您了解一下我比较喜欢的资源,这些资源对该主题进行了较为详细的说明。我认为这些主题涉及的领域非常广泛,对于我的某些观点,您可以完全赞同也可以完全不赞同;您也可以添加其他主题。这里为您敞开了一扇大门,欢迎您对我的看法提出意见。
1. 文档/文本 Web 服务到底是什么?
这无疑是我听到的首要问题。事实上,我们在数年前就听到这一问题,令人感到有些惊奇的是,到目前为止仍有人时常提出这一问题,而且对这一问题仍存在一些误解。您可能知道,您可以在 WSDL 定义中定义 Web 服务的调用样式和编码样式。尽管这对构建网络 SOAP 消息的确切方式存在影响,但对整体解决方案、交互样式或编程模型几乎毫无效果。因此我的建议始终是:
不要将使用某个特定的样式作为整个企业范围的规则。使用不同的样式有各种各样的原因,而且您很可能会碰到所有这些样式。
将该主题看作是一种实现细节,不要让该主题推动或影响您的系统设计。
2. Web 服务非常慢,或者 Web 服务是否非常慢?
众所周知,使用 Web 服务在性能上会受到一定程度的影响。这几乎不会令人感到惊奇,因为使用 Web 服务时通常会涉及到把使用某种本机格式设置的数据构建为 XML 文档,并在网络中发送此文档。尽管交叉处理(甚至是跨网络处理)始终比本地调用要慢得多,但是如果听到已经对 Web 服务的性能进行了一些改进,您可能会感到惊奇。
有许多技术可以实现这一点;例如,智能 XML 解析器技术(为处理 SOAP 和 XML 构件而进行了高级优化)或 XML 应用程序的出现。还有 WebSphere Application Server 中的 Web 服务缓存支持功能,该功能也有助于大大提高性能。事实上,在某些情况下,在最新 WebSphere Application Server 运行时上的 SOAP over HTTP 调用比使用 RMI over IIOP 调用相同的功能要快。
因此,我的建议是应继续对分布式计算应用基本的最佳实践(例如,减少网络通信量等),但开始考虑使用 Web 服务,甚至是用在对性能要求关键的情况中。
3. 我的 XML 模式不适用于您的产品
在经过了开发 Hello World 样式的测试应用程序之后,您可能会注意到,在您的工具中,XML 模式规范中的某些更高级别的元素或者不受支持或者不能很好地 支持。例如,在 WebSphere 工具中,不存在对
- 本文关键词:

