



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一. web service基本原理Web服务使用一系列的标准协议来对各种请求做出响应,使用HTTP/TCP等标准的网络协议完成底层的传输,以XML作为数据表示的基础,通过SOAP 协议在系统间交换信息,通过WSDL等来描述和记录Web服务所产生和接收的消息,通过UDDI来登记和寻找服务,这些技术构成了Web服务的支撑技术。 SOAP: 简单对象访问协议SOAP(Simple Object Access Protocol)是一种非集中的、基于分布式网络环境的、基于XML的轻量级协议,它通过把HTTP与XML的灵活性和良好扩展性组合在一起,以实现异构平台的程序之间的消息传递和互操作(W3C,2000;W3C,2003;段智华,2001)。W3C于2000年5月发表了SOAP 1.1版本(W3C,2001)。2003年6月推出了SOAP Version 1.2版本(W3C,2003)。SOAP已经成为W3C推荐的Web Service间进行交换标准消息格式。 WSDL: Web服务描述语言WSDL(Web Service Description Language)是W3C用于描述Web服务的规范,被用来描述一个Web服务能够做什么,该服务在什么地方,以及如何调用该服务。WSDL利用XML 来描述Web服务,它将Web服务描述为一组对消息进行操作的网络端点(Peter Brittenham et al, 2001)。一个 WSDL 服务描述包含对一组操作和消息的一个抽象定义,绑定到这些操作和消息的一个具体协议,和这个绑定的一个网络端点规范。WSDL基于XML提供一个正式的描述文档,描述Web服务及其函数、参数和返回值。由于是基于XML的,所以WSDL既是机器可以阅读的,又是人可阅读的。新的开发工具既能根据用户的Web服务生成WSDL文档,又能嵌入WSDL文档,生成调用相应的Web服务代码。 UDDI: 通用描述、发现和集成协议UDDI(Universal Description, Discovery Integration)是一套基于Web的、分布式的、为Web服务提供的信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web服务加以注册,以使得别的企业能够发现的访问协议的实现标准(柴晓路等,2000;Tom Bellwood,2002;龚健雅等,2004)。UDDI是为了加速Web服务的推广,加强Web服务的互操作能力而推出的一个计划,其目的是建立一个全球性的、与平台无关的、开放式的架构,定义Web服务的发布与发现的方法,使得企业能发现彼此的服务(OASIS,2004)。UDDI基于现成的标准,如XML和SOAP,创建了一个平台独立、开放的框架,通过Internet来描述服务,发现服务,并且整合服务。 这些技术的任何一种都在发展中,每种技术提供了Web服务的下一步发展、描述或者发现的一个标准。然而,Web服务的目标之一是无缝的、自动的业务集成:软件将动态地从未知的公司发现、访问、集成和调用新服务,这种动态集成需要SOAP、WSDL和UDDI的结合,以便为将来的动态业务提供动态的、标准的基础设施。下图说明了这三种技术之间的关系。 从图上可以看出,SOAP、WSDL和UDDI之间的关系可以描述如下:一个作为Web服务客户角色的应用程序,需要找到位于网络上某处的另一个应用程序 或业务逻辑单元。客户通过名字、分类、标识符或者所支持的规范查询UDDI注册中心,一旦找到,客户便从UDDI注册中心获取WSDL文档的位置信息。客户按照WSDL中发现的XML模式生成一个SOAP消息,并发送一个请求给服务所处的位置。二. Web service支持框架及问题XFire、Axis是目前比较流行的Webservice的实现框架,WebService可算是一个完整的SOA架构实现标准了,因此采用XFire、Axis这些也就意味着是采用webservice方式了。1、是基于什么协议实现的?基于SOAP协议。2、怎么发起请求?获取到远端service的proxy后直接调用。3、怎么将请求转化为符合协议的格式的?将请求信息转化为遵循SOAP协议的XML格式,由框架转化为流进行传输。4、使用什么传输协议传输?Http协议。5、响应端基于什么机制来接收请求?监听Http请求。6、怎么将流还原为传输格式的?根据SOAP协议进行还原。7、处理完毕后怎么回应?返回结果写入XML中,由框架返回至调用端。综上所述:任何框架只是在实现上更加快捷的创建或调用web服务,底层实现都是采用soa架构、遵循web service的相关标准,所以web service客户端和服务器端即使采用不同框架实现也能正常访问调用。 三Xfire的开发实例1 配置XFire Servlet 在web.xml中加入如下配置: XFireServlet org.codehaus.xfire.transport.http.XFireConfigurableServlet 0 XFireServlet /services public static void main(String args) throws Exception String endpoint = http:/localhost:8080/axisTest/services/Test1; Service service = new Service(); / 创建一个Service实例,注意是必须的! Call call = (Call) service.createCall(); / 注册SimpleObject的序列化类型 QName qn = new QName(urn:Test1,GroupBean); call.registerTypeMapping(GroupBean.class, qn, new BeanSerializerFactory(GroupBean.class, qn), new BeanDeserializerFactory(GroupBean.class, qn); call.setTargetEndpointAddress(new .URL(endpoint);/ 为Call设置服务的位置 call.setOperationName(getAllGroupInfo); / 注意方法名与JavaBeanWS.java中一样! GroupBean res = (GroupBean) call.invoke(new Object fe ); / 返回String,传入参数 System.out.println(res1.getUaapGroupName(); 五总结 XFire是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service各项标准协议,帮助你方便快速地开发Web Service应用。 一般情况下,我们通过HTTP作为Web Service的传输协议,这样我们只需启动一个Web服务器(如Tomcat,在本例中使用的是Tomcat5.5.20),这样客户端就可以通过 HTTP访问到Web Service服务。为了集成Spring容器,XFire专门提供一个XFireSpringServlet,我们可以在web.xml中配置该 Servlet,将Spring容器中定义的Web Service在某个URI下发布。XFire为访问服务端Web Service提供了各种方便的方式:我们一般根据服务地址和窄接口类创建客户调用程序。在不能获得服务窄接口类的情况下,XFire允许我们通过WSDL文件生成客户端调用程序,通过指定服务接口的方式调用服务。对于服务方法返回类型或参数类型是自定义对象或者集合时候,个人感觉目前axis支持比较好,方便上手。X
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业自动化技术发展现状
- 工业遗产改造为文化创意产业园的实践
- 工作场所优化与管理创新
- 工业设计与产品创新策略探讨
- 工作中的安全意识与防护技能
- 工程招标投标与合同管理
- 工作场合的手机使用礼仪
- 工厂布局规划与优化方法
- 工厂机械设备的安全管理
- 市场分析与预测方法探讨
- 美洲文化课件教学
- 2025届重庆市巴川中学生物七下期末统考试题含解析
- 医学检验进修汇报
- 2025春季学期河南电大本科补修课《民法学#》一平台无纸化考试(作业练习+我要考试)试题及答案
- 《数据分析与可视化》课件
- 煤矿重大灾害治理顶层设计方案
- 从患者心理出发优化医患沟通
- 灰尘的旅行测试题及答案
- 孵化器员工合同协议
- 2024年云南省初中学业水平考试生物学试题卷
- 净含量管理制度
评论
0/150
提交评论