笔记.第3章.软件构件与中间件.信息系统项目管理师.考试辅导教程
上篇
第3章 软件构件与中间件
本章要点:
- 构件及其在信息项目中的重要性
- 常用构件标准(COM/DCOM/COM+、CORBA 和 EJB)
- 软件中间件
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 中间件的发展趋势
- 规范化
- 构件化和松耦合
- 平台化