先大概介绍下COM和EJB。EJB参考文章《EJB及其三类构件(Bean)简介》。COM标准是客户与构件进行互操作而遵循的标准,源于微软的OLE。COM标准包括COM规范和COM实现两部分:
1,COM规范:定义了构件之间的通信机制,不依赖特定的语言和操作系统;
2,COM实现:COM支持库,为具体实现提供一些核心服务。
两者相同之处:
1,基本形态相同:可以独立封装、动态加载
2,在运行过程支持接口
3,都对构件进行生命周期管理
4,构件的运行环境包括众多的公共服务
两者区别:
1,基础不同
EJB规范吸收的是现有技术的解决方法,基本上不考虑对现有技术实现的兼容
规范的系统性好
COM由于需要兼容不同的现有技术实现,实现细节很具体
规范的系统性不足
2,支持环境的实现不同
EJB的支持环境运行于操作系统之上,体现了一种大粒度的模块化思想
COM的支持环境与操作系统密切相关,COM的支持环境是操作系统的一部分
3,支持的语言不同
EJB仅支持Java语言
COM支持C、C++、Basic等
4,构件交互模式不同
交互的协议、合约、标识方式皆不同
5,构件生命周期的实现方式不同




