WebService考试复习提纲.docx
- 文档编号:7655105
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:14
- 大小:26.11KB
WebService考试复习提纲.docx
《WebService考试复习提纲.docx》由会员分享,可在线阅读,更多相关《WebService考试复习提纲.docx(14页珍藏版)》请在冰点文库上搜索。
WebService考试复习提纲
WS重点
简答题:
1、为什么说Web服务具有良好的封装性?
服务既然是一种部署在Web上的对象,自然具备对象的良好封装性,对于使用者而言,他能且仅能看到该对象提供的功能列表。
2、如何理解Web服务的松散耦合特性,试举例说明。
这一特征也是源于对象组件技术,当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要服务的调用界面不变,服务的实现任何变更对他们来说都是透明的。
3、为什么说Web服务具有高度可互操作性?
试举例加以简要说明。
a)可以跨越平台、语言进行调用
b)Web服务是部署并提供通过Web访问业务功能的技术;J2EE、CORBA和其它标准是实现Web服务的技术
4、与目前流行的多层开发架构(如J2EE)相比,采用WebServices技术来实现企业计算有什么优缺点?
(可综合PPT的TraditionalC/Svs.WebServices,WebApplicationvs.WebServices和WebService与EAI的特点来论述)
1.WebService可跨防火墙的通信。
对数据封装,将应用程序集成,产品购买或开发成本低。
2.webService单机应用程序,影响传输大量数据。
流行框架分层处理,易于开发和维护管理,webservice没有统一标准,安全性和服务质量无法保证,J2EE达到电子交易安全严格规范。
3.目前的流行框架相对成熟,而webservice还处在研究阶段。
4.J2EE被设计成专门用来解决多层式企业解决方案的开发、布署以及管理上的问题。
5.J2EE可支持WebServices的标准。
可透过WebServices技术让J2EE程序彼此连接起来。
6.JavaServlets使用JAXP/JAXR/JAXM/JAX-RPC等技术来提供WebServices运作时的所有功能。
7.WebServices目前是扩充链接库的型态存在,WebServices将进入J2EE下一版的规格之中,并成为业界共通的标准。
XML命名空间(Namespaces):
为了防止共享词汇表的时候发生名字冲突,在单一文档中使用多个词汇表
n2/应用程序支持层:
n1)XML信息集合(XMLInfoset):
为XML文档设计一个查阅文档的摘要方式
至少包含一条文档信息项和一条元素信息项,还可以包含属性信息项等。
每条信息项有一组属性,分为核心属性和一般属性。
n2)XML定位与链接:
nXMLBase规范:
设置XML文档的基本URI用于指定相对链接的基路径
XPath(XML路径语言)
nXPointer(XML指针语言)
nXLink(XML链接语言)
nXInclude(XML包含)
nXFI(文档片断交换)
XQuery(XML查询语言)
3)XML转换:
nCSS(CascadingStyleSheet层叠样式图)
nXSL(eXtensibleStyleLanguage可扩展样式语言):
有一个子集为XSLT(用于转换的XSL)
XSL-FO(FormatedObject格式化对象)是一个XML词汇表
7、XML文档规则(重点掌握,主要出现在选择、填空和改错题,参考PPT的内容)(P32)
理解字符、声明、注释、根元素、元素不能重叠或嵌套、结束标记、元素内容(空元素)、元素区分大小写、属性、处理指令(PI)、CDATA段、命名空间
三种XML文档:
无效文档(Invalid)有效文档(Valid)格式良好的文档(Well-Formed)
命名空间声明
例:
xmlns=http:
//www.w3.org/1999/xhtml
标记
开始标记,结束标记,空标记
注释(注释不能出现在XML声明之前)
例:
--ASampleXML-->
处理指令(ProcessingInstruction)
例:
xml-stylehseethref="mystyle.css"type="text/css"?
>
9、课堂的XML改错例子和作业XML
(1)(重点,改错题或应用题)
错误1:
xml声明必须放在文档最前面
错误2属性值必须加引号
错误3:
属性值中特殊字符须用实体引用"compulsory"
错误4:
XML对大小写敏感,标记必须配对
错误5:
属性名、标记名不能有空格
错误6:
元素不能交叉
4、模式文档和实例文档
(1)模式文档是包含结构的文档,以.xsd作为后缀名;而实例文档是包含实际的XML数据的文档
(2)通过名称空间联系模式文档和实例文档
1/Schema文件中没有给出目标命名空间(实例文档中通过xsi:
noNamespaceSchemaLocation属性指定XMLSchema文档的位置)
2/Schema文件中给出目标命名空间Schema文件中通过属性targetNamespace设置目标名称空间的值;
XML实例文件中通过属性xsi:
schemaLocation指明XMLSchema的位置
(3)模式文档只是一个XML文档,它的预定义的元素和属性描述另一个XML文档的结构
1/模式文档由一个schema元素和一系列子元素组成,大多数子元素为element,complexType,和simpleType,这些决定了在实例文档中的元素的表现方式和内容;
2/通过出现在schema元素中的命名空间声明xmlns:
xsd=“http:
//www.w3.org/2001/XMLSchema”,在模式文档中的每一个元素都有一个与XMLSchema命名空间相联系的命名空间前缀“xsd:
”。
前缀“xsd:
”被约定用于表示XMLSchema命名空间,而不是模式文档作者自己的词汇表
6、模式文档元素定义(重点掌握,主要出现在改错和应用题,参考PPT的内容)
(1)模式文档元素类型可以分为复合类型( complexType>)和简单类型( simpleType>) 复合类型: 元素如果包含子元素或者是带有属性则被称为复合类型 简单类型: 元素如果仅仅包含数字、字符串或者其他数据等,但不包含任何子元素则称为简单类型。 属性值通常是简单类型,因为属性值不能包含任何结构 (2)创建新的简单类型 内建简单类型、使用层面(facets)创建简单类型、有限制的值、枚举、列表(list)、联合(Union) 内建简单类型: W3CXMLSchema建议书中包括了42种简单类型的定义,其中包括string、int、date、decimal、boolean、timeDuration和uriReference等。 使用模式内建的这些类型时,必须在前面加上W3C模式前缀,通常是“xsd: ”如: elementname="subdate"type="xsd: date"/> 使用层面(facets)创建简单类型: 使用层面可以对简单类型存储的数据加以限制。 几个常用的层面: minInclusive,maxInclusive限定下限值和上限值 enumeration允许建立一个值列表 pattern指定一个正则表达式,要求文本符合该格式例: simpleTypename=“idNumber”base=“xsd: integer”> patternvalue="\d{3}-\d{4}-\d{3}"/> simpleType> 有限制的值 simpleTypename="idNumber"> restrictionbase="xsd: integer">使用base属性声明基于内建的简单类型 minInclusivevalue="1"/> maxInclusivevalue="100000"/>把值限制在1到100000之间(包含1和100000)的整数 restriction> simpleType> (3)复杂类型 使用匿名的complexTypes、引用现存的元素、指定元素出现的次数(minOccurs和maxOccurs)、指定元素的默认值(fixed和default)、属性的定义(匿名形式和有名形式)、指定属性约束和缺省值(使用 attribute>元素的use和value属性)、基于简单类型的复合类型(定义基于简单类型,但具有属性的复合类型)、混合内容(在 complexType>元素中将mixed属性设置为“true”)、模式注释( annotation>, documentation>, appInfo>三个元素用于为模式增加注释)、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封装(SOAPEnvelope): 构造定义了一个整体的表示框架,可用于表示 n (2)SOAP编码规则(SOAPEncodingRules): 定义了一套编码机制用于交换应用程序定义的数据类型的实例 (3)SOAPRPC表示(SOAPRPCPresentation): 定义了一个用于表示远程过程调用和响应的约定 (4)SOAP绑定(SOAPBinding): 定义了一种使用底层传输协议来完成在节点间交换SOAP封装的约定。 7、SOAP消息结构 SOAP消息由一个强制的SOAPEnvelope、一个可选的SOAPHeader和一个强制的SOAPBody组成的XML文档。 n1/SOAPEnvelope n表示一个SOAP消息的顶级元素 n2/SOAPHeader n能够被SOAP消息路径中任意的SOAP接收者处理的一组SOAP条目。 nSOAP定义了很少的一些属性来用于指明谁可以处理该特性以及它是可选的还是强制的。 n3/SOAPBody Body为该消息的最终接收者所想要得到的那些强制信息提供了一个容器。 此外,SOAP定义了Body的一个子元素Fault用于报告错误。 8、理解SOAP消息的各个元素(选择,填空和应用题) SOAP消息由一个强制的SOAPEnvelope、一个可选的SOAPHeader和一个强制的SOAPBody组成的XML文档。 (1)SOAPEnvelope元素: 语法规则(P75) Envelope元素是一个复合元素,有两个预定义子元素Header和Body。 (2)SOAPHeader元素(P75) SOAPHeader的作用;Header条目;Header的语法规则;Header条目的编码规则;SOAP消息路径中各个节点对消息的处理过程(读、处理或更新Header条目);actor属性的含义(next角色和ultimatereceiver角色);mustUnderstand属性的含义;重点理解PPT中订购单SOAP消息处理的例子 (3)SOAPBody元素 1/Body条目携带端到端的信息,可以是: Applicationdata(XMLdocument)(documentstyle) RPCmethodandparameters(rpcstyle) SOAPfault 2/Body的语法规则 3/Body条目的编码规则 (4)SOAP错误(SOAPFault)P76 如果SOAP消息需要包含SOAPFault元素的话,它必须作为一个Body条目出现,同时在Body元素内它必须不出现多于一次(至多出现一次)。 了解SOAPFault元素的子元素: faultcode、faultstring、faultactor、detail 了解SOAP中定义的faultcode值: VersionMismatch、MustUnderstand、Client、Serve 10、SOAP消息编码 (1)定义了一套编码机制用于交换应用程序定义的数据类型的实例 (2)对每个包含一个值的元素,值的类型表示必须满足以下至少一个条件: (a)包含该值的元素实例包含一个xsi: type属性, (b)包含该值的元素实例包含在一个具备enc: arrayType属性的元素中(可能是被设置成default的) (c)该元素的名带有一个类型的明确关联,而该类型由一个模式来决定。 (3)重点理解PPT的例子(填空、应用题): structure、muli-reference、single-reference、enc: Array、enc: arrayType 11、SOAPRPC表示(问答题) (1)为实施一个方法调用,需要以下信息 n目标SOAP节点的URI n方法名 n可选的方法或过程的特征 n方法或过程的参数 n可选的头数据 n (2)RPC调用和响应都是在SOAPBody元素中传递 n一个方法调用被建模成一个结构struct n一个方法响应被建模成一个结构struct n方法调用错误使用SOAPFault元素来编码 12、SOAP绑定: 在HTTP中使用SOAP(填空或问答) (1)SOAPHTTP请求: HTTPGET请求和HTTPPOST请求(SOAP1.1使用) (2)重点理解HTTPHeader中的SOAPAction字段 SOAPAction头字段的存在及其内容可以被服务器例如防火墙用于在HTTP中过滤SOAP请求消息。 (3)了解SOAPHTTP响应 简答题: n1、在SOAP消息中为什么要进行编码? 请给出你的理解。 SOAP消息编码定义了一套编码机制用于交换应用程序定义的数据类型的实例,在SOAP消息中必须指明编码规则,以使得接收端能够正确的解码数据。 n2、结合Actor属性和mustUnderstand属性,简述SOAP节点是如何处理SOAPHeader条目的。 SOAPHeader属性决定了SOAP消息的接收者应该如何处理消息。 SOAP1.1应用程序用actor属性来识别处理指定头条目的节点actor属性由SOAP注释定义,它是SOAP的Envelope、Body和Header元素的命名空间actor属性用一个URI标识节点处理对应的头条目时必须扮演的角色。 当一个节点接收到一个SOAP消息时,它要分析每一头条目,以确定哪一代码块是由该节点支持的角色。 SOAPmustUnderstand全局属性用来指示接收者在处理消息时这个条目是否必须处理。 如果一个头元素的SOAPmustUnderstand属性的值是“1”,那么条目的接受者必须或者遵守语义(如以元素的全名传送)并按照语义正确的处理,或者放弃处理消息。 如果节点扮演了由头条目的actor属性所标识的角色,但没有通过编程来处理该条目,那就没法识别该条目。 如果一个节点不能识别某一(mustUnderstand=“1”)的头条目,那么它将产生一个SOAP错误(类似于Java的远程异常),并抛弃消息,即不能向消息路径的下一个节点转发消息。 n3、SOAPFault元素应该出现在SOAPHeader还是SOAPBody? 预定义的SOAPfaultCode有哪几种? n4、利用XML消息传递RPC调用时,RPC调用在SOAP的请求与响应消息中是如何表示的? n5、SOAP消息是用XML来进行类型编码的,那么SOAP消息实质上是XML模式文档还是实例文档? 在SOAP的编码规则中,如何表示一个值的类型? n6、在HTTP中使用SOAP1.1时,为什么在HTTPHeader中使用SOAPAction? 它有什么作用? 2、WSDL基本的服务描述分成了两部分: 服务接口和服务实现。 (选择或填空题) (1)服务接口定义: 是一种抽象的服务定义,它可以被多个服务实现定义实例化和引用 包括的WSDL元素: types、message、operations、portType (2)服务实现定义: 描述给定服务提供者如何实现特定服务接口的WSDL文档 包括的WSDL元素: binding、Service、Port 3、理解上述几种WSDL元素的含义与语法(选择或填空题) (1)types: 使用W3CXMLSchema做类型系统 (2)Messages: 进行交换的抽象的、已经被定义了类型的数据 (3)operations: 活动的抽象描述;引用输入和/或输出消息 (4)portType: 操作的集合;一个服务的抽象定义 活动行为模式分类(PPT的例子,重点): 请求-响应(request-response);征求-响应(solicit-response); 单向(one-way);通知(notification) (5)binding: 为特定的Porttype关联具体的协议和数据格式(编码规则) 1/协议类型: SOAP(SOAP1.1overHTTPorSOAP1.1overSMTP);HTTPGET/POST;MIME binding>、 binding>和 binding>子元素 2/编码规则: SOAPencoding;RDFencoding (6)Port: 定义单一的通信端点 绑定的端点地址: URLforHTTP,emailaddressforSMTP (7)Service: 有关Port的集合 4、SOAP绑定扩展(SOAPBindingExtension)(重点,选择、填空或应用题) (1)WSDL支持对SOAP1.1端点的绑定: n指定SOAP作为绑定的协议 n指定SOAPendpoint的地址 n指定SOAPActionHTTPheader的URI(只对SOAP/HTTP有效) n列出SOAPenvelope的Header定义 (2)采用SOAP命名空间: xmlns: soap="http: //schemas.xmlsoap.org/wsdl/soap/" (3) binding>元素: transport和style(rpc或document,两者影响在传输时SOAP消息的BODY部分的构造方式)属性 (4) operation>元素: soapAction属性,Style属性 use属性指定编码规则: use=encoded意味着消息的组成部分引用抽象类型,而具体的模式由encodingStyle属性定义的编码形式中给出;use=literal意味着WSDL文档中提供的消息定义就直接写入SOAP体中而不使用另一种编码机制。 (5) body>元素 区分 body>里的sytle的RPC风格和Document风格 1/RPC: WSDL文档中的 SOAP消息的BODY部分采用struct格式;每部分出现的顺序同调用参数的顺序 2/Document: WSDL文档的每个 SOAP消息的Body元素包含的是XML文档片段 理解use="literal|encoded"的含义 理解style与use属性值的四种组合(结合PPT的例子,重点掌握,应用题): style=”rpc”anduse=”encoded” style=”rpc”anduse=”literal” style=”document”anduse=”encoded” style=”document”anduse=”literal” 5、第五章作业 8、了解XML文档解析: DOM和SAX 基于事件的方式: 将动作附加到处理XML文档的每个特定步骤上(SAX) 基于树(对象结构)的方式: 建造文档树并在文档树上进行后续操作(DOM) SAX优点: “查询、阅读”效率高。 缺点: 无法多次查找(或后向查找)同一数据。 基于事件SAX: 占资源小 基于树DOM: 完整视图.耗费资源 通常,SAX实现比DOM实现快。 5、UDDI数据模型 UDDI包含一个XMLSchema,用以描述四种信息的核心类型: businessEntity(商业实体)(WhitePages) businessService(服务信息)(YellowPages) bindingTemplate(绑定模板)(GreenPages) tModel(TechnicalModel)(技术模型) (1)businessEntity元素: 对关于企业的信息进行建模; 如何识别该公司或商业实体? 1/具有唯一的businessKey值(UUID) 2/利用identifierBag元素里的其他唯一的值,用来标识该公司 3/利用categoryBag元素里注册的多个商业分类来标识 tModels主要用来提供指向外部技术规范的指针(如到WSDL的指针)。 注意: tModel不仅仅是指向Webservices,如果需要的话,它还可以指向任意的外部规范,如D-U-N-S号 6、从WSDL到UDDI的映射(选择、填空或应用) (1)一个完整的WSDL服务描述是由一个服务接口和一个服务实现文档组成 WSDL服务接口描述是作为UDDItModel发布的 而WSDL服务实现描述是作为UDDIbusinessService发布的 阅读并理解图“从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 5、UDDI数据模型 UDDI包含一个XMLSchema,用以描述四种信息的核心类型: businessEntity(商业实体)(WhitePages) businessService(服务信息)(Ye
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WebService 考试 复习 提纲