当前位置: 首页 > 学习 > 电脑学习 > 程序设计 > JAVA > EJB > 正文

EJB-Java服务器端构件模型使用入门(1)

http://www.zk168.com.cn  招考学习网 2006-4-11 3:08:37
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
EJB-Java服务器端构件模型使用入门(1)

1. EJB组件架构模型概述
   Sun公司发布的文档中对EJB(Enterprise Java Bean)的定义是:EJB是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。采用EJB可以使开发商业应用系统变得容易,应用系统可以在一个支持EJB的环境中开发,开发完之后部署在其他的环境中,随着需求的改变,应用系统可以不加修改地迁移到其他功能更强、更复杂的服务器上。
我们首先看一下EJB的组件构架模型:

A. EJB定义
   Sun Microsystem EJB 2.0 Specification中定义如下(使用原文可能更有助于理解):
   "The Enterprise JavaBeans architecture is a component architecture for the development and deployment of component-based distributed business applications. Applications written using the Enterprise JavaBeans architecture are scalable, transactional, and multi-user secure. These applications may be written once, and then deployed on any server platform that supports the Enterprise JavaBeans specification."
   译文如下:
   EJB是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。使用EJB结构编写的应用程序具有可扩展性、交互性以及多用户安全特性。这些应用只需写一次,就可以发布到支持EJB规范的服务器平台上。

A. EJB特点
×定义了Java Server端的构件模型
×Containers是一个EJB组件的执行环境
×由EJB Container提供Server端的系统级功能
线程管理, 交易管理, 状态管理, 资源共享
×Client使用RMI/JNDI访问EJB
×通过IIOP, EJB可以和CORBA Object互操作
×支持厂商众多:
IBM, BEA, Oracle, Sybase, Inprise...

A. EJB规格制订的目的
   从Enterprise, Java, Bean的名字组成的单词基本可以知道EJB的目的:
   企业信息系统的企业逻辑是以Java代码开发的,该企业逻辑是位于服务器端的组件化标准模型,而通过其标准,该企业模型能布署在任一作业系统平台的应用软件系统下(只要是遵循EJB的规格)而具有事务处理能力、高度的安全性、稳定性、分散式网路的多层式架构的信息系统

A. EJB开发的优势
· 平台的独立性
· 操作系统的独立
· 中介软件层的独立
· 数据库系统的独立
· 缩短开发的时间
· 节省IT部门的投资
· 弹性、可重用性和轻便性
· 广泛的工业支持

B. EJB与JavaBeans
   EJB和JavaBeans都是组件概念,名字中都有Java和Beans,那么他们有什么相同点和区别呢?
   · 两者都是Java的组件模型
   · JavaBeans重点是允许开发人员在开发工具中可视化的操纵组件
   · EJB的侧重点是详细的定义了一个可以轻便地布署Java组件的服务框架模型

C. EJB开发体系结构中的六个角色
   EJB的开发中不久定义了具体的开发流程,还定义了具体的开发角色,不同的开发角色负责不同的开发任务。具体如下:
· Enterprise Bean Provider
EJB组件开发者负责编写EJB组件,EJB组件开发者是应用领域的专家。
· Application Assembler
应用组合者负责将各种EJB组合成一个完整的应用系统。
· Deployer
部署者负责将包含EJB组件的ejb-jar文件部署到应用服务器中。
· EJB Server Provider
EJB服务器提供者负责实现一些底层的系统服务,如交易管理等。EJB服务器提供者是系统领域的专家。
· EJB Container Provider
EJB容器提供者负责提供EJB组件的运行环境,EJB容器提供者和EJB服务器提供者一般是由相同的厂商担当,提供的产品叫应用服务器。
· Persistence Manager Provider
系统管理员负责为EJB服务器和容器提供一个企业级的计算和网络环境。

2. EJB组件

A. EJB组件的类型
EJB组件有两种类型:
   · Session Bean
   Session Bean在J2EE Server上代表的是一个Client。Client通过调用Session Bean的方法来访问远程服务。Session Bean为它的Client完成特定的工作,并通过在server端运行business tasks,向Client屏蔽了实现的复杂性。
   Session Beans有两种状态管理模式:Stateful和Stateless
   Stateless Session Bean不能够维持一个调用客户的状态。在一个方法调用的过程中,Stateless Session Bean可以维持调用客户的状态,但是当方法执行完时,状态不会被保持。在调用完成后,Stateless Session Bean被立即释放到缓冲池中,所以Stateless Session Bean具有很好的伸缩性,可以支持大量用户的调用。
   Stateful Session Bean可以一对一的维持某个调用客户的状态,并且在不同的方法调用中维持这个状态, 由于对于每一个并发用户,必须有一个对应的Stateful Session Bean,为了提高系统的效率,Stateful Session Bean可以在一定的客户空闲时间后被写入二级存储设备(如硬盘),在客户发出新的调用请求后,再从二级存储 设备恢复到内存中。
   · Entity Bean
   Entity Bean代表的是持续储存机制中的一个企业对象。它的持续可以被Entity Bean自己管理,也可以由EJB容器来管理。
   Entity Bean代表数据库或另外一个企业应用系统中的数据对象,如代表数据库的一行记录。和Session Bean不同,Entity Bean是持久的(persistent),允许共享访问。持久性(Persistence)是指Entity Bean的状态不依赖于应用服务器而存在。因为Entity Bean是底层数据库记录的映像,会和数据库记录保持同步,所以,即使当应用服务器崩溃或停止运行,Entity Bean的状态还会保存在数据库中,不会丢失。    

A. EJB模型中的组件关系(图片已省略)

A. EJB的开发部署
   开发一个EJB组件,EJB开发者必须提供以下四种文件:
   · EJB Home Interface
   定义了一些方法供EJB客户端create, remove和find EJB对象。
   · EJB Remote Interface
   定义了EJB的业务方法,EJB所有的业务方法必须在remote interface定义才能够被客户端访问。
   · EJB class
   实现在EJB Remote Interface中定义的业务方法。
   · ejb-jar.xml
   包含该EJB组件的配置信息。

(未完待续)
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
最新入库:
 
·实质、过程及意义——阿多尔诺“否定的辩证法”探微
·从Ontology的译名之争看哲学术语的翻译原则
·论马克思主义哲学经典的解释——解释学方法及其在马克
·中国哲学当前的核心与周边问题
·和合学与21世纪文化价值和科技
·中国文化的和合精神与21世纪
·宗教之间理当相互宽容
·上半个世纪的自由主义
·殷周至春秋时期神人关系之演进
·大学之道:构建以“三纲八目”为核心的道德修养体系
相关内容:
 
·环保企业人力资源开发与管理的实证研究————巨龙公
·重油制气污水处理系统(A/O)技术改造
·BOG压缩机在液化石油气基地的应用
·英美CPA管理模式及其启示
·改造NERA微波公务信道为国产监控信道
·LFCB-102型微波分相差动保护的应用
·EAStudio让电子商务网站如虎添翼
·基于PB6和ORACLE8开发“劳动信息管理系统”
·巧解Pretty  Park 病毒一例
·利用TDC组件实现对WEB页面的交互操作
网友点评:
 
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
友情提醒:
 1.库中的资料大都来自互联网、网友上传、各类书籍,在录入的过程中难免会出现错误,恳请网
 友来信指正!
 2.如果网友在本库中未能找到所需要的材料,请登陆到我们的论坛《招考学习网》版块!
 3.考友想加入招考学习网的编辑部,请发信到XueXiWang#Gmail.com(#改为@)附带个人简历
 4.如需转载请注明出处及作者,谢谢合作!
 5.如果您有更好的建议或意见请EMAIL:XueXiWang#Gmail.com (#改为@)
 6.凡标题中有注有“[NO]”字样均不含答案且答案整理中.
 7.如本库中转载文章涉及版权等问题,请相关网站或作者在两周内发邮件通知(EMAIL:  XueXiWang#Gmail.com (#改为@))我们,我们接到通知后立即删除该文章及链接!
你问我答 更多>>