什么是EJB?
EJB并不是一个产品。它是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。
EJB规范详细地解释了一些最小但是必须的服务,如事务,安全和名字等。软件厂商根据这些规范要求以保证一个enterprise bean能使用某个必需的服务。规范并没有说明厂商如何实现这些服务。这使得通过阅读规范来学习EJB更加困难,因为它允许厂商在不牺牲核心服务的可移植性的前提下来提供一些增强功能。
JavaBeans和Enterprise JavaBeans
JavaBeans是Java的组件模型。在JavaBeans规范中定义了事件和属性等特征。Enterprise JavaBeans也定义了一个Java组件模型,但是Enterprise JavaBeans组件模型和JavaBeans组件模型是不同的。 JavaBeans重点是允许开发者在开发工具中可视化的操纵组件。JavaBeans规范详细地解释了组件间事件登记、传递、识别和属性使用、定制和持久化的应用编程接口和语意。 Enterprise JavaBeans的侧重点是详细地定义了一个可以portably地部署Java组件的服务框架模型。因此,其中并没提及事件,因为enterprise bean通常不发送和接受事件。同样也没有提及属性------属性定制并不是在开发时进行,而是在运行时(实际上在部署时)通过一个部署描述符来描述。
不要寻找JavaBeans和Enterprise JavaBeans之间的相似性。他们都是组件模型规范,但是前者说明了开发工具中应用程序组装的问题,而后者则侧重于部署组件的服务框架的细节。不要错误地认为JavaBeans是用于客户端的开发,Enterprise JavaBeans是用于服务器端的开发。JavaBeans也可作为进行非图形化服务器端Java应用开发的组件模型。区别是当你使用JavaBeans创建服务器应用时,你还得设计整个的服务框架。用Enterprise Javabeans框架是现成的,你只需遵守它的APIs.对于复杂的服务器端应用程序,显然使用Enterprise JavaBeans比重新开发更简单。
Enterprise JavaBeans体系结构
EJB服务器是管理EJB容器的高端进程或应用程序,并提供对系统服务的访问。EJB服务器也可以提供厂商自己的特性,如优化的数据库访问接口,对其他服务(如CORBA服务)的访问,对SSL 3.0的支持等。一个EJB服务器必须提供对可访问JNDI的名字服务和事务服务支持。一些可能的EJB服务器的例子如:
数据库服务
应用服务器
中间件服务器
EJB容器是一个管理一个或多个EJB类/实例的抽象。它通过规范中定义的接口使EJB类访问所需的服务。容器厂商也可以在容器或服务器中提供额外服务的接口。
现在没有EJB服务器和EJB容器间接口的规范。因为目前容器通常由EJB服务器来提供,所以一旦接口标准化了,厂商就可能提供可以在任何兼容的EJB服务器上运行的容器。
Home接口列出了所有定位、创建、删除EJB 类实例的方法。Home对象是home接口的实现。EJB类开发者必须定义home接口。容器厂商应该提供从home接口中产生home对象实现的方法。
远程接口(remote interface)列出了EJB类中的商业方法。EJBObject实现远程接口,并且客户端通过它访问EJB实例的商业方法。EJB类开发者定义远程接口,容器开发商提供产生相应的EJBObject的方法。客户端不能得到EJB实例的引用,只能得到它的EJBObject实例的引用。当客户端调用一个方法,EJBObject接受请求并把它传给EJB实例,同时提供进程中必要的包装功能。客户端应用程序通过home对象来定位、创建、删除EJB类的实例,通过EJBObject来调用实例中的商业方法。客户端可以用Java来编程,通过Java RMI来访问访问home对象和EJBObject,或用其他语言编程并通过CORBA/IIOP访问,使得部署的服务器端组件可以通过CORBA接口来访问。
什么是EJB?什么是设计模式?
EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序,类似微软的.com技术。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。
GoF的“设计模式”是第一次将设计模式提升到理论高度,并将之规范化,本书提出了23种基本设计模式,自此,在可复用面向对象软件的发展过程中,新的大量的设计模式不断出现。
设计模式和框架
现在,可复用面向对象软件系统现在一般划分为三大类:应用程序 工具箱和框架(Framework),我们平时开发的具体软件都是应用程序;Java的API属于工具箱;而框架是构成一类特定软件可复用设计的一组相互协作的类。EJB(Enterprise JavaBeans)是Java应用于企业计算的框架.
框架通常定义了应用体系的整体结构 类和对象的关系等等设计参数,以便于具体应用实现者能集中精力于应用本身的特定细节。框架主要记录软件应用中共同的设计决策,框架强调设计复用,因此框架设计中必然要使用设计模式.
另外,设计模式有助于对框架结构的理解,成熟的框架通常使用了多种设计模式,如果你熟悉这些设计模式,毫无疑问,你将迅速掌握框架的结构,我们一般开发者如果突然接触EJB J2EE等框架,会觉得特别难学,难掌握,那么转而先掌握设计模式,无疑是给了你剖析EJB或J2EE系统的一把利器
分享到:
相关推荐
EJB设计模式是针对EJB规范中可能出现的问题和挑战,经过实践提炼出的最佳实践和解决方案,帮助开发者更好地理解和应用EJB技术。 ### 1. EJB概述 EJB是Java平台上的服务器端组件模型,主要分为三种类型:会话Bean...
### EJB设计模式详解 #### 一、EJB设计模式概览 EJB(Enterprise JavaBeans)设计模式是指在开发基于EJB的企业级应用时,为了解决常见问题和优化系统性能而采用的一系列经过验证的解决方案。这些设计模式不仅能够...
本书包括了多个高级EJB设计模式,还提供了使用EJB设计模式的策略、J2EE开发的最佳实例,以及非常实用的EJB设计技巧和技术。本书还包括以下内容:架构模式、事务和持久性模式、客户端交互模式、主键一成策略。用Ant...
【EJB设计模式概述】 EJB(Enterprise JavaBeans)设计模式是解决在Java EE平台中使用EJB组件遇到的问题和挑战的一种策略。这些模式旨在优化系统性能、可扩展性、可维护性,以及提高组件的重用性。在大型、复杂的...
本书作者是世界上EJB设计模式领域内的卓越专家,他领导着EJB设计模式项目。本书不仅从理论上对设计模式在EJB上的应用进行了深入的探讨,而且通过实例展示了EJB设计模式的魅力。本书提出的模式都可以应用于实际项目中...
EJB设计模式是开发者在处理EJB时遵循的最佳实践,这些模式有助于解决常见的复杂问题,提高代码的可重用性、可维护性和性能。本资料《EJB设计模式》旨在帮助读者深入理解这些模式并将其应用到实际开发中。 1. **单例...
【EJB设计模式详解】 EJB(Enterprise JavaBeans)是一种在Java EE平台上构建企业级应用程序的核心组件。EJB设计模式是软件开发中的重要概念,它借鉴了设计模式的经典理论,目的是提升EJB架构的灵活性、可扩展性、...
**Java EJB设计模式** Enterprise JavaBeans(EJB)是Java EE平台中用于构建企业级分布式应用程序的核心组件。EJB设计模式是开发人员在解决EJB应用中常见问题时总结出的最佳实践,它们有助于提高代码的可重用性、可...
**EJB设计模式** Enterprise JavaBeans (EJB) 是Java平台企业版(Java EE)中的核心组件,用于构建可扩展的、分布式的、事务处理的服务器端应用。EJB设计模式是开发人员在实践中总结出的解决特定问题的常用方法,...
这本书“EJB设计模式 中文版”很可能是为中文读者提供了一个深入理解EJB设计模式的指南。 ### EJB概述 EJB是Java EE(企业版)的一部分,主要处理业务逻辑和数据存储。EJB分为三种主要类型:会话bean(Session ...
EJB设计模式是开发者在实际项目中解决特定问题时,根据EJB规范和最佳实践形成的重复性解决方案。这些模式为复杂的企业级应用开发提供了结构化和可重用的方法。 1. **单例Session Bean** - 在EJB中,单例Session ...
《EJB设计模式》是该领域的经典著作,它深入探讨了在EJB开发中常用的设计模式,帮助开发者理解和应用这些模式来解决实际问题。 **1. 会话Bean(Session Beans)** 会话Bean是客户端与服务器交互的代理,提供了业务...
这个压缩包“EJB.rar”包含了五本关于EJB设计模式的书籍,这将为学习者提供深入理解EJB开发和设计的强大资源。 EJB设计模式是解决企业级应用开发中常见问题的最佳实践。设计模式是经过时间和实践验证的解决方案模板...
### EJB设计模式详解 #### 1. 概述 本文档主要介绍并解析了PetStore应用程序中所采用的企业JavaBeans (EJB) 设计模式。通过深入分析这些模式的实际应用,可以帮助读者更好地理解EJB架构及其在企业级Java开发中的...