我理解的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的系统进行连接。
- 我理解的webservice是这样的
- 我理解的webservice是这样的
- 何谓端到端流程,我的理解是这样的、
- Jenkins(一)---我理解的jenkins是这样的
- 我对webservice的理解
- 我的周末是这样的?
- 我的一天是这样度过的
- 我的一天是这样度过的
- 我的一天是这样度过的
- 我的一天是这样度过的
- 我的一天是这样度过的
- 我们是这样理解语言的
- 虚拟机是这样理解方法表的
- 我现在是这样编程的
- 原来是这样的,我明白了,
- 这样的男人真的是爱我的吗?
- 个人理解OpenCV对标定的处理是这样的
- 我在用WebService是为啥会报这样一个异常?
- nyoj-街区最短路径问题
- Glide源码分析
- HMLT/CSS
- HDU4283 区间dp
- 待解决
- 我理解的webservice是这样的
- Javacript中的乘法口诀表
- C++ stack
- CygwinX 安装与 FFMpeg 编译
- CodeForces 451 D.Count Good Substrings(水~)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (M-D)
- 最低通行费
- 如何取消笔记本Fn键
- java:共线上的点