Web Service也称为XML Web Service,WebService是一种可以接收Internet或者Intranet上传递过来的请求,是轻量级独立的通讯技术,具有很好的跨平台性能,因此使用Web Service有许多优点:
1. 跨防火墙的通信
Web Service具有良好的跨防火墙通信功能,能够解决传统客户端和服务器大量用户通信难度问题,Web Service充当中间层组件,可以从用户界面直接调取中间层组件,相比于传统ASP页面,不仅缩短了开发周期,还降低了代码复杂度,增强了应用程序的可维护性。
2. 应用程序集成
Web Service可以实现应用程序集成,即应用程序可以用标准的方法把功能和数据"暴露"出来,供其它应用程序使用。XML Web services 提供了在松耦合环境中使用标准协议(HTTP、XML、SOAP 和 WSDL)交换消息的能力。消息可以是结构化的、带类型的,也可以是松散定义的。
3. B2B的集成
Web Servic可用于B2B集成,通过Web Service,公司仅需把“商务逻辑”暴露给指定的合作伙伴,不管他们的系统在什么平台上运行,使用什么开发语言,均可轻松调用,还具有互操作性、运行成本低等特点。
4. 软件和数据重用
Web Service不仅可以实现代码重用,还可进行数据的重用,而且无需购买、安装,仅需远程调用即可实现功能调用,除了调用别人的代码、数据外,还可以把自己的应用程序通过Web Service提供给别人,方便快捷!
Web Service在web互操作和远程调用方面发挥巨大优势,但其也有一定的局限性,以下情况不适合使用Web Service。
1. 单机应用程序
对于一些不进行远程通信,只需进行本机通信的用户,最好就不要用Web Service,只要用本地的API就可以了,运行在同一台服务器上的服务器软件也是这样,当然Web Service 也能用在这些场合,但那样不仅消耗太大,而且不会带来任何好处。
2. 局域网的一些应用程序
在许多应用中,所有的程序都是在Windows平台下使用COM,都运行在同一个局域网上。在这些程序里,使用DCOM会比SOAP/HTTP有效得多。与此相类似,如果一个.net程序要连接到局域网上的另一个.net程序,应该使用.net Remoting。其实在.net Remoting中,也可以指定使用SOAP/HTTP来进行Web Service 调用。不过最好还是直接通过TCP进行RPC调用,那样会有效得多。