于基jaxws的成绩查询服务设计说明书大学论文.docx
- 文档编号:22985993
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:10
- 大小:118.37KB
于基jaxws的成绩查询服务设计说明书大学论文.docx
《于基jaxws的成绩查询服务设计说明书大学论文.docx》由会员分享,可在线阅读,更多相关《于基jaxws的成绩查询服务设计说明书大学论文.docx(10页珍藏版)》请在冰豆网上搜索。
于基jaxws的成绩查询服务设计说明书大学论文
基于JAX-WS的成绩查询服务
设计说明书
1Webservice相关模型及理论
1.1Webservice介绍
从表面上看,WebService就是一个应用程序,该应用程序向外界提供了一个能够通过Web进行调用的API。
即用编程的方法通过Web调用来实现某个功能的应用程序。
如图:
创建WebService,该WebService作用是查询天气预报地信息。
接受查询条件字符串,通过SOAP协议将客户端请求信息发送到WebService服务发布服务器上,WebService服务端接收用户请求信息,调用中间层组件,把结果格式化为xml数据形式,最后还要通过SOAP协议将结果数据发挥客户端,客户端通过浏览器即可查看该信息。
如图:
从深层次上看,WebService是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来调用。
WebService便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得WebService能与其他兼容的组件进行互操作。
它可以使用标准的互联网协议,像超文本传输协议HTTP和XML,将功能体现在互联网和企业内部网上。
WebService平台是一套标准,主要目标是跨平台的可互操作性。
为了达到这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。
你可以用你喜欢的任何语言,在你喜欢的任何平台上写WebService。
1.2WebService的技术支持
WebService平台需要一套协议来实现分布式应用程序的创建。
要实现互操作性,平台无关性,WebService平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。
目前这些协议有:
1.2.1XML和XSD
XML是可扩展的标记语言,是WebService平台中表示数据的基本格式。
其易于建立、易于分析和平台无关。
XML是由万维网协会(W3C)创建,W3C制定的XMLSchemaXSD定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。
XSD是XML结构定义(XMLSchemasDefinition)。
XMLSchema是DTD的替代品。
XMLSchema语言也就是XSD。
XMLSchema描述了XML文档的结构。
可以用一个指定的XMLSchema来验证某个XML文档,以检查该XML文档是否符合其要求。
文档设计者可以通过XMLSchema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。
XMLSchema本身是一个XML文档,它符合XML语法结构。
可以用通用的XML解析器解析。
WebService平台是用XSD来作为数据类型系统的。
当用某种语言如Java、VB.NET或C#来构造一个WebService时,为了符合WebService标准,所使用的数据类型都必须被转换为XSD类型。
并使用SOAP协议使其在不同平台和不同软件的不同组织间传递。
1.2.2SOAP协议
SOAP(SimpleObjectAccessProtocol)即简单对象访问协议,用于交换XML编码信息的轻量级协议。
主要有三个方面:
XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。
SOAP可以运行在任何其他传输协议上。
例如,可以使用SMTP(简单邮件传输协议)来传递SOAP消息。
在传输层之间的头是不同的,但XML的有效负载保持相同。
简单对象访问协议(SOAP)是一种轻量的、简单的、基于XML的协议,它被设计成在Web上交换结构化的和固化的信息。
SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。
还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
SOAP包括三个部分:
SOAP封装:
它定义了一个框架,该框架描述了消息中的内容是什么,谁应当处理它以及它是可选的还是必须的。
SOAP编码规则:
它定义了一种序列化的机制,用于交换应用程序所定义的数据类型的实例。
SOAPRPC表示:
它定义了用于表示远程过程调用和应答的协定。
SOAP消息基本上是从发送端到接收端的单向传输,但它们常常结合起来执行类似于请求/应答的模式。
所有的SOAP消息都使用XML编码。
一条SOAP消息就是一个包含有一个必需的SOAP的封装包,一个可选的SOAP标头和一个必需的SOAP体块的XML文档。
把SOAP绑定到HTTP提供了同时利用SOAP的样式和分散的灵活性的特点以及HTTP的丰富的特征库的优点。
在HTTP上传送SOAP并不是说SOAP会覆盖现有的HTTP语义,而是HTTP上的SOAP语义会自然的映射到HTTP语义。
在使用HTTP作为协议绑定的场合中,RPC请求映射到HTTP请求上,而RPC应答映射到HTTP应答。
然而,在RPC上使用SOAP并不仅限于HTTP协议绑定。
在本系统中,采用的是基于SOAP协议的直接的Webservice的调用。
1.2.3UDDI
UDDI(UniversalDescription,DiscoveryandIntegration)统一描述、发现和集成协议,是为解决Web服务的发布和发现问题而制订的新一代基于Internet的电子商务技术标准。
它包含一组基于Web的、分布式的Web服务信息注册中心的实现标准,以及一组使企业能将自己提供的Web服务注册到该中心的实现标准。
UDDI的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为WebService提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的WebService注册,以使别的企业能够发现的访问协议的实现标准。
在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件。
UDDI(UniversalDescription,Discovery,andIntegration)是一个主要针对Web服务供应商和使用者的新项目。
UDDI项目中的成员可以通过UDDIBusinessRegistry(UBR)来操作Web服务的调用,UBR是一个全球性的服务。
Web服务供应商可以在UBR中描述并且注册他们的服务。
用户可以在UBR中查找并定位他们所需要的服务。
UDDI是一种根据描述文档来引导系统查找相应服务的机制。
UDDI利用SOAP消息机制(标准的XML/HTTP)来发布、编辑,浏览以及查找注册信息。
采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。
1.2.4WSDL
WebService描述语言WSDL就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述WebService及其函数、参数和返回值。
因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。
WSDL在UDDI中总是作为一个接口描述文档。
因为UDDI是一个通用的用来注册WSDL规范的地方,UDDI的规范并不限制任何类型或者格式描述文档。
这些文档可能是一个WSDL文档,或者是一个正规的包含导向文档的Web页面,也可能只是一个包含联系信息的电子邮件地址。
现在Java提供了一个JavaAPIforWSDL(JWSDL)规范。
WSDL提供了一套能快速处理WSDL文档的方法,并且不用直接对XML文档进行操作,它会比JAXP更方便,更快速。
1.2.5远程过程调用RPC与消息传递
WebService本身其实是在实现应用程序间的通信。
现在有两种应用程序通信的方法:
RPC远程过程调用和消息传递。
RPC远程过程调用,客户端的概念是调用服务器上的远程过程,通常方式为实例化一个远程对象并调用其方法和属性。
RPC系统试图达到一种位置上的透明性:
服务器暴露出远程对象的接口,而客户端就好像在本地使用的这些对象的接口一样,这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上。
2当前Webservice开发技术
2.1微软.NET
微软的.NET技术应该算是现在最为流行的WebService开发技术。
首先因为其公司在以前相应的产品就占有相当大的市场份额,以至使新推出的.NET得以有比较稳定的用户群;其次也是更重要的是.NET平台不仅延续了微软一贯的编程风格,而且还增加了许多支持Web服务的关键性技术,使得.NET在操作的简单性和执行的稳定性,高效性上达到了一个非常好的结合。
微软的VisualStudio.NET便是一个便于Web服务的开发工具。
微软的目标是,将其新编程语言——C#作为WebService的首选语言。
虽然C#看起来与Java类似,但是还有一些Java中没有的独特的功能。
.NET技术中用于WebService开发的主要工具是ASP.NET。
ASP提供了一些超出ASP以前版本的优点(例如:
代码和HTML的分离,支持C#语言等)。
2.2Sun的JavaWSDP
针对开发WebServices程序的需求,Sun推出了JavaWebServicesDeveloperPack,简称JavaWSDP。
随着1.2版本的发布,Java开发人员现在可以拥有一个方便的、集所有功能于一身的开发包,用来帮助在Java平台上开发Web服务。
JavaWSDP包含JavaXMLPack中的所有用于XML的JavaAPI(JavaAPIsforXML(JAX)),还包含有ApacheTomcat服务器以及为开发与测试Web服务提供一个功能完备的环境所需的其他组件。
JavaWSDPRegistryServer(UDDIServer)。
2.3IBM的WebSphere
IBM公司是业界第一家能够提供全面支持Web服务的电子商务基础设施中间件的公司。
通过多年来与W3C(TheWorldWideWebConsortium)的共同努力,包括DB2、Lotus、Tivoli和WebSphere在内的所有IBM软件都实现了对SOAP、WSDL、UDDI、Linux、XML、J2EE等开放技术和标准的全面支持。
IBM公司的WebSphere也是比较好的基础架构软件开发平台。
WebSphere软件平台及开发工具包括WSAD(WebSphereStudioApplicationDeveloper)基于J2EE、XML和Web服务等开放标准,并具备IBM在可靠性、扩展性和安全性上的主要优势。
WebSphere是IBM在WebServices策略中的核心平台,它支持所有开发、发布、部署WebServices应用所必需的开放标准和技术,包括UDDI,SOAP,J2EE,WSDL,和对XML技术集成的增强,这特使得它在全球有很多用户。
2.4ApAche的Axis
Axis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关SOAP操作的基本框架。
Axis目前版本是为Java语言。
Axis是Eclipse下的Lomboz插件。
2.5JAX-WS开发的相关技术
3系统实现的详细过程
在实际Webservice项目开发中,分为Webservice服务发布端和客户端开发,由于本系统的主要是基于Internet上已发布的Webservice服务的客户端开发,因此本章主要介绍客户端的开发过程,有关Webservice服务发布端的开发,将使用ApAche的jax-ws来进行发布。
3.1创建服务端
创建一个JAVA项目,并创建一个包,包里有一个类,然后在这个项目里创建一个WebServieces,然后导入相关包,接着发布在Tomcat7.0上。
如下图,
3.1.2生成xml文件
发布成功后我们可以在浏览器里看到下图:
3.1.3创建客户端
创建一个WebserversClient,把它与建好的服务器所关联。
3.1.4客户端实现查询关键代码
publicclassClientTest{
publicstaticvoidmain(String[]args)
{
HelloJaxWsServicesservices=newHelloJaxWsServices();
//HelloJaxWsDelegateservices=newHelloJaxWsService().getHelloJaxWsPort();
System.out.print("请输入您的姓名:
");
Scannersc=newScanner(System.in);
StringstrName=sc.next();
System.out.print("请输入年:
");
intstrYear=sc.nextInt();
System.out.print("请输入学期(1或者2):
");
intstrMonth=sc.nextInt();
if((strMonth!
=1)||(strMonth!
=2))
{
System.out.print("您输入的学期不存在!
");
System.out.print("请输入学期(1或者2):
");
strMonth=sc.nextInt();
}
DoublestrCourse=services.course(strYear,strMonth);
System.out.print(services.sayHello(strName));
System.out.print("\n"+strCourse.toString().substring(0,2));
}
}
3.1.4测试
4总结
参考文献
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jaxws 成绩 查询 服务 设计 说明书 大学 论文