
关于web service的问题
最近在看webservice,它的意思是指可以远程调用类和接口么?如果是的话,那为什么不直接发给使用者或者打成jar包使用,而要客户端远程调用呢?求指导...
最近在看webservice,它的意思是指可以远程调用类和接口么?如果是的话,那为什么不直接发给使用者或者打成jar包使用,而要客户端远程调用呢?求指导
展开
1个回答
展开全部
你没有弄清楚远程调用的需求来源。
比如对于首都机场的订票系统,这个系统内有若干订票接口,这些接口都在首都机场的内部系统里。首都机场在自己使用这些接口的同时,也想把它们开放给第三方使用,因为有些网站也想做订票功能。这些网站只有远程调用首都机场订票系统的订票接口才能订到票,这就是远程调用的需求。
即使首都机场把jar包给使用者,也没有意义。对于使用者来说,数据库还在首都机场呢。而且,jar包内部的代码实现中含有很多机密信息,泄露jar包很可能会被黑客攻击。
另外,Web服务不同于EJB式的远程过程调用。EJB方式的远程调用,是相同语言之间的,比如客户端和服务端都是Java语言。实际情况中,首都机场订票系统可能是使用.NET实现的,而使用者的那些网站是用J2EE实现的,二者使用不同的编程语言,如果想实现远程调用,Web服务就是一个非常好的选择。只要两种语言遵循同样的调用SOAP报文格式,就可以完成调用过程。这也是Web服务跨平台的特点
比如对于首都机场的订票系统,这个系统内有若干订票接口,这些接口都在首都机场的内部系统里。首都机场在自己使用这些接口的同时,也想把它们开放给第三方使用,因为有些网站也想做订票功能。这些网站只有远程调用首都机场订票系统的订票接口才能订到票,这就是远程调用的需求。
即使首都机场把jar包给使用者,也没有意义。对于使用者来说,数据库还在首都机场呢。而且,jar包内部的代码实现中含有很多机密信息,泄露jar包很可能会被黑客攻击。
另外,Web服务不同于EJB式的远程过程调用。EJB方式的远程调用,是相同语言之间的,比如客户端和服务端都是Java语言。实际情况中,首都机场订票系统可能是使用.NET实现的,而使用者的那些网站是用J2EE实现的,二者使用不同的编程语言,如果想实现远程调用,Web服务就是一个非常好的选择。只要两种语言遵循同样的调用SOAP报文格式,就可以完成调用过程。这也是Web服务跨平台的特点
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询