实战EJB系列
在以后的日子里,CN-java由Jackliu向大家陆续提供一系列EJB教程,有学习EJB的朋友请同步参考EJB相关书籍,实战系列将以例程的方式帮助你理解这些基本的概念,其中将包括:
点击查看大图所有章节完毕后将制作成pdf电子文档,供大家下载。
实战EJB之- 开发和部署你的第一个EnterPRise JavaBean
企业JavaBeans(EJB)的组件结构是以作为可重复使用的服务器端组件而设计的,它使企业能够建立可升级、安全可靠、可运行于多重平台且以商务为重点的应用程序。实战EJB系列文章将以实战例程向大家全面系统介绍EJB的几种Enterprise
JavaBean概念。
在本节中你将了解到:
什么是企业JavaBeans技术?
EJB体系结构
EJB开发人员的角色分配
编写第一个EJB程序
部署到应用服务器
开发和部署测试程序
运行测试程序
什么是企业JavaBeans技术?
EJB结构是JavaTM平台上的服务器端组件模型。设计EJB结构的目的是, 通过使企业开发人员将注重力只集中于编写商务逻辑, 从而解决上面所提出的问题。EJB技术取消了编写"全程(plumbing)"
码的要求。例如, 企业开发人员不再需要编写那些处理事务行为、安全、连接共享或线程的代码, 因为EJB体系结构将这些任务委托给服务器厂商完成了。
对用户和这一技术的实现者来说, 将会获得如下收益:
? 生产效率: 使用这一技术, 企业开发人员将会进一步提高生产效率。他们不仅能够获得在Java平台上的开发成果, 而且能够将注重力集中于商务逻辑,
从而使效率倍增。
? 业内支持: 试图建立EJB系统的客户会获得一系列可供选择的解决方案。企业JavaBeans技术已经被多达25个公司所接受、支持和应用。
? 投资保护: 企业JavaBeans技术建立在企业现存系统之上。事实上, 许多EJB产品都将建立在已有的企业系统之上。今天企业所使用的系统,
明天将会运行企业JavaBeans组件。 ? 结构独立: 企业JavaBeans技术将开发人员和底层中间件相隔离; 开发人员看到的仅仅是Java平台。
这一点除下面将要谈到的交叉平台的好处外, 还将使得EJB服务器厂商在不干扰用户的EJB应用程序的前提下, 有机会改进中间件层。
? 服务器端仅写一次, 即可随处运行(Server-Side Write Once, Run AnywhereTM): 通过对Java平台的支持,
EJB技术将"仅写一次, 随处运行"的概念提高到了一个新的水平。它可以保证一个EJB应用程序可运行于任何服务器, 只要这个服务器能够真正提供企业JavaBeans
APIs。
EJB体系结构
理解EJB体系结构可以从两个方面分析:客户端和服务器端。 EJB体系结构的客户端包含了调用EJB组件特定业务所需的EJB接口(扩展了EJBHome和EJBObject接口的组件接口),同时还包含了服务器端处理对象的句柄(部署组件时生成的残根类)。在EJB体系结构的服务器端则包含了EJB组件实现的实例,同时还包含了用来在客户端与EJB组件之间进行映射的容器代码。结构如下图1-1:
<图1>
EJB客户应用程序使用JNDI来查找对本地接口的实例引用,通过本地EJB接口和远程EJB主接口调用和引用EJB组件的全部方法和属性。
开发人员的角色分配
EJB技术将开发人员分成固有的五种角色: 服务器提供者、 容器提供者、 企业Beans提供者、 应用程序装配者和部署者。对上述五种角色描述如下:
? 服务器提供者是分布式事务治理方面的专家, 主要负责处理分布式对象和低层次系统服务。数据库和TP监控器厂商可典型地充当该角色。
? 容器提供者一般是系统编程方面的专家, 由于容器有能力将EJB环境与现存应用程序(如SAP R/3和CICS)桥接起来, 因而这些专家有可能具备某一应用领域的经验。由于容器为Bean提供了安全、可升级和事务性的环境,
因而容器提供者需具备这些领域的经验。数据库和事务服务器厂商也适合这一角色, 并可提供标准容器。