当前位置 : 主页 > 网页制作 > Nodejs >

收集与WebService之间的点点滴滴

来源:互联网 收集:自由互联 发布时间:2021-06-24
您是否遇到过客户端和服务端处在不同的区域?该程序是否需要跨越网域之间的防火墙进行数据通信与传递?项目中是否会调用来自第三方不同语言的软件和硬件提供的不同服务??不

       您是否遇到过客户端和服务端处在不同的区域?该程序是否需要跨越网域之间的防火墙进行数据通信与传递?项目中是否会调用来自第三方不同语言的软件和硬件提供的不同服务??不知您交易的项目的商务处理是否更加自动化,跨越供应商,交易商乃至突破公司的界限??

       如果您遇到或者需要解决上述的问题,您是否会想到java中这个独立的而又低耦合的web应用程序,WebService技术,能够使得运行在不同机器上的不同应用实现相互交换数据或集成,而不需要其他第三方的软件或者硬件。该程序可以使用开发的xml的标准来描述、发布、配置这些应用程序,可以用来开发分布式的互操作的应用程序;所以使用该技术我们可以将应用程序转换为网络应用程序,也可以被其他应用程序使用。

  ♚  调用原理

       web服务由两层含义:

            1.封装成单个实体并发布到网络上的功能集合体

            2.功能集合体被调用后所提供的服务。

      简单来讲,web服务就是一个URL资源,客户端可以通过编程方式请求得到它的服务,而不需要知道所请求的服务是怎样实现的。web服务的体系结构是基于web服务提供者、web服务请求者、web服务中介者三个角色和发布、发现、绑定三个动作构建的。

               

  ♚   调用方式

         在WebService中,调用方式主要有三种:POST /GET / SOAP:

     

       由于jdk支持该技术,所以如果我们需要使用,我们直接安装jdk之后使用wsimport来实现就可以,只是相对其他框架来讲,该技术不需要引入相关的jar包,只是要手动生成java类的代码:

       

       

          PS:不需要将class文件引入程序;

       这样,我们就可以编写程序并启动,具体代码详见http://pan.baidu.com/s/1hs9CeaS;

  ♚  小结

  优点:

      1.跨越防火墙的通信:

         像开篇中提出的问题:如果应用程序分布在世界各地,而且服务端和客户端之间有各种防火墙或者代理服务器,让原本就棘手的通信问题班的更不简单。而在一个用户界面和中间层有较多交互的应用程序中,使用WebService结构,可以节省花在用户界面编程上20%的开发时间,而且,一个由WebService组成的中间层,完全可以在用用程序或者其他场合下重用,最后通过WebService把应用程序的逻辑和数据暴露出来,还可以让其他平台上的客户重用这些程序;

      2.应用程序集成

           有时即使在同一个平台上,不同软件厂商生产的各种软件也常常需要集成起来,而通过WebService,应用程序可以用标准的方法把功能和数据饱漏出来,供其他程序使用

     3.B2B的集成

     4.软件和数据的重用

          使用WebService,我们可以直接调用远端的WebService就可以,而不用从第三方购买、安装软件的组件。

 缺点:

    1.单机应用程序 

    目前,企业和个人还使用着很多桌面应用程序。其中一些只需要与本机上的其它程序通信。在这种情况下,最好就不要用WebService,只要用本地的 API就可以了。COM非常适合于在这种情况下工作,因为它既小又快。运行在同一台服务器上的服务器软件也是这样。最好直接用COM或其它本地的API来 进行应用程序间的调用。当然WebService也能用在这些场合,但那样不仅消耗太大,而且不会带来任何好处。

  2.局域网的同构应用程序

   在许多应用中,所有的程序都是用VB或VC开发的,都在Windows平台下使用COM,都运行在同一个局域网上。例如,有两个服务器应用程序需要相互 通信,或者有一个Win32或WinForm的客户程序要连接局域网上另一个服务器的程序。在这些程序里,使用DCOM会比SOAP/HTTP有效得多。 与此相类似,如果一个.NET程序要连接到局域网上的另一个.NET程序,应该使用.NETremoting。有趣的是,在.NETremoting中, 也可以指定使用SOAP/HTTP来进行WebService调用。不过最好还是直接通过TCP进行RPC调用,那样会有效得多。

     所以WebService能够提供远程系统之间的调用,也能在异构系统之间提供调用,比如好123的主页中对天气预报或者手机号归属地的查询都是直接调用WebService的官网http://www.webxml.com.cn/zh_cn/index.aspx 来实现的,这样hao123 就不用自己开发关于天气预报的服务了,并且不用在意天气预报的服务到底是用什么语言实现,如何实现的。

   

      以上就是对WebService的基本了解,后续将分享 分布式应用中WebService和EJB框架的优劣以及框架的选用情况,敬请期待!

     

网友评论