我理解的webservice是这样的

来源:互联网 发布:端口定义 编辑:程序博客网 时间:2024/05/14 04:23
        </div>        <h1>我理解的webservice是这样的</h1>        <div class="txt-infr">            <!--<em class="iconfont"></em>-->            <em class="font">发布时间:</em>            <span>2016-01-10</span>            <!--<em class="iconfont"></em>-->            <em class="font">作者:</em>            <span>迹忆</span>            <em class="font">浏览次数:</em>            <!--<em class="iconfont"></em>-->            <span class="count"></span>        </div>        <div class="graf-box">            <p>最近在工作中遇到这样的一个项目(暂且定为项目A),项目A本身是用PHP开发的,但是其数据是来自于另一个使用java开发的项目(暂且定为项目B),项目A不能操作项目B的数据库,它有其自己的一套数据库,只是有些地方需要用到项目B中的内容。所以在这里就需要一种通信方式,可以使B中的数据可以传到A中。很当然的就选择了Webservice,我使用PHP在项目A中搭建了Webservice服务,向B提供了我需要实现的接口,只要B调用相应的接口,按照接口要求的数据格式将数据传输到A中,这就大功告成了。</p>

那Webservice究竟是个什么东西呢,刚开始使用的时候我在网上也查了很多的资料,下面就我自己对Webservice的理解向大家分享一下。

Webservice可以看做不同设备之间通信的一种标准,和具体的某种语言没有关系,如果非要说有关系的话,那就是每种语言都按照这个webservice标准来开发相应的函数以实现此标准。就向我上面说的项目B向项目A传输数据,需要按照这个Webservice标准来传输才可以成功。

当然对于上述案例如果说是项目A需要在本地存一份项目B中的部分数据,但是对于业务逻辑是和B没有关系的,那么就需要A来提供webservice服务,由B来调用接口发送数据,接下来就没有B什么事儿了,仅当B中相应数据有更新的时候,再次调用A提供的webservice接口更新A中的数据就可以了。但是如果业务是这样的,项目A不需要存B中的数据,它只是用B中的部分数据做展示,那我们就需要在B中搭建Webservice服务,提供相应的接口,由A调用B提供的Webservice接口以此取出B中的数据,那这样当B中数据有更新的时候,A调用的数据也是最新的。

上面说了这么多,无非就是一句话

Webservice是被定义用来使不同应用之间通过网络传输数据的一种标准,此标准和具体的语言无关,至于哪种语言提供接口,哪种语言来调用要看项目的需要。

既然是一种标准,那就需要有相应的技术来支持这个标准的实现。下面就出现了Webservice中的四种技术——XML、WSDL、SOAP、UDDI。在一套完整的Webservice服务中,这四种技术各有其自己的实现价值,下面分别来介绍一下各自的用途

1.XML 

XML是用来标记数据的(对于XML标签详细介绍,可以参考W3C),因为上面我们说过,webservice不依赖于某一门特定的编程语言。而不同的系统可能是使用不同的编程语言来开发,(如上:项目A使用PHP开发,项目B使用Java开发)所以说就需要一种方式来交换数据,这种方式同样不依赖于某种编程语言,大多数软件都集成了XML标签,因此使用XML格式的数据来实现数据的交换。

2.SOAP 

SOAP是一种特殊的协议,用来传输数据。当调用方一旦发现提供Webservice接口的地址,它将会使用SOAP协议和提供Webservice的系统进行连接。

0 0
原创粉丝点击