Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services 搭载web服务可以吗?_Web Services_Webservice Client - Fatal编程技术网

Web services 搭载web服务可以吗?

Web services 搭载web服务可以吗?,web-services,webservice-client,Web Services,Webservice Client,我正在编写一个客户机-服务器应用程序,在我公司的用户笔记本电脑上有一个小应用程序 他们需要读/写sql数据(只需要相当小的数量,本质上是一个查询,以查看谁最后登录到某个东西) 我不想将我的内部SQL server暴露给internet上的“任何”主机,但可以从(受信任的)internet web主机进行http访问。我计划在我们的内部IIS服务器上编写一个web服务,外部web主机可以使用它。然后,我计划在作为客户端目标的外部主机上拥有第二个web服务 基本上,工作流程将是: 客户端通过web服

我正在编写一个客户机-服务器应用程序,在我公司的用户笔记本电脑上有一个小应用程序

他们需要读/写sql数据(只需要相当小的数量,本质上是一个查询,以查看谁最后登录到某个东西)

我不想将我的内部SQL server暴露给internet上的“任何”主机,但可以从(受信任的)internet web主机进行http访问。我计划在我们的内部IIS服务器上编写一个web服务,外部web主机可以使用它。然后,我计划在作为客户端目标的外部主机上拥有第二个web服务

基本上,工作流程将是:

客户端通过web服务查询外部主机->外部主机通过web服务查询内部web服务器


这是否过于复杂,或者避免在防火墙上打开从任何主机到内部服务器的http/s流量是一种公认的做法?

虽然这可以工作,但有点过于复杂。托管一个web服务,并要求网络团队帮助您公开并保护其面向外部的一面

例如,您的服务器可能有两个网卡,一个用于内部通信,另一个用于外部通信。DNS还可以将外部地址路由到内部IP地址。这使问题过于复杂的原因是web服务的更改需要在两个地方进行更改。此外,现在链中有两个点可以断开。您正在实现的模式称为facade,通常用于将细节抽象出来。实际上,您会想到这一点,这更像是代理设计模式的情况

我看到的另一个潜在问题是,这种类型的服务可能会被一些更讨厌的开发人员(黑客)利用来获取用户名。你没有提到人们将如何对这项服务进行授权,从你的描述来看,这项服务将开放给任何人使用。然而,这只是一种预感,因为您确实没有提供足够的信息