第二种应用场合:分布式公共API
另一种场合和现有的应用程序有关。也许你有一个信用卡响应系统或者网络搜索引擎或者其他面向公共市场的应用程序。你希望为广大用户(他们都在一个公共域上)提供访问这个应用程序的途径。应用程序的用户范围很广,例如从个人公司到跨国公司。
在这种情况下,你已经有了一个应用程序。现在,你将把这个应用程序扩展到Web上。就本质来说,你将利用Web服务技术为该应用程序创建一个新的前端。你将有一个Web服务来接受HTTP请求,HTTP请求包括SOAP信息。SOAP信息包含了应用程序的XML包。
你的Web应用程序可以重新包装XML,并用一个私有的API与你的应用程序进行会话;也可以把XML包直接发送到你的应用程序的处理队列中。应用程序的响应将返回给API或者发到输出队列,响应信息按照XML格式打包、SOAP格式包装、HTTP协议返回给用户(或者用户应用程序)。
第三种应用场合:企业间综合
推动企业间的商务交流是Web服务之所以存在的原因之一。企业和企业应用程序之间的综合是非常复杂的。它通常涉及到了消息处理、高级排序算法的软件实现以及难以使用的集成工具。你可以用Web服务技术来减轻这些负担。
在上面这些情况下,你需要一个Web应用程序服务器来为你的应用程序提供前端的Web服务。此外,你还需要修改你的应用程序,以便用使用UDDI注册来定位伙伴Web服务。UDDI注册包含了描述你的以及你的伙伴Web服务应用程序的WSDL。
使用WSDL描述,你就能够通过使用WSDL文档所描述的协议来动态定位和访问伙伴服务。通常这意味着把你的消息按照适当的语法组织成XML文档,用SOAP包装,借助于HTTP协议传输给伙伴Web服务进行处理。
伙伴服务可以迅速回送数据以响应HTTP请求(这叫着“同步”方式)。如果处理过程要花费一些时间,处理结果可能是异步的;在这种情况下,它可以发送到你的Web服务来处理。