WebService考试复习提纲.doc_第1页
WebService考试复习提纲.doc_第2页
WebService考试复习提纲.doc_第3页
WebService考试复习提纲.doc_第4页
WebService考试复习提纲.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WS重点简答题:1、为什么说Web服务具有良好的封装性?服务既然是一种部署在Web上的对象,自然具备对象的良好封装性,对于使用者而言,他能且仅能看到该对象提供的功能列表。2、如何理解Web服务的松散耦合特性,试举例说明。这一特征也是源于对象组件技术,当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要服务的调用界面不变,服务的实现任何变更对他们来说都是透明的。3、为什么说Web服务具有高度可互操作性?试举例加以简要说明。a) 可以跨越平台、语言进行调用b) Web 服务是部署并提供通过 Web 访问业务功能的技术;J2EE、CORBA 和其它标准是实现 Web 服务的技术4、与目前流行的多层开发架构(如J2EE)相比,采用Web Services技术来实现企业计算有什么优缺点?(可综合PPT的Traditional C/S vs. Web Services,Web Application vs. Web Services和Web Service与EAI的特点来论述) 1.Web Service可跨防火墙的通信。对数据封装,将应用程序集成,产品购买或开发成本低。2.webService单机应用程序,影响传输大量数据。流行框架分层处理,易于开发和维护管理, web service没有统一标准,安全性和服务质量无法保证,J2EE达到电子交易安全严格规范。3.目前的流行框架相对成熟,而web service还处在研究阶段。4. J2EE 被设计成专门用来解决多层式企业解决方案的开发、布署以及管理上的问题。5.J2EE可支持Web Services的标准。可透过Web Services技术让J2EE程序彼此连接起来。6.Java Servlets使用JAXP/JAXR/JAXM/JAX-RPC等技术来提供Web Services运作时的所有功能。7Web Services目前是扩充链接库的型态存在, Web Services将进入J2EE下一版的规格之中,并成为业界共通的标准。XML命名空间(Namespaces): 为了防止共享词汇表的时候发生名字冲突, 在单一文档中使用多个词汇表n2/ 应用程序支持层:n1)XML信息集合(XML Infoset): 为XML文档设计一个查阅文档的摘要方式至少包含一条文档信息项和一条元素信息项,还可以包含属性信息项等。每条信息项有一组属性,分为核心属性和一般属性。n2)XML定位与链接:nXML Base规范:设置XML文档的基本URI 用于指定相对链接的基路径 XPath (XML路径语言) nXPointer (XML指针语言)nXLink (XML链接语言)nXInclude (XML包含)nXFI(文档片断交换)XQuery (XML查询语言)3)XML转换:nCSS(Cascading Style Sheet层叠样式图)nXSL(eXtensible Style Language可扩展样式语言):有一个子集为XSLT(用于转换的XSL)XSL-FO(Formated Object格式化对象)是一个XML词汇表7、XML文档规则(重点掌握,主要出现在选择、填空和改错题,参考PPT的内容)(P32)理解字符、声明、注释、根元素、元素不能重叠或嵌套、结束标记、元素内容(空元素)、元素区分大小写、属性、处理指令(PI)、CDATA段、命名空间三种 XML 文档: 无效文档(Invalid)有效文档(Valid)格式良好的文档(Well-Formed)命名空间声明例: xmlns=/1999/xhtml标记开始标记,结束标记,空标记注释(注释不能出现在XML声明之前)例: 处理指令(Processing Instruction)例: 9、课堂的XML改错例子和作业XML(1)(重点,改错题或应用题)错误1:xml声明必须放在文档最前面错误2 属性值必须加引号错误3:属性值中特殊字符须用实体引用 "compulsory"错误4:XML对大小写敏感,标记必须配对错误5:属性名、标记名不能有空格错误6:元素不能交叉4、模式文档和实例文档(1)模式文档是包含结构的文档,以.xsd作为后缀名;而实例文档是包含实际的 XML 数据的文档(2)通过名称空间联系模式文档和实例文档1/ Schema文件中没有给出目标命名空间 (实例文档中通过xsi:noNamespaceSchemaLocation属性指定XML Schema文档的位置)2/ Schema文件中给出目标命名空间Schema文件中通过属性targetNamespace设置目标名称空间的值;XML实例文件中通过属性xsi:schemaLocation指明XML Schema的位置(3)模式文档只是一个 XML 文档,它的预定义的元素和属性描述另一个 XML 文档的结构 1/ 模式文档由一个schema元素和一系列子元素组成,大多数子元素为element, complexType, 和simpleType,这些决定了在实例文档中的元素的表现方式和内容; 2/通过出现在schema元素中的命名空间声明xmlns:xsd=“/2001/XMLSchema”,在模式文档中的每一个元素都有一个与XML Schema命名空间相联系的命名空间前缀“xsd:”。前缀“xsd:”被约定用于表示XML Schema命名空间,而不是模式文档作者自己的词汇表6、模式文档元素定义(重点掌握,主要出现在改错和应用题,参考PPT的内容)(1)模式文档元素类型可以分为复合类型()和简单类型()复合类型:元素如果包含子元素或者是带有属性则被称为复合类型简单类型: 元素如果仅仅包含数字、字符串或者其他数据等,但不包含任何子元素则称为简单类型。属性值通常是简单类型,因为属性值不能包含任何结构(2)创建新的简单类型内建简单类型、使用层面(facets)创建简单类型、有限制的值、枚举、列表(list)、联合(Union)内建简单类型: W3C XML Schema 建议书中包括了 42 种简单类型的定义,其中包括 string、int、date、decimal、boolean、timeDuration 和 uriReference等。使用模式内建的这些类型时,必须在前面加上W3C模式前缀,通常是“xsd:”如:使用层面(facets)创建简单类型:使用层面可以对简单类型存储的数据加以限制。几个常用的层面:minInclusive, maxInclusive限定下限值和上限值enumeration允许建立一个值列表pattern指定一个正则表达式,要求文本符合该格式 例: 有限制的值 使用base属性声明基于内建的简单类型 把值限制在 1 到 100000 之间(包含1和100000)的整数 (3)复杂类型使用匿名的 complexTypes、引用现存的元素、指定元素出现的次数(minOccurs 和maxOccurs)、指定元素的默认值(fixed和default)、属性的定义(匿名形式和有名形式)、指定属性约束和缺省值(使用元素的use和value属性)、基于简单类型的复合类型(定义基于简单类型,但具有属性的复合类型)、混合内容(在元素中将mixed属性设置为“true”)、模式注释(, , 三个元素用于为模式增加注释)、complexTypes中元素的次序(sequence、 choice、 all、 group和 attributeGroup)、匿名类型定义、 有名的类型定义、衍生类型( extension和 restriction)、简单内容和复杂内容( simpleContent和 complexContent)10、作业XML(2),掌握DOM和SAX解析的Java实现(重点,应用题)2、W3C对SOAP的定义SOAP是一种轻量级协议,用于在分散或分布的环境中交换结构化信息。nSOAP应用XML技术定义一种可扩展的消息框架,该框架提供了一种能够在各种底层协议进行消息交换的构造形式。n该框架已被设计成独立于任何特定的编程模型和其他特殊的实现语义。4、SOAP由4部分组成:(1)SOAP封装(SOAP Envelope):构造定义了一个整体的表示框架,可用于表示n(2)SOAP编码规则(SOAP Encoding Rules):定义了一套编码机制用于交换应用程序定义的数据类型的实例(3)SOAP RPC表示(SOAP RPC Presentation):定义了一个用于表示远程过程调用和响应的约定(4)SOAP绑定(SOAP Binding):定义了一种使用底层传输协议来完成在节点间交换SOAP封装的约定。7、SOAP消息结构SOAP消息由一个强制的SOAP Envelope、一个可选的SOAP Header和一个强制的SOAP Body组成的XML文档。n1/ SOAP Envelopen表示一个SOAP消息的顶级元素n2/ SOAP Headern能够被SOAP消息路径中任意的SOAP接收者处理的一组SOAP条目。nSOAP定义了很少的一些属性来用于指明谁可以处理该特性以及它是可选的还是强制的。n3/ SOAP BodyBody为该消息的最终接收者所想要得到的那些强制信息提供了一个容器。此外,SOAP定义了Body的一个子元素Fault用于报告错误。8、理解SOAP消息的各个元素(选择,填空和应用题)SOAP消息由一个强制的SOAP Envelope、一个可选的SOAP Header和一个强制的SOAP Body组成的XML文档。(1)SOAP Envelope元素:语法规则(P75) Envelope元素是一个复合元素,有两个预定义子元素Header和Body。(2)SOAP Header元素(P75)SOAP Header的作用;Header条目;Header 的语法规则;Header条目的编码规则;SOAP消息路径中各个节点对消息的处理过程(读、处理或更新Header条目 );actor属性的含义(next角色和ultimate receiver角色);mustUnderstand属性的含义;重点理解PPT中订购单SOAP消息处理的例子(3)SOAP Body元素1/ Body条目携带端到端的信息,可以是:Application data(XML document) (document style)RPC method and parameters(rpc style)SOAP fault2/ Body的语法规则3/ Body条目的编码规则(4)SOAP错误(SOAP Fault)P76如果SOAP消息需要包含SOAP Fault元素的话,它必须作为一个Body条目出现,同时在Body元素内它必须不出现多于一次(至多出现一次)。 了解SOAP Fault元素的子元素: faultcode、 faultstring、 faultactor、 detail 了解SOAP中定义的faultcode值: VersionMismatch、 MustUnderstand、 Client、 Serve10、SOAP消息编码(1)定义了一套编码机制用于交换应用程序定义的数据类型的实例(2)对每个包含一个值的元素,值的类型表示必须满足以下至少一个条件:(a) 包含该值的元素实例包含一个xsi:type属性,(b) 包含该值的元素实例包含在一个具备enc: arrayType属性的元素中(可能是被设置成default的)(c) 该元素的名带有一个类型的明确关联,而该类型由一个模式来决定。 (3)重点理解PPT的例子(填空、应用题):structure、 muli-reference 、 single-reference 、 enc:Array 、 enc:arrayType11、SOAP RPC表示(问答题)(1)为实施一个方法调用,需要以下信息n目标SOAP节点的URIn方法名n可选的方法或过程的特征n方法或过程的参数n可选的头数据n(2)RPC调用和响应都是在SOAP Body元素中传递n一个方法调用被建模成一个结构structn一个方法响应被建模成一个结构structn方法调用错误使用SOAP Fault元素来编码12、SOAP绑定:在HTTP中使用SOAP(填空或问答)(1)SOAP HTTP请求: HTTP GET 请求和 HTTP POST请求( SOAP1.1使用)(2)重点理解HTTP Header中的SOAPAction字段SOAPAction头字段的存在及其内容可以被服务器例如防火墙用于在HTTP中过滤SOAP请求消息。(3)了解SOAP HTTP响应简答题:n1、在SOAP消息中为什么要进行编码?请给出你的理解。SOAP消息编码定义了一套编码机制用于交换应用程序定义的数据类型的实例,在SOAP消息中必须指明编码规则,以使得接收端能够正确的解码数据。n2、结合Actor属性和mustUnderstand属性,简述SOAP节点是如何处理SOAP Header条目的。SOAP Header属性决定了SOAP消息的接收者应该如何处理消息 。SOAP 1.1应用程序用actor属性来识别处理指定头条目的节点 actor属性由SOAP注释 定义,它是SOAP的Envelope、Body和Header元素的命名空间 actor属性用一个URI标识节点处理对应的头条目时必须扮演的角色。当一个节点接收到一个SOAP消息时,它要分析每一头条目,以确定哪一代码块是由该节点支持的角色。 SOAP mustUnderstand全局属性用来指示接收者在处理消息时这个条目是否必须处理。 如果一个头元素的SOAP mustUnderstand属性的值是“1”,那么条目的接受者必须或者遵守语义(如以元素的全名传送)并按照语义正确的处理,或者放弃处理消息。如果节点扮演了由头条目的actor属性所标识的角色,但没有通过编程来处理该条目,那就没法识别该条目。如果一个节点不能识别某一(mustUnderstand=“1”)的头条目,那么它将产生一个SOAP错误(类似于Java的远程异常),并抛弃消息,即不能向消息路径的下一个节点转发消息。n3、SOAP Fault元素应该出现在SOAP Header还是SOAP Body?预定义的SOAP faultCode有哪几种? n4、利用XML消息传递RPC调用时,RPC调用在SOAP的请求与响应消息中是如何表示的?n5、SOAP消息是用XML来进行类型编码的,那么SOAP消息实质上是XML模式文档还是实例文档?在SOAP的编码规则中,如何表示一个值的类型?n6、在HTTP中使用SOAP1.1时,为什么在HTTP Header中使用SOAPAction?它有什么作用?2、WSDL基本的服务描述分成了两部分:服务接口和服务实现。(选择或填空题)(1)服务接口定义:是一种抽象的服务定义,它可以被多个服务实现定义实例化和引用包括的WSDL元素:types 、message 、operations、portType(2)服务实现定义:描述给定服务提供者如何实现特定服务接口的 WSDL 文档包括的WSDL元素:binding、Service、Port3、理解上述几种WSDL元素的含义与语法(选择或填空题)(1)types:使用W3C XML Schema做类型系统(2)Messages:进行交换的抽象的、已经被定义了类型的数据(3)operations:活动的抽象描述;引用输入和/或输出消息(4)portType:操作的集合;一个服务的抽象定义活动行为模式分类(PPT的例子,重点):请求-响应(request-response);征求-响应(solicit-response);单向(one-way);通知(notification)(5)binding:为特定的Port type关联具体的协议和数据格式(编码规则)1/ 协议类型: SOAP(SOAP 1.1 over HTTP or SOAP 1.1 over SMTP);HTTP GET/POST;MIME元素中包含对应的、和 子元素2/ 编码规则: SOAP encoding;RDF encoding(6)Port:定义单一的通信端点绑定的端点地址:URL for HTTP, email address for SMTP(7)Service:有关Port的集合4、SOAP绑定扩展(SOAP Binding Extension)(重点,选择、填空或应用题)(1)WSDL支持对SOAP1.1端点的绑定:n指定 SOAP 作为绑定的协议n指定SOAP endpoint的地址n指定SOAPAction HTTP header的URI (只对SOAP/HTTP有效)n列出SOAP envelope的Header定义(2)采用SOAP命名空间:nxmlns:soap=/wsdl/soap/(3)元素: transport和 style(rpc或document,两者影响在传输时SOAP消息的BODY部分的构造方式)属性(4)元素:soapAction属性, Style属性use属性指定编码规则: use=encoded意味着消息的组成部分引用抽象类型,而具体的模式由encodingStyle属性定义的编码形式中给出;use=literal意味着WSDL文档中提供的消息定义就直接写入SOAP体中而不使用另一种编码机制。(5)元素区分里的sytle的RPC风格和Document风格1/ RPC:WSDL文档中的可以有多个,每个类型应该出现在wrapper元素(即operation)里的参数或返回值;SOAP消息的BODY部分采用struct格式;每部分出现的顺序同调用参数的顺序2/ Document:WSDL文档的每个只有一个元素,元素所引用的类型由定义SOAP消息的 Body 元素包含的是XML文档片段理解use=literal|encoded的含义理解style与use属性值的四种组合(结合PPT的例子,重点掌握,应用题):style=”rpc” and use=”encoded”style=”rpc” and use=” literal”style=”document” and use=”encoded”style=”document” and use=”literal”5、第五章作业8、了解XML文档解析:DOM和SAX基于事件的方式:将动作附加到处理 XML 文档的每个特定步骤上(SAX)基于树(对象结构)的方式:建造文档树并在文档树上进行后续操作(DOM)SAX优点:“查询、阅读” 效率高。缺点:无法多次查找(或后向查找)同一数据。基于事件SAX:占资源小基于树DOM:完整视图.耗费资源通常,SAX 实现比 DOM 实现快。5、UDDI数据模型UDDI包含一个XMLSchema,用以描述四种信息的核心类型:businessEntity(商业实体)(White Pages)businessService(服务信息)(Yellow Pages)bindingTemplate(绑定模板)(Green Pages)tModel (Technical Model)(技术模型)(1)businessEntity 元素:对关于企业的信息进行建模;如何识别该公司或商业实体?1/ 具有唯一的businessKey值(UUID)2/ 利用identifierBag元素里的其他唯一的值,用来标识该公司3/ 利用categoryBag元素里注册的多个商业分类来标识tModels主要用来提供指向外部技术规范的指针(如到WSDL的指针)。注意:tModel 不仅仅是指向Web services,如果需要的话,它还可以指向任意的外部规范,如D-U-N-S号6、从 WSDL 到 UDDI 的映射(选择、填空或应用)(1)一个完整的WSDL服务描述是由一个服务接口和一个服务实现文档组成WSDL 服务接口描述是作为 UDDI tModel 发布的而 WSDL 服务实现描述是作为 UDDI businessService 发布的阅读并理解图“从 WSDL 到 UDDI 的映射概览”(PPT)或课本图6-6,图6-7(2)Services接口到tModel的映射阅读并理解表“tModel与WSDL 服务接口文档元素之间的映射”(PPT)或课本P133中的映射规则。阅读课本例子P133-134(3)Services实现到businessService的映射阅读并理解表“businessService与WSDL 服务实现文档元素之间的映射”(PPT)或课本P136中的映射规则。阅读课本例子P136-1375、UDDI数据模型UDDI包含一个XMLSchema,用以描述四种信息的核心类型:businessEntity(商业实体)(White Pages)businessService(服务信息)(Yellow Pages)bindingTemplate(绑定模板)(Green Pages)tModel (Technical Model)(技术模型)(1)businessEntity 元素:对关于企业的信息进行建模;如何识别该公司或商业实体?1/ 具有唯一的businessKey值(UUID)2/ 利用identifierBag元素里的其他唯一的值,用来标识该公司3/ 利用categoryBag元素里注册的多个商业分类来标识tModels主要用来提供指向外部技术规范的指针(如到WSDL的指针)。注意:tModel 不仅仅是指向Web services,如果需要的话,它还可以指向任意的外部规范,如D-U-N-S号1/ categoryBag结构:分类可以将UDDI注册中心的数据按照行业类别、产品类别或者地区代码组织在一起。阅读PPT的“tModel例子”2/ 标识符identifierBag6、从 WSDL 到 UDDI 的映射(选择、填空或应用)(1)一个完整的WSDL服务描述是由一个服务接口和一个服务实现文档组成WSDL 服务接口描述是作为 UDDI tModel 发布的而 WSDL 服务实现描述是作为 UDDI businessService 发布的阅读并理解图“从 WSDL 到 UDDI 的映射概览”(PPT)或课本图6-6,图6-7(2)Services接口到tModel的映射阅读并理解表“tModel与WSDL 服务接口文档元素之间的映射”(PPT)或课本P133中的映射规则。阅读课本例子P133-134(3)Services实现到businessService的映射阅读并理解表“businessService与WSDL 服务实现文档元素之间的映射”(PPT)或课本P136中的映射规则。阅读课本例子P136-137(2)两种UDDI API:查询API和发布API(3)了解查询API的三种查询模式:1/ 浏览模式2/ 对象深入模式3/ 调用模式(4)发布API1/ 发布的含义有两层:首先是商业实体信息的初次注册,同时还有对相关描述和web服务的发布;其次,是对注册信息的维护,包括信息的更新和删除操作。2/ 发布API需要经过授权认证才能访问UDDI操作入口站点的,这个入口站点由每一个商业实体在开始时选定,一旦选定站点,以后只能通过该站点更新操作。1、JAX-RPC的基本概念(选择或填空题)(2)JAX-RPC运行时系统1/ JAX-RPC 实现的核心:为编码或者是解码SOAP提供运行服务的类库 实现 JAX-RPC APIs2/ 客户端:基于J2SE, J2EE or J2ME平台的运行系统3/ 服务端: J2EE 容器: EJB容器 or Servlet容器2、类型映射(选择、填空或应用题)(1)XML 数据类型到JAVA的映射涉及XML的简单内建类型、Array、简单内建类型的枚举、XML结构和复杂类型到Java语言表示的映射,阅读PPT的关于complexType到JavaBea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论