版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于 JAX-WS 的成绩查询服务设计说明书1 Webservice相关模型及理论1.1 Webservice介绍从表面上看,WebService就是一个应用程序,该应用程序向外界提供了一 个能够通过 Web进行调用的API。即用编程的方法通过 Web调用来实现某个功能 的应用程序。如图:创建Web Service,该Web Service作用是查询天气预报地信息。接受查询 条件字符串,通过SOAP协议将客户端请求信息发送到 Web Service服务发布服 务器上,WebService服务端接收用户请求信息,调用中间层组件,把结果格式 化为xml数据形式,最后还要通过SOAP协议将结果数据发
2、挥客户端,客户端通 过浏览器即可查看该信息。如图:从深层次上看,WebService是一种新的Wet应用程序分支,它们是自包含、 自描述、模块化的应用,可以在网络(通常为Web中被描述、发布、查找以及通 过Web来调用。Web Service便是基于网络的、分布式的模块化组件,它执行特定的任务, 遵守具体的技术规范,这些规范使得 WebService能与其他兼容的组件进行互操 作。它可以使用标准的互联网协议,像超文本传输协议HTTP和XML将功能体 现在互联网和企业内部网上。 WebService 平台是一套标准,主要目标是跨平台 的可互操作性。为了达到这一目标,WebService完全基于X
3、ML可扩展标记语言)、 XS(XMLSchen)等独立于平台、独立于软件供应商的标准,是创建可互操作的、 分布式应用程序的新平台。 你可以用你喜欢的任何语言, 在你喜欢的任何平台上 写 Web Service 。1.2 WebService 的技术支持WebService 平台需要一套协议来实现分布式应用程序的创建。要实现互操 作性,平台无关性, WebService 平台必须提供一套标准的类型系统,用于沟通 不同平台、编程语言和组件模型中的不同类型系统。目前这些协议有:XML 和 XSDXML是可扩展的标记语言,是 WebService平台中表示数据的基本格式。其 易于建立、易于分析和平台无
4、关。XML是由万维网协会(W3C创建,W3C制定的 XMLSchemaXSD定义了一套标准的数据类型,并给出了一种语言来扩展这套数据 类型。XSD是 XML 结构定义(XML Schemas Definition )。XML Schema 是 DTD的替代品。XML Scheme语言也就是 XSD XML Schema苗述了 XML文档的结构。 可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符 合其要求。文档设计者可以通过 XML Schema旨定一个XML文档所允许的结构和 内容,并可据此检查一个 XML文档是否是有效的。XML Schema本身是一个XML
5、 文档,它符合XML语法结构。可以用通用的XML解析器解析。Web Service平台是用XSD来作为数据类型系统的。当用某种语言如Java、VB.NET或C#来构造一个 WebService时,为了符合 WebService标准,所使用 的数据类型都必须被转换为XSD类型。并使用SOAP协议使其在不同平台和不同 软件的不同组织间传递。SOAP 协议SOAP(SimpleObject Access Protocol) 即简单对象访问协议,用于交换 XML 编码信息的轻量级协议。主要有三个方面: XML-envelope 为描述信息内容和如 何处理内容定义了框架,将程序对象编码成为XMLX寸象的
6、规则,执行远程过程调 用(RPC)的约定。SOA刖以运行在任何其他传输协议上。例如,可以使用SMTP简 单邮件传输协议)来传递SOAP消息。在传输层之间的头是不同的,但XML的有效 负载保持相同。简单对象访问协议(SOAP是一种轻量的、简单的、基于 XML的协议,它被 设计成在 Web 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网 协议和格式结合使用,包括超文本传输协议(HTTP,简单邮件传输协议(SMTP), 多用途网际邮件扩充协议(MIME)。还支持从消息系统到远程过程调用(RPC)等大 量的应用程序。SOAP包括三个部分:SOAP封装:它定义了一个框架,该框架描述了消息
7、中的内容是什么, 谁应 当处理它以及它是可选的还是必须的。SOAP编码规则:它定义了一种序列化的机制,用于交换应用程序所定义的 数据类型的实例。SOAP RPC表示:它定义了用于表示远程过程调用和应答的协定。SOAP消息基本上是从发送端到接收端的单向传输, 但它们常常结合起来执行类似于请求 / 应答的模式。所有的 SOAP 消息都使用 XML 编码。一条 SOAP 消息就是一个 包含有一个必需的 SOAP 的封装包,一个可选的 SOAP 标头和一个必需的 SOAP 体块的 XML 文档。把SOAP绑定到HTTP提供了同时利用SOAP的样式和分散的灵活性的特点 以及 HTTP 的丰富的特征库的优
8、点。 在 HTTP 上传送 SOAP 并不是说 SOAP 会覆 盖现有的HTTP语义,而是HTTP上的SOAP语义会自然的映射到HTTP语义。在 使用 HTTP 作为协议绑定的场合中, RPC 请求映射到 HTTP 请求上,而 RPC 应 答映射到 HTTP 应答。然而,在 RPC 上使用 SOAP 并不仅限于 HTTP 协议绑定。在本系统中,采用的是基于 SOAP协议的直接的 Webservice的调用。UDDIUDDI(Universal Description, Discovery and Integration)统一描述、发现和集成协议,是为解决Web 服务的发布和发现问题而制订的新一
9、代基于In ternet的电子商务技术标准。它包含一组基于 Web的、分布式的 Web服务信 息注册中心的实现标准,以及一组使企业能将自己提供的 Web服务注册到该中心 的实现标准。UDDI的目的是为电子商务建立标准;UDDI是一套基于 Web的、分布式的、 为 WebService 提供的、信息注册中心的实现标准规范,同时也包含一组使企业 能将自身提供的 WebService 注册,以使别的企业能够发现的访问协议的实现标 准。在用户能够调用 Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义, 还要在服务端来编制软件。 UDDI(Universal Descriptio
10、n, Discovery, and Integration)是一个主要针对Web服务供应商和使用者的新项目。UDDI项目中的成员可以通过 UDDI Business Registry (UBR) 来操作 Web服 务的调用,UBR是一个全球性的服务。 Web服务供应商可以在UBR中描述并且注 册他们的服务。用户可以在 UBR中查找并定位他们所需要的服务。UDDI是一种 根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAF消肖息机制(标准的XML/HTTP来发布、编辑,浏览以及查找注册信息。采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。WSD
11、LWeb Service描述语言WSDL就是用机器能阅读的方式提供的一个正式描述 文档而基于XML的语言,用于描述 WebService及其函数、参数和返回值。因为 是基于 XML的,所以WSD既是机器可阅读的,又是人可阅读的。WSD在 UDDI中总是作为一个接口描述文档。因为 UDDI是一个通用的用来 注册WSD规范的地方,UDDI的规范并不限制任何类型或者格式描述文档。这些 文档可能是一个 WSD文档,或者是一个正规的包含导向文档的 Web页面,也可 能只是一个包含联系信息的电子邮件地址。现在 Java 提供了一个 Java API for WSDJWSDL规范。WSD提供了一套能快速处理
12、 WSD文档的方法,并且不用直 接对XML文档进行操作,它会比JAXP更方便,更快速。1.2.5远程过程调用RPC与消息传递WebService 本身其实是在实现应用程序间的通信。现在有两种应用程序通 信的方法:RPC远程过程调用和消息传递。RPC远程过程调用,客户端的概念是调用服务器上的远程过程,通常方式为 实例化一个远程对象并调用其方法和属性。RPC系统试图达到一种位置上的透明 性:服务器暴露出远程对象的接口, 而客户端就好像在本地使用的这些对象的接 口一样,这样就隐藏了底层的信息, 客户端也就根本不需要知道对象是在哪台机 器上。2 当前 Webservice 开发技术微软 .NET微软的
13、.NET技术应该算是现在最为流行的 Web Service开发技术。首先因 为其公司在以前相应的产品就占有相当大的市场份额,以至使新推出的 .NET 得 以有比较稳定的用户群; 其次也是更重要的是 .NET 平台不仅延续了微软一贯的 编程风格,而且还增加了许多支持 Web服务的关键性技术,使得.NET在操作的 简单性和执行的稳定性,高效性上达到了一个非常好的结合。微软的 Visual Studio.NET 便是一个便于 Web 服务的开发工具。微软的目 标是,将其新编程语言C#乍为Web Service的首选语言。虽然 C#看起来与Java 类似,但是还有一些 Java 中没有的独特的功能。
14、.NET 技术中用于 Web Service开发的主要工具是ASP.NET ASP提供了一些超出ASP以前版 本的优点(例如:代码和HTM啲分离,支持C#语言等)。Sun 的 Java WSDP针对开发 Web Services 程序的需求, Sun 推出了 Java Web Services Developer Pack,简称Java WSDP随着1.2版本的发布,Java开发人员现在可 以拥有一个方便的、集所有功能于一身的开发包,用来帮助在 Java 平台上开发 Web服务。Java WSDP包含 Java XML Pack中的所有用于 XML的 Java API (Java APIs f
15、or XML (JAX),还包含有 Apache Tomcat服务器以及为开发与测试 Web 服务提供一个功能完备的环境所需的其他组件。 Java WSDP Registry Server (UDDI Server) 。IBM 的 WebSphereIBM公司是业界第一家能够提供全面支持 Web服务的电子商务基础设施中间 件的公司。通过多年来与 W3C(The World Wide Web Consortium) 的共同努力, 包括DB2 Lotus、Tivoli 和 WebSphere在内的所有IBM软件都实现了对 SOAP WSDL UDDI、Linux 、XML、J2EE 等开放技术和标
16、准的全面支持。IBM 公司的WebSphere也是比较好的基础架构软件开发平台。WebSphere软件平台及开发工 具包括 WSAD (WebSphere Studio Application Developer) 基于 J2EE XML和Web服务等开放标准,并具备IBM在可靠性、扩展性和安全性上的主要优势。WebSphere 是 IBM 在 Web Services 策略中的核心平台,它支持所有开发、发 布、部署 WebServices 应用所必需的开放标准和技术, 包括 UDDI, SOAP, J2EE, WSD,L 和对 XML 技术集成的增强,这特使得它在全球有很多用户。ApAche
17、 的 AxisAxis本质上就是一个SOAP引擎,提供创建服务器端、客户端和网关 SOAP 操作的基本框架。 Axis 目前版本是为 Java 语言。 Axis 是 Eclipse 下的 Lomboz 插件。2.5 JAX-WS 开发的相关技术3系统实现的详细过程在实际Webservice项目开发中,分为Webservice服务发布端和客户端开发, 由于本系统的主要是基于In ternet上已发布的Webservice服务的客户端开发, 因此本章主要介绍客户端的开发过程,有关 Webservice服务发布端的开发,将 使用ApAche的jax-ws来进行发布。3.1创建服务端创建一个JAVA项
18、目,并创建一个包,包里有一个类,然后在这 个项目里创建一个 Web Servieces,然后导入相关包,接着发布在 Tomcat 7.0上。如下图,* jax-ws ServicesJ 囱 srcJ corn.servicesjaxws国 HelloJaxWsJava d HelloJaxWs0 course(int int) ; DoublesayHello(String) : String/ / H&lloJaxWsD&iegate.javaJ O Hel I o J axWs Deleg atea helloJaxWstourse(intj int) : DoublesayHello(S
19、tring) : StringRE System Library Sur JDK 1.6.O_13l Java EE 5 Libraries建兎 Referenced Librariesj 0 WebRootj & META4NFID MANIFEST.MF/ WEB-INF 0 lib-0 wsdl.M sunJaxw5.xmlIi3.1.2生成xml文件发布成功后我们可以在浏览器里看到下图:-lAX-WS endpoint - He llo Jax W5ServiceHelloJaxW$Service-/display-name H elloJ axWsSsrvice servlet- n
20、ame de i d-on-startup 1 Goad- on-startup -HelloJaxWsService/HelloJaxWsPort-welcome-file-listelconia-file index .jsp /welc 训合 file -disterterdistener-clasE am* 5 un.xmL ws hnn sport, http* servlet. WSSe rvleKontextlisten er listener- cld&53.1.3创建客户端创建一个 Web servers Client,把它与建好的服务器所关联。 丿 & QueryStude
21、ntsInfomation鼻已sre丿出 com.dientjaxws / ClientTestjava【,/ Course java【,/ CourseResponse.java |JJ helloJaxWs.java J H el HoJaxWs Deleg ate .java JJ HelloJaxWs Services java JJ Object Factory java J Say Hellojavaj SayHelloResponseJava S com,servkes.jaxw5 7 HellloJaxWsjava 3ft JRE System Library Sun JDK L6*0_133.1.4客户端实现查询关键代码publ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店保安年终个人工作总结20篇
- 2026年首台套重大技术装备保险补偿与推广应用政策解读
- 泰康保险集团股份有限公司行测笔试题库2026
- 2026年干细胞制剂放行检测快速放行方法学验证
- 2026年政府工作报告区域重大战略任务深度解读
- 英大泰和财产保险股份有限公司招聘笔试题库2026
- 山东农商银行招聘笔试题目
- 默克(中国)校招笔试题及答案
- 2026最高人民检察院直属事业单位招聘13人备考题库含完整答案详解【考点梳理】
- 2026天津市中小企业服务中心、天津市无线电监测站、天津市工业和信息化稽查总队招聘6名事业单位人员备考题库【必刷】附答案详解
- 民宿委托经营管理协议合同书
- 2024-2025学年鲁教版(五四学制)(2024)初中英语六年级下册(全册)知识点归纳
- 2025全国市场监督管理法律知识竞赛测试题库(含答案解析)
- 物流行业的黑科技
- 金融企业呆账核销管理办法(2024年)
- 设备验证培训
- 2025年湖北省八市高三(3月)联考政治试卷(含答案详解)
- 《趣味学方言》课件
- GB/T 19973.2-2025医疗产品灭菌微生物学方法第2部分:用于灭菌过程的定义、确认和维护的无菌试验
- 2025年苏州幼儿师范高等专科学校高职单招数学历年(2016-2024)频考点试题含答案解析
- 养老护理第三届全省职业技能竞赛养老护理员项目技术文件
评论
0/150
提交评论