现在的位置: 首页 > 综合 > 正文

web services的基本概念

2013年10月02日 ⁄ 综合 ⁄ 共 972字 ⁄ 字号 评论关闭

时不时地还会去csdn的社区看看,已经不止一次了,发现那里的很多问题是因为对web services的基本概念还不清楚。看到到别人用,自己也来用,走着走着就把自己领入了死胡同。

下面是一些个人的看法,欢迎讨论。

典型的几个:

1.web services怎么主动把信息反馈回客户端?(已经不止一次有人问了)

问这个问题可能多数对services的概念不清楚,web services是service的provider,既然是provider,那概念上就应该客户向web services请求服务,倒过来是不行的。有人会说“推”技术,其实推也是客户向services请求的,只不过变成了自动的轮询。想想,server连client开不开机都不知道,怎么推?客户开机了,向服务供应商询问“昨天12点以来有什么新东西?”provider才会向客户端“推”。

从数据流动的方面想,数据流动总有一个发起者和接收者,如果发起者是web services,那么接收者是谁呢?有人以为是那个使用web service的应用程序,可如果那个程序被用户关掉了呢?或者因为什么原因ip地址改变了呢(拨号上网,DSL,DHCP环境都有可能)?在这样的情况下,services的反馈信息就没有接收者了。连基本的连接都建立不了,更不要说传递信息了。

还有一个更基本的概念,就是web连接的无态性(stateless),就是每次web连接都是独立的。http的连接每一次请求都和前后文无关,这是优点,当然在某些情况下也是缺点。理解了这个,也就知道了web services是不会向客户端主动发送了反馈了。因为它根本不知道刚才的客户端是谁,即便他什么都没有改变。

2.怎么给web services加个界面?

既然是service,就没有界面的,这应该是老外当初起名时候的用意,它提供的是service,不是带界面的应用程序。试想老外们当初想出这个主意来,就是想把functionality和interface分开,所以才有了service这一说,而且通过xml和http,使这种services更具广泛性。现在又想把它和在一起?这种看法是完全违背了web services初衷的。

说来说去,还是一句话,概念不清。现在很多技术的门槛是很低,但这是在我们概念清楚的前提下的。不然把自己走进死胡同的可能性是很大的。

抱歉!评论已关闭.