软件构件与中间件
中间件的基本概念
中间件的动因
面临的原因:
1、软件正变得无处不在,同时软件所面临的挑战也正在 日益加剧
· 复杂度高
· 开发周期长
· 可靠性保证难
2、分布式软件面临更大的挑战
· 网络环境具有明显的分布性、开放性、演化性、异构性、并 发性等
· 分布式软件必须解决互操作、数据交换、分布性、可行性等 问题
问题本质:
1、人们控制复杂性的能力相对稳定,但面临的问题却越来越多
2、解决思路
1、抽取软件的共性成分
2、屏蔽系统低层的复杂度
3、在高层保持复杂度的相对稳定
·
3、往往导致新型系统软件的产生
4、操作系统的产生
· 计算机系统的初始组成:硬件+程序
· 应用程序直接控制硬件的各种运行细节
· 大量的代码用于管理各种物理器件
·程序的共性(稳定)成分:计算机资源管理
`产生了:分离出了:应用程操作系统
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200302224817760.png)
5、数据库管理系统(DBMS)的产生
1、初始状态:硬件+操作系统+应用程序
· 数据和程序一样以简单文件的方式存储
· 需要了解数据的具体组织格式,解决完整性等问题
2、程序的共性(稳定)成分:数据管理
· 产生了:数据库管理系统
· 分离出了:应用软件
6、中间件的产生
· 与操作系统、数据库管理系统类似
· 中间件是在操作系统(数据库管理系统)与应用系统之间的 一层软件
· 通常为分布式应用、Web应用等的开发、部署、运行与管 理提供支持
中间件提供的支撑
中间件的概念:
在操作系统与应用系统之间的一层软件,为分布式应用的开发、部署、运行与管理提供支持
1、数据访问中间件
· 为了建立数据应用资源互操作的模式
· 对异构环境下的数据库实现联接或文件系统实现联接的中间件
2、 远程过程调用中间件
· 程序员方便地编写客户端应用程序
· 调用位于远端服务器上的过程
3、 消息中间件
· 用来屏蔽各种平台及协议之间的特性
· 进行相互(异步)通信
· 实现应用程序之间的协同
4、事务(交易)中间件
· 在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台
5、构件中间件
· 在分布、异构的网络计算环境中将各种分布对象有机地结合在一起 完成系统的快速集成 ,实现对象重用
支撑
1、提供构件运行环境
2、提供互操作机制
(高层通信协议)
1、远程过程调用(RPC)
2、IIOP(Internet Inter-ORB Protocol)
3、DCOM通信协议
4、JRMP
5、RMI(Remote Method Invocation)
重点:Stub/skeleton结构
3、提供公共服务(系统级服务)
互操作的基本原理与实例
互操作层次
· 中间层应用构件与数据库
· 客户层构件与中间层应用构件
· 中间层应用构件与公共服务构件
· 中间层应用构件之间的互操作
体系结构 ----- 三层结构
系统结构----互操作
实践是检验真理的唯一标准:构件与中间件技术<实验一>