首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果Web服务位置不断变化,可以使用哪种体系结构

如果Web服务位置不断变化,可以使用哪种体系结构
EN

Stack Overflow用户
提问于 2019-01-19 21:58:54
回答 2查看 41关注 0票数 0

您正在编写一个使用天气Web服务http://example.org/weather/weather.asmx的程序。它可以工作,但2个月后,天气网站服务在http://example.org/weather/weather.asmx上不再可用。相反,它是在http://example.com/poschaci/temp.asmx上提供的。一个月后,http://example.net/w.asmx上的网址再次发生变化。一项研究表明,天气Web服务永远不会在一个地方提供。它的URL将继续变化。

任务1)

哪种架构为您提供了这样一种编写程序的可能性,即使在这些情况下,它也可以在现在和将来工作,而不需要对它进行任何重新编程或任何参数或配置文件的更改

任务2)

勾勒出此架构的功能!简要描述该体系结构组件的任务!

我读到了SOAP、REST和WSDL等,我发现我们需要使用REST架构来构建它。想要得到专家的建议。

没有代码,因为这是一个理论问题。

不可用

EN

回答 2

Stack Overflow用户

发布于 2019-01-20 04:25:28

您可能会认为API服务是一个接口或API。您是此接口的客户端,API。如果界面发生变化,作为客户端的您需要调整您的调用。没有好的方法来处理这个问题。通常,提供API的人需要保持它的稳定性,并为您提供迁移到较新版本等的方法。但我猜你不能向有问题的气象服务请求这一点。现在,为了处理频繁的接口更改,你可以这样做:-创建你自己的接口,它定义了你想要返回的数据,这是一个抽象层。-根据您的接口编写客户端代码,您可以控制接口的更改-通过查询天气服务1或天气服务2来实现您的接口。这只是一个数据映射。天气服务1和2可能是完全不同的服务,或者您可以考虑使用不同版本的相同服务。您的客户端代码不需要更改,只有当URL更改时,此映射才会更改。

此解决方案可帮助您轻松地在上述实现之间进行更改。我所描述的是针对您的问题的OOP解决方案,因此您将需要使用OOP语言来实现多态行为。

关于最后一点,您可以选择将您的服务(我在上面讨论的接口)公开为REST服务。

票数 0
EN

Stack Overflow用户

发布于 2019-01-25 05:54:26

任务1)不是架构问题,更多的是服务设计问题。基于服务设计的原则和8个服务desing principles,这个场景几乎违反了许多已定义的实践。服务本身应该是可互操作的,并应用服务可发现性。公开服务的方式应该考虑URL将发生变化的情况。

从技术上讲,可以通过使用DNS、反向代理或简单地添加定义静态URL来解决此问题,该URL可以执行服务调用,并重定向到SOAP术语中的所需服务操作或REST术语中的API资源。

它应该是静态的,像http://example.org/weather.asmxweather.asmx将包含其他可以动态调用和更改的操作,但http://example.org/weather.asmx应该是永久的。

任务2)如果您必须通过使用REST来实现这一点,那么您必须了解HTTP代码和无状态工作流的底层功能。通过一些免费的在线培训来发展你的技能,例如来自udemy.com的API设计培训。

我建议关注"develop and exose an API with JAVA tutorial“上的教程,博客,视频教程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54267841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档