第0篇
0.3.1 面向对象中间件层
1、常见面向对象中间件体系结构:
1)主机基础设施中间件:对并发和ipc机制封装,如JavaPackage、ACE
2)分布式中间件:扩充1),使一些网络编程任务(连接管理和内存管理、整编、解编、端点和请求的多路分离)自动化,即只需向目标对象请求操作,不关心目标的位置、语言、OS、硬件,核心是ORB(Object Request Broker),如COM+、Java RMI、CORBA,主要是管理支持“面向对象”分布式编程模型的终端系统资源,
3)公共中间件服务:扩展2),定义了更高层次、独立于特定领域的服务,如事件通知、日志记录、持久性安全且可恢复的事务,是对整个分布式系统中的各种资源进行分配、调度和协调
4)特定领域中间件服务:满足特定领域(如电信、电子商务、医疗保健、过程自动化、航空电子)的特定需求,面向“纵向市场”(其他中间件层提供的是广泛复用、横向的机制和服务)
0.4 ACE工具包
1、 ACE软件包基础:
1)ACE OS Adaptation层:封装了原始的基于C的OS API,提供统一的OS接口
2)ACE C++ Wrapper Facade层:在类型安全的面向对象接口中封装了一些C++类,而不再是独立的C函数
3)ACE framework层:集成、扩充2),运用高级的并发和网络编程模式,具体化ACE中多组相关类之间的标准控制流程和合作,获得更大范围的软件可复用性
a)事件多路分离和分发框架:Reactor和Proactor框架,自动处理和应用相关的处理程序的多路分离和分发,以相应各种基于I/O、计时器、信号、同步的事件
b)连接建立和服务初始化框架,Acceptor-Connertor框架,将主动和被动初始化角色,和初始化结束后通信对等服务所执行的应用处理,分离开来
c)并发框架:Task框架,实现主要的并发模式(Active Object、Half-Sync/Half-Async),将方法的执行/请求、同步/异步处理分离开来