我想开发一个Java客户端,它请求可变数量的web服务。
如何使其成为最好的,客户端知道哪个服务为特定主题提供哪些信息。系统应该可以轻松添加新服务。
实施例:
假设我们为每个城市提供不同的天气预报服务。
现在我想要芝加哥的预测,该计划应该要求所有可以提供芝加哥预测的服务。我怎么能意识到这一点?以及如何处理不同类型的响应(XML或int或......)?
我应该将服务的端点存储在xml文件中并进行查找(UDDI)吗?
我很难过。因为,我对这些复杂的事情没有经验。
感谢和问候
2 个答案:
答案 0 :(得分:0)
这取决于服务的开发方式。它可以是例如ReST体系结构,或者是请求SOAP通信的服务......
首先要知道的是如何向客户提出服务。如果它是“SOAP服务”,那么你将需要公开所有可用服务的WSDL(w3C doc),如果它是ReST你需要知道服务的URI。
这些并不是唯一的两个系统(因为它们只是基于xml的),因此您需要知道网站如何公开其服务,然后了解与服务进行通信的不同方式。
这个link可能是开始学习Web服务和Web服务架构的好点。
答案 1 :(得分:0)
不同的Web服务有几种可能性来提供信息。一些使用rss或其他基于xml的格式,其他人有自己的API ...
你可以为每个服务使用类似适配器的东西,这些服务在广义的“驱动程序”上运行,用于webservice的数据交换机制......所以会有一个rss feed的驱动程序,以及其他常见的数据交换格式更具体的API。这些适配器将以相同的方式使用不同的驱动程序来提取所需的信息,这些信息将被单独显示...
也许它也可以创建一个适配器生成器,最终用户可以使用它来将自己的web服务添加到系统中......