vault backup: 2026-04-13 09:36:51
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# 中间件
|
||||
|
||||
中间件处于操作系统、网络和数据库之上,网络、数据库应用软件下层
|
||||
|
||||
按照中间件在分布式系统中承担的职责不同,可以划分为
|
||||
**通信处理**(消息)中间件:建网和制定出通信协议,以保证系统能在不同平台之间通信,实现分布式系统中可靠、高效、实时的跨平台数据传输
|
||||
**事务处理**(交易)中间件:大量事务在多台应用服务器上能实时并发运行,并进行负载平衡的调度,实现与昂贵的可靠性和大型计算机系统的同等功能
|
||||
**数据存取**管理中间件:为在网络上虚拟缓冲存取、格式转换、解压等带来方便
|
||||
Web服务中间件:有负载均衡、缓存、安全性等功能
|
||||
安全中间件:加密、认证等
|
||||
跨平台和构架的中间件:解决跨平台问题,如CORBA
|
||||
专用平台中间件:为特定应用领域设计参考模式、建立相应构架
|
||||
网络中间件:包括网管、接入、网络测试、虚拟社区和虚拟缓冲等
|
||||
|
||||
# 软件构件
|
||||
|
||||
构件又称为组件,是一个==自包容、可复用(最重要的属性)== 的程序集。构件是一个程序集或者说是一组程序的集合
|
||||
这个集合可能会以各种方式体现出来,如源程序或二进制的代码。
|
||||
这个集合整体向外提供统一的访问接口,构件外部只能通过接口来访问构件,而不能直接操作构件内部。
|
||||
|
||||
构件是独立的、自包容的,因此构架的开发也是独立的,构件之间通过接口相互协作。
|
||||
![[构件设计过程.png|697]]
|
||||
**构件组装模型的优点如下:**
|
||||
构件的自包容性让系统的扩展变得更加容易;
|
||||
设计良好的构件更容易被重用,降低软件开发成本;
|
||||
构建的粒度较整个系统更小,因此安排开发任务更加灵活,可以将开发团队分成若干组,并行地独立开发构件
|
||||
**构件组装模型的缺点如下:**
|
||||
对构件的设计需要经验丰富的架构设计师,设计不良的构件难以实现构件的优点,降低构件组装模型的重用度;
|
||||
在考虑软件的重用度时,往往会对其他方面做出让步,如性能等;
|
||||
使用构件组装应用程序时,要求程序员能熟练地掌握构件,增加了研发人员的学习成本;
|
||||
第三方构件库的质量会最终影响软件的质量,而第三方构件库的质量往往是开发团队难以控制的
|
||||
|
||||
**常见的构件标准**
|
||||
主流的商用构件标准规范包括
|
||||
对象管理组织(Object Management Group,OMG)的CORBA、Sun的J2EE、Microsoft的DNA
|
||||
|
||||
**CORBA**(Common Object Request Broker Architecture)
|
||||
主要分为三个层次:对象请求代理、公共对象服务和公共设施
|
||||
- 最底层的对象请求代理(Object Request Broker,ORB)规定了分布对象的定义(接口)和语言映射,实现对象间的通信和互操作,是分布对象系统中的软总线
|
||||
- 在ORB之上定义了很多公共服务,可以提供注入并发服务、名称服务、事务(交易)服务、安全服务等各种各样的服务
|
||||
- 最上层的公共设施定义了构件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则
|
||||
![[请求流.png]]
|
||||
- 伺服对象(Servant):CORBA对象的真正实现,负责完成客户端请求。
|
||||
- 对象适配器(Object Adapter):用于屏蔽ORB内核的实现细节,为服务器对象的实现者提供抽象的接口,以便他们使用ORB内部的某些功能。
|
||||
- 对象请求代理(Object Request Broker):解释调用并负责查找实现该请求的对象,将参数传给找到的对象,并调用方法返回结果。客户不需要了解服务对象的位置、通信方式、实现、激活或存储机制。
|
||||
- POA是对象实现与ORB其他组件之间的中介,它将客户请求传送到伺服对象,按需创建子POA,提供管理伺服对象的策略。
|
||||
Reference in New Issue
Block a user