第三章
2.列出并讨论现有SOC软件开发环境各自的特点。
第一部分P115(×表示各开发环境可适用于)
3.什么是代理?代理和它代表的服务之间有什么不同?如何创建一个代理?
一个代理包含一组端点引用,端点引用往往被定义为虚拟的对象。在面向对象计算中,对象具有抽象的方法。代理创建一个从服务客户到远程服务的管道,因此就像访问本地对象一样访问远程服务。客户端通过调用代理的抽象方法访问服务的操作。给应用添加远程web服务(创建代理),鼠标右键单击应用文件夹或者项目中的“引用”文件夹,然后选择“添加服务引用”或者选择“添加web引用”。P145
4.描述SOC软件开发中的SOAP的作用。
第一部分P137(底下一整段)
5.SOAP是否支持双向通信?如果不,响应消息如何与发送者建立相关性?
SOAP是一个无状态的单向的信息交换协议不支持双向通信。SOAP依赖于HTTP把返回消息和请求消息连接起来,HTTP隐含地给出了请求消息和响应消息的相关性。
(此处为百度扩充内容:把 SOAP 绑定到 HTTP,在使用 HTTP 作为协议绑定的场合中, RPC 请求映射到 HTTP 请求上,而 RPC 应答映射到 HTTP 应答。然而,在 RPC 上使用 SOAP 并不仅限于 HTTP 协议绑定。SOAP也可以绑定到TCP和UDP协议上。)
6.在SOAP协议中,哪些信息包含在头部?哪些信息包含在正文?
标头部分包含零个或多个SOAP头块,每个标头都确定了SOAP消息路径上的接收者。正文包含零个获多个元素信息项,确定了SOAP消息路径上最终的SOAP接收者。
7.描述SOC软件开发中的WSDL的作用。
WSDL(Web Service Description Language )是一种用通用的SML语法描述WEB服务的语言。WSDL描述了WEB服务的四个关键方面:
- 服务的功能
- 参数值的数据类型以及函数(服务)调用的返回类型
- 所使用的传输协议的绑定信息,一般都用SOAP协议
- 定位指定服务的地址信息
换句话说,WSDL表示了服务请求者和服务提供者之间的契约。这类似于面向对象语言中类中方法(成员函数)的接口,在面向对象语言中用户可以使用类中定义的函数的接口。关键的区别是,WSDL是平台和语言无关的,主要用于SOAP调用(虽然不是独有的)。
通过WSDL。客户可以找到web服务并调用其公开的任何功能,使用WSDL相关工具可以自动化这一过程,使新服务很容易集成到应用中,而很少或根本不用编码。因此,WSDL在web服务体系结构中很重要,因为它不但是用于描述服务的通用语言,而且是一个把服务自动集成到应用的平台。
潜在的,这一特征允许应用进行自动的重新配置和重新组合。重新配置就是用具有相同功能,但性能和可靠性更稳定的WEB服务替换应用中的服务。重新组合是指改变应用的结构和功能。
8、WSDL描述了WEB服务的哪些关键方面?WSDL没有描述哪些方面?这些元素如何组织?
WSDL描述了WEB服务的四个关键方面:
- 服务的功能
- 参数值的数据类型以及函数(服务)调用的返回类型
- 所使用的传输协议的绑定信息,一般都用SOAP协议
- 定位指定服务的地址信息
后面两个问题我没有找到,也没有百度到,但书中141页有关于WSDL文档中的元素的介绍和结构。
9、什么是服务端点?端点必须包括哪些信息?
一个端点是一个暴露在外的服务接口(方法名和参数),因此客户可以访问服务中的操作(方法)。一个端点包含地址(入口点)、操作名称、返回值类型和参数以及其类型等。
10、在开发过程中托管Web服务,可获得哪种托管服务?
有三种不同的方式托管服务,并允许远程方位windows环境下创建的服务:.Net开发服务器、Windows下的IIS和web服务器。
(1).Net开发服务器
.Net包括一个开发服务器,它允许在同一台计算机上测试并访问Web服务,而无需连接互联网或安装IIS。
(2)Windows下的IIS
IIS可以将计算机上的任何一个文件夹(目录)作为服务器。
(3)WEB服务器或windows服务器
如果正在服务器(例如Windows Server 2008)上开发Web或Windows服务,当测试服务时,将会在窗口中创建完整的Web地址。
11、什么是IIS?在基于web服务的应用中,IIS的作用是什么?
IIS即INTERNET信息服务,是windowsXP的一个可选组件。
在大多数WEB服务器上,IIS是一个服务运行环境,它可以安装在windows操作系统中,使得部分文件系统成为服务器。IIS一直在运行,监听请求并处理请求排队。当远程客户激活服务器上的共享服务时,IIS把远程客户端的请求重定向到它托管的正确服务上。IIS管理服务之间的共享资源。IIS使用安全套接字(SSL)验证远程调用者并保障服务器上数据的安全。
12.什么是虚拟目录?为什么我们需要虚拟目录?创建虚拟目录的过程是什么?
答:
虚拟目录的定义?
每个Inernet服务可以从多个目录中发布。通过以通用命名约定(UNC)名、用户名及用于访问权限的密码制定目录,可将每个目录定位在本地驱动器或网络上。虚拟服务器可拥有一个宿主目录和任意数量的其他发布目录。其他发布目录称为虚拟目录。
为什么我们需要虚拟目录?
所谓主目录,就是你IIS里设置的网站目录。而虚拟目录则可以是任何目录,可以在主目录下面,也可以不在主目录下面,不过虚拟目录一般都是指的非主目录的文件夹。设置虚拟目录的目的就是把非主目录下的文件夹虚拟成主目录下的文件夹。比如你的主目录指定为D盘下的wwwroot文件夹,有时候为了一些特殊目的,我们需要通过网站访问D盘下面的security目录下的内容,这时直接是无法访问的。因为它不属于主目录。这时候就可以用到虚拟目录了,我们可以建立一个虚拟目录,虚拟目录名可以随便设置。设置以后我们就要吧通过http://域名/虚拟目录名 来访问这个虚拟目录了。
创建虚拟目录的过程是什么?
Web服务器中虚拟目录需要在主目录的基础上进行创建:
第1步,在开始菜单中依次单击“管理工具”→“Internet信息服务(IIS)管理器”菜单项,打开“Internet 信息服务(IIS)管理器”窗口。在左窗格中依次展开服务器→“网站”目录,右键单击Web站点名称,在弹出的快捷菜单中依次选择“新建”→“虚拟目录”命令。
第2步,在打开的“虚拟目录创建向导”中单击“下一步”按钮,打开“虚拟目录别名”对话框。然后在“别名”编辑框中输入一个能够反映该虚拟目录用途的名称(如MsserverBook),并单击“下一步”按钮。
第3步,打开“网站内容目录”对话框,在此处需要指定虚拟目录所在的路径。单击“浏览”按钮,在本地磁盘或网上邻居中选择目标目录,虚拟目录与网站的主目录可以不在一个分区或物理磁盘中。依次单击“确定”→“下一步”按钮。
第4步,在打开的“虚拟目录访问权限”对话框中,可以设置该虚拟目录准备赋予用户的访问权限。用户可以根据实际需要设置合适的权限,并单击“下一步”按钮。
第5步,打开完成创建虚拟目录对话框,单击“完成”按钮关闭虚拟目录创建向导。[1]
13.理想的服务中介应该提供哪些特征?目前的服务中介(UDDI、ebXML、临时登记表)提供了哪些功能?
答:理想的服务中介应该具备的特征:
- 服务注册:这是服务中介的基本功能,它允许服务提供者注册他们服务的类型、描述、联系信息、访问点(如URL),并允许服务请求者基于它们拥有的部分信息发现他们想要的服务;
- 服务存储:托管服务的执行。为了支持大批量访问,托管服务器必须具有超级计算能力和高速的互联网连接;
- 服务规范和需求:如果某个服务请求者不能发现服务,可以发布规范或者需求,从而使服务提供者可以开发以满足规范或者需求的服务。服务需求使用自然语言书写,而服务规范用规格语言或者接口定义语言如WSDL编写;
- 应用模板:不仅是服务,由多个服务和图形用户界面(GUI)组成的应用也可以使用SOC规范。应用模板指定了应用的工作流、参与服务的描述、服务接受的标准以及应用集成标准。应用构建者采用应用模板开发应用;
- GUI模板:GUI是一个软件产品成功的关键。GUI模板的发布可以帮助应用构建者通过使用现有的GUI设计创建用户友好的高效率的GUI;
- 合作协议和模板:合作协议和模板定义了应该用什么语言定义合作以及服务之间如何通信。合作协议和模板的发布规范了服务提供者如何定义应用、GUI模板和服务接口。因为合作协议和模板提供了可重用的工作模式,这种模式可在应用和服务开发中采用,因而缩短了开发周期;
- 策略:基于策略的计算建议把数据和计算分离。用来反映策略变化的数据项存储在配置文件或者策略数据库中。策略的修改可以在运行时完成,无需中断程序的执行。为了重用,可以发布策略。另一方面,为了满足对服务中介的动态需求,服务中介应该用基于策略的计算实现;
- 数据库和本体论:服务中介是一个为它的客户提供各种不同服务的服务。为了存储和管理大量数据和服务,数据库的支持是必不可少的。自动发现服务和应用模板是服务中介的需求。具有语义属性和推理能力的本体可以扩展传统数据库的能力,更好的支持自动化的服务发现;
- 集成测试和评估工具:测试和评估,包括测试用例生成、测试结果、验证、确认、可靠性评估和安全性评估,都是软件开发中的关键而又苦难的步骤。服务中介可以提供工具,在绑定服务到应用之前,帮助应用构建者测试服务;
- 服务质量:服务中介可以跟踪并保存服务的性能和可信性数据是一项期望的功能。这些数据包括响应时间、吞吐量、可靠性、外部安全性以及成本效益。
UDDI所提供的功能:
UDDI(统一描述,发现和集成协议),它的主要功能是服务注册,注册信息大致分为三部分:
- 白页包括服务提供者的姓名、身份和联系信息;
- 黄页包括企业类型、产品和服务类型、地理位置;
- 绿页包括和服务相关的绑定信息、服务实现的技术参考模型、指向各种文件的指针以及基于URL的发现机制。程序可以搜索并解释这些信息。
ebXML所提供的功能:
ebXML(用于电子商务的可扩展标记语言)是一种规格说明/标准的模块化组件,这种规格说明/标准使任何地方任何规模的企业都可以通过互联网展开业务。ebXML除了提供服务注册之外,还提供了服务存储。ebXML的注册和存储中心提供了注册、定位以及访问分布式安全环境中的信息资源的服务,主要包括:
- 注册联合支持;
- 复制内容/元数据;
- 可扩展的服务接口和协议;
- HTTP绑定到ebXML注册服务接口;
- 内容管理(确认和目录管理);
- 增强查询。
临时存放表所提供的功能:许多组织非正式地提供一个简单的服务列表或人工的服务注册中心,用户可以立即注册一个新的服务并通过浏览器列表人工搜索服务。有用的服务列表包括:
- 远程方法;
- Web服务;
- Xmethods。
14、UDDI注册表实现了那些数据模型(数据结构)解释每种数据模型的作用
答案:(1)、 businessEntity,这个数据结构包含公司自身(服务提供者)的信息。
(2)、businessService,表示了服务提供者提供和发布的一个Web服务。
(3)、bindingTemplate,表示了Web服务的实际实现。
(4)、tModel,是一种描述类型的技术方式,在UDDI注册的每个业务根据预先定义的服务类型(tModels)列表划分它的服务。
(5)、publisherAssertion,对于大型公司和企业,单一的业务条目不足以表示这些公司的业务。UDDI允许发布多个业务条目,代表部门或子公司。数据模型publisherAssertion使它们的关系在UDDI注册中心可见。
15、在UDDI中,为了成为服务提供者必须提供那些信息?为了注册一个新服务必须提供那些信息?
答案:为了成为服务提供者必须提供以下信息:
(1)、公司的统一标识符
(2)、公司的Web地址
(3)、联系信息
(4)、产业类别
(5)、提供的服务列表
为了注册一个新服务必须提供的信息:
(1)、白页信息包括服务提供者的姓名、身份证明(例如,DUNS号)和联系信息。
(2)、黄页信息(商业类)包括企业类型、产品和服务类型、地理位置。
(3)、绿页信息包括和服务相关的绑定信息、服务实现的技术参考模型、指向各种文件的指针以及基于URL的发现机制。
16.UDDI注册中心提供哪些操作(APIs)?
答案:UDDI API分为查询API和发布API两个逻辑部分。
- 、查询API又分为两个部分,一部分被用来构造搜索和浏览UDDI注册信息的程序,另一部分在调用web服务出现错误时重新获得web服务绑定信息时使用。
- 、对于发布API,程序员可以利用发布API创建各种类型的工具,以直接与UDDI注册中心进行交互,便于企业技术人员管理businessEntity或tModel结构的发布信息。