admin管理员组

文章数量:1570208

文章目录

  • 1. 概述
  • 2. 操作系统
    • 2.1 操作系统的组成
    • 2.2 操作系统的作用
    • 2.3 操作系统的特征
    • 2.4 操作系统的分类
      • 2.4.1 批处理操作系统
      • 2.4.2 分时操作系统
      • 2.4.3 实时操作系统
      • 2.4.4 网络操作系统
      • 2.4.5 分布式操作系统
      • 2.4.6 微型计算机操作系统
      • 2.4.7 嵌入式操作系统
  • 3. 数据库
    • 3.1 关系型数据库
    • 3.2 分布式数据库
      • 3.2.1 四层结构
      • 3.2.2 分布式数据库的应用
    • 3.3 常用数据库管理系统
      • 3.3.1 Oracle
      • 3.3.2 IBM DB2
      • 3.3.3 Sybase
      • 3.3.4 SQL Server
    • 3.4 大型数据库管理系统的特点
  • 4. 文件系统
    • 4.1 文件
    • 4.2 文件系统
    • 4.3 文件的类型
    • 4.4 文件的结构和组织
      • 4.4.1 文件的逻辑结构
      • 4.4.2 文件的物理结构
    • 4.5 文件的存取方法
    • 4.6 文件存储空间的管理
      • 4.6.1 空闲区表
      • 4.6.2 位示图
      • 4.6.3 空闲块链
      • 4.6.4 成组链接法
    • 4.5 文件共享和保护
      • 4.5.1 文件的共享
      • 4.5.2 文件的保护
  • 5. 网络协议
  • 6. 中间件
    • 6.1 概述
    • 6.1 中间件分类
    • 6.2 中间件产品介绍
      • 6.2.1 IBM MQSeries
    • 6.3 BEA Tuxedo
  • 7. 软件构件(组件)
    • 7.1 软件构件的组装模型
    • 7.2 商用构件的标准规范
      • 7.2.1 CORBA
      • 7.2.2 J2EE
      • 7.2.3 DNA 2000

1. 概述

  • 概念:软件系统是指在计算机硬件系统上运行的程序、相关的文档资料和数据的集合
  • 作用:计算机软件用来扩充计算机系统的功能,提高计算机系统的效率。
  • 按作用和运行环分类
    • 系统软件
      • 概念:为整个计算机系统配置,且不依赖特定应用领域的通用软件
      • 作用:
        • 对计算机系统的硬件和软件资源进行控制和管理
        • 为用户使用和其他应用软件的运行提供服务。
      • 根据功能分类: 操作系统、程序设计语言翻译系统、数据库管理系统、网络软件等
    • 应用软件
      • 概念:指为某类应用需要或解决某个特定问题而设计的软件。
      • 根据使用面分类:专用应用软件、通用应用软件

2. 操作系统

  • 操作系统是配置在计算机硬件上的第1层软件,它向下管理裸机和其中的文件,向上为其他的系统软件和大量应用软提供支持

2.1 操作系统的组成

操作系统是一种大型、复杂的软件产品,它们通常由操作系统内核 (Kerel) 和其他许多附加的配套软件所组成。

配套软件包括:

  • 图形用户界面程序
  • 常用的应用程序 (如日历、计算器、资源管理器、网络浏览器等)
  • 实用程序 (任务管理器、磁盘清理程序、杀毒软件和防火墙等》
  • 为支持应用软件开发和运行的各种软件构件 (如应用框架、编译器和程序库等)。
  • 操作系统内核
    • 能提供进程管理(任务管理)、存储管理、文件管理和设备管理等功能的那些软件模块,它们是操作系统中最基本的部分,用于为众多应用程序访问计算机硬件提供服务。
    • 为应用软件提供了一套简洁、统一的接口(称为系统调用接口或应用程序接口 API)。
    • 内核通常都驻留在内存中,它以CPU 的最高优先级运行,能执行指令系统中的特权指令,具有直接访问各种外设和全部主存空间的特权,负责对系统资源进行管理和分配。

2.2 操作系统的作用

  • 管理计算机中运行的程序和分配各种软硬件资源

操作系统的资源管理功能主要包括处理器管理、存储管理、文件管理、I/O 设备管理等几个方面。

  • 为用户提供友善的人机界面
  • 为应用程序的开发和运行提供一个高效率的平台

此外,操作系统还具有辅导用户操作(帮助功能)、处理软硬件错误、监控系统性能、保护系统安全等作用

2.3 操作系统的特征

  • 并发性
  • 共享性

其方式可以分为同时共享和互斥共享

  • 虚拟性
    采用虚拟技术的目的是为用户提供易于使用且方便高效的操作环境。
  • 不确定性

系统中的进程何时执行,何时暂停,以什么样的速度向前推进,进程总共要花多少时间执行才能完成,这些都是不可预知的。或者说该进程是以不确定的方式运行的,其导致的直接后果是程序执行结果可能不唯一

2.4 操作系统的分类

2.4.1 批处理操作系统

  • 单道批处理操作系统
    • 机制:用户可以向系统提交多个作业,当一个作业运行结束后,随即自动调入同批的下一个作业
    • 优点:节省了作业之间的人工干预时间,提高了资源的利用率
    • 作业:由用户程序、数据和作业说明书(作业控制语言)3个部分组成。
  • 多道批处理操作系统
    • 机制:允许多个作业装入内存执行,每当运行中的一个作业由于输入/输出操作需要调用外部设备时,就把CPU交给另一个等待运行的作业,从而将主机与外部设备的工作由串行改变为并行。
    • 优点:进一步避免了因主机等待外设完成任务而浪费 CPU时间。
    • 特点:多道、宏观上并行运行、微观上串行运行

2.4.2 分时操作系统

  • 概念:一个计算机系统与多个终端设备连接。分时操作系统是将 CPU 的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。

由于操作系统每次对用户程序都能做出及时响应,因此用户感觉整个系统均归其一人占用。

  • 4个特点: 多路性、独立性、交互性、及时性

2.4.3 实时操作系统

  • 概念:实时是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。
  • 实时系统对交互能力要求不高,但要求可靠性有保障。
  • 分类
    • 实时控制系统
      • 作用:生产过程的自动控制(数据自动采集、武器控制、飞机自动驾驶等)。
    • 实时信息处理系统
      • 作用:实时信息处理(飞机订票系统、情报检索系统等)

2.4.4 网络操作系统

  • 功能
    • 高效、可靠的网络通信
    • 对网络中共享资源(在LAN 中有硬盘、打印机等)的有效管理
    • 提供电子邮件、文件传输、共享硬盘和打印机等服务
    • 网络安全管理
    • 提供互操作能力。
  • 特征
    • 硬件独立性:网络操作系统不应依赖于特定的网络硬件
    • 多用户支持:
      • 应能够同时支持多个用户访问网络资源,如文件、数据库、打印机等。
      • 系统需要提供适当的安全措施,如用户认证、访问控制列表(ACLs)等
    • 支持网络实用程序及其管理功能:如系统备份、安全管理、容错和性能控制
    • 多种客户端支持
    • 提供目录服务:
      • 目录服务是一种网络服务,用于组织和管理网络中的资源信息
    • 支持多种增值服务:
      • 如:文件服务(如共享文件存储)、打印服务(管理网络打印机)、通信服务(如电子邮件和即时消息)

2.4.5 分布式操作系统

  • 分布式计算机系统:是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主、次之分,任意两台计算机可以通过通信交换信息。
  • 分布式操作系统:用于管理分布式计算机系统的软件,直接对系统中的各类资源进行动态分配和调度、任务划分、信息传输协调工作,并为用户提供一个统一的界面与标准的接口
  • 分布式操作系统是网络操作系统的更高级形式,它保持网络系统所拥有的全部功能,同时又有透明性、可靠性和高性能等特性。

2.4.6 微型计算机操作系统

  • 简称微机操作系统,如 Windows、Mac OS、Linux

2.4.7 嵌入式操作系统

其主要特点:

  • 微型化

从性能和成本角度考虑,希望占用的资源和系统代码量少。

  • 可定制

从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用需要。

  • 实时性

其主要应用于过程控制、数据采集、传输通信、多媒体信息及关键要害领域需要迅速响应的场合,所以对实时性要求较高。

  • 可靠性

系统构件、模块和体系结构必须达到应有的可靠性,对关键要害应用还要提容错和防故障措施

  • 易移植性

为了提高系统的易移植性,通常采用硬件抽象层 (Hardware AbstractiorLevel,HAL)和板级支撑包 (Board Support Package,BSP)的底层设计技术。常见的嵌入式实时操作系统有 VxWorks、μ Clinux、PalmOS、WindowsCE、μC/OS-II和eCos 等

3. 数据库

  • 关系型数据库
    把复杂的数据结构归结为简单的二元关系,对数据的操作几乎全部建立在一个或多个关系表格上。
  • 键值数据库
  • 列存储数据库
  • 文档数据库
    • 使用文档作为数据的基本存储单元,这些文档可以是XML、JSON、BSON等格式
    • 每个文档都是自描述的,包含了其数据结构和元数据,无需预定义的模式
    • 文档之间彼此相似,但不必完全相同
  • 搜索引擎数据库

3.1 关系型数据库

  • 数据模型

    • 是数据特征的抽象,它是对数据库组织方式的一种模型化表示,是数据库系统的核心与基础
    • 三要素:数据结构、数据操作、完整性约束条件
  • 设计的特点

    • 从数据模型开始,并以此为核心展开
    • 静态结构设计与动态行为设计分离
    • 试探性
    • 反复性和多步性
  • 设计方法分类:直观设计法、规范设计法、计算机辅助设计法,自动化设计法

  • 常用的设计方法

    • 基于3NF 的设计方法
    • 基于实体联系 (E-R)模型的数据库设计法
    • 基于视图概念的数据库设计方法
    • 面向对象的关系数据库设计方法
    • 计算机辅助数据库计方法
    • 敏捷数据库设计方法
  • 设计的基本步骤

    • 需求分析阶段
    • 对现实世界要处理的对象进行详细调查,
    • 在了解现行系统的概况和确定新系统功能的情况下,收集支持系统目标的基础数据及处理方法
    • 数据库概念结构设计

    在需求分析的基础上,依照需求分析中的信息需求,对用户信息加以分类、聚集和概括,建立信息模型。
    E-R 模型的三步:

    • 设计局部 E-R 模型
    • 设计全局 E-R 模型
    • 全局 E-R 模型的优化
    • 逻辑结构设计
    • 在概念结构设计基础上进行的数据模型设计,可以是层次、网状模型和关系模型
    • 主要任务是确定数据模型,将E-R 图转换为指定的数据模型,确定完整性约束,确定用户视图。
    • 物理结构设计
    • 针对已确定的数据库逻辑结构,运用DBMS(数据库管理系统)提供的技术和方法,通过设计优化的存储结构、高效的数据存取路径、合理的数据存放位置以及智能的存储分配策略,构建出既高效又易于实现的数据库物理结构。

  • 数据库应用程序设计
    • 选择设计方法:结构化设计方法、面向对象设计方法两种

    • 制订开发计划

    • 选择系统架构

    • 设计安全性策略

      硬件平台、操作系统、数据库系统、网络及应用系统的安全

    • 数据库的正常运行和优化

  • 运行维护阶段
    • 数据库的转储和恢复
    • 数据库的安全性和完整性控制
    • 数据库性能的监督、分析和改造
    • 数据库的重组和重构

3.2 分布式数据库

  • 概念:满足分布性、逻辑相关性、场地透明性、场地自治性的数据库系统
  • 特点:数据的集中控制性、数据独立性、数据冗余可控性、场地自治性、存取的有效性

3.2.1 四层结构

  • 四层结构
    • 全局外层
    • 全局概念层
    • 局部概念层
    • 局部内层

  • 适用范围:同构型分布式数据库系统、异构型分布式数据库系统

3.2.2 分布式数据库的应用

其应用领域:分布式计算、Interet应用、数据仓库、数据复制、全球联网查询等

Sybase 公司的 Replication Server 即是一种典型的分布式数据库系统。

3.3 常用数据库管理系统

  • 小型关系数据库管理系统
    • MySQL(MySQL AB公司,2009 年被Oracle收购)
    • Access(Microsor 公司)
  • 大型关数据库管理系统
    • Oracle (Oracle公司)
    • SQL Server(Microsoft 公司 )
    • DB2 (IBM公司)

以下内容了解即可,官方产品工具不统计,工作中真用到“脸熟”就可以了

3.3.1 Oracle

  • 适用于大型、中型和微型计算机的关系数据库管理系统。
  • 结构:内部结构、外存储结构、内存储结构、进程结构
  • 官方工具产品:如逻辑备份工具 Export、Import 等。

3.3.2 IBM DB2

  • 它是IBM的一种分布式数据库解决方案,是一种大型关系型数据库平台
  • 官方工具: Visualizer、Visualage、Visualgen 等开发工具。

3.3.3 Sybase

  • Sybase 是美国SYBASE公司推出的C/S结构的关系数据库系统
  • 组成
    • Sybase SQLServer:进行数据库管理和维护的联机关系数据库管理系统
    • Sybase SOLToolset:支持数据库应用系统建立与开发的一组前端工具
    • Sybase OpenClient/OpenServer:作为中间件技术,实现了在异构环境下不同厂商应用软件与任何类型数据资源之间的无缝、高效连接
  • 官方工具
    • Sybase Adaptive Server Enterprise 高性能企业智能型关系数据库管理系统
    • EAServer 电子商务解决方案应用服务器
    • 系统分析设计工具PowerDesigner
    • 应用开发工具PowerBuilder。

3.3.4 SQL Server

  • 使用Transact-SOL语言完成数据操作
  • 基本服务器组件包括 Open Data Services、MS SQL Server、SQL Server Agent、MSDTC (Microsoft Distributed Transaction Coordinator)
  • 平台包括以下工具:关系型数据库、复制服务、通知服务、集成服务、分析服务、报表服务、管理工具和开发工具。

3.4 大型数据库管理系统的特点

  • 基于络环境的数据库管理系统

C/S或B/S皆可

  • 支持大模的应用
  • 提供的自动功能,使得并发用户可以安全而高效地访问数据。
  • 可以保证系统的高度全性。
  • 提供方便而灵活的数据份和恢复方法及设备镜像功能

还可以利用操作系统提供容错功能,确保设计良好的应用中的数据在发生意外的情况下可以最大限度地被恢复。

  • 提供多种维护数据整性的手段
  • 提供了方便用的分布式处理功能

4. 文件系统

4.1 文件

  • 概念
    • 文件是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。
    • 它是一种抽象机制,它隐藏了硬件和实现细节,提供了将信息保存在外存上便于以后读取的手段
  • 组成
    • 文件体:文件真实的内容
    • 文件说明:操作系统为了管理文件所用到的信息
      • 包括:文件名、文件内部标识、文件类型、文件存储地址、文件长度、访问权限、建立时间、访问时间等

4.2 文件系统

  • 概念:是操作系统中实现文件统一管理的一组软件和相关数据的集合
  • 功能:
    • 按名存取:不是“按地址存取”
    • 统一的用户接口:在不同设备上提供同样的接口,方便用户操作和编程
    • 并发访问和控制
    • 安全性控制,在多用户系统中的不同用户对同一文件可有不同的访问权限
    • 优化性能:存储效率、检索和读/写性能
    • 差错恢复:能够验证文件的正确性,并具有一定的差错恢复能力

4.3 文件的类型

  • 各种分类方法

    • 按性质和用途分:系统文件、库文件、用户文件
    • 按信息保存期限分:临时文件、档案文件、永久文件
    • 文件的保护方式分:只读文件、读/写文件、可执行文件、不保护文件
  • UNIX 系统:将文件分为普通文件、目录文件、设备文件 (特殊文件)

  • 目前常用的文件系统

    教材原文 “类型有FAT、VFAT、NTFS、Ext2和HPFS等”,都2023年了,有些类型都绝种了,不知道官方目的何在。

    • NTFS(New Technology File System):是 Windows 操作系统中常用的文件系统,支持大文件、安全性、数据压缩等高级功能。
    • FAT32(File Allocation Table 32):是 FAT 文件系统的扩展,它支持更大的分区大小(最大 2TB)和更大的文件大小(最大 4GB)
    • ExFAT(Extended File Allocation Table):是 FAT32 文件系统的扩展,支持更大的文件和更大的存储设备
    • Ext4(Fourth Extended File System):是 Linux 操作系统中常用的文件系统,支持大文件、数据加密等功能
    • HFS+(Hierarchical File System Plus):是 Mac OS X 操作系统中常用的文件系统,支持文件加密、数据压缩等功能
    • ZFS(Zettabyte File System):是一种先进的文件系统,支持数据冗余、数据一致性校验等功能,适用于大规模数据存储
  • 文件分类的目:是对不同文件进行管理,提高系统效率,提高用户界面友好性

4.4 文件的结构和组织

文件的结构是指文件的组织形式。从用户角度看到的文件组织形式称为文件的逻辑结构。文件系统的用户只要知道所需文件的文件名就可以存取文件中的信息,而无须知道这些文件务竟存放在什么地方。从实现的角度看,文件在文件存储器上的存放方式称为文件的物理结构。

4.4.1 文件的逻辑结构

文件的逻辑结构可分为两大类:

  • 有结构的记录式文件:由一个以上的记录构成的文件

所有的记录通常都是描述一个实体集的,有着相同或不同数目的数据项

  • 无结构的流式文件:它是由一串顺序字符流构成的文件(文件体为字节流,不划分记录)

通常采用顺序访问方式,并且每次读/写访问可以指定任意数据长度(长度以字节为单位),利用读/写指针指出下一个要访问的字符

4.4.2 文件的物理结构

文件的逻辑块号到物理块号的转换也是由文件的物理结构决定的,常见的文件物理结构如下:

  • 连续结构(顺序结构)

将逻辑上连续的文件信息(如记录)依次存放在连续编号的物理块上。只要知道文件的起始物理块号和文件的长度,就可以很方便地进行文件的存取。

  • 链接结构(串联结构)

它是将逻辑上连续的文件信息存放在不连续的物理块上,每个物理块设有一个指针指向下一个物理块。

  • 索引结构

将逻辑上连续的文件信息存放在不连续的物理块中,系统为每个文件建立一张索引表。索引表记录了文件信息所在的逻辑块号对应的物理块号,并将索引表的起始地址放在与文件对应的文件目录项中。

  • 多个物理块的索引表

索引表是在文件创建时由系统自动建立的,并与文件一起存放在同一文件卷上。根据一个文件大小的不同,其索引表占用物理块的个数不等,一般占一个或几个物理块。多个物理块的索引表可以有两种组织方式:链接文件和多重索引方式。

4.5 文件的存取方法

  • 概念:指读/写文件存储器上的一个物理块的方法
  • 顺序存取方法:对文件中的信息按顺序依次进行读/写
  • 随机存取方法:对文件中的信息可以按任意的次序随机地读/写

4.6 文件存储空间的管理

  • 磁盘分配表 (Disk Allocation Table):外存空闲空间管理的数据结构
  • 空闲区:外存空间上的一个连续的未分配区域
  • 常用的空闲空间管理方法有空闲区表、位示图和空闲块链 3 种:

4.6.1 空闲区表

  • 实现过程:

    • 操作系统为磁盘外存上的所有空闲区建立一张空闲表,每个表项对应一个空闲区
    • 空闲表中包含序号、空闲区的第1块号、空闲块的块数、状态等信息
  • 使用范围:连续文件结构

4.6.2 位示图

  • 适用范围:各种物理结构
  • 实现过程
    • 在外存上建立一张位示图 (Bitmap)来记录文件存储器的使用情况。
    • 每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。

示例:某文件存储器上位示图的大小为n,物理块依次编号为0,1,2,…。假如计算机系统中字长为32位,那么在位示图中的第0个字(逻辑编号)对应文件存储器上的0,1,2,···,31 号物理块;第1个字对应文件存储器上的32,33,34,···,63 号物理块,依此类推,如图所示:

4.6.3 空闲块链

  • 实现过程

    • 每个空闲物理块中有指向下一个空闲物理块的指针,所有空闲物理块构一个链表,链表的头指针放在文件存储器的特定位置上(如管理块中)
    • 每次申请空闲物理块只需根据链表的头指针取出第1个空闲物理块,根据第一个空物理块的指针可找到第2个空闲物理块,依此类推。
  • 优点:不需要磁盘分配表,省空间。

4.6.4 成组链接法

  • 使用范围:UNIX 系统
  • 实现过程:系统将空闲块分成若干组,如每100个空闲块为一组,每组的第1个空闲块登记了下一组空闲块的物理盘块号和空闲块总数。假如某个组的第1个空闲块号等于0,意味着该组是最后一组,无下一组空闲块。

4.5 文件共享和保护

4.5.1 文件的共享

  • 采用文件名和文件说明分离的目录结构有利于实现文件共享
  • 文件链接方式
    • 硬链接(基于索引结点的链接)
      • 概念:两个文件目录表目指向同一个索引结点的链接(即不同文件名与同一个文件实体的链接)
      • 缺点:删除共享文件时,硬链接的目录表目指针悬空
    • 符号链接
      • 概念:建立新的文件或目录,并与原来文件或目录的路径名进行映射
      • 优点:可以跨文件系统、跨主机

4.5.2 文件的保护

文件的存取控制,规定不同的用户对文件的访问有不同的权限,常用方法如下:

  • 存取控制矩阵:它是一个二维矩阵,一维列出计算机的全部用户,另一维列出系统中的全部文件,矩阵中的每个元素表示用户对该文件权限(通常为R、W、X的组合)
  • 存取控制表
    • UNIX系统使用该方法
    • 由于存取控制矩阵过大,因此将用户分为主、组、其他三类,对每类用户的权限分别进行R、W、X的组合控制
  • 用户权限表:以用户或用户组为单位将用户可存取的文件集中起来存入表中
  • 用密码控制

5. 网络协议

  • 概念:指网络中的计算机与计算机进行通信时,为了能够实现数据的正常发送与接收必须要遵循的一些事先约定好的规则(标准或约定),在这些规程中明确规定了通信时的数据格式、数据传送时序以及相应的控制信息和应答信号等内容。
  • 常用的网络协议:局域网协议(LAN)、广域网协议(WAN)、无线网协议、移动网协议、TCP/IP协议簇等

6. 中间件

6.1 概述

  • 位置:处在操作系统、网络和数据库之上,应用软件的下层
  • 作用:他是应用软件与各种操作系统之间使用的标准化编程接口和协议,使应用软件的开发相对独立于计算机硬件和操作系统,并能在不同的系统上运行,实现相同的应用功能。

6.1 中间件分类

  • 通信处理(消息)中间件

在分布式系统中,人们要建网和制定出通信协议,以保证系统能在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,这类中间件称为消息中间件。如BEA的eLink、IBM的MQSeries、TongLINK等

  • 事务处理(交易)中间件

在分布式事务处理系统中,要使大量事务在多台应用服务器上能实时并发运行,并进行负载平衡的调度,实现与昂贵的可靠性机和大型计算机系统的同等功能,要求中间件系统具有监视和调度整个系统的功能。如 BEA 的 Tuxedo

  • 数据存取管理中间件
  • Web服务器中间件

浏览器图形用户界面已成为公认规范,然而它的会话能力差,不擅长做数据的写入任务,受HTTP协议的限制多等,就必须对其进行修改和扩充,因此出现了Web服务器中间件,如 SilverStream 公司的产品。

  • 安全中间件
  • 跨平台和架构的中间件

当前开发大型应用软件通常采用基于架构和构件技术,在分布式系统中,还需要集成各结点上的不同系统平台上的构件或新老版本的构件,由此产生了架构中间件。功能最强的是 CORBA,可以跨任意平台,但是其过于庞大;JavaBeans较灵活简单,很适合用于浏览器,但运行效率有待改善;COM+模型主要适合Windows平台,已在桌面系统广泛使用。由于国内新建系统多基于UNIX(包括Linux)和Windows,因此,针对这两个平台建立相应的中间件市场相对要大得多。

  • 专用平台中间件

为特定应用领域设计领域参考模式,建立相应架构,配置相应的构件库和中间件.

  • 网络中间件

包括网管、接入、网络测试、虚拟社区和虚拟缓冲等。

6.2 中间件产品介绍

6.2.1 IBM MQSeries

  • 是一个消息处理中间件

它提供一个具有工业标准、安全、可靠的消息传输系统,它用于控制和管理一个集成的系统,使得组成这个系统的多个分支应用(模块)之间通过传递消息完成整个工作流程。

  • 组成:由一个信息传输系统和一个应用程序接口组成,其资源是消息和队列。
  • 可靠性:
    • 异步消息处理技术

    保证故障或“忙”时系统之间的信息不会丢失或阻塞。这样的可靠性是非常关键 的,否则大量的金钱和客户信誉就会面临极大的损害。

    • 灵活的应用程序通信方案

6.3 BEA Tuxedo

  • 是电子商务交易平台,属于交易中间件
  • 它允许客户机和服务器参与一个涉及多个数据库协调更新的交易,并能够确保数据的完整性。
  • 功能特色:能够保证对电子商务应用系统的不间断访问
    • 对系统构件持续的监视、故障构件排除以及必要的恢复
    • 根据系统的负载指示,自动开启和关闭应用服务
    • 提供负责均衡

7. 软件构件(组件)

构件是一个程序集,或者说是一组程序的集合,并向外提供统一的访问接口。
两个最重要的特性是自包容与可重用。

7.1 软件构件的组装模型

  • 构件组装的一般开发过程

    • 设计构件组装
    • 建立构件库
    • 构建应用软件
    • 测试与发布
  • 优点

    • 构件的自包容性让系统的扩展变得更加容易
    • 设计良好的构件更容易被重用,降低软件开发成本
    • 构件的粒度较整个系统更小,因此安排开发任务更加灵活,可并行地独立开发构件
  • 缺点

    • 对构件的设计需要经验丰富的架构设计师
    • 在考虑软件的重用度时,往往会对其他方面做出让步(如性能)
    • 使用构件组装应用程序时,要求程序员能熟练地掌握构件,增加了研发人员的学习成本
    • 第三方构件库的质量难以控制

7.2 商用构件的标准规范

说实话,2022年11月的教材,为什么是这么老的技术,实在很吃惊。

当前,主流的商用构件标准规范包括对象管理组织(Object Management Group,OMG)的 CORBA、Sun 的 J2EE 和 Microsoft的DNA.

7.2.1 CORBA

  • 概念

    • 全称:公共对象请求代理架构(CommonObject Request Broker Architecture)
    • 组织:对象管理组织(Object Management Group,OMG)
  • 3个层次

    • 对象请求代理(Object Request Broker,ORB):
      • 最底层
      • 规定了分布对象的定义(接口)和语言映射,实现对象间的通信和互操作,是分布对象系统中的“软总线”
    • 公共对象服务:在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务
    • 公共设施:最上层的公共设施则定义了构件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。
  • CCM (CORBA Component Model)

    • 用于开发和配置分布式应用的服务器端构件模型规范
    • 括如下3项内容。
      • 抽象构件模型:用以描述服务器端构件结构及构件间互操作的结构
      • 构件容器结构:用以提供通用的构件运行和管理环境,并支持对安全、事务、持久状态等系统服务的集成。
      • 构件的配置和打包规范

7.2.2 J2EE

  • 概念:是 Sun Microsystems 公司于 1999 年推出的一种基于 Java 技术的企业级应用开发平台。它提供了一组标准化的 API 和框架,用于开发和部署企业级应用程序。
  • 分布式互操作协议支持
    • 远程方法调用(RemoteMethod Invocation,RMI)
    • 互联网内部对象请求代理协议(Internet Inter-ORB Protocol,IIOP)
  • 服务器端分布式应用的构造形式:
    • Java Servlet:是运行在 Web 服务器上的 Java 程序,用于处理客户端请求并生成动态网页内容。
    • JSP (Java Server Pages):JSP 是一种基于 Servlet 的技术,用于创建动态网页。它允许开发人员将 Java 代码嵌入到 HTML 页面中,以便在服务器端生成动态内容。JSP 页面被编译成 Servlet 并在服务器上运行。
    • EJB:
      • 概念:给出了系统的服务器端分布构件规范,这包括了构件、构件容器的接口规范以及构件打包、构件配置等的标准规范内容。EJB技术的推出,使得用Java基于构件方法开发服务器端分布式应用成为可能。
      • 三种类型的组件:会话 Bean、实体 Bean、消息驱动 Bean。

从企业应用多层结构的角度,EJB是业务逻辑层的中间件技术。与JavaBeans不同,它提供了事务处理的能力,自从三层结构提出以后,中间层(也就是业务辑层)是处理事务的核心,从数据存储层分离,取代了存储层的大部分地位。从Internet技术应用的角度,EJB、Servlet和JSP一起成为新一代应用服务器的技术标准。EJB中的Bean可以分为会话Bean和实体Bean, 前者维护会话,后者处理事务,通常由Servlet负责与客户端通信,访问 EJB,并把结果通过JSP产生页面传回客户端。

7.2.3 DNA 2000

Microsoft DNA2000是 Microsoft在推出Windows2000系列操作系统平台的基础上,在扩展了分布计算模型以及改造BackOffice系列服务器端分布计算产品后发布的新的分布计算架构和规范。
在服务器端,DNA2000提供了 ASP、COM、Cluster等的应用支持。
DNA2000融合了当今最先进的分布计算理论和思想,如事务处理、可伸缩性、异步消息队列和集群等内容。

  • 作用

    • 可以开发基于 Microsoft平台的服务器构件应用
    • 底层提供数据库事务服务、异步通信服务和安全服务等
  • DCOM/COM/COM+技术:DNA 2000分布计算结构基础上的分布构件应用模型

    • COM
      • 构件对象模型(Component Object Model,COM)
      • 提供了一种标准化的方式来创建可重用的软件组件
    • DCOM
      • 分布式构件对象模型(DistributedComponent Object Model)
      • 是 COM 技术的扩展,它允许组件在不同的计算机上运行,并通过网络进行通信。DCOM 提供了一种标准化的方式来创建和使用分布式对象,从而实现分布式计算。
    • COM+: COM 技术的扩展,它提供了更多的功能。如:负载均衡、内存数据库、对象池、构件管理与配置等

本文标签: 计算机系统基础知识架构设计师教程