webservice相关知识点总结

webservice相关知识点总结
1.WebService名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI、WSDL解释。
WebService是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得WebService能与其他
兼容的组件进行互操作。
JAXP(java API for XML Parsing)定义了在java中使用DOM、SAX、XSLT的通用接口。这样在你的程序中只要你使用了这些通用接口,
当你需要改变具体的实现时也不需要修改代码。
JAXM(java API for XML Messaging)是为SOAP通信提供访问方法和传输机制的API.
WSDL是一种XML格式,用于将网络服务描述为一组端点,这些端点对包含对象文档信息或者面向过程的信息进行操作。这种格式首先对
操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)
SOAP即简单对象访问协议,它是用于交换XML编码信息的轻量级协议
UDDI的目的是为了电子商务建立标准;UDDI是一套基于web的、分布式的、为webService提供的、信息注册中心的实现标准规范,同时
也包含了一组使企业能够自身提供的webService注册,以使别的企业能够发现的访问协议 的实现标准
2.CORBA是什么?用途是什么?
CORBA标准是公共对象请求代理结果,由对象管理组织标准化。它的组成是接口定义语言(IDL),语言绑定和允许应用程序之间互相操作的协议
作用:用不同的程序设计语言书写在不同的进程中运行,为不同的操作系系统开发
3.什么是webService?在什么时候用WebService(能通过WebService解决什么问题)?
简单来说,WebService就是一种跨编程语言和跨操作系统的远程调用技术。
所谓远程调用就是一台计算机a上的程序可以调用到另外一台计算机b上的一个对象的方法。比如:从天气预报系统中获取某个城市的天气数据在
自己的系统中进行展示;从证券交易系统中获取某只股票的交易信息在自己的系统中进行展示;一个商城系统中能够展示快递的跟踪信息,而这
些信息就是通过WebService从具体的快递公司的系统中获取的数据。
其实可以从多个角度来理解WebService,从表面上看,WebService就是一个应用程序向外界暴露出一个通过Web进行调用的API,,也就是说能
用编程的方法通过Web来调用这个应用程序。我们把调用的这个WebService的应用程序叫做客户端,而把提供这个WebService的应用程序叫做
服务端。从深层次看,WebService是建立可互操作的分布式应用程序新平台,是一个平台,一套标准
4WSDL是什么,有什么用?
WSDL是web service definition language的缩写,即web service的定义语言。
怎样向别人介绍你的WebService有什么功能,以及每个函数调用时的参数呢?通常我们会写一份文档或者口头表述。但是这些非正式的方法至少
都有一个严重的问题 :当开发人员坐在电脑前,想要使用你的 WebService时,他们的工具无法给他们提供任何帮助,因为这些工具根本就不了解
你的WebService。解决方法是:用机器能阅读的方式提供一个正式的描述文档。WebService描述语言就是这样一个基于xml的语言用于描述Web-
Service及其函数、参数和返回值,因为是基于xml的,所以WSDL即使机器可读的,也是人可读的。在WebService服务发布后。通过浏览器+?WSDL
即可获得wsdl文档
5.WSDL文档主要由哪几部分组成,分别有什么用?
一个WSDL文档的根元素是definitions元素,WSDL文档包含七个重要的元素:types,import,message,portType,operations,binding和service元素
1.definitions元素中一般包括如干个XML命名空间
2.Types元素用做一个容器,定义了自定义的特殊数据类型,在声明消息部分(有效负载)的时候,messages定义了使用types元素中定义的数据类型
与元素
3.import元素可以让当前的文档使用其他WSDl文档中指定命名空间中的定义。
4.message元素描述了web服务的有效负载,相当于函数调用中的参数和返回值
5PortType元素定义了Web服务的抽象接口,他可以由一个或者多个operation元素,每个operation元素定义了一个RPC样式或者文档样式的Web服务方法
6.operation元素要用一个或多个messages消息来定义它的输入、输出以及错误。
7.Binging元素将一个抽象的portType映射一组具体的协议(SOAP或者HTTP)、消息传输样式(RPC或者document)以及编码样式
8.Servcie元素包含一个或者多个port元素,一个port元素对应一个不同的Web服务,port将一个URL赋予一个特定的binding,通过location实现
6.SOAP是什么?
SOAP即简单对象访问协议,是基于xml和Http的一种通信协议。是WebService所使用的一种传输协议,WebService之所以能够做到跨平台和跨语言,
就是因为xml和http都是独立语平台和语言的。Soap的消息分为请求消息和响应消息,一条Soap消息就是一个普通的xml文档,包含下列元素:
1、必须的Envelope元素,可把此xml文档标识为一条Soap消息
2、可选的Header元素,包含头部信息
3、必须的Body元素,包含所有的调用和响应信息
4、可选的Fault元素,提供有关在处理此消息发生错误的信息
7.怎么理解UDDI?
UDDI即统一描述、发现和整合规范。用来注册和查找服务,把webservice收集和存储起来。这样当别人访问这些信息的时候就从UDDI中查找。看有没有这
些信息存在。
8.WebService的SEI指什么?
WebServiceEndPointInterface(webService终端服务接口)就是WebService服务器端用来处理请求的接口
9.谈谈常见的WebService框架,他们都有什么特点?
WebService常用框架有JWS、Axis2、XFire以及CXF
1.JWS是java对WebService服务的一种实现,用来开发和发布服务。而从服务本身来看JWS服务是没有语言界限的。但是java语言为java开发者提供了便捷
发布和调用WebService服务的一种途径。
2.Axis2是Apache下一个重量级WebService框架,准确说他是一个WebService/soap/wsdl的引擎,是WebService框架的集大成者,它不但能制作和发布
WebService,而且可以生成java和其他语言版webService客户端和服务端代码。这是它的有优势所在。但是这也不可避免的导致了Axis2的复杂性,使用过
的开发者都知道,它所以来的包数量和大小都是很惊人的,打包部署发布都比较麻烦,不能很好的与现有应用整合到一起。但是如果要开发java之外的被的
客户端,Axis2提供的丰富工具将是你不二的选择。
3.XFire是一个高性能的WebService框架,在java6之前,它的知名度甚至超过了Apache的Axis2,XFire的优点是开发方便,与现有的web整合很好,可以融为一体,
并且开发也很方便。但是对java之外的语言,没有提供相关的代码工具。XFire后来被Apache收购了。
4.CXF是Apache旗下一个重磅的SOA简易框架,它实现了ESB(企业服务总线)。CXF来自于XFire项目,经过改造后形成的。CXF不但是一个优秀的WebService/SOAP/
WSDL引擎,也是一个不错的ESB总线,为SOA的实施提供了一种选择方案,当然它不是最好的,它仅仅实现了SOA架构的一部分
注意:对于Axis2和CXF之间的关系,一个是Axis2出现的时间较早,而CXF的赶追速度快
10如何选择采用哪种WebService?SOAP WS还是REST?
一般而言,基于REST的WebService的优势在于其简单、性能不错、可扩展性好,并且也支持多种数据格式。而SOAP则适用于安全性和事物处理可靠性方面要求
比较高的服务中。
11.有什么可以用来测试WebService的工具吗?
测试SOAP WS可以使用SoapUI
测试TESTFul service可以采用Firefox的"poster"插件

原文地址:https://www.cnblogs.com/juddy/p/14184406.html