> 技术文档 > 系统分析师-计算机网络与分布式系统-构件与中间件&Web服务&云计算

系统分析师-计算机网络与分布式系统-构件与中间件&Web服务&云计算

目录

一、构件中间件

1. 构件

1.1 构建模型

1.2 构件组装

2. 中间件

2.1 中间件的分类

2.2 中间件与构件的关系

二、Web服务

1. Web服务的体系结构

2. Web服务的技术平台

三、云计算

3.1 云计算的服务方式

3.2 云计算的部署模式

相关推荐


一、构件与中间件

构件又称为组件,是一个自包容、可复用的程序集,通过源程序或二进制代码的方式提供,整体向外提供统一的访问接口,构件外部只能通过接口来访问构件,而不能直接操作构件的内部。构件的两个最重要的特性是自包容与可重用

中间件是为应用提供通用服务和功能的软件,数据管理、应用服务、消息传递、身份验证和API管理通常都要通过中间件。中间件可以帮助开发人员更有效地构建应用。

1. 构件

1.1 构建模型

构件模型定义了构件实现、文档化以及开发的标准。目前主流的构件模型是Web Services模型、Sun公司的EJB模型和微软的.NET模型。构件模型包含了一些模型要素:

  • (1)接口。构件通过构件接口来定义,构件模型规定应如何定义构件接口以及在接口定义中应该包含的要素,如操作名、参数以及异常等。
  • (2)使用信息。为使构件远程分布和访问,必须给构件一个特定的、全局唯一的名字或句柄。构件元数据是构件本身相关的数据,比如构件的接口和属性信息。用户可以通过元数据发现构件提供的服务。
  • (3)部署。构件模型包括一个规格说明,指出应该如何打包构件使其部署成为一个独立的可执行实体

构件模型提供了一组被构件使用的通用服务,包括平台服务和支持服务。平台服务允许构件在分布式环境下通信和互操作。支持服务是很多构件需要的共性服务。例如,身份认证服务。

1.2 构件组装

构件组装是指构件相互直接集成或是用专门编写的“胶水代码”将它们整合在一起来创造一个系统或另一个构件的过程

有以下3种常见的构件组装方式。

(1)顺序组装。通过按顺序调用已经存在的构件,可以用两个已经存在的构件来创造一个新的构件。

(2)层次组装。发生在一个构件直接调用由另一个构件所提供的服务时。被调用的构件为调用的构件提供所需的服务。

(3)叠加组装。发生在两个或两个以上构件放在一起来创建一个新构件的时候。这个新构件合并了原构件的功能,从而对外提供了新的接口。

当编写构件时,尤其是为了组装来编写构件时,可能经常会面临接口不兼容的问题,即所要组装的构件的接口不一致。一般会出现3种不兼容情况:

(1)参数不兼容。接口每一侧的操作有相同的名字,但但参数类型或参数个数不相同。

(2)操作不兼容。提供接口和请求接口的操作名不同

(3)操作不完备。一个构件的提供接口是另一个构件请求接口的一个子集,或者相反。

2. 中间件

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于操作系统之上,管理计算资源和网络通信,实现应用之间的互操作。具体来说,中间件的基本功能包括以下6个方面:

  • (1)负责客户机与服务器之间的连接和通信,以及客户机与应用层之间的高效率通信机制。
  • (2)提供应用层不同服务之间的互操作机制,以及应用层与数据库之间的连接和控制机制。
  • (3)提供一个多层架构的应用开发和运行的平台,以及一个应用开发框架,支持模块化的应用开发。
  • (4)屏蔽硬件、操作系统、网络和数据库的差异。
  • (5)提供应用的负载均衡和高可用性、安全机制与管理功能,以及交易管理机制,保证交易的一致性。
  • (6)提供一组通用的服务去执行不同的功能,避免重复的工作并使应用之间可以协作。
2.1 中间件的分类

按照中间件在分布式系统中承担的职责不同,可以将中间件划分成以下几类:

(1)通信处理(消息)中间件。在分布式系统中,人们要建网和制定通信协议,以保证系统能在不同平台之间通信。

(2)事务处理(交易)中间件。使大量事务在多台应用服务器上能实时并发运行,并进行负载平衡的调度,为了实现这个目标,要求中间件系统具有监视和调度整个系统的功能。

(3)数据存取管理中间件。为在网络上虚拟缓冲存取、格式转换、解压等带来方便。

(4)Web服务器中间件。浏览器图形用户界面已成为公认的规范,然而它的会话能力差、不擅长做数据写入、受HTTP协议的限制等,必须进行修改和扩充,就形成了 Web服务器中间件。

(5)安全中间件。产生不安全因素是由操作系统引起的,但必须要用中间件去解决,以适应灵活多变的要求。

(6)跨平台和架构的中间件。当前开发大型应用软件通常采用基于架构和构件的技术,在分布式系统中,还需要集成各节点上的不同系统平台上的构件或新老版本的构件,由此产生了架构。

(7)中间件专用平台中间件。为特定应用领域设计领域参考模式,建立相应架构,配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关键任务(如电子商务、网站等)。

(8)网络中间件。它包括网管、接入、网络测试、虚拟社区、虚拟缓冲等。

2.2 中间件与构件的关系

中间件与软件架构实际上是从两种不同的角度看待软件的中间层次。从某种程度上说,中间件就是架构,是构件存在的基础,中间件促进了构件化的实现。中间件与构件的关系:

(1)面向需求。基于中间件开发的应用是真正面向需求的,从本质上符合构件化设计的思想。

(2)业务的分隔和包容性。在提供业务的分隔和包容性方面,架构和中间件有同样的目标。例如,消息中间件规定了消息是有属性的,其中部分属性则与业务的划分有关。构件只进行相应类型的消息交互,至于如何保证业务的分类运行与管理,则是中间件的任务。

(3)设计与实现分离。构件对外发生作用或构件间的交互,都是通过接口进行的,构件使用者只需要知道构件的接口,而不必关心其内部实现,这是设计与实现分离的关键。中间件在分布交互模式上也规定了接口(或类似)机制。

(4)隔离复杂的系统资源。架构很重要的一个功能就是将系统资源与应用构件隔离,这是保证构件可复用甚至即插即用的基础,与中间件的意图也是一致的。

(5)符合标准的交互模型。架构是一种抽象的模型,但模型中应当定义一些可操作的成分。基于中间件的构件是符合标准模型的。

(6)软件复用。软件复用是构件化软件开发的根本目标之一,中间件提供了构件封装、交互规则、与环境的隔离等机制,这些都为软件复用提供了方便的解决方案。

(7)提供对应用构件的管理。基于中间件的软件可以方便地进行管理,因为构件总可以通过标识机制进行划分。

二、Web服务

所谓Web服务是指由企业发布的、完成其特别商务需求的在线应用服务,其他公司或应用软件能够通过互联网来访问并使用这种在线服务

关于Web服务的定义有很多种,其核心是面向服务的架构(SOA)

1. Web服务的体系结构

如图所示:

Web服务模型中的操作包括以下3种:发布服务描述、查找服务描述、根据服务描述绑定或调用服务

2. Web服务的技术平台

Web服务的技术平台。主要包括HTTP、XML、SOAP、WSDL、UDDL WSIF和WSFL等

S0AP是目前被广泛接受的消息传输协议,用于在网络应用程序之间交换结构化数据,是一种基于XML的机制。

Web服务的接口由基于XML的WSDL定义,它提供了应用访问指定的Web服务所必需的全部信息描述服务提供了什么功能、服务位于何处以及服务如何调用。

UDDI是一套基于Web的、分布式的、为Web服务提供的信息注册中心实现标准规范,同时也包含一组使企业能将自身提供的Web服务注册以使别的企业能够发现的访问协议的实现标准

三、云计算

云计算指通过计算机网络(多指因特网)形成的计算能力极强的系统,可存储、集合相关资源,并可按需配置,向用户提供个性化服务。

3.1 云计算的服务方式

(1)软件即服务。在SaaS的服务模式下,服务提供商将应用软件统一部署在云计算平台上,客户根据需要通过互联网向服务提供商订购应用软件服务,服务提供商根据客户所订购软件的数量、时间的长 短等因素收费,并且通过标准浏览器向客户提供应用服务。

(2)平台即服务。在PaaS模式下,厂商提供开发环境、服务器平台、硬件资源等服务给客户,客户在服务提供商平台的基础上定制开发自己的应用程序,并通过其服务器和互联网传递给其他客户。

(3)基础设施即服务。在laaS模式下,服务提供商将内存、I/O设备、存储和计算能力等整合为一个虚拟的资源池,为客户提供所需要的存储资源、虚拟化服务器等服务。

对这3种服务方式进行分析后,可以看出这3种服务模式有如下特征:

(1)在灵活性方面,SaaS-PaaS-laaS灵活性依次增强。

(2)在方便性方面,laaS-PaaS-SaaS方便性依次增强。

(3)PaaS是云计算服务模式中最为关键的一层,在整个云计算体系中起着支撑的作用。PaaS通常以特定的互联网资源为中心,采用开放平台的形式,对外提供基于Web的API服务。PaaS的地位相当于系统软件,需要为上层SaaS应用提供AP1,以支持各种Saas应用的开发。

3.2 云计算的部署模式

(1)公有云。云基础设施是公开的,可以自由地分配给公众。企业、学术界与政府机构都可以拥有和管理公有云,并实现对公有云的操作。

(2社区云。云基础设施分配给一些社区组织所专有,这些组织共同关注任务、安全 需求、政策等信息。云基础设施被社区内的一个或多个组织所拥有、管理及操作。

(3)私有云。云基础服务设施分配给由多种用户组成的单个组织。它可以被这个组织或其他第三方组织所拥有、管理及操作。

(4)混合云。是公有云、私有云和社区云的组合。

相关推荐

系统分析师-计算机系统-操作系统-文件管理&作业与用户界面&国产操作系统-CSDN博客文章浏览阅读1.1k次,点赞32次,收藏21次。本文系统介绍了操作系统中文件管理和作业管理的核心内容。文件管理部分详细阐述了文件系统的组织结构(逻辑结构、物理结构)、文件目录、存储空间管理(空闲区表、位示图等)以及文件共享与保护机制(硬链接、符号链接)。作业管理部分解析了作业状态转换、作业控制块、作业调度算法(先来先服务、短作业优先等)以及用户界面的发展历程。最后概述了国产操作系统的发展现状,包括银河麒麟、深度等主流系统的特点。全文从实现原理到应用实践,全面剖析了操作系统资源管理的关键技术。 https://shuaici.blog.csdn.net/article/details/149474441系统分析师-计算机网络与分布式系统-计算机网络基础&网络体系结构与协议&网络地址&局域网和广域网-CSDN博客文章浏览阅读734次,点赞34次,收藏43次。本文系统介绍了计算机网络的基础知识,包括网络体系结构、数据通信原理、网络协议和地址管理等核心内容。主要涵盖:1. 网络分层结构(OSI和TCP/IP模型)及通信原理;2. 数据编码与传输技术(调制方式、差错控制等);3. 网络协议(IP、TCP/UDP等)及其应用;4. IP地址分类、子网划分及IPv6特性;5. 局域网和广域网技术(以太网、无线网络等)。文章详细解析了计算机网络的关键技术原理,为理解现代网络架构提供了系统性的知识框架。 https://shuaici.blog.csdn.net/article/details/149552385