笔记.第3章.软件构件与中间件.信息系统项目管理师.考试辅导教程.第3版

上篇

第3章 软件构件与中间件

本章要点:

  1. 构件及其在信息项目中的重要性
  2. 常用构件标准(COM/DCOM/COM+、CORBA 和 EJB)
  3. 软件中间件

3.1 构件模型及实现

构件是具有一定的功能,能够独立工作或能同其他构件装配起来协调工作的程序体,构件的使用同它的开发、生产无关。

构件是对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个构件隐藏了具体的实现,只用接口对外提供服务。

构件模型(Model)是对构件本质特征的抽象描述。

模型因目标和作用各不相同而分为:

  • 参考模型
  • 描述模型
  • 实现模型

模型的三个主要流派:

  • OMG 的 CORBA

通用对象请求代理结构,CORBA,Common Object Request Broker Architecture

  • Sun 的 EJB

EJB,Enterprise Java Bean

  • Microsoft 的 DCOM

分布式构件对象模型,DCOM,Distributed Component Object Model

构件模型组成(以青鸟构件模型为例):

1. 外部接口

构件的外部接口是指构件向其重用者提供的基本信息,是构件与外部世界的一组交互点。

基本信息包括:

  • 构件名称
  • 功能描述
  • 对外功能接口
  • 所需的构件
  • 参数化属性

2. 内部结构

构件的内部结构包括两方面内容:

  • 内部成员(具体成员,虚拟成员)
  • 内部成员之间的关系(内部成员之间的互联,内部成员与外部接口之间的互联)

3.2 常用构件标准

构件标准三大流派:

  • COM/DCOM/COM+
  • CORBA
  • EJB

3.2.1 EJB 基础知识

EJB 是用于开发和部署多层结构的、分布式的、面向对象的 Java 应用系统的跨平台的构建体系结构。

EJB 的三种类型:

  • 会话(Session)Bean
    一个 SB 描述了与客户端的一个短暂会话,执行完成数据消失。
  • 实体(Entity)Bean
    描述了存储在数据库的表中的持久数据。
  • 消息驱动(Message-driven)Bean
    结合了一个 SB 和一个 JSM(Java 信息服务) 信息监听者的功能。

3.2.2 COM/DCOM/COM+ 基础知识

在 COM 构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。

DCOM 特性:

  • 位置独立性
    构件的位置完全透明,无论位于客户的同一进程中或是地球的另一端。
  • 语言无关性
    任何语言都可以用来创建 COM 组件。

COM+ 把 COM 组件软件提升到应用层而不再是底层的软件结构,通过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统。

3.2.3 CORBA 基础知识

CORBA 的主要目标是提供一种机制,使得对象可以透明地发出请求和获得应答,从而建立起一个异质的分布式应用环境。

CORBA 技术规范的主要内容:

  • IDL

接口定义语言,IDL,Interface Definition Language
IDL 是 CORBA 规范定义的一种中性语言,它用来描述对象的接口,而不涉及对象的具体实现。

  • IR

接口池,Interface Repository,IR
包括分布计算环境中所有可用的服务器对象的接口表示。

  • DII

动态调用接口,Dynamic Invocation Interface,DII
提供了一些标准函数以供客户对象动态创建请求、动态构造请求参数。

  • OA

对象适配器,Object Adapter,OA
用于屏蔽 ORB 内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们使用 ORB 内部的某些功能。

对象请求代理,Object Request Broker,ORB

3.3 中间件技术

中间件用自己的复杂换取了企业应用的简单。

3.3.1 中间件的定义

  • objectweb.org 的定义:
    在一个分布式系统环境中处于操作系统和应用程序之间的软件。

  • IDG 的定义:
    中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

3.3.2 中间件的功能

中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。

3.3.3 中间件的分类

按层次划分:

  • 底层中间件
    主流技术有 JVM, CLR, ACE, JDBC, ODBC
  • 通用型中间件
    主流技术有 CORBA, J2EE, MOM, COM
  • 集成型中间件
    主流技术有 WorkFlow, EAI

中间件细化:

  • 通信处理(消息)中间件
  • 事务处理(交易)中间件
  • 数据存储管理中间件
  • Web 服务中间件
  • 安全中间件
  • 跨平台和构架的中间件
  • 专用平台中间件
  • 其他中间件
    如数据流中间件、门户中间件、银行及电信专用中间件等。

3.3.4 中间件技术在集成中的应用

使用者 集成需求 技术与产品
业务设计人员 业务流程 业务流程,工作流
IT 技术人员 组件/服务 EJB, CCM, COM
基础架构人员 消息/传输 MQSeries, TIBCO, JMS/NET, CORBA, JAVA, RMI

3.3.5 中间件的发展趋势

  1. 规范化
  2. 构件化和松耦合
  3. 平台化

你可能感兴趣的:(笔记.第3章.软件构件与中间件.信息系统项目管理师.考试辅导教程.第3版)