Logo

郎哥编程

常用构件标准(COM/DCOM/COM+、CORBA和EJB)

2016-02-24 21

目前国际上,分布式对象技术有三大流派——COBRA、COM/DCOM和Java。

1、COM/DCOM/COM+

    从 COM(Component Object Model) 时代到 DCOM(Distributed COM) ,微软扮演了一个推动者的角色。如果说 COM 提供了一个 Windows 平台上的对象通讯技术,并且逐渐成为应用程序之间彼此通讯及互动的技术主流,那么 DCOM 则是解决了计算机的通信和互动技术。 
    COM 的着眼点是在于同一台计算机上不同应用程序之间的通讯需求,跨到另外一台计算机之外,就不是一开始 COM 所设想到的领域。所幸跨程序的通讯和跨计算机的通讯差异仅在于通讯协议的处理 ( 也就是定位问题 ) ,对于数据交换上型别差异的处理并不会因此而有区别。所以要让 COM 的环境能更进一步延伸到跨计算机的领域,只要妥善解决计算机定位的需求,就有机会克服。同样幸运的是, COM 在一开始的设计中完全不去碰触跨计算机的问题,使得要在 COM 的架构之上再架上一层跨计算机的处理环境并不会去破坏到原本的架构。于是 COM 的网络延伸版本DCOM(Distributed COM) 就此出现,负责让 COM 组件可以在网络环境下持续提供服务。 DCOM 最主要处理的是两个议题,第一个议题是网络通讯能力,第二个议题则是权限的问题。之前 COM 是在同一台计算机中找特定的组件,而 DCOM 则要更进一步去找网络上的某台计算机,之后沿用 COM 的机制找到计算机上的组件。

    COM+倡导一种新的设计概念,把COM组件提升到应用层,把底层细节留给操作系统,使COM+与操作系统的结合更加紧密。COM+的底层结构仍然以COM为基础,但在应用方式上则更多地继承了MTS(Microsoft Transaction Server)的处理机制,包括MTS的对象环境、安全模型、配置管理等。COM+把COM、DCOM和MTS三者有机地统一起来,同时也新增了一些服务,如负载平衡、内存数据库、事件模型、队列服务等,形成一个概念新、功能强的组件体系结构,使得COM+形成真正适合于企业应用的组件技术。

12.png

图:COM+构件

2、CORBA

    CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程 序体系规范。或者说 CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案;OMG组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。

CORBA允许应用之间相互通信,而不管它们存在于哪里以及是谁设计的。CORBA1.1于1991年由OMG发布,其中定义了接口定义语言(IDL)以及在对象请求代理(ORB)中实现客户对象与服务器对象之间交互的应用编程接口(API)。CORBA2.0于1994年发布,规定了各个供应商之间的ORB的通信规则。 
  CORBA标准主要分为三个部分:接口定义语言(IDL)、对象请求代理(ORB)以及ORB之间的互操作协议IIOP。 
  ORB是对象之间建立Client/Server关系的中间件。使用ORB,客户可以透明地调用一个服务对象上的方法,这个服务对象可以在本地,也可以在通过网络连接的其他机器上。ORB截获这一调用同时负责查找实现服务的对象并向其传递参数、调用方法返回最终结果。客户并不知道服务对象位于什么地方,它的编程语言和操作系统是什么,也不知道不属于对象接口的其他系统部分。这样,ORB在异构分布环境下为不同机器上的应用提供了互操作性,并无缝地集成了多种对象系统。

00a.jpg

图:客户、服务的执行对象与0RB接口间的关系图

3、EJB

   EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。

12.png

图:J2EE体系结构图

    EJB是J2EE中最核心的技术之一,是一种服务器端组件的体系结构。它封装了应用程序中的事务逻辑,允许进程建立分布式对象,简化企业级程序的开发。EJB的提出为EJB组件在何时如何与它们的容器进行交互作用做出了规范。下面我们就来了解一下EJB的体系结构到底是怎样的。

    EJB的体系结构主要由四部分组成。他们分别是EJB组件,不可见的EJB对象,定义客户访问以及EJB容器职责。这四部分分别对各自内容进行了规范。如下图所示:

12.png

图:EJB体系结构

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论