免费智能真题库 > 历年试卷 > 系统架构设计师 > 2009年下半年 系统架构设计师 上午试卷 综合知识
  第53题      
  知识点:   管道/过滤器   SOA   Web服务   Web服务器   消息
  关键词:   HTTP   SOA   报文   服务器   架构师   客户端   请求消息   软件开发   OA   开发   消息        章/节:   软件架构的风格       

 
某软件开发公司负责开发一个Web服务器服务端处理软件,其核心部分是对客户端请求消息的解析与处理,包括HTTP报头分离、SOAP报文解析等功能。该公司的架构师决定采用成熟的架构风格指导整个软件的设计,以下(53)架构风格,最适合该服务端处理软件。
 
 
  A.  虚拟机
 
  B.  管道-过滤器
 
  C.  黑板结构
 
  D.  分层结构
 
 
 

 
  第44题    2016年下半年  
   45%
(44)架构风格可以概括为通过连接件绑定在一起按照一组规则运作的并行构件。
  第39题    2021年下半年  
   39%
软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式,按照软件架构风格,物联网系统属于( )软件架构风格。
  第52题    2010年下半年  
   41%
某公司欲开发一个语音识别系统,语音识别的主要过程包括分割原始语音信号、识别音素、产生候选词、判定语法片断、提供语义解释等..
   知识点讲解    
   · 管道/过滤器    · SOA    · Web服务    · Web服务器    · 消息
 
       管道/过滤器
        在管道/过滤器风格中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。因此,这里的构件被称为过滤器,这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。此风格中特别重要的过滤器必须是独立的实体,它不能与其他的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。
        一个典型的管道/过滤器架构的例子是以UNIX shell编写的程序。UNIX既提供一种符号,以连接各组成部分(UNIX的进程),又提供某种进程运行机制以实现管道。另一个著名的例子是传统的编译器。传统的编译器一直被认为是一种管道系统,在该系统中,一个阶段(包括词法分析、语法分析、语义分析和代码生成)的输出是另一个阶段的输入。
        管道/过滤器风格的软件架构具有许多很好的特点:
        (1)使得构件具有良好的隐蔽性和高内聚、低耦合的特点。
        (2)允许设计者将整个系统的I/O行为看成是多个过滤器行为的简单合成。
        (3)支持软件重用。只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来。
        (4)系统维护简单,可扩展性好。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉。
        (5)允许对一些属性,如吞吐量、死锁等进行分析。
        (6)支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其他任务并行执行。
        但是,这样的系统也存在着若干不利因素:
        (1)通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。
        (2)不适合处理交互的应用。当需要增量地显示改变时,这个问题尤为严重。
        (3)因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
 
       SOA
        SOA(Service-Oriented Architecture,面向服务的架构)是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。
        Web Service是现在实现SOA的主要技术,是一个平台独立的,低耦合的,自包含的、基于可编程的web应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。Web Service技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据Web Service规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。
        SOA支持将业务转换为一组相互链接的服务或可重复业务任务,可以对这些服务进行重新组合,以完成特定的业务任务,从而使业务能够快速适应不断变化的客观条件和需求。
 
       Web服务
        Web是为了程序到用户的交互,而Web服务是为程序到程序的交互做准备。Web服务使公司可以降低进行电子商务的成本、更快地部署解决方案以及开拓新机遇。实现Web服务的关键在于通用的程序到程序通信模型,该模型应建立在现有的和新兴的标准之上,例如,HTTP、可扩展标记语言(Extensible Markup Language,XML)、简单对象访问协议(Simple Object Access Protocol,SOAP)、Web服务描述语言(Web Service Description Language,WSDL)以及通用描述发现和集成(Universal Description Discovery and Integration,UDDI)。
               Web服务的定义
               Web服务是描述一些操作(利用标准化的XML消息传递机制可以通过网络访问这些操作)的接口。Web服务是用标准的、规范的XML概念描述的,称为Web服务的服务描述。这一描述包括了与服务交互需要的全部细节,包括消息格式(详细描述操作)、传输协议和位置。该接口隐藏了实现服务的细节,允许独立于实现服务所基于的硬件或软件平台和编写服务所用的编程语言使用服务。Web服务履行一项特定的任务或一组任务。Web服务可以单独或同其他Web服务一起用于实现复杂的聚集或商业交易。
               Web服务体系结构基于三种角色(服务提供者、服务注册中心和服务请求者)之间的交互。交互涉及发布、查找和绑定操作。这些角色和操作一起作用于Web服务构件——Web服务软件模块及其描述。在典型情况下,服务提供者托管可通过网络访问的软件模块(Web服务的一个实现),服务提供者定义Web服务的服务描述并把它发布到服务请求者或服务注册中心。服务请求者使用查找操作来从本地或服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用Web服务实现或同它交互。服务提供者和服务请求者角色是逻辑结构,因而服务可以表现两种特性。下图描述了这些操作、提供这些操作的组件及它们之间的交互。
               
               Web服务的角色、操作和构件
               WSDL——Web服务描述语言(Web Service Description Language)
               WSDL是一种XML Application,它将Web服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服务进行访问(类似远程过程调用)。WSDL首先对访问的操作和访问时使用的请求/响应消息进行抽象描述,然后将其绑定到具体的传输协议和消息格式上以最终定义具体部署的服务访问点。相关的具体部署的服务访问点通过组合就成为抽象的Web服务。
               UDDI——通用描述发现和集成(Universal Description Discovery and Integration)
               (1)UDDI的基本概念。UDDI允许动态发现相关的Web服务并将其集成到聚合的业务过程中。UDDI提供一种搜索有关企业和电子化服务的信息。在UDDI中发布企业与服务信息使其他企业能大范围访问到这些信息。UDDI基于现成的标准,如可扩展标记语言(Extensible Markup Language,XML)和简单对象访问协议(Simple Object Access Protocol,SOAP)。
               (2)UDDI注册中心。在UDDI中,一个重要的概念就是UDDI注册中心。UDDI注册中心包含了通过程序手段可以访问到的对企业和企业支持的服务所做的描述。此外,还包含对Web服务所支持的因行业而异的规范、分类法定义以及标识系统的引用。UDDI提供了一种编程模式,定义与注册中心通信的规则。UDDI规范中所有API都用XML来定义,包装在SOAP信封中,在HTTP上传输。
 
       Web服务器
        Web服务器也称为WWW服务器,主要功能是提供网上信息浏览服务。
        在UNIX和Linux平台下使用最广泛的HTTP服务器是W3C、NCSA和Apache服务器,而Windows平台使用IIS的Web服务器。跨平台的Web服务器有IBM WebSphere、BEA WebLogic、Tomcat等。在选择使用Web服务器应考虑的本身特性因素有性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等。
        Web服务器的主要性能指标包括最大并发连接数、响应延迟、吞吐量(每秒处理的请求数)、成功请求数、失败请求数、每秒点击次数、每秒成功点击次数、每秒失败点击次数、尝试连接数、用户连接数等。
 
       消息
        消息是对象间通信的手段、一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数(如有必要)。消息只告诉接收对象需要完成什么操作,并不能指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操作。
   题号导航      2009年下半年 系统架构设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第53题    在手机中做本题