西北工业大学《实验一Web服务开发环境配置》&《实验二理解一个简单的Web服务界面》实验报告学院:软件与微电子学院学号:2012303347姓名:张玉琪专业:软件工程实验时间:2015.4.12实验地点:软件工程实验室2指导教师:陈勇西北工业大学一、实验目的及要求目的:1.学习理解web服务的概念。2.掌握Web服务开发环境的配置。3.熟悉Web服务开发工具的使用。4.学习RPC(远程过程调用)及文档风格的web服务。5.掌握服务函数、接口类型、绑定、端口、目标命名空间等基本概念。6.理解WSDL的概念。要求:1.安装配置Eclipse;2.安装配置Axis2;3.为Eclipse安装配置Axis2插件;4.查阅帮助文档,熟悉开发环境。5.学习并对比RPC(远程过程调用)及文档风格的web服务。6.深入理解服务函数、接口类型、绑定、端口、目标命名空间及WSDL等基本概念。二、实验设备(环境)及要求PC机最低配置:2GHz以上CPU;1G以上内存;1G自由硬盘空间三、实验内容与步骤1.Eclipse平台Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。基于Eclipse的应用程序的突出例子是IBM的WebSphereStudioWorkbench,它构成了IBMJava开发工具系列的基础。例如,WebSphereStudioApplicationDeveloper添加了对JSP、servlet、EJB、XML、Web服务和数据库访问的支持。2.Axis2是下一代ApacheAxis。Axis2虽然由Axis1.x处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2基于新的体系结构进行了全新编写,而且没有采用Axis1.x的常用代码。支持开发Axis2的动力是探寻模块化更强、灵活性更高和更有效的体系结构,这种体系结构可以很容易地插入到其他相关Web服务标准和协议(如WS-Security、WS-ReliableMessaging等)的实现中。Axis2的主要优点有1)采用名为AXIOM(AXIsObjectModel)的新核心XML处理模型,利用新的XML解析器提供的灵活性按需构造对象模型。2)支持不同的消息交换模式。目前Axis2支持三种模式:In-Only、Robust-In和In-Out。In-Only消息交换模式只有SOAP请求,而不需要应答;Robust-In消息交换模式发送SOAP请求,只有在出错的情况下才返回应答;In-Out消息交换模式总是存在SOAP请求和应答。3)提供阻塞和非阻塞客户端API。4)支持内置的Web服务寻址(WS-Addressing)。5)灵活的数据绑定,可以选择直接使用AXIOM,使用与原来的Axis相似的简单数据绑定方法,或使用XMLBeans、JiBX或JAXB2.0等专用数据绑定框架。6)新的部署模型,支持热部署。7)支持HTTP,SMTP,JMS,TCP传输协议。8)支持REST(RepresentationalStateTransfer)。3.实验原理RPC(远程过程调用)风格的web服务。文档风格的web服务。服务函数接口类型绑定端口目标命名空间WSDL4.实验步骤1)安装JDK2)安装Eclipse3)安装Tomcat4)下载Axis2EclipsePlug-in5)下载Axis26)搭建开发环境7)安装Axis2EclipsePlug-in将axis2-eclipse-codegen-wizard-1.6.zip和axis2-eclipse-service-archiver-wizard-1.6.2.zip解压到Eclipse\dropins目录下启动eclipse,File–New–Other看到Axis2Wizards,说明安装成功8)部署SOAPServer把下载的axis2-1.4.1-war.zip解压得到axis2.war,把axis2.war部署到tomcat下(复制到tomcat\webapps)。启动tomcat,访问,出现如下页面,说明成功9)开发服务器端WebService测试代码(供应商)①建立一个JavaProject:osmsoa启动Eclipse,File–New–JavaProject新建一个服务类HelloWorld输入如下代码发布WebService(供应商)打包WebService使用ServiceArchiveWizard-EclipsePlug-in:File–New–Other…指定class的目录(注意不是src的目录)发布WebService访问,点击Administration四、实验结果与数据处理1.什么是Web服务?Web服务是一个平台独立的、松耦合的、自包含的、基于可编程的Web应用程序,可使用开放的XML标准描述、发布、发现、协调和配置这些应用程序,并用于开发分布式的互操作应用程序。Web服务能够在一些常规的计算中提供一些服务,从而完成一个具体的任务,处理相关的业务或者解决一个复杂的问题。Web服务使用标准化的因特网语言和标准化协议在因特网或内部网上展示它们的可编程功能部件,并通过自描述接口实现Web服务。Web服务是松耦合的软件模块,Web服务协议、接口和注册服务使用松耦合的方式协同工作。Web服务语义封装各个独立的功能,是一个完成单个任务的自包含的软件模块,该模块描述了自身的接口特征,如操作可用性、参数、数据类型和访问协议。Web服务提供了编程式访问,可将Web服务嵌人到远程的应用中。可动态发现Web服务,并将其添加到应用中,可对多个WebService进行装配,从而实现某个特定的功能、解决一个具体的问题或者提供一个特定的解决方案。可使用标准的描述语言描述Web服务,既能描述功能性服务特性也能描述非功能性服务特性。Web服务使用一些非常通用的因特网协议在整个因特网上分发。2.Web服务开发环境主要有哪些?Java+Axis.netWebsphereJBuider3.命名空间和终端有何区别?终端服务器是一种服务器,它为终端服务客户端托管基于Windows的程序或完整的Windows桌面。用户可以连接到终端服务器来运行程序,保存文件,以及使用该服务器上的网络资源。用户可以使用RDC或RemoteApp程序访问终端服务器。使用终端服务,用户可以在企业网络内部或通过Internet访问终端服务器。终端服务可使您在企业环境中有效地部署和维护软件。可以很容易从中心位置部署程序。由于将程序安装在终端服务器上,而不是安装在客户端计算机上,所以,更容易升级和维护程序。用户访问终端服务器上的某个程序时,在服务器上执行该程序。只有键盘、鼠标和显示器信息才通过网络传输。每个用户只能看到自己的会话。服务器操作系统透明地管理会话,与任何其他客户端会话无关。5.什么是远程过程调用?RPC:RPC(RemoteProcedureCallProtocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。6.什么是服务函数?服务请求和服务响应?7.什么是接口类型、绑定、端口、目标命名空间?接口类型:一个接口类型就类似于Java中的类以及类中的每一个操作,就像staticmethod。例如在一个webservice中,拥有一个接口类型叫做“StringUtil”包含对strings的操作,同时也拥有一个叫做“dateUtil”的是对dates进行操作的另外一个接口类型绑定:除了messageformat以外,一个接口类型也可以允许消息被输入到HTTPPOST的请求中或者是一个email中。这每一次的结合就叫做绑定。SOAP+HTTP是最为普遍的结合。端口:端口就是接受数据或者传送数据时所需的一种媒介目标命名空间:在web服务中,输入的命名是被存放在一个单独的命名空间中的,这样在web服务中称为目标命名空间。8.什么是WSDL?WSDL:(WebServicesDescriptionLanguage)它元素是基于XML语法描述了与服务进行交互的基本元素:消息类型,消息,part,operation,porttype,Binding,port,service五、分析与讨论实验一学会如何配置web服务开发的环境。针对实验二的学习中,理解了一个简单的web服务界面的基本元素:服务函数,接口类型,绑定,端口,目标命名空间。六、教师评语签名:日期:成绩