Mat*_*teo 4 web-services client-server
假设我是Web服务技术的新手,并且刚刚开始研究它们,我无法准确理解为什么要实现Web服务而不是标准的客户端/服务器协议.
1 - 有人可以帮我理解吗?
我在网上发现了一些迹象,但是希望你确认/扩展它们,以便帮我把所有部分放在一起.
2 - 以下陈述是否正确,您可以向我解释一下吗?
1.
A guideline that I was told:
If you plan on reaching out to multiple clients (Linux, Windows, etc.),
then use Web Services; otherwise, use Client / Server.
Run Code Online (Sandbox Code Playgroud)
2.
If your application needs to be run on machines that would access the data
over a public network (internet) then you should go with web services because
the traditional client/server model is not acceptable due to not wanting
to expose your server publicly.
The web services you would expose publicly could be secure (HTTPS),
require some kind of authentication and only expose what you WANT to expose,
versus exposing a whole database
Run Code Online (Sandbox Code Playgroud)
3.
One of the better reasons to use remoting is that it gives a large increase in
performance. But one of the down falls is that it is a good bit more complicated
to program than Web Services.
Run Code Online (Sandbox Code Playgroud)
4.
The proper use of web services is really based on your "remote connectivity"
needs. If your application is going to be run in a controlled environment such as
a LAN/WAN where you can see the server thru a private or secure (VPN) network,
then you can build a traditional client/server application
Run Code Online (Sandbox Code Playgroud)
5.
Web Services:
Though there are no major differences in the output of service with both these
models, the mobility and accessibility is definitely an advantage.
However, the lack of a great deal of personalization does come as a con against
the web-server based model.
Client Server:
The added security of client server is definitely a one up and it also gives the
option of controlling the updates and upgrades if any.
Initially though, client servers may come with a higher front-end cost.
Run Code Online (Sandbox Code Playgroud)
声明摘自以下链接:
一段时间过去了,在研究了很多关于论证的教程后,我终于可以回答我自己的问题了:
1. 为什么我应该实现Web服务而不是标准的客户端/服务器协议
实际上,Web服务是另一种分布式计算技术(如CORBA,RMI,EJB等).它们允许我们完全创建客户端/服务器应用程序,因此不能替代它们.
客户端(要访问Web服务的程序)联系Web服务(在服务器中),并发送请求某些信息的服务请求.服务器通过服务响应返回所需信息.
当然,这是Web服务如何工作的一个非常粗略的示例,但您可以看到它与普通的客户端/服务器协议的工作方式完全相同.
那么,什么使Web服务与众不同?
嗯,Web服务比其他技术有一定的优势:
Web服务是独立于平台且与语言无关的,因为它们使用标准XML语言.这意味着我的客户端程序可以用C++编程并在Windows下运行,而Web服务用Java编程并在Linux下运行.
大多数Web服务使用HTTP来传输消息(例如服务请求和响应).如果您想构建一个Internet规模的应用程序,这是一个主要优势,因为大多数Internet的代理和防火墙都不会混淆HTTP流量(与CORBA不同,后者通常会遇到防火墙问题).
当然,Web服务也有一些缺点:
高架.用XML传输所有数据显然不如使用专有二进制代码那么高效.你在便携性方面获胜,效率会下降.即便如此,对于大多数应用程序来说,这种开销通常是可以接受的,但您可能永远找不到使用Web服务的关键实时应用程序.
缺乏多功能性.目前,Web服务并不是非常通用,因为它们只允许一些非常基本的服务调用形式.例如,CORBA为程序员提供了许多支持服务(例如持久性,通知,生命周期管理,事务等).幸运的是,有许多新兴的Web服务规范(包括WSRF)正在帮助使Web服务变得越来越通用.
但是,区分Web服务有一个重要特征.虽然CORBA和EJB等技术面向高度耦合的分布式系统,其中客户端和服务器彼此非常依赖,但Web服务更适合于松散耦合的系统,其中客户端可能没有Web服务的先验知识直到它实际调用它.高度耦合系统是Intranet应用程序的理想选择,但在Internet规模上表现不佳.但是,Web服务更适合满足Internet应用程序的需求.
2.以下陈述是否正确,您能否向我解释一下?
1)如果您打算联系多个客户端(Linux,Windows等),请使用Web服务; 否则,使用客户端/服务器.
真正
如上所述:
Web服务是独立于平台且与语言无关的,因为它们使用标准XML语言.这意味着我的客户端程序可以用C++编程并在Windows下运行,而Web服务用Java编程并在Linux下运行.
相反,如果您的分布式系统架构在所有节点上都是已知且同构的,那么您可以使用固定的编程语言编写更简单,更耦合的客户端/服务器应用程序.
2)如果您的应用程序需要在可以通过公共网络(Internet)访问数据的计算机上运行,那么您应该使用Web服务,因为传统的客户端/服务器模型由于不想公开公开您的服务器而不可接受.您公开公开的Web服务可能是安全的(HTTPS),需要某种身份验证并且只暴露您要公开的内容,而不是暴露整个数据库
真正
使用Web服务,您公开向外部公开的唯一内容是标准Web服务器(客户端可以向其发送HTTP请求).所有宝贵的数据和方法都被保护为无法访问.
相反,如果您将服务器进程的访问端点(例如IP地址和服务端口号)直接提供给Internet,这将使您的数据和方法可以被任何进程访问.
3)使用远程处理的一个更好的理由是它大大提高了性能.但其中一个问题是,编程比Web服务要复杂得多.
真正
远程处理允许您构建更多功能的服务,并避免传递大量XML数据,因此性能更高.
4)正确使用Web服务实际上是基于您的"远程连接"需求.如果您的应用程序将在受控环境(如LAN/WAN)中运行,您可以通过私有或安全(VPN)网络查看服务器,那么您可以构建传统的客户端/服务器应用程序
真正
从答案的第一部分再次引用:
对于松散耦合的系统,Web服务更为合适,在实际调用Web服务之前,客户端可能没有Web服务的先验知识.高度耦合系统是Intranet应用程序的理想选择,但在Internet规模上表现不佳.但是,Web服务更适合满足Internet应用程序的需求.
5) Web服务:
虽然这两种模型的服务输出没有重大差异,但Web服务的移动性和可访问性绝对优于标准C/S范例.然而,缺乏大量的个性化确实是针对基于Web服务器的模型.
客户端服务器:
增加的客户端服务器安全性肯定是一个升级,它还提供了控制更新和升级的选项(如果有的话).但最初,客户端服务器可能会带来更高的前端成本.
真正
本声明的第一部分提到了这样一个事实,即Web服务更加平台和语言无关,因此更易于访问,但正如所述,更多时候不那么通用.
第二部分说明了这样一个事实:通过更多功能,您可以更轻松地控制和隐藏更新和升级.
例如,如果Web服务的维护者决定更改服务的接口,从而改变其WSDL描述,则客户端必须再次经历发现阶段.如果使用标准C/S协议,则不会发生这种情况.
| 归档时间: |
|
| 查看次数: |
12964 次 |
| 最近记录: |