(2)EJB EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序。凭借Java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。 EJB又可分为会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。 Session Bean用于实现业务逻辑,它可以是有状态的,也可以是无状态的。每当客户端请求时,容器就会选择一个Session Bean来为客户端服务。Session Bean可以直接访问数据库,但更多时候,它会通过Entity Bean实现数据访问。 Entity Bean是域模型对象,用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个Entity Bean对象相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步。 MessageDriven Bean是EJB2.0中引入的新的企业Bean,它基于JMS(Java Message Service,Java消息服务)消息,只能接收客户端发送的JMS消息然后处理。MDB(MessageDriven Bean,消息驱动Bean)实际上是一个异步的无状态Session Bean,客户端调用MDB后无需等待,立刻返回,MDB将异步处理客户请求。这适合于需要异步处理请求的场合,比如订单处理,这样就能避免客户端长时间 的等待一个方法调用直到返回结果。 DCOM是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象。Microsoft的DCOM 扩展了COM(Component Object Model,组件对象模型技术),使其能够支持在局域网、广域网甚至Internet上不同计算机的对象之间的通讯。使用DCOM,你的应用程序就可以在 位置上达到分布性,从而满足你的客户和应用的需求。 (3)COM/DCOM/COM+ Microsoft的COM定义了构件和它们的客户 之间互相作用的方式,使得构件和客户端无需任何中介构件就能相互联系。DCOM扩展了COM,使其能够支持在局域网、广域网甚至Internet上不同计 算机的对象之间的通信。使用DCOM,应用系统就可以在位置上达到分布性,从而满足客户和应用的需求。因为DCOM是COM的无缝扩展,所以可以将基于 COM的应用、构件、工具和知识转移到标准化的分布式计算领域中。在做分布式计算时,DCOM处理网络协议的低层次的细节问题,从而使开发人员能够集中精 力解决用户所要求的问题。DCOM具有语言无关性,任何语言都可以用来创建
COM构件。 DCOM具有位置独立性,也就是说,DCOM使得构件的位 置对用户来说完全透明,用户无需知道构件的具体位置,无论构件是位于客户的同一个进程中,还是位于地球的另一端。在任何情况下,客户连接和调用构件的方法 都是一样的。DCOM不仅无需改变源码,而且无需重新编译程序。仅仅使用一个简单的再配置动作,就可以改变构件之间相互连接的方式。 COM+并不 是COM的新版本,我们可以把它理解为COM的新发展,或者为COM更高层次上的应用。COM+的底层结构仍然以COM为基础,它几乎包容了COM的所有 内容。COM+倡导了一种新的概念,它把COM组件软件提升到应用层而不再是底层的软件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上, 把所有组件的底层细节留给操作系统。 COM+不再局限于COM的组件技术,它更加注重于分布式网络应用的设计和实现,已经成为Microsoft 系统平台策略和软件发展策略的一部分。COM+继承了COM几乎全部的优势,同时又避免了COM实现方面的一些不足。COM+紧紧地与操作系统结合起来, 通过系统服务为应用程序提供全面的服务。
