早在几年前,我就买了本精通EJB2.0的本,虽说私底下也翻了翻,但总因没有项目的原因,没有深入下去。还好,就在本周因项目中用到EJB2的知识,这本早在几年前买的书终于有了用武之地,而我也将为此开始了EJB的学习历程。以下,从最基础的说起吧:
什么是EJB?
EJB并不是一个产品。它是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。
EJB规范详细地解释了一些最小但是必须的服务,如事务,安全和名字等。软件厂商根据这些规范要求以保证一个enterprise bean能使用某个必需的服务。规范并没有说明厂商如何实现这些服务。这使得通过阅读规范来学习EJB更加困难,因为它允许厂商在不牺牲核心服务的可移植性的前提下来提供一些增强功能。
JavaBeans和Enterprise JavaBeans
JavaBeans是Java的组件模型。在JavaBeans规范中定义了事件和属性等特征即get/set方法。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接口来访问。
分享到:
相关推荐
《WCF分布式开发步步为赢》系列文章旨在一步步引领初学者了解和深入WCF框架,文章的结构清晰,内容详尽,适合于那些希望掌握WCF并利用它来开发企业级应用的开发者。通过详细的概念介绍、特性解析、框架模型、实现...
总的来说,这个教程将带你一步步完成创建一个功能完善的员工管理系统,展示如何整合JSF、EJB、JPA以及PrimeFaces,实现数据的检索和更新功能。通过这个过程,你不仅将掌握Java EE 6的核心技术,还能了解到如何在...
Java EE(Enterprise Edition)是Java平台的一个版本,主要用于构建企业级的分布式应用程序。这个"java-ee-course-...如果你打算深入学习这个仓库,建议按照README的指示一步步操作,同时查阅相关文档以深化理论知识。
《J2EE架构师手册》是一部深度探讨J2EE企业级应用开发的综合指南,旨在帮助读者掌握在大型分布式...《J2EE架构师手册》会引导你一步步地探索这个复杂而强大的技术领域,帮助你在实际项目中发挥出J2EE架构的最大潜力。
《MyEclipse 6 Java开发中文教程》是针对初学者的一本详尽指南,由...教程从易到难,步步深入,适合自学或作为课堂教学的参考资料。阅读完此教程,读者应能具备独立开发Java应用的能力,并对MyEclipse 6有全面的了解。
《J2EE教学全程(1)》是一份全面讲解J2EE技术的教程,适合初学者及有一定基础的学习者深入理解这一企业级应用开发平台。...随着T01等更多章节的展开,学习者将一步步走进J2EE的广阔天地,领略企业级开发的魅力。
本书将通过一步步深入介绍Tomcat的各个组成部分,帮助读者在理解原理的基础上,更好地掌握如何在实际开发和配置中应用这些知识。在“准备所需的软件”一节中,作者将指导读者如何下载需要的软件,并设置代码的目录...
描述中提到的“集成”意味着这个压缩包可能包含了在不同环境(Servlet容器和Java SE)下运行Weld的指南,以及如何将Weld与其他Java EE组件,如EJB(Enterprise JavaBeans)、JPA(Java Persistence API)或JSF(Java...
《HowTomcatWorks》这本书详细解剖了Tomcat的内部运行机制,并以Tomcat4.1.12和5.0.18版本为例,一步步深入其工作原理。它首先提供了为各个组件创建简化版本的蓝图,帮助读者更容易理解每个组件的功能。随后,书中会...
本教程将带你一步步走进Java的世界。 在Java的基础学习部分,你将接触到以下几个关键知识点: 1. **Java环境搭建**:了解如何下载和安装Java Development Kit (JDK),设置环境变量,确保Java编译器(javac)和Java...
通过两个实例——“展示JSP页面”和“Struts的使用”,深入理解Struts框架的实际应用过程,从创建ActionForm到配置ActionMapping,再到编写Action类和JSP页面,一步步展示Struts框架的开发流程。 #### 表单处理与...
在“JSF入门”这个教程中,我们将一步步引导你从安装环境到创建第一个JSF应用,再到深入理解JSF的工作原理和最佳实践。无论你是初学者还是有经验的开发者,这个教程都将帮助你更好地理解和掌握JSF框架,从而高效地...
JavaWeb项目实例是一个理想的起点,尤其对于初学者来说,它提供了深入学习和实践JavaWeb开发的宝贵资源。这个实例不仅包含完整的代码实现,还有配套的笔记和详细的步骤指南,这有助于学习者逐步理解和掌握JavaWeb...
下面,我们将深入探讨该资料中的关键知识点。 1. **Java Web基础**: - **Servlet**:作为Java Web应用的核心,Servlet用于处理HTTP请求并生成响应。讲解中会涵盖Servlet生命周期、配置、以及doGet和doPost方法的...
同时,可能还包括了EJB(Enterprise JavaBeans)或者Spring的集成,以提供更全面的企业级功能,如事务管理和安全控制。 "光盘说明.doc"可能包含了教程的详细内容概述,"emis数据库备份文件"可能是用来恢复或初始化...
在这个“Jsf从入门到精通”的教程中,我们将深入探讨JSF的核心概念、关键特性以及如何一步步成为一个JSF专家。 首先,我们从基础开始。JSF的基础是它的组件模型,这允许开发者通过拖放的方式创建用户界面。这些组件...
本文将深入探讨如何在WebSphere Application Server V6.1环境中配置和使用OpenJPA,以实现高效的数据持久化。 【描述】: OpenJPASample.zip是一个包含示例代码的压缩包,用于演示如何在WebSphere Application ...
- **创建J2EE应用程序**:从搭建开发环境开始,一步步创建一个简单的J2EE应用程序。 - **企业Bean的使用**:详细介绍如何创建和使用EJB(Enterprise JavaBeans),包括会话Bean、实体Bean和消息驱动Bean。 - **...
8. **Java EE与Swing**:如果PPT深入到高级部分,可能会涉及Java企业版(Java EE)的Web开发,如Servlet、JSP、EJB等,以及Swing用于构建桌面应用的组件。 9. **API与框架**:Java拥有庞大的标准库和第三方框架,如...